diff --git a/pom.xml b/pom.xml index 145f1540..9667b612 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 me.roinujnosde TitansBattle - 3.0.4 + 3.0.5 jar UTF-8 diff --git a/src/main/java/me/roinujnosde/titansbattle/managers/ConfigManager.java b/src/main/java/me/roinujnosde/titansbattle/managers/ConfigManager.java index 23480be2..2072c537 100644 --- a/src/main/java/me/roinujnosde/titansbattle/managers/ConfigManager.java +++ b/src/main/java/me/roinujnosde/titansbattle/managers/ConfigManager.java @@ -303,10 +303,10 @@ public void save() { if (scheduler) { for (Scheduler a : schedulers) { String id = a.getId(); - config.set("scheduler.schedulers." + id + "game", a.getMode().toString()); - config.set("scheduler.schedulers." + id + "day", a.getDay()); - config.set("scheduler.schedulers." + id + "hour", a.getHour()); - config.set("scheduler.schedulers." + id + "minute", a.getMinute()); + config.set("scheduler.schedulers." + id + ".game", a.getMode().toString()); + config.set("scheduler.schedulers." + id + ".day", a.getDay()); + config.set("scheduler.schedulers." + id + ".hour", a.getHour()); + config.set("scheduler.schedulers." + id + ".minute", a.getMinute()); } } config.set("destinations.general_exit", getGeneralExit()); diff --git a/src/main/java/me/roinujnosde/titansbattle/managers/GameManager.java b/src/main/java/me/roinujnosde/titansbattle/managers/GameManager.java index 8a56a9f3..fb0b1f92 100644 --- a/src/main/java/me/roinujnosde/titansbattle/managers/GameManager.java +++ b/src/main/java/me/roinujnosde/titansbattle/managers/GameManager.java @@ -63,13 +63,15 @@ public Game getCurrentGame() { return currentGame; } - private void processWinner(@NotNull Game game, @NotNull Player winner, Player killer) { + private void processWinner(@NotNull Game game, @NotNull Player winner, @Nullable Player killer) { //Chama os eventos de Novo Killer e Novo Vencedor Bukkit.getPluginManager().callEvent(new PlayerWinEvent(winner)); //Define o novo killer - setKiller(game, killer, null); + if (killer != null) { + setKiller(game, killer, null); + } //Anuncia Bukkit.getServer().broadcastMessage(MessageFormat.format(plugin.getLang("who_won", getCurrentGame()), winner.getName())); @@ -87,9 +89,12 @@ private void setWinner(@NotNull Mode mode, @NotNull Player winner) { plugin.getDatabaseManager().getTodaysWinners().setWinners(mode, uuids); } - private void processWinners(@NotNull Game game, @NotNull Group group, Player killerPlayer) { + private void processWinners(@NotNull Game game, @NotNull Group group, @Nullable Player killerPlayer) { //Chama os eventos - Bukkit.getPluginManager().callEvent(new NewKillerEvent(killerPlayer, null)); + if (killerPlayer != null) { + Bukkit.getPluginManager().callEvent(new NewKillerEvent(killerPlayer, null)); + setKiller(game, killerPlayer, null); + } Bukkit.getPluginManager().callEvent(new GroupWinEvent(group)); List leaders = new ArrayList<>(); @@ -125,7 +130,6 @@ private void processWinners(@NotNull Game game, @NotNull Group group, Player kil Winners today = db.getTodaysWinners(); today.setWinnerGroup(mode, group); today.setWinners(mode, new HashSet<>(currentWinners)); - setKiller(game, killerPlayer, null); group.setVictories(mode, (group.getVictories(mode) + 1)); @@ -562,16 +566,17 @@ public boolean removeParticipant(@NotNull Player player) { return false; } + participants.remove(player.getUniqueId()); + if (helper.isGroupBased(game)) { processGroupMemberLeaving(game, player); + } else { + processRemainingParticipants(game); } if (!teleportToExit(game, player)) return false; - participants.remove(player.getUniqueId()); - if (helper.isFun(game)) { clearInventory(player); - processRemainingParticipants(game); } return true;