use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class LobbyEvents method onLobbyDamage.
@EventHandler
public void onLobbyDamage(EntityDamageEvent event) {
if (event.getEntity().getType() != EntityType.PLAYER)
return;
Player player = (Player) event.getEntity();
Arena arena = ArenaRegistry.getArena(player);
if (arena == null || arena.getArenaState() == ArenaState.IN_GAME)
return;
event.setCancelled(true);
player.setHealth(player.getMaxHealth());
}
use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class LobbyEvents method onFoodLose.
@EventHandler(priority = EventPriority.HIGHEST)
public void onFoodLose(FoodLevelChangeEvent event) {
if (event.getEntity().getType() != EntityType.PLAYER)
return;
Player player = (Player) event.getEntity();
if (ArenaRegistry.getArena(player) == null)
return;
Arena arena = ArenaRegistry.getArena(player);
if (arena.getArenaState() == ArenaState.STARTING || arena.getArenaState() == ArenaState.WAITING_FOR_PLAYERS)
event.setCancelled(true);
}
use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class JoinEvent method onJoinCheckVersion.
@EventHandler
public void onJoinCheckVersion(final PlayerJoinEvent event) {
// we want to be the first :)
Bukkit.getScheduler().runTaskLater(plugin, () -> {
if (event.getPlayer().hasPermission("villagedefense.updatenotify")) {
if (plugin.getConfig().getBoolean("Update-Notifier.Enabled")) {
String currentVersion = "v" + Bukkit.getPluginManager().getPlugin("VillageDefense").getDescription().getVersion();
String latestVersion;
try {
UpdateChecker.checkUpdate(currentVersion);
latestVersion = UpdateChecker.getLatestVersion();
if (latestVersion != null) {
latestVersion = "v" + latestVersion;
if (latestVersion.contains("b")) {
event.getPlayer().sendMessage("");
event.getPlayer().sendMessage(ChatColor.BOLD + "VILLAGE DEFENSE UPDATE NOTIFY");
event.getPlayer().sendMessage(ChatColor.RED + "BETA version of software is ready for update! Proceed with caution.");
event.getPlayer().sendMessage(ChatColor.YELLOW + "Current version: " + ChatColor.RED + currentVersion + ChatColor.YELLOW + " Latest version: " + ChatColor.GREEN + latestVersion);
} else {
event.getPlayer().sendMessage("");
event.getPlayer().sendMessage(ChatColor.BOLD + "VILLAGE DEFENSE UPDATE NOTIFY");
event.getPlayer().sendMessage(ChatColor.GREEN + "Software is ready for update! Download it to keep with latest changes and fixes.");
event.getPlayer().sendMessage(ChatColor.YELLOW + "Current version: " + ChatColor.RED + currentVersion + ChatColor.YELLOW + " Latest version: " + ChatColor.GREEN + latestVersion);
}
}
} catch (Exception ex) {
event.getPlayer().sendMessage(ChatColor.RED + "[VillageDefense] An error occured while checking for update!");
event.getPlayer().sendMessage(ChatColor.RED + "Please check internet connection or check for update via WWW site directly!");
event.getPlayer().sendMessage(ChatColor.RED + "WWW site https://www.spigotmc.org/resources/minigame-village-defence-1-12-and-1-8-8.41869/");
}
}
}
}, 25);
if (plugin.isBungeeActivated())
ArenaRegistry.getArenas().get(0).teleportToLobby(event.getPlayer());
for (Arena arena : ArenaRegistry.getArenas()) {
if (event.getPlayer().getWorld().equals(arena.getStartLocation().getWorld())) {
plugin.getInventoryManager().loadInventory(event.getPlayer());
event.getPlayer().teleport(ArenaRegistry.getArenas().get(0).getEndLocation());
}
}
UserManager.registerUser(event.getPlayer().getUniqueId());
if (!plugin.isDatabaseActivated()) {
for (String s : FileStats.STATISTICS) {
plugin.getFileStats().loadStat(event.getPlayer(), s);
}
return;
}
final Player player = event.getPlayer();
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> MySQLConnectionUtils.loadPlayerStats(player, plugin));
}
use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class AdminCommands method forceStartGame.
public void forceStartGame(CommandSender sender) {
if (checkSenderIsConsole(sender))
return;
if (!hasPermission(sender, "villagedefense.admin.forcestart"))
return;
if (!checkIsInGameInstance((Player) sender))
return;
Arena arena = ArenaRegistry.getArena((Player) sender);
if (arena.getArenaState() == ArenaState.WAITING_FOR_PLAYERS || arena.getArenaState() == ArenaState.STARTING) {
arena.setArenaState(ArenaState.STARTING);
arena.setTimer(0);
for (Player p1 : ArenaRegistry.getArena((Player) sender).getPlayers()) {
p1.sendMessage(ChatManager.PLUGIN_PREFIX + ChatManager.colorMessage("In-Game.Messages.Admin-Messages.Set-Starting-In-To-0"));
}
}
}
use of pl.plajer.villagedefense3.arena.Arena in project Village_Defense by Plajer.
the class AdminCommands method printList.
public void printList(CommandSender sender) {
if (!hasPermission(sender, "villagedefense.admin.list"))
return;
sender.sendMessage(ChatManager.colorMessage("Commands.Admin-Commands.List-Command.Header"));
int i = 0;
for (Arena arena : ArenaRegistry.getArenas()) {
sender.sendMessage(ChatManager.colorMessage("Commands.Admin-Commands.List-Command.Format").replaceAll("%arena%", arena.getID()).replaceAll("%status%", arena.getArenaState().getFormattedName()).replaceAll("%players%", String.valueOf(arena.getPlayers().size())).replaceAll("%maxplayers%", String.valueOf(arena.getMaximumPlayers())));
i++;
}
if (i == 0)
sender.sendMessage(ChatManager.colorMessage("Commands.Admin-Commands.List-Command.No-Arenas"));
}
Aggregations