Search in sources :

Example 46 with Arena

use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.

the class DogFriendKit method reStock.

@Override
public void reStock(Player player) {
    Arena arena = ArenaRegistry.getArena(player);
    if (arena == null)
        return;
    if (plugin.is1_8_R3()) {
        ArenaInitializer1_8_R3 initializer = (ArenaInitializer1_8_R3) arena;
        initializer.spawnWolf(initializer.getStartLocation(), player);
    } else if (plugin.is1_9_R1()) {
        ArenaInitializer1_9_R1 initializer = (ArenaInitializer1_9_R1) arena;
        initializer.spawnWolf(initializer.getStartLocation(), player);
    } else if (plugin.is1_11_R1()) {
        ArenaInitializer1_11_R1 initializer = (ArenaInitializer1_11_R1) arena;
        initializer.spawnWolf(initializer.getStartLocation(), player);
    } else if (plugin.is1_12_R1()) {
        ArenaInitializer1_12_R1 initializer = (ArenaInitializer1_12_R1) arena;
        initializer.spawnWolf(initializer.getStartLocation(), player);
    }
}
Also used : ArenaInitializer1_11_R1(pl.plajer.villagedefense3.arena.ArenaInitializer1_11_R1) ArenaInitializer1_9_R1(pl.plajer.villagedefense3.arena.ArenaInitializer1_9_R1) ArenaInitializer1_8_R3(pl.plajer.villagedefense3.arena.ArenaInitializer1_8_R3) ArenaInitializer1_12_R1(pl.plajer.villagedefense3.arena.ArenaInitializer1_12_R1) Arena(pl.plajer.villagedefense3.arena.Arena)

Example 47 with Arena

use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.

the class CleanerKit method onClean.

