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