Search in sources :

Example 51 with Arena

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());
}
Also used : Player(org.bukkit.entity.Player) Arena(pl.plajer.villagedefense3.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Example 52 with Arena

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);
}
Also used : Player(org.bukkit.entity.Player) Arena(pl.plajer.villagedefense3.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Example 53 with Arena

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));
}
Also used : Player(org.bukkit.entity.Player) Arena(pl.plajer.villagedefense3.arena.Arena) EventHandler(org.bukkit.event.EventHandler)

Example 54 with Arena

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"));
        }
    }
}
Also used : Player(org.bukkit.entity.Player) Arena(pl.plajer.villagedefense3.arena.Arena)

Example 55 with Arena

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"));
}
Also used : Arena(pl.plajer.villagedefense3.arena.Arena)

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