@EventHandler
public void onClean(PlayerInteractEvent event) {
    if (!event.hasItem())
        return;
    if (event.getItem().getType() != Material.BLAZE_ROD)
        return;
    if (!(event.getItem().hasItemMeta()))
        return;
    if (!(event.getItem().getItemMeta().hasDisplayName()))
        return;
    if (!(event.getItem().getItemMeta().getDisplayName().contains(ChatManager.colorMessage("Kits.Cleaner.Game-Item-Name"))))
        return;
    if (ArenaRegistry.getArena(event.getPlayer()) == null)
        return;
    if (UserManager.getUser(event.getPlayer().getUniqueId()).isSpectator()) {
        event.getPlayer().sendMessage(ChatManager.colorMessage("Kits.Cleaner.Spectator-Warning"));
        return;
    }
    Arena arena = ArenaRegistry.getArena(event.getPlayer());
    if (UserManager.getUser(event.getPlayer().getUniqueId()).getCooldown("clean") > 0 && !UserManager.getUser(event.getPlayer().getUniqueId()).isSpectator()) {
        String msgstring = ChatManager.colorMessage("Kits.Ability-Still-On-Cooldown");
        msgstring = msgstring.replaceFirst("%COOLDOWN%", Long.toString(UserManager.getUser(event.getPlayer().getUniqueId()).getCooldown("clean")));
        event.getPlayer().sendMessage(msgstring);
        return;
    }
    if (arena.getZombies() != null) {
        for (Zombie zombie : arena.getZombies()) {
            zombie.getWorld().playEffect(zombie.getLocation(), Effect.LAVA_POP, 20);
            zombie.remove();
        }
        arena.getZombies().clear();
    } else {
        event.getPlayer().sendMessage(ChatManager.colorMessage("Kits.Cleaner.Nothing-To-Clean"));
        return;
    }
    if (plugin.is1_9_R1() || plugin.is1_11_R1() || plugin.is1_12_R1()) {
        event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.ENTITY_ZOMBIE_DEATH, 1, 1);
    } else {
        event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.valueOf("ZOMBIE_DEATH"), 1, 1);
    }
    String message = ChatManager.formatMessage(arena, ChatManager.colorMessage("Kits.Cleaner.Cleaned-Map"), event.getPlayer());
    for (Player player1 : ArenaRegistry.getArena(event.getPlayer()).getPlayers()) {
        player1.sendMessage(ChatManager.PLUGIN_PREFIX + message);
    }
    UserManager.getUser(event.getPlayer().getUniqueId()).setCooldown("clean", 180);
}
Also used : Player(org.bukkit.entity.Player) Zombie(org.bukkit.entity.Zombie) Arena(pl.plajer.villagedefense3.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Example 48 with Arena

use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.

the class WorkerKit method onDoorPlace.

@EventHandler(priority = EventPriority.HIGHEST)
public void onDoorPlace(BlockPlaceEvent event) {
    Arena arena = ArenaRegistry.getArena(event.getPlayer());
    if (arena == null)
        return;
    User user = UserManager.getUser(event.getPlayer().getUniqueId());
    if (user.isSpectator()) {
        event.setCancelled(true);
        return;
    }
    if (event.getPlayer().getItemInHand() == null) {
        event.setCancelled(true);
        return;
    }
    if (!(event.getPlayer().getItemInHand().getType() == Material.WOOD_DOOR || event.getPlayer().getItemInHand().getType() == Material.WOODEN_DOOR)) {
        event.setCancelled(true);
        return;
    }
    if (!arena.getDoorLocations().containsKey(event.getBlock().getLocation())) {
        event.setCancelled(true);
        return;
    }
    event.setCancelled(false);
    event.getPlayer().sendMessage(ChatManager.colorMessage("Kits.Worker.Game-Item-Place-Message"));
}
Also used : User(pl.plajer.villagedefense3.User) Arena(pl.plajer.villagedefense3.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Example 49 with Arena

use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.

the class ZombieFinderKit method onClean.

@EventHandler
public void onClean(PlayerInteractEvent event) {
    if (!event.hasItem())
        return;
    if (event.getItem().getType() != Material.BOOK)
        return;
    if (!(event.getItem().hasItemMeta()))
        return;
    if (!(event.getItem().getItemMeta().hasDisplayName()))
        return;
    if (!(event.getItem().getItemMeta().getDisplayName().contains(ChatManager.colorMessage("Kits.Zombie-Teleporter.Game-Item-Name"))))
        return;
    if (ArenaRegistry.getArena(event.getPlayer()) == null)
        return;
    if (UserManager.getUser(event.getPlayer().getUniqueId()).isSpectator()) {
        event.getPlayer().sendMessage(ChatManager.colorMessage("Kits.Teleporter.Spectator-Warning"));
        return;
    }
    Arena arena = ArenaRegistry.getArena(event.getPlayer());
    if (UserManager.getUser(event.getPlayer().getUniqueId()).getCooldown("zombie") > 0 && !UserManager.getUser(event.getPlayer().getUniqueId()).isSpectator()) {
        String msgstring = ChatManager.colorMessage("Kits.Ability-Still-On-Cooldown");
        msgstring = msgstring.replaceFirst("%COOLDOWN%", Long.toString(UserManager.getUser(event.getPlayer().getUniqueId()).getCooldown("zombie")));
        event.getPlayer().sendMessage(msgstring);
        return;
    }
    if (arena.getZombies() == null || arena.getZombies().isEmpty() || arena.getZombies().size() <= 0) {
        event.getPlayer().sendMessage(ChatManager.colorMessage("Kits.Zombie-Teleporter.No-Available-Zombies"));
        return;
    } else {
        Integer rand = new Random().nextInt(arena.getZombies().size());
        arena.getZombies().get(rand).teleport(event.getPlayer());
        arena.getZombies().get(rand).addPotionEffect(new PotionEffect(PotionEffectType.WEAKNESS, 20 * 30, 1));
        event.getPlayer().sendMessage(ChatManager.colorMessage("Kits.Zombie-Teleporter.Zombie-Teleported"));
    }
    if (plugin.is1_9_R1() || plugin.is1_11_R1() || plugin.is1_12_R1()) {
        event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.ENTITY_ZOMBIE_DEATH, 1, 1);
    } else {
        event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.valueOf("ZOMBIE_DEATH"), 1, 1);
    }
    UserManager.getUser(event.getPlayer().getUniqueId()).setCooldown("zombie", 30);
}
Also used : Random(java.util.Random) PotionEffect(org.bukkit.potion.PotionEffect) Arena(pl.plajer.villagedefense3.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Example 50 with Arena

use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.

the class TeleporterKit method onInventoryClick.

@EventHandler
public void onInventoryClick(InventoryClickEvent e) {
    Player p = (Player) e.getWhoClicked();
    if (ArenaRegistry.getArena(p) == null)
        return;
    Arena arena = ArenaRegistry.getArena(p);
    if (e.getCurrentItem() == null)
        return;
    if (!e.getCurrentItem().hasItemMeta())
        return;
    if (!e.getCurrentItem().getItemMeta().hasDisplayName())
        return;
    if (!e.getCurrentItem().getItemMeta().hasLore())
        return;
    if (e.getCurrentItem().hasItemMeta()) {
        if (e.getInventory().getName().equalsIgnoreCase(ChatManager.colorMessage("Kits.Teleporter.Game-Item-Menu-Name"))) {
            e.setCancelled(true);
            if ((e.isLeftClick() || e.isRightClick())) {
                if (e.getCurrentItem().getType() == Material.EMERALD) {
                    boolean villagerfound = false;
                    for (Villager villager : arena.getVillagers()) {
                        if (villager.getCustomName() == null) {
                            villager.remove();
                        }
                        if (villager.getCustomName().equalsIgnoreCase(e.getCurrentItem().getItemMeta().getDisplayName()) && villager.getUniqueId().toString().equalsIgnoreCase(ChatColor.stripColor(e.getCurrentItem().getItemMeta().getLore().get(0)))) {
                            e.getWhoClicked().teleport(villager.getLocation());
                            if (plugin.is1_9_R1() || plugin.is1_11_R1() || plugin.is1_12_R1()) {
                                p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ENDERMEN_TELEPORT, 1, 1);
                            } else {
                                p.getWorld().playSound(p.getLocation(), Sound.valueOf("ENDERMAN_TELEPORT"), 1, 1);
                            }
                            p.getWorld().playEffect(p.getLocation(), Effect.PORTAL, 30);
                            villagerfound = true;
                            p.sendMessage(ChatManager.colorMessage("Kits.Teleporter.Teleported-To-Villager"));
                            break;
                        }
                    }
                    if (!villagerfound) {
                        p.sendMessage(ChatManager.colorMessage("Kits.Teleporter.Villager-Warning"));
                    }
                    e.setCancelled(true);
                } else {
                    /*if(e.getCurrentItem().getType() == Material.SKULL_ITEM || e.getCurrentItem().getType() == Material.SKULL)*/
                    ItemMeta meta = e.getCurrentItem().getItemMeta();
                    for (Player player : arena.getPlayers()) {
                        if (player.getName().equalsIgnoreCase(meta.getDisplayName()) || ChatColor.stripColor(meta.getDisplayName()).contains(player.getName())) {
                            p.sendMessage(ChatManager.formatMessage(arena, ChatManager.colorMessage("Kits.Teleporter.Teleported-To-Player"), player));
                            p.teleport(player);
                            if (plugin.is1_9_R1() || plugin.is1_11_R1() || plugin.is1_12_R1()) {
                                p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ENDERMEN_TELEPORT, 1, 1);
                            } else {
                                p.getWorld().playSound(p.getLocation(), Sound.valueOf("ENDERMAN_TELEPORT"), 1, 1);
                            }
                            p.getWorld().playEffect(p.getLocation(), Effect.PORTAL, 30);
                            p.closeInventory();
                            e.setCancelled(true);
                            return;
                        }
                    }
                    p.sendMessage(ChatManager.colorMessage("Kits.Teleporter.Player-Not-Found"));
                }
                e.setCancelled(true);
            }
        }
    }
}
Also used : Player(org.bukkit.entity.Player) Villager(org.bukkit.entity.Villager) Arena(pl.plajer.villagedefense3.arena.Arena) ItemMeta(org.bukkit.inventory.meta.ItemMeta) EventHandler(org.bukkit.event.EventHandler)

