Search in sources :

Example 26 with Arena

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

the class AdminCommands method setWave.

public void setWave(CommandSender sender, String number) {
    if (checkSenderIsConsole(sender))
        return;
    if (!checkIsInGameInstance((Player) sender))
        return;
    if (!hasPermission(sender, "villagedefense.admin.setwave"))
        return;
    Arena arena = ArenaRegistry.getArena((Player) sender);
    if (NumberUtils.isNumber(number)) {
        arena.setWave(Integer.parseInt(number) - 1);
        arena.endWave();
        String message = ChatManager.formatMessage(arena, ChatManager.colorMessage("In-Game.Messages.Admin-Messages.Changed-Wave"), arena.getWave());
        for (Player player1 : arena.getPlayers()) {
            player1.sendMessage(ChatManager.PLUGIN_PREFIX + message);
        }
        if (arena.getZombies() != null) {
            for (Zombie zombie : arena.getZombies()) {
                zombie.getWorld().playEffect(zombie.getLocation(), Effect.LAVA_POP, 20);
                zombie.remove();
            }
            arena.getZombies().clear();
        } else {
            sender.sendMessage(ChatManager.colorMessage("Kits.Cleaner.Nothing-To-Clean"));
            return;
        }
        sendSound((Player) sender, "ENTITY_ZOMBIE_DEATH", "ZOMBIE_DEATH");
        for (Player loopPlayer : arena.getPlayers()) {
            String message1 = ChatManager.formatMessage(arena, ChatManager.colorMessage("In-Game.Messages.Admin-Messages.Removed-Zombies"), new Player[] { (loopPlayer) });
            loopPlayer.sendMessage(ChatManager.PLUGIN_PREFIX + message1);
        }
    } else {
        sender.sendMessage(ChatColor.RED + "Wave needs to be number! Do /villagedefense set wave <number>");
    }
}
Also used : Player(org.bukkit.entity.Player) Zombie(org.bukkit.entity.Zombie) Arena(pl.plajer.villagedefense3.arena.Arena)

Example 27 with Arena

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

the class Main method registerArenas.

