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);
}
}
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);
}
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"));
}
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);
}
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);
}
}
}
}
Aggregations