use of com.elmakers.mine.bukkit.arena.Arena in project MagicPlugin by elBukkit.
the class SimulateBatch method isInArena.
private boolean isInArena(Entity entity, String arenaName) {
Arena arena;
ArenaController arenas = ((MagicController) controller).getArenas();
if (entity instanceof Player) {
arena = arenas.getArena((Player) entity);
} else {
arena = arenas.getMobArena(entity);
}
return arena != null && arena.getKey().equals(arenaName);
}
use of com.elmakers.mine.bukkit.arena.Arena in project MagicPlugin by elBukkit.
the class ArenaListener method onSignChange.
@EventHandler
public void onSignChange(SignChangeEvent e) {
Player player = e.getPlayer();
if (!player.hasPermission("magic.arena.signs.create")) {
return;
}
String firstLine = e.getLine(0);
if (firstLine.equalsIgnoreCase("[Arena]")) {
String secondLine = e.getLine(1);
if (secondLine.equalsIgnoreCase("Join")) {
String arenaName = e.getLine(2);
if (!arenaName.isEmpty()) {
Arena arena = controller.getArena(arenaName);
if (arena != null) {
e.setLine(0, SIGN_KEY);
e.setLine(1, ChatColor.DARK_AQUA + "Join");
} else {
e.getBlock().breakNaturally();
e.getPlayer().sendMessage(ChatColor.RED + "Unknown arena: " + arenaName);
}
} else {
e.getBlock().breakNaturally();
e.getPlayer().sendMessage(ChatColor.RED + "You must specify an arena!");
}
} else if (secondLine.equalsIgnoreCase("Leave")) {
e.setLine(0, SIGN_KEY);
e.setLine(1, ChatColor.AQUA + "Leave");
} else if (secondLine.equalsIgnoreCase("Leaderboard")) {
String arenaName = e.getLine(2);
if (!arenaName.isEmpty()) {
Arena arena = controller.getArena(arenaName);
if (arena != null) {
e.setLine(0, SIGN_KEY);
e.setLine(1, ChatColor.DARK_PURPLE + "Leaderboard");
if (!arena.placeLeaderboard(e.getBlock())) {
e.getBlock().breakNaturally();
e.getPlayer().sendMessage(ChatColor.RED + "Leaderboard must be a wall sign with " + ChatColor.YELLOW + arena.getLeaderboardSize() + ChatColor.RED + " empty blocks above it above it to the right");
}
} else {
e.getBlock().breakNaturally();
e.getPlayer().sendMessage(ChatColor.RED + "Unknown arena: " + arenaName);
}
} else {
e.getBlock().breakNaturally();
e.getPlayer().sendMessage(ChatColor.RED + "You must specify an arena!");
}
} else {
e.getBlock().breakNaturally();
e.getPlayer().sendMessage(ChatColor.RED + "You must specify Join, Leave or Leaderboard");
}
}
}
use of com.elmakers.mine.bukkit.arena.Arena in project MagicPlugin by elBukkit.
the class ArenaListener method onEntityDeath.
@EventHandler
public void onEntityDeath(EntityDeathEvent e) {
LivingEntity entity = e.getEntity();
if (entity instanceof Player)
return;
Arena arena = controller.getMobArena(entity);
if (arena != null) {
arena.mobDied(entity);
}
}
use of com.elmakers.mine.bukkit.arena.Arena in project MagicPlugin by elBukkit.
the class ArenaListener method onItemConsume.
@EventHandler(ignoreCancelled = true)
public void onItemConsume(PlayerItemConsumeEvent event) {
Player player = event.getPlayer();
Arena arena = controller.getArena(player);
if (arena != null && !arena.isAllowConsuming()) {
event.setCancelled(true);
}
}
use of com.elmakers.mine.bukkit.arena.Arena in project MagicPlugin by elBukkit.
the class ArenaListener method onPlayerQuit.
@EventHandler
public void onPlayerQuit(PlayerQuitEvent e) {
Player player = e.getPlayer();
ArenaPlayer leftPlayer = controller.leave(player);
if (leftPlayer != null) {
leftPlayer.quit();
Arena arena = leftPlayer.getArena();
arena.announce(arena.getAnnouncePlayerMessage("quit", leftPlayer));
}
}
Aggregations