diff --git a/src/main/java/de/fanta/challengesjoinentities/ChallengesGlobalDataHelper.java b/src/main/java/de/fanta/challengesjoinentities/ChallengesGlobalDataHelper.java index 296530e..cc574ef 100644 --- a/src/main/java/de/fanta/challengesjoinentities/ChallengesGlobalDataHelper.java +++ b/src/main/java/de/fanta/challengesjoinentities/ChallengesGlobalDataHelper.java @@ -4,7 +4,6 @@ import de.cubeside.connection.event.GlobalServerConnectedEvent; import de.cubeside.connection.event.GlobalServerDisconnectedEvent; import de.fanta.challenges.Challenges; -import de.fanta.challengesjoinentities.ChallengesGlobalDataHelper.ChallengeMessageType; import de.iani.cubesideutils.bukkit.plugin.api.GlobalDataHelperBukkit; import de.speedy64.globalport.GlobalApi; import org.bukkit.Bukkit; @@ -16,6 +15,10 @@ import java.io.IOException; import java.util.UUID; +public enum ChallengeMessageType { + TIMER, SERVER_STATUS, PLAYER_COUNT, INITIAL_DATA_REQUEST, INITIAL_DATA, EVENT +} + public class ChallengesGlobalDataHelper extends GlobalDataHelperBukkit implements Listener { public static final String CHANNEL = "ChallengesJoinEntities"; @@ -93,46 +96,41 @@ sendData(getServer(toServer), ChallengeMessageType.INITIAL_DATA, getThisServerName(), timerRunning, playerCount, maxPlayers); } - public enum ChallengeMessageType { - TIMER, SERVER_STATUS, PLAYER_COUNT, INITIAL_DATA_REQUEST, INITIAL_DATA, EVENT - } - @EventHandler public void onGlobalServerConnected(GlobalServerConnectedEvent event) { - if (plugin.getEntityData(event.getServer().getName()) != null) { - Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { + Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { + if (plugin.getEntityData(event.getServer().getName()) != null) { plugin.updateServerStatus(event.getServer().getName(), true); this.requestInitialData(event.getServer().getName()); - }, 200L); - } + } - for (Server server : plugin.getPluginConfig().getChallengeServers()) { - if (server.getName().equals(event.getServer().getName())) { - UUID uuid = Server.serverPlayers.get(server); - if (uuid != null) { + for (Server server : plugin.getPluginConfig().getChallengeServers()) { + if (server.getName().equals(event.getServer().getName())) { + UUID uuid = Server.serverPlayers.get(server); + if (uuid != null) { + Player p = Bukkit.getPlayer(uuid); + if (p != null) { + server.spawnPiglin(p); + GlobalApi.portOnlinePlayerToLocation(p.getName(), server.getGPLocation()); + } + } + break; + } + } + + for (Server server : plugin.getPluginConfig().getAdventureServers()) { + if (server.getName().equals(event.getServer().getName())) { + UUID uuid = Server.serverPlayers.get(server); Player p = Bukkit.getPlayer(uuid); if (p != null) { server.spawnPiglin(p); + //server.spawnNPC(p); GlobalApi.portOnlinePlayerToLocation(p.getName(), server.getGPLocation()); } + break; } - break; } - } - - for (Server server : plugin.getPluginConfig().getAdventureServers()) { - if (server.getName().equals(event.getServer().getName())) { - UUID uuid = Server.serverPlayers.get(server); - Player p = Bukkit.getPlayer(uuid); - if (p != null) { - server.spawnPiglin(p); - //server.spawnNPC(p); - GlobalApi.portOnlinePlayerToLocation(p.getName(), server.getGPLocation()); - } - break; - } - } - + }, 200L); } @EventHandler diff --git a/src/main/java/de/fanta/challengesjoinentities/ChallengesJoinEntities.java b/src/main/java/de/fanta/challengesjoinentities/ChallengesJoinEntities.java index 41453e8..118f5f8 100644 --- a/src/main/java/de/fanta/challengesjoinentities/ChallengesJoinEntities.java +++ b/src/main/java/de/fanta/challengesjoinentities/ChallengesJoinEntities.java @@ -3,6 +3,7 @@ import de.cubeside.nmsutils.NMSUtils; import de.fanta.challengesjoinentities.adventure.AdventureMapsConfig; import de.fanta.challengesjoinentities.adventure.CategoriesConfig; +import de.fanta.challengesjoinentities.adventure.Category; import de.fanta.challengesjoinentities.commands.AdventureCommand.AdventureAddCategoryCommand; import de.fanta.challengesjoinentities.commands.AdventureCommand.AdventureAddMapCommand; import de.fanta.challengesjoinentities.commands.AdventureCommand.AdventureLoadCommand; @@ -38,12 +39,14 @@ import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; +import org.junit.experimental.categories.Categories; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.UUID; +import java.util.logging.Level; public class ChallengesJoinEntities extends JavaPlugin { @@ -313,8 +316,6 @@ public void saveCategoriesAndMaps() { this.adventureMapsConfig.save(); this.categoriesConfig.save(); - this.adventureMapsConfig.load(); - this.categoriesConfig.load(); } public void loadCategoriesAndMaps() { @@ -324,6 +325,13 @@ this.categoriesConfig.load(); } + public void reloadCategoriesAndMaps() { + getLogger().log(Level.INFO, "Maps werden gespeichert und neu geladen."); + saveCategoriesAndMaps(); + loadCategoriesAndMaps(); + getLogger().log(Level.INFO, "Maps wurden neu geladen."); + } + public PlayerUUIDCache getPlayerUUIDCache() { return playerUUIDCache; } diff --git a/src/main/java/de/fanta/challengesjoinentities/adventure/AdventureMapsConfig.java b/src/main/java/de/fanta/challengesjoinentities/adventure/AdventureMapsConfig.java index 89f01a9..8c05a97 100644 --- a/src/main/java/de/fanta/challengesjoinentities/adventure/AdventureMapsConfig.java +++ b/src/main/java/de/fanta/challengesjoinentities/adventure/AdventureMapsConfig.java @@ -2,16 +2,15 @@ import com.google.common.collect.ImmutableMap; import de.fanta.challengesjoinentities.ChallengesJoinEntities; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.file.YamlConfiguration; +import org.jetbrains.annotations.Nullable; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.configuration.file.YamlConfiguration; -import org.jetbrains.annotations.Nullable; - public class AdventureMapsConfig { private final ChallengesJoinEntities plugin; @@ -41,8 +40,9 @@ ConfigurationSection section = this.config.getConfigurationSection(key); if (section != null) { AdventureMap map = new AdventureMap(this.plugin, key, section); - if (!this.maps.containsKey(key)) + if (!this.maps.containsKey(key)) { this.maps.put(key, map); + } } }); } diff --git a/src/main/java/de/fanta/challengesjoinentities/adventure/Category.java b/src/main/java/de/fanta/challengesjoinentities/adventure/Category.java index d935023..0712468 100644 --- a/src/main/java/de/fanta/challengesjoinentities/adventure/Category.java +++ b/src/main/java/de/fanta/challengesjoinentities/adventure/Category.java @@ -60,8 +60,7 @@ public void addMap(AdventureMap map) { this.maps.add(map); - plugin.saveCategoriesAndMaps(); - plugin.loadCategoriesAndMaps(); + plugin.reloadCategoriesAndMaps(); } public void save(ConfigurationSection section) { diff --git a/src/main/java/de/fanta/challengesjoinentities/commands/AdventureCommand/AdventureAddMapCommand.java b/src/main/java/de/fanta/challengesjoinentities/commands/AdventureCommand/AdventureAddMapCommand.java index 352af68..8d44f84 100644 --- a/src/main/java/de/fanta/challengesjoinentities/commands/AdventureCommand/AdventureAddMapCommand.java +++ b/src/main/java/de/fanta/challengesjoinentities/commands/AdventureCommand/AdventureAddMapCommand.java @@ -57,7 +57,6 @@ return true; } category.addMap(map); - this.plugin.saveCategoriesAndMaps(); ChatUtil.sendNormalMessage(sender, "Die map " + name + " wurde erfolgreich hinzugefügt!"); return true; }