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;