public void registerArenas() {
    if (ArenaRegistry.getArenas() != null) {
        if (ArenaRegistry.getArenas().size() > 0) {
            for (Arena arena : ArenaRegistry.getArenas()) {
                arena.clearZombies();
                arena.clearVillagers();
                arena.clearWolfs();
                arena.clearGolems();
            }
        }
    }
    ArenaRegistry.getArenas().clear();
    if (!ConfigurationManager.getConfig("arenas").contains("instances")) {
        Bukkit.getConsoleSender().sendMessage(ChatManager.colorMessage("Validator.No-Instances-Created"));
        return;
    }
    for (String ID : ConfigurationManager.getConfig("arenas").getConfigurationSection("instances").getKeys(false)) {
        Arena arena;
        String s = "instances." + ID + ".";
        if (s.contains("default"))
            continue;
        if (is1_8_R3()) {
            arena = new ArenaInitializer1_8_R3(ID, this);
        } else if (is1_9_R1()) {
            arena = new ArenaInitializer1_9_R1(ID, this);
        } else if (is1_11_R1()) {
            arena = new ArenaInitializer1_11_R1(ID, this);
        } else {
            arena = new ArenaInitializer1_12_R1(ID, this);
        }
        arena.setMinimumPlayers(ConfigurationManager.getConfig("arenas").getInt(s + "minimumplayers"));
        arena.setMaximumPlayers(ConfigurationManager.getConfig("arenas").getInt(s + "maximumplayers"));
        arena.setMapName(ConfigurationManager.getConfig("arenas").getString(s + "mapname"));
        arena.setLobbyLocation(Util.getLocation(false, ConfigurationManager.getConfig("arenas").getString(s + "lobbylocation")));
        arena.setStartLocation(Util.getLocation(false, ConfigurationManager.getConfig("arenas").getString(s + "Startlocation")));
        arena.setEndLocation(Util.getLocation(false, ConfigurationManager.getConfig("arenas").getString(s + "Endlocation")));
        if (!ConfigurationManager.getConfig("arenas").getBoolean(s + "isdone")) {
            Bukkit.getConsoleSender().sendMessage(ChatManager.colorMessage("Validator.Invalid-Arena-Configuration").replaceAll("%arena%", ID).replaceAll("%error%", "NOT VALIDATED"));
            arena.setReady(false);
            ArenaRegistry.registerArena(arena);
            continue;
        }
        if (ConfigurationManager.getConfig("arenas").contains(s + "zombiespawns")) {
            for (String string : ConfigurationManager.getConfig("arenas").getConfigurationSection(s + "zombiespawns").getKeys(false)) {
                String path = s + "zombiespawns." + string;
                arena.addZombieSpawn(Util.getLocation(false, ConfigurationManager.getConfig("arenas").getString(path)));
            }
        } else {
            Bukkit.getConsoleSender().sendMessage(ChatManager.colorMessage("Validator.Invalid-Arena-Configuration").replaceAll("%arena%", ID).replaceAll("%error%", "ZOMBIE SPAWNS"));
            arena.setReady(false);
            ArenaRegistry.registerArena(arena);
            continue;
        }
        if (ConfigurationManager.getConfig("arenas").contains(s + "villagerspawns")) {
            for (String string : ConfigurationManager.getConfig("arenas").getConfigurationSection(s + "villagerspawns").getKeys(false)) {
                String path = s + "villagerspawns." + string;
                arena.addVillagerSpawn(Util.getLocation(false, ConfigurationManager.getConfig("arenas").getString(path)));
            }
        } else {
            Bukkit.getConsoleSender().sendMessage(ChatManager.colorMessage("Validator.Invalid-Arena-Configuration").replaceAll("%arena%", ID).replaceAll("%error%", "VILLAGER SPAWNS"));
            arena.setReady(false);
            ArenaRegistry.registerArena(arena);
            continue;
        }
        if (ConfigurationManager.getConfig("arenas").contains(s + "doors")) {
            for (String string : ConfigurationManager.getConfig("arenas").getConfigurationSection(s + "doors").getKeys(false)) {
                String path = s + "doors." + string + ".";
                arena.addDoor(Util.getLocation(false, ConfigurationManager.getConfig("arenas").getString(path + "location")), (byte) ConfigurationManager.getConfig("arenas").getInt(path + "byte"));
            }
        } else {
            Bukkit.getConsoleSender().sendMessage(ChatManager.colorMessage("Validator.Invalid-Arena-Configuration").replaceAll("%arena%", ID).replaceAll("%error%", "DOORS"));
            arena.setReady(false);
            ArenaRegistry.registerArena(arena);
            continue;
        }
        ArenaRegistry.registerArena(arena);
        arena.start();
        Bukkit.getConsoleSender().sendMessage(ChatManager.colorMessage("Validator.Instance-Started").replaceAll("%arena%", ID));
    }
    new ShopManager();
}
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) ShopManager(pl.plajer.villagedefense3.handlers.ShopManager) ArenaInitializer1_12_R1(pl.plajer.villagedefense3.arena.ArenaInitializer1_12_R1) Arena(pl.plajer.villagedefense3.arena.Arena)

Example 28 with Arena

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

the class ArenaUtils method bringDeathPlayersBack.

public static void bringDeathPlayersBack(Arena arena) {
    for (Player player : arena.getPlayers()) {
        if (!arena.getPlayersLeft().contains(player)) {
            User user = UserManager.getUser(player.getUniqueId());
            user.setFakeDead(false);
            user.setSpectator(false);
            arena.teleportToStartLocation(player);
            player.setFlying(false);
            player.setAllowFlight(false);
            player.setGameMode(GameMode.SURVIVAL);
            arena.showPlayers();
            player.getInventory().clear();
            user.getKit().giveKitItems(player);
            player.sendMessage(ChatManager.colorMessage("In-Game.Back-In-Game"));
        }
    }
}
Also used : Player(org.bukkit.entity.Player) User(pl.plajer.villagedefense3.User)

Example 29 with Arena

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

