Search in sources :

Example 6 with Arena

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);
}
Also used : Player(org.bukkit.entity.Player) MagicController(com.elmakers.mine.bukkit.magic.MagicController) ArenaController(com.elmakers.mine.bukkit.arena.ArenaController) Arena(com.elmakers.mine.bukkit.arena.Arena)

Example 7 with Arena

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");
        }
    }
}
Also used : Player(org.bukkit.entity.Player) ArenaPlayer(com.elmakers.mine.bukkit.arena.ArenaPlayer) Arena(com.elmakers.mine.bukkit.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Example 8 with Arena

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);
    }
}
Also used : LivingEntity(org.bukkit.entity.LivingEntity) Player(org.bukkit.entity.Player) ArenaPlayer(com.elmakers.mine.bukkit.arena.ArenaPlayer) Arena(com.elmakers.mine.bukkit.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Example 9 with Arena

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);
    }
}
Also used : Player(org.bukkit.entity.Player) ArenaPlayer(com.elmakers.mine.bukkit.arena.ArenaPlayer) Arena(com.elmakers.mine.bukkit.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Example 10 with Arena

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));
    }
}
Also used : Player(org.bukkit.entity.Player) ArenaPlayer(com.elmakers.mine.bukkit.arena.ArenaPlayer) ArenaPlayer(com.elmakers.mine.bukkit.arena.ArenaPlayer) Arena(com.elmakers.mine.bukkit.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Aggregations

Arena (com.elmakers.mine.bukkit.arena.Arena)15 Player (org.bukkit.entity.Player)14 ArenaPlayer (com.elmakers.mine.bukkit.arena.ArenaPlayer)13 EventHandler (org.bukkit.event.EventHandler)10 FixedMetadataValue (org.bukkit.metadata.FixedMetadataValue)3 Location (org.bukkit.Location)2 LivingEntity (org.bukkit.entity.LivingEntity)2 MagicBlock (com.elmakers.mine.bukkit.api.block.magic.MagicBlock)1 EntityData (com.elmakers.mine.bukkit.api.entity.EntityData)1 Mage (com.elmakers.mine.bukkit.api.magic.Mage)1 SpellTemplate (com.elmakers.mine.bukkit.api.spell.SpellTemplate)1 Wand (com.elmakers.mine.bukkit.api.wand.Wand)1 ArenaController (com.elmakers.mine.bukkit.arena.ArenaController)1 ArenaTemplate (com.elmakers.mine.bukkit.arena.ArenaTemplate)1 EditingStage (com.elmakers.mine.bukkit.arena.EditingStage)1 MagicController (com.elmakers.mine.bukkit.magic.MagicController)1 ArrayList (java.util.ArrayList)1 Collection (java.util.Collection)1 HashSet (java.util.HashSet)1 Material (org.bukkit.Material)1