package ru.dev.samec;
import java.util.Random;
import static javax.sql.rowset.spi.SyncFactory.getLogger;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Color;
import org.bukkit.Effect;
import org.bukkit.FireworkEffect;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.EnderPearl;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Firework;
import org.bukkit.entity.Player;
import org.bukkit.entity.Snowball;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.ProjectileHitEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;
import org.*********ventory.meta.FireworkMeta;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.scheduler.BukkitRunnable;
public class Mine extends JavaPlugin implements Listener {
public static Mine instance = null;
public Mine getInstance() {
return instance;
}
@Override
public void onEnable()
{
Bukkit.getPluginManager().registerEvents(this, this);
Bukkit.getPluginManager().registerEvents(new JoinMessage(this), this);
getLogger().info(" on enable DEV[v0.1]");
}
@EventHandler
public void Interact(PlayerInteractEvent e)
{
final Player player = e.getPlayer();
try {
if (e.getPlayer().hasPermission("PBGuns.use"))
{
if ((e.getAction().equals(Action.RIGHT_CLICK_AIR)) || (e.getAction().equals(Action.RIGHT_CLICK_BLOCK)))
{
if (e.getItem().getType().equals(Material.COAL))
{
e.getPlayer().launchProjectile(Snowball.class);
}
if(e.getItem().getType() == Material.ENDER_PEARL) {
player.playSound(player.getLocation(), Sound.ORB_PICKUP, 10, 10);
EnderPearl enderpearl = player.launchProjectile(EnderPearl.class);
enderpearl.setPassenger(player);
e.setCancelled(true);
e.getPlayer().getInventory().setItem(4, new ItemStack(Material.AIR));
}
if(e.getItem().getType() == Material.MELON) {
player.playSound(player.getLocation(), Sound.ORB_PICKUP, 10, 10);
player.sendMessage(ChatColor.GOLD + "" + ChatColor.BOLD + "* Погнали");
player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 150, 5));
e.setCancelled(true);
e.getPlayer().getInventory().remove(Material.MELON);
}
}
}
} catch (Exception ex) {
}
}
@EventHandler
public void onHit(EntityDamageByEntityEvent e)
{
if ((e.getDamager() instanceof Snowball))
{
Snowball s = (Snowball)e.getDamager();
if ((s.getShooter() instanceof Player))
{
Player p = (Player)s.getShooter();
if (p.getItemInHand().getType() == Material.COAL)
{
e.setDamage(1);
s.getWorld().playSound(s.getLocation(), Sound.CAT_MEOW, 500.0F, 500.0F);
Location location = s.getLocation();
World world = s.getWorld();
world.playEffect(location, Effect.ENDER_SIGNAL, 4);
Firework fw = (Firework) world.spawnEntity(location, EntityType.FIREWORK);
FireworkMeta fwm = fw.getFireworkMeta();
FireworkEffect effect = FireworkEffect.builder().flicker(false).withColor(Color.WHITE).withFade(Color.AQUA).with(FireworkEffect.Type.BALL).trail(false).build();
fwm.addEffect(effect);
fwm.setPower(0);
fw.setFireworkMeta(fwm);
}
}else{
}
if(event.getItem().getType() == Material.MELON_BLOCK) {
player.playSound(player.getLocation(), Sound.LAVA_POP, 10, 10);
player.getWorld().dropItemNaturally(player.getLocation().add(new Vector(0, 10, 0)), createItem(Material.MELON, 64, false, ChatColor.GREEN + "" + ChatColor.BOLD + "MELON", ChatColor.WHITE + "Бла бла бла"));
event.setCancelled(true);
event.getPlayer().getInventory().setItem(4, new ItemStack(Material.AIR));
}
}
}
@EventHandler
public void onAirstrikeHit(ProjectileHitEvent e)
{
Entity entity = e.getEntity();
if ((entity instanceof Snowball))
{
entity.getWorld().playSound(entity.getLocation(), Sound.ORB_PICKUP, 10, 10);
Location location2 = entity.getLocation();
World world = entity.getWorld();
world.playEffect(location2, Effect.MOBSPAWNER_FLAMES, 4);
Firework fw = (Firework) world.spawnEntity(location2, EntityType.FIREWORK);
FireworkMeta fwm = fw.getFireworkMeta();
FireworkEffect effect = FireworkEffect.builder().flicker(false).withColor(Color.WHITE).withFade(Color.AQUA).with(FireworkEffect.Type.BALL).trail(true).build();
fwm.addEffect(effect);
int i = (int) 0.01D;
fwm.setPower(i);
fw.setFireworkMeta(fwm);
}
}
@Override
public void onDisable()
{
getLogger().info(" on disable DEV[v0.1]");
}
}