the class ArenaUtils method updateLevelStat.

public static void updateLevelStat(Player player, Arena arena) {
    User user = UserManager.getUser(player.getUniqueId());
    if (Math.pow(50 * user.getInt("level"), 1.5) < user.getInt("xp")) {
        user.addInt("level", 1);
        player.sendMessage(ChatManager.PLUGIN_PREFIX + ChatManager.formatMessage(arena, ChatManager.colorMessage("In-Game.You-Leveled-Up"), user.getInt("level")));
    }
}
Also used : User(pl.plajer.villagedefense3.User)

Example 30 with Arena

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

the class ArenaUtils method updateScoreboard.

public static void updateScoreboard(Arena arena) {
    if (arena.getPlayers().size() == 0)
        return;
    for (Player p : arena.getPlayers()) {
        User user = UserManager.getUser(p.getUniqueId());
        if (user.getScoreboard().getObjective("vd_state_0") == null) {
            for (ArenaState state : ArenaState.values()) {
                user.getScoreboard().registerNewObjective("vd_state_" + state.ordinal(), "dummy");
            }
            // fighting stage of IN_GAME state
            user.getScoreboard().registerNewObjective("vd_state_2F", "dummy");
        }
        if (arena.getArenaState() == ArenaState.ENDING) {
            user.removeScoreboard();
            return;
        }
        Objective gameObjective;
        if (arena.getArenaState() == ArenaState.IN_GAME) {
            gameObjective = user.getScoreboard().getObjective("vd_state_" + arena.getArenaState().ordinal() + (arena.isFighting() ? "F" : ""));
        } else {
            gameObjective = user.getScoreboard().getObjective("vd_state_" + arena.getArenaState().ordinal());
        }
        if (gameObjective == null)
            return;
        gameObjective.setDisplayName(ChatManager.colorMessage("Scoreboard.Header"));
        gameObjective.setDisplaySlot(DisplaySlot.SIDEBAR);
        switch(arena.getArenaState()) {
            case WAITING_FOR_PLAYERS:
                Score playersTotal1 = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Players")));
                playersTotal1.setScore(arena.getPlayers().size());
                Score neededPlayers2 = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Minimum-Players")));
                neededPlayers2.setScore(arena.getMinimumPlayers());
                break;
            case STARTING:
                Score timer = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Starting-In")));
                timer.setScore(arena.getTimer());
                Score playersTotal = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Players")));
                playersTotal.setScore(arena.getPlayers().size());
                Score neededPlayers = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Minimum-Players")));
                neededPlayers.setScore(arena.getMinimumPlayers());
                break;
            case IN_GAME:
                Score playersLeft = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Players-Left")));
                playersLeft.setScore(arena.getPlayersLeft().size());
                Score villagersLeft = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Villagers-Left")));
                villagersLeft.setScore(arena.getVillagers().size());
                Score orbs = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Orbs")));
                orbs.setScore(user.getInt("orbs"));
                if (arena.isFighting()) {
                    Score zombiesLeft = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Zombies-Left")));
                    zombiesLeft.setScore(arena.getZombiesLeft());
                } else {
                    Score nextWaveIn = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Next-Wave-In")));
                    nextWaveIn.setScore(arena.getTimer());
                }
                Score rottenFlesh = gameObjective.getScore(ChatManager.formatMessage(arena, ChatManager.colorMessage("Scoreboard.Rotten-Flesh")));
                rottenFlesh.setScore(arena.getRottenFlesh());
                break;
            case RESTARTING:
                break;
            default:
                arena.setArenaState(ArenaState.WAITING_FOR_PLAYERS);
                break;
        }
        Score empty = gameObjective.getScore("");
        empty.setScore(-1);
        Score footer = gameObjective.getScore(ChatManager.colorMessage("Scoreboard.Footer"));
        footer.setScore(-2);
        user.setScoreboard(user.getScoreboard());
    }
}
Also used : Objective(org.bukkit.scoreboard.Objective) Player(org.bukkit.entity.Player) Score(org.bukkit.scoreboard.Score) User(pl.plajer.villagedefense3.User)

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