Aggregations

Arena (pl.plajer.villagedefense3.arena.Arena)49 Player (org.bukkit.entity.Player)28 EventHandler (org.bukkit.event.EventHandler)27 User (pl.plajer.villagedefense3.User)15 ItemStack (org.bukkit.inventory.ItemStack)9 ArenaInitializer1_11_R1 (pl.plajer.villagedefense3.arena.ArenaInitializer1_11_R1)7 ArenaInitializer1_12_R1 (pl.plajer.villagedefense3.arena.ArenaInitializer1_12_R1)7 ArenaInitializer1_8_R3 (pl.plajer.villagedefense3.arena.ArenaInitializer1_8_R3)7 ArenaInitializer1_9_R1 (pl.plajer.villagedefense3.arena.ArenaInitializer1_9_R1)7 FileConfiguration (org.bukkit.configuration.file.FileConfiguration)5 Villager (org.bukkit.entity.Villager)5 Zombie (org.bukkit.entity.Zombie)5 ItemMeta (org.bukkit.inventory.meta.ItemMeta)5 IronGolem (org.bukkit.entity.IronGolem)4 ArrayList (java.util.ArrayList)3 Sign (org.bukkit.block.Sign)3 PotionEffect (org.bukkit.potion.PotionEffect)3 Entity (org.bukkit.entity.Entity)2 Inventory (org.bukkit.inventory.Inventory)2 BukkitRunnable (org.bukkit.scheduler.BukkitRunnable)2