diff --git a/pom.xml b/pom.xml index 4a1cc83..cef14ae 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,10 @@ codemc-repo https://repo.codemc.org/repository/maven-public/ + + md_5-public + https://repo.md-5.net/content/groups/public/ + @@ -85,6 +89,18 @@ 2.11.0 provided + + LibsDisguises + LibsDisguises + 10.0.28 + provided + + + de.iani.cubeside + CubesideStatistics + 1.0.0-SNAPSHOT + provided + diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java index 3bb57c1..e91221d 100644 --- a/src/main/java/de/fanta/challenges/Challenges.java +++ b/src/main/java/de/fanta/challenges/Challenges.java @@ -14,8 +14,10 @@ import de.fanta.challenges.scoreboard.ScoreBoardManager; import de.fanta.challenges.scoreboard.ScoreManager; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.VanishUtils; -import de.fanta.challenges.utils.guiutils.GUIUtils; +import de.fanta.challenges.utils.Statistics; +import de.iani.cubesidestats.api.CubesideStatisticsAPI; import org.apache.commons.io.FileUtils; import org.bukkit.BanList; import org.bukkit.Bukkit; @@ -81,9 +83,15 @@ public FileConfiguration ItemConfig; public File ItemConfigFile; - private static ArrayList not_available_materials = new ArrayList<>(); - private static ArrayList materials = new ArrayList<>(); - private static ArrayList advancements = new ArrayList<>(); + private static final ArrayList not_available_materials = new ArrayList<>(); + private static final ArrayList materials = new ArrayList<>(); + private static final ArrayList advancements = new ArrayList<>(); + + private CubesideStatisticsAPI cubesideStatistics; + + private Statistics statistics; + + private static final ArrayList statisticPlayers = new ArrayList<>(); public static Challenges getPlugin() { return plugin; @@ -94,9 +102,14 @@ LOGGER = getLogger(); plugin = this; nmsUtils = getServer().getServicesManager().load(NMSUtils.class); + cubesideStatistics = getServer().getServicesManager().load(CubesideStatisticsAPI.class); + + statistics = new Statistics(this); + protocolVersion = Bukkit.getUnsafe().getProtocolVersion(); + this.timer = new Timer(this); this.rndDrops = new RandomDropsChallenge(); @@ -118,7 +131,7 @@ createAllItemsConfig(); createBackpackConfig(); - this.backpack = new BackpackGui(getConfig().getInt("backpack_size") * 9); + this.backpack = new BackpackGui(Config.getInt("backpack_size") * 9); new CommandRegistration(this).registerCommands(); new EventRegistration(this).registerEvents(); @@ -132,14 +145,14 @@ world.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, false); } MLGChallenge.checkMLGWorld(); - setPvP(getConfig().getBoolean("pvp")); + setPvP(Config.getBoolean("pvp")); if (plugin.getServerType() != ServerType.ADVENTURE) { plugin.getSBManager().initScoreboard(); } }, 1L); - if (getConfig().getBoolean("World_Reset")) { - if (!getConfig().getBoolean("firsttimerstart")) { + if (Config.getBoolean("World_Reset")) { + if (!Config.getBoolean("firsttimerstart")) { timer.setTime(0); } File config = new File(plugin.getDataFolder(), "config.yml"); @@ -152,7 +165,7 @@ this.rndDrops.saveItems(); this.rndDrops.loadItems(); } else { - this.getBackpack().resize(getConfig().getInt("backpack_size") * 9); + this.getBackpack().resize(Config.getInt("backpack_size") * 9); this.rndDrops.loadItems(); this.backpack.loadInventoryFromConfig(); timer.setTime(getConfig().getInt("timertime")); @@ -215,6 +228,10 @@ } } + if (getServerType() != ServerType.CHALLENGE) { + Config.setValue("editsettings", true); + } + if (plugin.getServerType() == ServerType.ADVENTURE || plugin.getServerType() == ServerType.CHALLENGE_LOAD) { startResetTask(); } @@ -245,7 +262,7 @@ } getConfig().set("timertime", timer.getTime()); if (getConfig().getBoolean("event.enabled")) { - GUIUtils.setConfig("event.enabled", false); + Config.setValue("event.enabled", false); Bukkit.getPluginManager().callEvent(new EventStatusChangedEvent(false)); getScoreManager().saveScores(null); } @@ -554,4 +571,20 @@ public ArrayList getAdvancements() { return advancements; } + + public CubesideStatisticsAPI getCubesideStatistics() { + return cubesideStatistics; + } + + public Statistics getStatistics() { + return statistics; + } + + public void addstatisticPlayers(UUID uuid) { + statisticPlayers.add(uuid); + } + + public ArrayList getstatisticPlayers() { + return statisticPlayers; + } } diff --git a/src/main/java/de/fanta/challenges/Timer.java b/src/main/java/de/fanta/challenges/Timer.java index 5604d9c..84d007b 100644 --- a/src/main/java/de/fanta/challenges/Timer.java +++ b/src/main/java/de/fanta/challenges/Timer.java @@ -3,6 +3,7 @@ import de.fanta.challenges.challenges.MLGChallenge; import de.fanta.challenges.events.TimerChangedEvent; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.StringUtil; import net.md_5.bungee.api.ChatColor; @@ -51,7 +52,7 @@ if (mode == TimerMode.DOWN) { if (time <= 0) { - if (plugin.getConfig().getBoolean("event.enabled")) { + if (Config.getBoolean("event.enabled")) { for (Player p : Bukkit.getOnlinePlayers()) { p.setGameMode(GameMode.SPECTATOR); } @@ -76,8 +77,8 @@ sendTimerActionBar(ChatUtil.GREEN); } }, 20L, 20L); - if (!plugin.getConfig().getBoolean("firsttimerstart")) { - GUIUtils.setConfig("firsttimerstart", true); + if (!Config.getBoolean("firsttimerstart")) { + Config.setValue("firsttimerstart", true, false); } Bukkit.getPluginManager().callEvent(new TimerChangedEvent(true)); } @@ -116,8 +117,13 @@ private void sendTimerActionBar(ChatColor color) { for (Player p : Bukkit.getOnlinePlayers()) { if (!plugin.getVanish().isVanish(p)) { - if (plugin.getConfig().getBoolean("showtimer")) { - p.sendActionBar(formatTime(color)); + if (Config.getBoolean("showtimer")) { + if (Config.getBoolean("editsettings")) { + p.sendActionBar(formatTime(color)); + } else { + p.sendActionBar(ChatUtil.GREEN + "SpeedRun " + formatTime(color)); + } + } } @@ -163,6 +169,10 @@ return time / 1000; } + public long getTimeInMs() { + return time; + } + public void setTime(int seconds) { this.time = seconds * 1000L; this.countingSinceTimestamp = System.currentTimeMillis(); diff --git a/src/main/java/de/fanta/challenges/challenges/AllAdvancementsChallenge.java b/src/main/java/de/fanta/challenges/challenges/AllAdvancementsChallenge.java index 89e383f..2043dce 100644 --- a/src/main/java/de/fanta/challenges/challenges/AllAdvancementsChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/AllAdvancementsChallenge.java @@ -4,6 +4,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.events.TimerChangedEvent; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.NamespacedKey; import org.bukkit.advancement.Advancement; @@ -32,7 +33,7 @@ @EventHandler public void onActivation(TimerChangedEvent event) { - if (plugin.getConfig().getBoolean("alladvancements")) { + if (Config.getBoolean("alladvancements")) { if (event.isRunning()) { start(); } else { @@ -87,7 +88,7 @@ } private void createAdvancementString(Player player) { - ConfigurationSection advancements = plugin.getConfig().createSection("advancements"); + ConfigurationSection advancements = Config.createSection("advancements"); ArrayList advancementsDone = new ArrayList<>(); ConfigurationSection progress = advancements.createSection("progress"); Iterator it = Bukkit.advancementIterator(); @@ -113,8 +114,8 @@ } private static void setAdvancementsToPlayer() { - if (plugin.getConfig().contains("advancements")) { - ConfigurationSection advancements = plugin.getConfig().getConfigurationSection("advancements"); + if (Config.contains("advancements")) { + ConfigurationSection advancements = Config.getConfigurationSection("advancements"); if (advancements != null) { HashSet done = new HashSet<>(advancements.getStringList("done")); ConfigurationSection progress = advancements.getConfigurationSection("progress"); @@ -147,7 +148,7 @@ private static int countDone() { int i = 0; - ConfigurationSection advancements = plugin.getConfig().getConfigurationSection("advancements"); + ConfigurationSection advancements = Config.getConfigurationSection("advancements"); if (advancements != null) { HashSet done = new HashSet<>(advancements.getStringList("done")); for (String ignored : done) { diff --git a/src/main/java/de/fanta/challenges/challenges/AllItemsChallenge.java b/src/main/java/de/fanta/challenges/challenges/AllItemsChallenge.java index 46b2a5d..14b8242 100644 --- a/src/main/java/de/fanta/challenges/challenges/AllItemsChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/AllItemsChallenge.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -38,7 +39,7 @@ } } - ItemStack configStack = plugin.getConfig().getItemStack("allitemscurrentitem"); + ItemStack configStack = Config.getItemStack("allitemscurrentitem"); if (configStack != null) { item = configStack.getType(); } @@ -47,7 +48,7 @@ Random r = new Random(); item = Material.valueOf(items.get(r.nextInt((items.size() - 1) + 1))); - GUIUtils.setConfig("allitemscurrentitem", new ItemStack(item)); + Config.setValue("allitemscurrentitem", new ItemStack(item)); } bossBar = Bukkit.createBossBar("", BarColor.GREEN, BarStyle.SOLID); bossBar.setVisible(true); @@ -59,7 +60,7 @@ public static void update() { ItemScheduler = Bukkit.getScheduler().scheduleSyncRepeatingTask(Challenges.getPlugin(), () -> { - if (Challenges.getPlugin().getConfig().getBoolean("allitems") && Challenges.getPlugin().getTimer().isRunning()) { + if (Config.getBoolean("allitems") && Challenges.getPlugin().getTimer().isRunning()) { if (items.size() != 0) { for (Player pp : Bukkit.getOnlinePlayers()) { bossBar.addPlayer(pp); @@ -99,7 +100,7 @@ if (items.size() != 0) { Random r = new Random(); item = Material.valueOf(items.get(r.nextInt((items.size() - 1) + 1))); - GUIUtils.setConfig("allitemscurrentitem", new ItemStack(item)); + Config.setValue("allitemscurrentitem", new ItemStack(item)); if (skipped) { ChatUtil.sendBrodcastMessage("Item: " + ChatUtil.BLUE + old.toString().replace("_", " ") + ChatUtil.GREEN + " wurde von " + p.getName() + " übersprungen."); } else { @@ -115,7 +116,7 @@ public static void saveItems() { clearConfig(); FileConfiguration config = Challenges.getPlugin().getAllItemsConfig(); - config.set("items", items); + Config.setValue("items", items); try { Challenges.getPlugin().AllItemsConfig.save(Challenges.getPlugin().getAllItemsConfigFile()); } catch (IOException e) { diff --git a/src/main/java/de/fanta/challenges/challenges/BedrockWallChallenge.java b/src/main/java/de/fanta/challenges/challenges/BedrockWallChallenge.java index bfefd0e..6320543 100644 --- a/src/main/java/de/fanta/challenges/challenges/BedrockWallChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/BedrockWallChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -18,7 +19,7 @@ @EventHandler public void onMove(PlayerMoveEvent e) { Player p = e.getPlayer(); - if (plugin.getConfig().getBoolean("bedrockwall") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(e.getPlayer())) { + if (Config.getBoolean("bedrockwall") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(e.getPlayer())) { if (!e.getTo().equals(e.getFrom())) { Location loc = p.getLocation(); setWall(loc); diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java index 380a031..44ef8c4 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/BingoChallengeEvent.java @@ -8,6 +8,7 @@ import de.fanta.challenges.teams.TeamUtils; import de.fanta.challenges.utils.ChatSkullAPI.ChatSkull; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -134,7 +135,7 @@ @EventHandler public void onActivation(TimerChangedEvent event) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "bingo")) { + if (Objects.equals(Config.getString("event.type"), "bingo")) { if (event.isRunning()) { setMaterials(EventItemsGui.getEventItems()); for (Player p : Bukkit.getOnlinePlayers()) { @@ -142,7 +143,7 @@ bossBar.addPlayer(p); } - if (!plugin.getConfig().getBoolean("event.teams")) { + if (!Config.getBoolean("event.teams")) { for (Player p : Bukkit.getOnlinePlayers()) { plugin.getScoreManager().join(new ChallengePlayer(p.getUniqueId())); } @@ -166,7 +167,7 @@ bossBar.setVisible(true); bossBar.addPlayer(e.getPlayer()); - if (plugin.getConfig().getBoolean("event.teams")) { + if (Config.getBoolean("event.teams")) { ChallengeTeam team = TeamUtils.getPlayerTeam(e.getPlayer()); if (team != null) { playerMaterials.remove(e.getPlayer().getUniqueId()); @@ -183,7 +184,7 @@ UUID uuid = player.getUniqueId(); Material material = itemStack.getType(); if (materials.contains(material)) { - if (!plugin.getConfig().getBoolean("event.teams")) { + if (!Config.getBoolean("event.teams")) { List items = new ArrayList<>(); if (playerMaterials.get(uuid) != null) { items = playerMaterials.get(uuid); diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java index 83b9942..f99d9e5 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java @@ -7,6 +7,7 @@ import de.fanta.challenges.scoreboard.ScoreManager; import de.fanta.challenges.utils.ChatSkullAPI.ChatSkull; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -19,14 +20,17 @@ import org.bukkit.boss.BarColor; import org.bukkit.boss.BarStyle; import org.bukkit.boss.BossBar; +import org.bukkit.entity.Boat; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.entity.EntityPlaceEvent; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerPortalEvent; +import org.spigotmc.event.entity.EntityMountEvent; import java.util.ArrayList; import java.util.HashMap; @@ -52,7 +56,7 @@ public void onMove(PlayerMoveEvent e) { Player p = e.getPlayer(); World world = p.getWorld(); - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p) && p.getGameMode() != GameMode.SPECTATOR) { + if (Objects.equals(Config.getString("event.type"), "deathrun") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p) && p.getGameMode() != GameMode.SPECTATOR) { if (!deadPlayer.contains(p.getUniqueId())) { Location playerLoc = p.getLocation(); double posRelatedToCenter = playerLoc.getZ() - spawnLocation.getZ(); @@ -64,7 +68,7 @@ int BARRIER_SIZE = 6; if (distanceToCenter >= BARRIER_POS) { //Outside border p.damage(0.5); - } else if (distanceToCenter >= BARRIER_POS - 4) { //Inside border + } else if (distanceToCenter >= BARRIER_POS - 6) { //Inside border //Send barrier double barrierZ = spawnLocation.getZ() + BARRIER_POS * (posRelatedToCenter > 0 ? 1 : -1); Location loc = new Location(p.getWorld(), playerLoc.getX() - BARRIER_SIZE / 2d, playerLoc.getY() - BARRIER_SIZE / 2d, barrierZ); @@ -93,7 +97,7 @@ @EventHandler public void onDamage(EntityDamageEvent e) { if (e.getEntity() instanceof Player p) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun") && plugin.getTimer().isRunning()) { + if (Objects.equals(Config.getString("event.type"), "deathrun") && plugin.getTimer().isRunning()) { Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> p.setWalkSpeed((float) (p.getHealth() / 100f)), 1L); } } @@ -102,7 +106,7 @@ @EventHandler public void onDeath(PlayerDeathEvent e) { Player p = e.getEntity(); - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun") && plugin.getTimer().isRunning()) { + if (Objects.equals(Config.getString("event.type"), "deathrun") && plugin.getTimer().isRunning()) { deadPlayer.add(p.getUniqueId()); plugin.getSBManager().removeScoreboard(p); if (plugin.getSBManager().countScoreboardPlayers() == 0) { @@ -114,14 +118,14 @@ @EventHandler public void onPortalUse(PlayerPortalEvent e) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun")) { + if (Objects.equals(Config.getString("event.type"), "deathrun")) { e.setCancelled(true); } } @EventHandler public void onTimerChange(TimerChangedEvent e) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun")) { + if (Objects.equals(Config.getString("event.type"), "deathrun")) { if (!e.isRunning()) { stopUpdateTask(); for (Scorable scorable : plugin.getScoreManager().getByPositon(1)) { @@ -149,7 +153,7 @@ @EventHandler public void onBarrierBreak(BlockBreakEvent e) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun")) { + if (Objects.equals(Config.getString("event.type"), "deathrun")) { Block block = e.getBlock(); Location loc = block.getLocation(); int x = loc.getBlockX(); @@ -166,6 +170,24 @@ } } + @EventHandler + public void onBoatMount(EntityMountEvent e) { + if (Objects.equals(Config.getString("event.type"), "deathrun")) { + if (e.getMount() instanceof Boat boat) { + if (!boat.getPassengers().isEmpty()) { + ChatUtil.sendErrorMessage(e.getEntity(), "Man kann nur alleine in einem Boot fahren."); + e.setCancelled(true); + } + } + } + } + + @EventHandler + public void onVehiclePlace(EntityPlaceEvent e) { + if (Objects.equals(Config.getString("event.type"), "deathrun")) { + //TODO + } + } public static void load() { World world = Bukkit.getWorld("world"); @@ -224,7 +246,7 @@ } private void updateScoreAndBossBar() { - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun") && plugin.getTimer().isRunning()) { + if (Objects.equals(Config.getString("event.type"), "deathrun") && plugin.getTimer().isRunning()) { ScoreManager scoreManager = plugin.getScoreManager(); for (Player p : plugin.getVanish().getPlayerListWithoutVanishPlayers()) { if (!plugin.getVanish().isVanish(p) && p.getGameMode() != GameMode.SPECTATOR) { diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/ForceItemChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/ForceItemChallengeEvent.java index 59d35c4..2976d70 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/ForceItemChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/ForceItemChallengeEvent.java @@ -7,6 +7,7 @@ import de.fanta.challenges.scoreboard.ScoreManager; import de.fanta.challenges.utils.ChatSkullAPI.ChatSkull; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; @@ -97,7 +98,7 @@ @EventHandler public void onActivation(TimerChangedEvent event) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "forceitem")) { + if (Objects.equals(Config.getString("event.type"), "forceitem")) { if (event.isRunning()) { skipItem = createSkipItem(); diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/OreBattle.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/OreBattle.java index 11c66c4..c54cc18 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/OreBattle.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/OreBattle.java @@ -8,6 +8,7 @@ import de.fanta.challenges.teams.TeamUtils; import de.fanta.challenges.utils.ChatSkullAPI.ChatSkull; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -41,7 +42,7 @@ @EventHandler public void onActivation(TimerChangedEvent event) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "orebattle")) { + if (Objects.equals(Config.getString("event.type"), "orebattle")) { if (event.isRunning()) { blocklist.put(Material.EMERALD_ORE, 100); blocklist.put(Material.DEEPSLATE_EMERALD_ORE, 100); @@ -68,7 +69,7 @@ pickaxeMeta.setUnbreakable(true); pickaxe.setItemMeta(pickaxeMeta); - if (!plugin.getConfig().getBoolean("event.teams")) { + if (!Config.getBoolean("event.teams")) { for (Player player : Bukkit.getOnlinePlayers()) { plugin.getScoreManager().join(new ChallengePlayer(player.getUniqueId())); } @@ -97,7 +98,7 @@ setRunning(true); } else { setRunning(false); - if (!plugin.getConfig().getBoolean("event.teams")) { + if (!Config.getBoolean("event.teams")) { for (Scorable scorable : plugin.getScoreManager().getByPositon(1)) { OfflinePlayer p = (Bukkit.getServer().getOfflinePlayer(scorable.getName())); if (p.isOnline()) { @@ -133,7 +134,7 @@ public void onBreakBlock(BlockBreakEvent e) { if (isRunning()) { if (blocklist.containsKey(e.getBlock().getType())) { - if (!plugin.getConfig().getBoolean("event.teams")) { + if (!Config.getBoolean("event.teams")) { plugin.getScoreManager().updateScore(new ChallengePlayer(e.getPlayer().getUniqueId()), blocklist.get(e.getBlock().getType())); } else { plugin.getScoreManager().updateScore(TeamUtils.getPlayerTeam(e.getPlayer()), blocklist.get(e.getBlock().getType())); @@ -147,7 +148,7 @@ public void onPlaceBlock(BlockPlaceEvent e) { if (isRunning()) { if (blocklist.containsKey(e.getBlock().getType())) { - if (!plugin.getConfig().getBoolean("event.teams")) { + if (!Config.getBoolean("event.teams")) { plugin.getScoreManager().updateScore(new ChallengePlayer(e.getPlayer().getUniqueId()), -blocklist.get(e.getBlock().getType())); } else { plugin.getScoreManager().updateScore(TeamUtils.getPlayerTeam(e.getPlayer()), -blocklist.get(e.getBlock().getType())); @@ -160,7 +161,7 @@ @EventHandler public void onJoin(PlayerJoinEvent e) { if (isRunning()) { - if (plugin.getConfig().getBoolean("event.teams")) { + if (Config.getBoolean("event.teams")) { ChallengeTeam team = TeamUtils.getPlayerTeam(e.getPlayer()); if (team != null) { plugin.getScoreManager().join(team); diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java index 00e6a04..2c56d6b 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/SammelFieberChallengeEvent.java @@ -5,6 +5,7 @@ import de.fanta.challenges.guis.eventgui.SammelFieberSettingsGui; import de.fanta.challenges.scoreboard.ChallengePlayer; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -67,7 +68,7 @@ @EventHandler public void onActivation(TimerChangedEvent event) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "sammelfieber")) { + if (Objects.equals(Config.getString("event.type"), "sammelfieber")) { if (event.isRunning()) { ItemStack stack = SammelFieberSettingsGui.getEventItem(); if (stack != null && getHopperLocation() != null) { diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java b/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java index bbde405..22b5c88 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java @@ -3,12 +3,10 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; -import org.bukkit.entity.Wither; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDeathEvent; @@ -21,8 +19,8 @@ @EventHandler public void GoalDeath(EntityDeathEvent e) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "nix") && plugin.getServerType() != ServerType.ADVENTURE) { - EntityType entityType = EntityType.valueOf(plugin.getConfig().getString("goal").toUpperCase()); + if (Objects.equals(Config.getString("event.type"), "nix") && plugin.getServerType() != ServerType.ADVENTURE) { + EntityType entityType = EntityType.valueOf(Config.getString("goal").toUpperCase()); if (e.getEntity().getType() == entityType) { plugin.getTimer().stopTimer(); ChatUtil.sendBrodcastMessage("" + ChatUtil.GREEN + ChatColor.BOLD + ChatColor.MAGIC + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); @@ -32,6 +30,13 @@ ChatUtil.sendBrodcastMessage(ChatUtil.ORANGE + " >> " + ChatUtil.GREEN + "Der " + ChatUtil.BLUE + ChatColor.BOLD + e.getEntity().getName().toLowerCase() + ChatUtil.GREEN + " wurde besiegt."); ChatUtil.sendBrodcastMessage(ChatUtil.ORANGE + " >> " + ChatUtil.GREEN + "Benötigte Zeit: " + plugin.getTimer().formatTime(ChatUtil.BLUE) + ChatUtil.GREEN + "!"); ChatUtil.sendBrodcastMessage(ChatUtil.ORANGE + " >> " + ChatUtil.GREEN + "Seed: " + ChatUtil.BLUE + ChatColor.BOLD + Bukkit.getWorlds().get(0).getSeed()); + if (!Config.getBoolean("editsettings")) { + if (!Config.getBoolean("editsettings")) { + plugin.getStatistics().saveSpeedRun(); + ChatUtil.sendBrodcastMessage(ChatUtil.ORANGE + " >> " + ChatUtil.GREEN + "SpeedRun wurde gespeichert. Deine Zeit: " + plugin.getTimer().formatTime(ChatUtil.BLUE)); + } + + } ChatUtil.sendBrodcastMessage(""); ChatUtil.sendBrodcastMessage(""); ChatUtil.sendBrodcastMessage(""); diff --git a/src/main/java/de/fanta/challenges/challenges/ClearInventoryByDamageChallenge.java b/src/main/java/de/fanta/challenges/challenges/ClearInventoryByDamageChallenge.java index 03e252e..f1f5b5c 100644 --- a/src/main/java/de/fanta/challenges/challenges/ClearInventoryByDamageChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/ClearInventoryByDamageChallenge.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.entity.Player; @@ -16,7 +17,7 @@ @EventHandler public void onDamageclear(EntityDamageEvent e) { if (e.getEntity() instanceof Player p) { - if (plugin.getConfig().getBoolean("clinvdmg")) { + if (Config.getBoolean("clinvdmg")) { if (plugin.getTimer().isRunning() && p.getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { for (Player pp : Bukkit.getOnlinePlayers()) { pp.getInventory().clear(); diff --git a/src/main/java/de/fanta/challenges/challenges/CraftingTableChallenge.java b/src/main/java/de/fanta/challenges/challenges/CraftingTableChallenge.java index e5e1bae..23aa5b0 100644 --- a/src/main/java/de/fanta/challenges/challenges/CraftingTableChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/CraftingTableChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.Material; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -17,7 +18,7 @@ if (plugin.getTimer().isRunning()) { if (e.getClickedBlock() != null) { if (e.getClickedBlock().getType() == Material.CRAFTING_TABLE) { - if (!plugin.getConfig().getBoolean("craftingtable")) { + if (!Config.getBoolean("craftingtable")) { e.setCancelled(true); } } diff --git a/src/main/java/de/fanta/challenges/challenges/FloorIsLavaChallenge.java b/src/main/java/de/fanta/challenges/challenges/FloorIsLavaChallenge.java index 3f5c6db..44cc820 100644 --- a/src/main/java/de/fanta/challenges/challenges/FloorIsLavaChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/FloorIsLavaChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.Material; @@ -21,7 +22,7 @@ public void onPlayerMove(PlayerMoveEvent e) { Player p = e.getPlayer(); if (plugin.getTimer().isRunning() && p.getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { - if (plugin.getConfig().getBoolean("lavafloor")) { + if (Config.getBoolean("lavafloor")) { Location oldLoc = e.getFrom(); Location newLoc = e.getTo(); int oldx = oldLoc.getBlockX(); diff --git a/src/main/java/de/fanta/challenges/challenges/IceRunnerChallenge.java b/src/main/java/de/fanta/challenges/challenges/IceRunnerChallenge.java index e8b9a74..8f306de 100644 --- a/src/main/java/de/fanta/challenges/challenges/IceRunnerChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/IceRunnerChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; @@ -21,7 +22,7 @@ @EventHandler public void onMove(PlayerMoveEvent e) { Player p = e.getPlayer(); - if (plugin.getConfig().getBoolean("icerunner") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) { + if (Config.getBoolean("icerunner") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) { if (iceRunnerEnable.get(p) != null) { if (iceRunnerEnable.get(p)) { Location playerloc = p.getLocation(); @@ -43,7 +44,7 @@ Player p = e.getPlayer(); if (e.isSneaking()) { if (iceRunnerEnable.get(p) != null) { - if (plugin.getConfig().getBoolean("icerunner") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) { + if (Config.getBoolean("icerunner") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) { if (iceRunnerEnable.get(p)) { iceRunnerEnable.put(p, false); } else { diff --git a/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java b/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java index 44a3091..c1686b7 100644 --- a/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.GameRule; @@ -25,7 +26,7 @@ private static boolean mlgActive; public static int timeSinceMLG; // seconds - public static int maxMLGTime = plugin.getConfig().getInt("mlg.maxtime");; // seconds + public static int maxMLGTime = Config.getInt("mlg.maxtime");; // seconds public static void checkMLGWorld() { World mlgWorld = Bukkit.getWorld("mlg_challenge"); @@ -40,7 +41,7 @@ } public static boolean triggerMLG() { - if (plugin.getConfig().getBoolean("mlg.enabled") && !mlgActive && Bukkit.getOnlinePlayers().size() >= 1) { + if (Config.getBoolean("mlg.enabled") && !mlgActive && Bukkit.getOnlinePlayers().size() >= 1) { mlgActive = true; ChatUtil.sendBrodcastMessage("Zeit für einen MLG! Viel Glück!"); timeSinceMLG = 0; diff --git a/src/main/java/de/fanta/challenges/challenges/MobRemoveWorldChallenge.java b/src/main/java/de/fanta/challenges/challenges/MobRemoveWorldChallenge.java index 906d3cb..6de29be 100644 --- a/src/main/java/de/fanta/challenges/challenges/MobRemoveWorldChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/MobRemoveWorldChallenge.java @@ -3,6 +3,7 @@ import com.destroystokyo.paper.event.entity.EntityAddToWorldEvent; import de.fanta.challenges.Challenges; import de.fanta.challenges.events.TimerChangedEvent; +import de.fanta.challenges.utils.Config; import io.papermc.paper.event.entity.EntityMoveEvent; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -27,7 +28,7 @@ @EventHandler public void onMobMove(EntityMoveEvent e) { - if (plugin.getConfig().getBoolean("mobremoveworld") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("mobremoveworld") && plugin.getTimer().isRunning()) { if (!e.getTo().equals(e.getFrom())) { if (e.getEntity().getType() != EntityType.ENDER_DRAGON) { BoundingBox box = e.getEntity().getBoundingBox(); @@ -39,7 +40,7 @@ @EventHandler public void onTImerChange(TimerChangedEvent e) { - if (plugin.getConfig().getBoolean("mobremoveworld")) { + if (Config.getBoolean("mobremoveworld")) { if (plugin.getTimer().isRunning()) { startUpdateTask(); } else { @@ -56,7 +57,7 @@ } private void removeWorld(World world, BoundingBox box, boolean replaceBedrock) { - if (!plugin.getConfig().getBoolean("mobremoveworld")) { + if (!Config.getBoolean("mobremoveworld")) { return; } Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { diff --git a/src/main/java/de/fanta/challenges/challenges/NoFallDamageChallenge.java b/src/main/java/de/fanta/challenges/challenges/NoFallDamageChallenge.java index 11f0033..8ea11b8 100644 --- a/src/main/java/de/fanta/challenges/challenges/NoFallDamageChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/NoFallDamageChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -14,7 +15,7 @@ public void onDamage(EntityDamageEvent e) { if (e.getEntity() instanceof Player p) { if (e.getCause() == EntityDamageEvent.DamageCause.FALL) { - if (plugin.getConfig().getBoolean("deathonfall") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("deathonfall") && plugin.getTimer().isRunning()) { //Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> p.setHealth(0), 1); p.setHealth(0); } diff --git a/src/main/java/de/fanta/challenges/challenges/NoJumpChallenge.java b/src/main/java/de/fanta/challenges/challenges/NoJumpChallenge.java index 977ce40..22e32ea 100644 --- a/src/main/java/de/fanta/challenges/challenges/NoJumpChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/NoJumpChallenge.java @@ -2,6 +2,7 @@ import com.destroystokyo.paper.event.player.PlayerJumpEvent; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.GameMode; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -15,7 +16,7 @@ public void onPlayerJump(PlayerJumpEvent e) { Player p = e.getPlayer(); if (plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { - if (plugin.getConfig().getBoolean("deathonjump")) { + if (Config.getBoolean("deathonjump")) { p.setHealth(0); } } diff --git a/src/main/java/de/fanta/challenges/challenges/NoSneakChallenge.java b/src/main/java/de/fanta/challenges/challenges/NoSneakChallenge.java index ed31629..d48b596 100644 --- a/src/main/java/de/fanta/challenges/challenges/NoSneakChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/NoSneakChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.GameMode; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -16,8 +17,8 @@ Player p = e.getPlayer(); if (plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { if (!p.isSneaking()) { - if (plugin.getConfig().getBoolean("damageonsneak")) { - p.damage(plugin.getConfig().getDouble("sneakdmg")); + if (Config.getBoolean("damageonsneak")) { + p.damage(Config.getDouble("sneakdmg")); } } } diff --git a/src/main/java/de/fanta/challenges/challenges/NoSprintChallenge.java b/src/main/java/de/fanta/challenges/challenges/NoSprintChallenge.java index b3c73d2..c5f95c1 100644 --- a/src/main/java/de/fanta/challenges/challenges/NoSprintChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/NoSprintChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.GameMode; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -16,7 +17,7 @@ Player p = e.getPlayer(); if (plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { if (!p.isSprinting()) { - if (plugin.getConfig().getBoolean("deathonsprint")) { + if (Config.getBoolean("deathonsprint")) { p.setHealth(0); } } diff --git a/src/main/java/de/fanta/challenges/challenges/NoTradingChallenge.java b/src/main/java/de/fanta/challenges/challenges/NoTradingChallenge.java index 0bc6658..1dbe149 100644 --- a/src/main/java/de/fanta/challenges/challenges/NoTradingChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/NoTradingChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -13,7 +14,7 @@ @EventHandler public void onEntityClick(PlayerInteractEntityEvent e) { if (e.getRightClicked().getType() == EntityType.VILLAGER) { - if (!plugin.getConfig().getBoolean("allowtrading") && plugin.getTimer().isRunning()) { + if (!Config.getBoolean("allowtrading") && plugin.getTimer().isRunning()) { e.setCancelled(true); } } diff --git a/src/main/java/de/fanta/challenges/challenges/RandomDropsChallenge.java b/src/main/java/de/fanta/challenges/challenges/RandomDropsChallenge.java index ed1c663..2ad47be 100644 --- a/src/main/java/de/fanta/challenges/challenges/RandomDropsChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/RandomDropsChallenge.java @@ -10,6 +10,7 @@ import com.destroystokyo.paper.event.block.BlockDestroyEvent; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import io.papermc.paper.event.block.BlockBreakBlockEvent; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -38,7 +39,7 @@ @EventHandler public void onBlockBreak(BlockBreakEvent e) { - if (this.plugin.getConfig().getBoolean("rnddrops") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("rnddrops") && plugin.getTimer().isRunning()) { e.setDropItems(false); e.getBlock().getWorld().dropItem(e.getBlock().getLocation().add(0.5D, 0.5D, 0.5D), new ItemStack(this.plugin.getRandomDropsManager().getMaterialFromBlock(e.getBlock()))); } @@ -46,7 +47,7 @@ @EventHandler public void onBlockBreakBlock(BlockBreakBlockEvent e) { - if (this.plugin.getConfig().getBoolean("rnddrops") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("rnddrops") && plugin.getTimer().isRunning()) { e.getBlock().getWorld().dropItem(e.getBlock().getLocation().add(0.5D, 0.5D, 0.5D), new ItemStack(this.plugin.getRandomDropsManager().getMaterialFromBlock(e.getBlock()))); e.getDrops().clear(); } @@ -54,7 +55,7 @@ /* @EventHandler public void onBlockDestroy(BlockDestroyEvent e) { - if (this.plugin.getConfig().getBoolean("rnddrops") && plugin.getTimer().isRunning()) { + if (this.Config.getBoolean("rnddrops") && plugin.getTimer().isRunning()) { e.getBlock().getWorld().dropItem(e.getBlock().getLocation().add(0.5D, 0.5D, 0.5D), new ItemStack(this.plugin.getRandomDropsManager().getMaterialFromBlock(e.getBlock()))); e.setCancelled(true); } @@ -62,7 +63,7 @@ @EventHandler public void onBlockExplode(BlockExplodeEvent e) { - if (this.plugin.getConfig().getBoolean("rnddrops") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("rnddrops") && plugin.getTimer().isRunning()) { e.blockList().forEach(block -> { if (!block.getType().isAir()) { block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D), new ItemStack(this.plugin.getRandomDropsManager().getMaterialFromBlock(block))); @@ -75,7 +76,7 @@ @EventHandler public void onEntityExplode(EntityExplodeEvent e) { - if (this.plugin.getConfig().getBoolean("rnddrops") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("rnddrops") && plugin.getTimer().isRunning()) { e.blockList().forEach(block -> { if(!block.getType().isAir()) { block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.plugin.getRandomDropsManager().getMaterialFromBlock(block))); diff --git a/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java b/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java index fd598fd..fedbda6 100644 --- a/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -22,7 +23,7 @@ @EventHandler public void onPlayerMove(PlayerMoveEvent e) { Player p = e.getPlayer(); - if (plugin.getConfig().getBoolean("randomeffect") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) { + if (Config.getBoolean("randomeffect") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) { long chunkkey = p.getLocation().getChunk().getChunkKey(); Random random = new Random(); PotionEffectType[] values = Arrays.stream(PotionEffectType.values()).filter(effect -> (!effect.equals(PotionEffectType.HARM))).toArray(PotionEffectType[]::new); diff --git a/src/main/java/de/fanta/challenges/challenges/RandomMobChallenge.java b/src/main/java/de/fanta/challenges/challenges/RandomMobChallenge.java index 06ee68d..5ae4679 100644 --- a/src/main/java/de/fanta/challenges/challenges/RandomMobChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/RandomMobChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.entity.Animals; @@ -22,7 +23,7 @@ @EventHandler public void onEntityDeath(EntityDeathEvent e) { - if (plugin.getConfig().getBoolean("randommobs") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("randommobs") && plugin.getTimer().isRunning()) { Entity entity = e.getEntity(); Location entityloc = entity.getLocation(); World entityworld = entityloc.getWorld(); diff --git a/src/main/java/de/fanta/challenges/challenges/ShareDamageChallenge.java b/src/main/java/de/fanta/challenges/challenges/ShareDamageChallenge.java index 24b9ac1..ec1aff2 100644 --- a/src/main/java/de/fanta/challenges/challenges/ShareDamageChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/ShareDamageChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Sound; @@ -20,14 +21,14 @@ if (e.getEntity() instanceof Player p) { if (!plugin.getVanish().isVanish(p)) { - if (plugin.getConfig().getBoolean("sharedmg") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("sharedmg") && plugin.getTimer().isRunning()) { int rnd = new Random().nextInt(Bukkit.getOnlinePlayers().size()); Player rp = (Player) Bukkit.getServer().getOnlinePlayers().toArray()[rnd]; p.setHealth(rp.getHealth()); } } - if (plugin.getConfig().getBoolean("sharedmg") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("sharedmg") && plugin.getTimer().isRunning()) { for (Player pp : Bukkit.getOnlinePlayers()) { if (pp != p) { if (!plugin.getVanish().isVanish(pp)) { diff --git a/src/main/java/de/fanta/challenges/challenges/TiedTogetherChallenge.java b/src/main/java/de/fanta/challenges/challenges/TiedTogetherChallenge.java index c153810..8b45aa2 100644 --- a/src/main/java/de/fanta/challenges/challenges/TiedTogetherChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/TiedTogetherChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; @@ -15,7 +16,7 @@ @EventHandler public void onMove(PlayerMoveEvent e) { - if (plugin.getConfig().getBoolean("tiedtogether") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("tiedtogether") && plugin.getTimer().isRunning()) { calculateDistances(); } } @@ -57,7 +58,7 @@ double zCenter = (maxZPlayer.getLocation().getZ() + minZPlayer.getLocation().getZ()) / 2; Location center = new Location(plugin.getCurrentEditor().getWorld(), xCenter, yCenter, zCenter); - if (p.getLocation().distanceSquared(center) > (plugin.getConfig().getDouble("playerrange") / 2) * (plugin.getConfig().getDouble("playerrange") / 2)) { + if (p.getLocation().distanceSquared(center) > (Config.getDouble("playerrange") / 2) * (Config.getDouble("playerrange") / 2)) { for (Player pp : Bukkit.getOnlinePlayers()) { pp.damage(4); } diff --git a/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java b/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java index bc412a9..b5c1677 100644 --- a/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java @@ -1,6 +1,7 @@ package de.fanta.challenges.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; @@ -41,9 +42,9 @@ public void onExpChange(PlayerExpChangeEvent e) { Player p = e.getPlayer(); if (plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { - if (plugin.getConfig().getBoolean("worldborderlevel")) { + if (Config.getBoolean("worldborderlevel")) { Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { - plugin.getConfig().set("worldborderlevelxp", e.getPlayer().getExp()); + Config.setValue("worldborderlevelxp", e.getPlayer().getExp()); plugin.saveConfig(); xpSync(e.getPlayer(), false); }, 1L); @@ -55,8 +56,8 @@ public void onLevelChange(PlayerLevelChangeEvent e) { Player p = e.getPlayer(); if (plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { - if (plugin.getConfig().getBoolean("worldborderlevel")) { - plugin.getConfig().set("worldborderlevellevel", e.getPlayer().getLevel()); + if (Config.getBoolean("worldborderlevel")) { + Config.setValue("worldborderlevellevel", e.getPlayer().getLevel()); plugin.saveConfig(); xpSync(e.getPlayer(), true); @@ -72,7 +73,7 @@ @EventHandler public void whenPlayerDeath(PlayerDeathEvent e) { - if (plugin.getConfig().getBoolean("worldborderlevel")) { + if (Config.getBoolean("worldborderlevel")) { e.setKeepLevel(true); e.setDroppedExp(0); } @@ -80,14 +81,14 @@ @EventHandler public void onRespawn(PlayerRespawnEvent e) { - if (plugin.getConfig().getBoolean("worldborderlevel")) { + if (Config.getBoolean("worldborderlevel")) { borderSync(); } } @EventHandler public void onWorldSpawnChange(SpawnChangeEvent e) { - if (plugin.getConfig().getBoolean("worldborderlevel")) { + if (Config.getBoolean("worldborderlevel")) { borderSync(); } } @@ -95,44 +96,44 @@ @EventHandler public void onJoin(PlayerJoinEvent e) { Player p = e.getPlayer(); - if (plugin.getConfig().getBoolean("worldborderlevel")) { - if (e.getPlayer().getLevel() > 0 && plugin.getConfig().getInt("worldborderlevellevel") == 0) { - plugin.getConfig().set("worldborderlevellevel", e.getPlayer().getLevel()); - plugin.getConfig().set("worldborderlevelxp", e.getPlayer().getExp()); + if (Config.getBoolean("worldborderlevel")) { + if (e.getPlayer().getLevel() > 0 && Config.getInt("worldborderlevellevel") == 0) { + Config.setValue("worldborderlevellevel", e.getPlayer().getLevel()); + Config.setValue("worldborderlevelxp", e.getPlayer().getExp()); plugin.saveConfig(); } - p.setLevel(plugin.getConfig().getInt("worldborderlevellevel")); - p.setExp((float) plugin.getConfig().getDouble("worldborderlevelxp")); + p.setLevel(Config.getInt("worldborderlevellevel")); + p.setExp((float) Config.getDouble("worldborderlevelxp")); borderSync(); } } @EventHandler public void onWorldChange(PlayerChangedWorldEvent e) { - if (plugin.getConfig().getBoolean("worldborderlevel")) { + if (Config.getBoolean("worldborderlevel")) { borderSync(); } } @EventHandler public void onPortal(PlayerPortalEvent e) { - if (plugin.getConfig().getBoolean("worldborderlevel") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("worldborderlevel") && plugin.getTimer().isRunning()) { World nether = Bukkit.getWorld("world_nether"); if (nether != null) { if (e.getTo().getWorld() == nether) { - if (!plugin.getConfig().getBoolean("worldborderlevelnether")) { + if (!Config.getBoolean("worldborderlevelnether")) { Location fortress = Objects.requireNonNull(nether.locateNearestStructure(nether.getSpawnLocation().set(e.getFrom().getX(), e.getFrom().getY(), e.getFrom().getZ()), Structure.FORTRESS, 10000, false).getLocation()); nether.setSpawnLocation(fortress); - plugin.getConfig().set("worldborderlevelnether", true); + Config.setValue("worldborderlevelnether", true); plugin.saveConfig(); } Location spawnLocation = nether.getSpawnLocation(); - if (plugin.getConfig().getString("worldborderlevelnetherspawnlocation.world") == null) { - plugin.getConfig().set("worldborderlevelnetherspawnlocation.world", spawnLocation.getWorld().getName()); - plugin.getConfig().set("worldborderlevelnetherspawnlocation.X", spawnLocation.getBlockX()); - plugin.getConfig().set("worldborderlevelnetherspawnlocation.Z", spawnLocation.getBlockZ()); + if (Config.getString("worldborderlevelnetherspawnlocation.world") == null) { + Config.setValue("worldborderlevelnetherspawnlocation.world", spawnLocation.getWorld().getName()); + Config.setValue("worldborderlevelnetherspawnlocation.X", spawnLocation.getBlockX()); + Config.setValue("worldborderlevelnetherspawnlocation.Z", spawnLocation.getBlockZ()); plugin.saveConfig(); } @@ -154,8 +155,8 @@ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { for (Player player : Bukkit.getOnlinePlayers()) { if (player != p) { - player.setLevel(plugin.getConfig().getInt("worldborderlevellevel")); - player.setExp((float) plugin.getConfig().getDouble("worldborderlevelxp")); + player.setLevel(Config.getInt("worldborderlevellevel")); + player.setExp((float) Config.getDouble("worldborderlevelxp")); } } if (borderupdate) { @@ -165,10 +166,10 @@ } public static void borderSync() { - int level = plugin.getConfig().getInt("worldborderlevellevel"); + int level = Config.getInt("worldborderlevellevel"); Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { - Location netherspawnlocation = new Location(Bukkit.getWorld("world_nether"), plugin.getConfig().getDouble("worldborderlevelnetherspawnlocation.X", 0), 0, plugin.getConfig().getDouble("worldborderlevelnetherspawnlocation.Z", 0)); + Location netherspawnlocation = new Location(Bukkit.getWorld("world_nether"), Config.getDouble("worldborderlevelnetherspawnlocation.X", 0.0), 0, Config.getDouble("worldborderlevelnetherspawnlocation.Z", 0.0)); Bukkit.getLogger().info("Spawn " + netherspawnlocation.getWorld().getName() + ": " + netherspawnlocation.getX() + " " + netherspawnlocation.getY() + " " + netherspawnlocation.getZ()); netherBorder.setCenter(netherspawnlocation); Bukkit.getLogger().info("Border: " + netherBorder.getCenter().getX() + " " + netherBorder.getCenter().getY() + " " + netherBorder.getCenter().getZ()); diff --git a/src/main/java/de/fanta/challenges/challenges/XPChallenge.java b/src/main/java/de/fanta/challenges/challenges/XPChallenge.java index e8df498..6ebece3 100644 --- a/src/main/java/de/fanta/challenges/challenges/XPChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/XPChallenge.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import org.bukkit.GameMode; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -16,7 +17,7 @@ public void onPlayerGetXP(PlayerExpChangeEvent e) { Player p = e.getPlayer(); if (plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { - if (plugin.getConfig().getBoolean("xpdeath")) { + if (Config.getBoolean("xpdeath")) { p.setHealth(0); ChatUtil.sendBrodcastMessage(e.getPlayer().getName() + " hat XP eingesammelt!"); } diff --git a/src/main/java/de/fanta/challenges/commands/BackpackCommand.java b/src/main/java/de/fanta/challenges/commands/BackpackCommand.java index bad4445..08bb0a5 100644 --- a/src/main/java/de/fanta/challenges/commands/BackpackCommand.java +++ b/src/main/java/de/fanta/challenges/commands/BackpackCommand.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -21,7 +22,7 @@ ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); return true; } - if (!plugin.getConfig().getBoolean("event.enabled")) { + if (!Config.getBoolean("event.enabled")) { plugin.getBackpack().open(p); } else { ChatUtil.sendWarningMessage(p, "Backpack darf während einem Event nicht genutzt werde!"); diff --git a/src/main/java/de/fanta/challenges/commands/BingoCommand.java b/src/main/java/de/fanta/challenges/commands/BingoCommand.java index 8a0e2cb..5615560 100644 --- a/src/main/java/de/fanta/challenges/commands/BingoCommand.java +++ b/src/main/java/de/fanta/challenges/commands/BingoCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.guis.eventgui.EventItemsGui; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.Bukkit; @@ -25,7 +26,7 @@ ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); return true; } - if (plugin.getConfig().getBoolean("event.enabled") && Objects.equals(plugin.getConfig().getString("event.type"), "bingo") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("event.enabled") && Objects.equals(Config.getString("event.type"), "bingo") && plugin.getTimer().isRunning()) { if (args.hasNext()) { String playerName = args.getNext(); Player player = Bukkit.getPlayer(playerName); diff --git a/src/main/java/de/fanta/challenges/commands/ChestUnlockCommand.java b/src/main/java/de/fanta/challenges/commands/ChestUnlockCommand.java index e16cbb2..b57abb9 100644 --- a/src/main/java/de/fanta/challenges/commands/ChestUnlockCommand.java +++ b/src/main/java/de/fanta/challenges/commands/ChestUnlockCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.listeners.ContainerListener; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -23,7 +24,7 @@ return true; } - if (!plugin.getConfig().getBoolean("event.minilwc")) { + if (!Config.getBoolean("event.minilwc")) { ChatUtil.sendWarningMessage(player, "Aktuell kann es keine Sicherungen geben."); return true; } diff --git a/src/main/java/de/fanta/challenges/commands/NetherToggleCommand.java b/src/main/java/de/fanta/challenges/commands/NetherToggleCommand.java index 5a7bd01..1d0b5a6 100644 --- a/src/main/java/de/fanta/challenges/commands/NetherToggleCommand.java +++ b/src/main/java/de/fanta/challenges/commands/NetherToggleCommand.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -31,8 +32,8 @@ } if (plugin.isEditor(p) || p.hasPermission("Challenges.editor.override")) { if (enable) { - if (!plugin.getConfig().getBoolean("nether.enabled")) { - GUIUtils.setConfig("nether.enabled", true); + if (!Config.getBoolean("nether.enabled")) { + Config.setValue("nether.enabled", true); for (Player pp : Bukkit.getOnlinePlayers()) { Location spawn = Bukkit.getWorlds().get(1).getSpawnLocation(); World world = spawn.getWorld(); @@ -58,8 +59,8 @@ return true; } } else { - if (plugin.getConfig().getBoolean("nether.enabled")) { - GUIUtils.setConfig("nether.enabled", false); + if (Config.getBoolean("nether.enabled")) { + Config.setValue("nether.enabled", false); GUIUtils.sendTitleToAll("Nether Challenge", "Nether-Modus deaktiviert", ChatUtil.RED); } else { ChatUtil.sendErrorMessage(p, "Aktuell läuft keine Nether Challenge!"); diff --git a/src/main/java/de/fanta/challenges/commands/SkipItemCommand.java b/src/main/java/de/fanta/challenges/commands/SkipItemCommand.java index 193f18b..ca1f2f4 100644 --- a/src/main/java/de/fanta/challenges/commands/SkipItemCommand.java +++ b/src/main/java/de/fanta/challenges/commands/SkipItemCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.challenges.AllItemsChallenge; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -32,7 +33,7 @@ ChatUtil.sendErrorMessage(p, "Aktuell gibt es keinen Editor!"); } - if (plugin.getConfig().getBoolean("allitems")) { + if (Config.getBoolean("allitems")) { AllItemsChallenge.next(p, true); } else { ChatUtil.sendErrorMessage(p, "Dies geht nur wenn All Items Aktiv ist!"); diff --git a/src/main/java/de/fanta/challenges/commands/VoidToggleCommand.java b/src/main/java/de/fanta/challenges/commands/VoidToggleCommand.java index 9d7dbd6..3afdd30 100644 --- a/src/main/java/de/fanta/challenges/commands/VoidToggleCommand.java +++ b/src/main/java/de/fanta/challenges/commands/VoidToggleCommand.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.bukkit.world.EmptyChunkGenerator; @@ -35,7 +36,7 @@ return true; } if (enable) { - if (!plugin.getConfig().getBoolean("void.enabled")) { + if (!Config.getBoolean("void.enabled")) { World world = Bukkit.getWorld("VOID"); if (world == null) { WorldCreator wc = new WorldCreator("VOID"); @@ -52,15 +53,15 @@ for (Player pp : Bukkit.getOnlinePlayers()) { pp.teleport(spawn); } - GUIUtils.setConfig("void.enabled", true); + Config.setValue("void.enabled", true); GUIUtils.sendTitleToAll("Void Challenge", "Void-Modus aktiviert", ChatUtil.GREEN); } else { ChatUtil.sendErrorMessage(p, "Die Void Challenge läuft bereits!"); return true; } } else { - if (plugin.getConfig().getBoolean("void.enabled")) { - GUIUtils.setConfig("void.enabled", false); + if (Config.getBoolean("void.enabled")) { + Config.setValue("void.enabled", false); GUIUtils.sendTitleToAll("Void Challenge", "Void-Modus deaktiviert", ChatUtil.RED); } else { ChatUtil.sendErrorMessage(p, "Aktuell läuft keine Void Challenge!"); diff --git a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesSaveCommand.java b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesSaveCommand.java index 229dc14..e362e5f 100644 --- a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesSaveCommand.java +++ b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesSaveCommand.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.SaveWorldUtils; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -31,7 +32,7 @@ if (!args.hasNext()) { if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { UUID uuid = p.getUniqueId(); - if (plugin.getConfig().getBoolean("firsttimerstart")) { + if (Config.getBoolean("firsttimerstart")) { ChatUtil.sendNormalMessage(sender, "Welt wird gespeichert!"); try { SaveWorldUtils.saveWorld(uuid.toString(), false); diff --git a/src/main/java/de/fanta/challenges/commands/challenges/CheckItemsCommand.java b/src/main/java/de/fanta/challenges/commands/challenges/CheckItemsCommand.java index 6384bd2..bb32978 100644 --- a/src/main/java/de/fanta/challenges/commands/challenges/CheckItemsCommand.java +++ b/src/main/java/de/fanta/challenges/commands/challenges/CheckItemsCommand.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.guis.CheckItemsGUI; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; diff --git a/src/main/java/de/fanta/challenges/commands/challenges/TeleportCommand.java b/src/main/java/de/fanta/challenges/commands/challenges/TeleportCommand.java index 8e3a3b3..f2f7a50 100644 --- a/src/main/java/de/fanta/challenges/commands/challenges/TeleportCommand.java +++ b/src/main/java/de/fanta/challenges/commands/challenges/TeleportCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.guis.TeleportGUI; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -24,7 +25,7 @@ return true; } - if (plugin.getConfig().getBoolean("teleportcommand") || player.hasPermission("Challenges.editor.override")) { + if (Config.getBoolean("teleportcommand") || player.hasPermission("Challenges.editor.override")) { TeleportGUI.buildTeleportInventory(player); } else { ChatUtil.sendWarningMessage(player, "Teleport deaktiviert!"); diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java index f5e7acf..4c1a367 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.guis.coordsgui.CoordsDeleteGUI; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -32,7 +33,7 @@ return true; } - if (plugin.getConfig().contains("Saved_Locations." + next)) { + if (Config.contains("Saved_Locations." + next)) { CoordsDeleteGUI.createCoordsDeleteGUI(player, next, null); } else { ChatUtil.sendWarningMessage(player, "Diese Position existiert nicht!"); @@ -44,6 +45,6 @@ @Override public Collection onTabComplete(CommandSender sender, Command command, String alias, ArgsParser args) { - return plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false); + return Config.getConfigurationSection("Saved_Locations").getKeys(false); } } diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java index d8e5352..3e1f3b5 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -27,7 +28,7 @@ if (!args.hasNext()) { ChatUtil.sendNormalMessage(player, "Verfügbare Positionen:"); - for (String key : plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { + for (String key : Config.getConfigurationSection("Saved_Locations").getKeys(false)) { ChatUtil.sendNormalMessage(player, key); } } else { @@ -38,11 +39,11 @@ return true; } - if (plugin.getConfig().contains("Saved_Locations." + next)) { - String w = plugin.getConfig().getString("Saved_Locations." + next + ".World"); - String x = plugin.getConfig().getString("Saved_Locations." + next + ".BlockX"); - String y = plugin.getConfig().getString("Saved_Locations." + next + ".BlockY"); - String z = plugin.getConfig().getString("Saved_Locations." + next + ".BlockZ"); + if (Config.contains("Saved_Locations." + next)) { + String w = Config.getString("Saved_Locations." + next + ".World"); + String x = Config.getString("Saved_Locations." + next + ".BlockX"); + String y = Config.getString("Saved_Locations." + next + ".BlockY"); + String z = Config.getString("Saved_Locations." + next + ".BlockZ"); ChatUtil.sendNormalMessage(player, ChatUtil.GREEN + "Position " + ChatUtil.ORANGE + next + ChatUtil.GREEN + ": " + ChatUtil.ORANGE + "[" + x + "/" + y + "/" + z + " " + w + "]"); } else { ChatUtil.sendWarningMessage(player, "§cDiese Position existiert nicht!"); @@ -53,6 +54,6 @@ @Override public Collection onTabComplete(CommandSender sender, Command command, String alias, ArgsParser args) { - return plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false); + return Config.getConfigurationSection("Saved_Locations").getKeys(false); } } diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java index 465e0e9..28c102e 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -37,10 +38,10 @@ int y = player.getLocation().getBlockY(); int z = player.getLocation().getBlockZ(); ChatUtil.sendNormalMessage(player, ChatUtil.GREEN + "Position " + ChatUtil.ORANGE + next + ChatUtil.GREEN + ": " + ChatUtil.ORANGE + "[" + x + "/" + y + "/" + z + " " + w + "]"); - plugin.getConfig().set("Saved_Locations." + next + ".World", w); - plugin.getConfig().set("Saved_Locations." + next + ".BlockX", x); - plugin.getConfig().set("Saved_Locations." + next + ".BlockY", y); - plugin.getConfig().set("Saved_Locations." + next + ".BlockZ", z); + Config.setValue("Saved_Locations." + next + ".World", w, false); + Config.setValue("Saved_Locations." + next + ".BlockX", x, false); + Config.setValue("Saved_Locations." + next + ".BlockY", y, false); + Config.setValue("Saved_Locations." + next + ".BlockZ", z, false); plugin.saveConfig(); } else { ChatUtil.sendWarningMessage(player, "Diese Position existiert bereits! Benutze einen anderen Namen oder lösche die alte zuerst mit /coords delete " + next); diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsTargetCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsTargetCommand.java index db445b8..8739634 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsTargetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsTargetCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.CoordsTargeter; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.Bukkit; @@ -37,10 +38,10 @@ if (args.hasNext()) { String next = args.getAll(null); if (plugin.getConfig().contains("Saved_Locations." + next)) { - World world = Bukkit.getWorld(plugin.getConfig().getString("Saved_Locations." + next + ".World")); - int x = plugin.getConfig().getInt("Saved_Locations." + next + ".BlockX"); - int y = plugin.getConfig().getInt("Saved_Locations." + next + ".BlockY"); - int z = plugin.getConfig().getInt("Saved_Locations." + next + ".BlockZ"); + World world = Bukkit.getWorld(Config.getString("Saved_Locations." + next + ".World")); + int x = Config.getInt("Saved_Locations." + next + ".BlockX"); + int y = Config.getInt("Saved_Locations." + next + ".BlockY"); + int z = Config.getInt("Saved_Locations." + next + ".BlockZ"); if (world != null) { if (world == player.getWorld()) { Location location = new Location(world, x, y, z); diff --git a/src/main/java/de/fanta/challenges/commands/event/EventForceTeamCommand.java b/src/main/java/de/fanta/challenges/commands/event/EventForceTeamCommand.java index 5fdbc8a..259ec45 100644 --- a/src/main/java/de/fanta/challenges/commands/event/EventForceTeamCommand.java +++ b/src/main/java/de/fanta/challenges/commands/event/EventForceTeamCommand.java @@ -4,6 +4,7 @@ import de.fanta.challenges.teams.ChallengeTeam; import de.fanta.challenges.teams.TeamUtils; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.Bukkit; @@ -31,7 +32,7 @@ } if (sender.hasPermission("challenges.event")) { - if (!plugin.getConfig().getBoolean("event.teams")) { + if (!Config.getBoolean("event.teams")) { ChatUtil.sendErrorMessage(player, "Teams sind nicht Aktiv!"); return true; } diff --git a/src/main/java/de/fanta/challenges/commands/event/EventSettingsCommand.java b/src/main/java/de/fanta/challenges/commands/event/EventSettingsCommand.java index 2ca6e7f..64e4b21 100644 --- a/src/main/java/de/fanta/challenges/commands/event/EventSettingsCommand.java +++ b/src/main/java/de/fanta/challenges/commands/event/EventSettingsCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.guis.eventgui.EventGui; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -23,7 +24,7 @@ return true; } if (sender.hasPermission("challenges.event")) { - if (plugin.getConfig().getBoolean("event.enabled")) { + if (Config.getBoolean("event.enabled")) { EventGui.createEventGUI((Player) sender); } else { ChatUtil.sendErrorMessage(sender, "Dafür musst du das Event erst Starten"); diff --git a/src/main/java/de/fanta/challenges/commands/event/EventStartCommand.java b/src/main/java/de/fanta/challenges/commands/event/EventStartCommand.java index 6b12f4b..0cd688f 100644 --- a/src/main/java/de/fanta/challenges/commands/event/EventStartCommand.java +++ b/src/main/java/de/fanta/challenges/commands/event/EventStartCommand.java @@ -6,6 +6,7 @@ import de.fanta.challenges.teams.ChallengeTeam; import de.fanta.challenges.teams.TeamUtils; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -51,7 +52,7 @@ } plugin.getTimer().startTimer(); - if (!plugin.getConfig().getBoolean("event.teams")) { + if (!Config.getBoolean("event.teams")) { Bukkit.getOnlinePlayers().forEach(p -> plugin.getScoreManager().updateScore(new ChallengePlayer(p.getUniqueId()), 0)); } else { TeamUtils.setAllPlayerWithoutTeamToTeam(); diff --git a/src/main/java/de/fanta/challenges/commands/event/EventToggleCommand.java b/src/main/java/de/fanta/challenges/commands/event/EventToggleCommand.java index d66dfa8..3ce30bf 100644 --- a/src/main/java/de/fanta/challenges/commands/event/EventToggleCommand.java +++ b/src/main/java/de/fanta/challenges/commands/event/EventToggleCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.events.EventStatusChangedEvent; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -29,8 +30,8 @@ return true; } if (enable) { - if (!plugin.getConfig().getBoolean("event.enabled")) { - GUIUtils.setConfig("event.enabled", true); + if (!Config.getBoolean("event.enabled")) { + Config.setValue("event.enabled", true); Bukkit.getPluginManager().callEvent(new EventStatusChangedEvent(true)); GUIUtils.sendTitleToAll("Event", "Event-Modus aktiviert", ChatUtil.GREEN); } else { @@ -38,8 +39,8 @@ return true; } } else { - if (plugin.getConfig().getBoolean("event.enabled")) { - GUIUtils.setConfig("event.enabled", false); + if (Config.getBoolean("event.enabled")) { + Config.setValue("event.enabled", false); Bukkit.getPluginManager().callEvent(new EventStatusChangedEvent(false)); plugin.getTimer().stopTimer(); GUIUtils.sendTitleToAll("Event", "Event-Modus deaktiviert", ChatUtil.RED); diff --git a/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java b/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java index d41c60e..705455b 100644 --- a/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java +++ b/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java @@ -4,6 +4,7 @@ import de.fanta.challenges.ServerType; import de.fanta.challenges.events.EventStatusChangedEvent; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.SaveWorldUtils; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; @@ -41,6 +42,7 @@ } plugin.setWaitingForShutdown(true); + Config.setValue("editsettings", true, false); plugin.getTimer().stopTimer(); plugin.getTimer().setTime(0); Bukkit.getPluginManager().callEvent(new EventStatusChangedEvent(false)); @@ -57,12 +59,12 @@ plugin.delteTexturePack(); } - plugin.getConfig().set("World_Reset", true); - for (String key : plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { - plugin.getConfig().set("Saved_Locations." + key, null); + Config.setValue("World_Reset", true); + for (String key : Config.getConfigurationSection("Saved_Locations").getKeys(false)) { + Config.setValue("Saved_Locations." + key, null, false); } plugin.saveConfig(); - if (plugin.getConfig().getBoolean("firsttimerstart")) { + if (Config.getBoolean("firsttimerstart")) { SaveWorldUtils.saveWorld(plugin.getFirstEditor().getUniqueId().toString(), true); } diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerPauseCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerPauseCommand.java index ef2b82f..f0a9964 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerPauseCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerPauseCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.Bukkit; @@ -34,6 +35,15 @@ } plugin.getTimer().stopTimer(); ChatUtil.sendBrodcastMessage(ChatUtil.RED + "Der Timer wurde angehalten"); + if (plugin.getServerType() == ServerType.CHALLENGE) { + if (!Config.getBoolean("editsettings")) { + Config.setValue("editsettings", true, false); + plugin.getLogger().info("Diese Challenge ist kein SpeedRun mehr da der Timer bearbeitet wurde."); + if (plugin.getCurrentEditor() != null) { + ChatUtil.sendWarningMessage(plugin.getCurrentEditor(), "Diese Challenge wird nicht mehr als Speed Run gezählt, da du etwas am Timer geändert hast."); + } + } + } } else { ChatUtil.sendWarningMessage(sender, "Der Timer ist bereits pausiert!"); } diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java index 3809fc3..49325c4 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java @@ -1,7 +1,9 @@ package de.fanta.challenges.commands.timer; import de.fanta.challenges.Challenges; +import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.Bukkit; @@ -27,6 +29,15 @@ if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { plugin.getTimer().setTime(0); ChatUtil.sendBrodcastMessage("Der Timer wurde zurückgesetzt!"); + if (plugin.getServerType() == ServerType.CHALLENGE) { + if (!Config.getBoolean("editsettings")) { + Config.setValue("editsettings", true, false); + plugin.getLogger().info("Diese Challenge ist kein SpeedRun mehr da der Timer bearbeitet wurde."); + if (plugin.getCurrentEditor() != null) { + ChatUtil.sendWarningMessage(plugin.getCurrentEditor(), "Diese Challenge wird nicht mehr als Speed Run gezählt, da du etwas am Timer geändert hast."); + } + } + } } else if (plugin.getCurrentEditor() != null) { ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); return true; diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java index e182b32..d4087f2 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java @@ -1,7 +1,9 @@ package de.fanta.challenges.commands.timer; import de.fanta.challenges.Challenges; +import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.Bukkit; @@ -30,6 +32,15 @@ } else { ChatUtil.sendBrodcastMessage("Der Timer läuft nun vorwärts!"); } + if (plugin.getServerType() == ServerType.CHALLENGE) { + if (!Config.getBoolean("editsettings")) { + Config.setValue("editsettings", true, false); + plugin.getLogger().info("Diese Challenge ist kein SpeedRun mehr da der Timer bearbeitet wurde."); + if (plugin.getCurrentEditor() != null) { + ChatUtil.sendWarningMessage(plugin.getCurrentEditor(), "Diese Challenge wird nicht mehr als Speed Run gezählt, da du etwas am Timer geändert hast."); + } + } + } } else if (plugin.getCurrentEditor() != null) { ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); return true; diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java index 115d9b7..56c336c 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java @@ -1,7 +1,9 @@ package de.fanta.challenges.commands.timer; import de.fanta.challenges.Challenges; +import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import net.md_5.bungee.api.ChatColor; @@ -30,6 +32,15 @@ if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { plugin.getTimer().setTime(time); ChatUtil.sendBrodcastMessage("Der Timer wurde auf " + plugin.getTimer().formatTime(ChatUtil.GREEN) + " gesetzt!"); + if (plugin.getServerType() == ServerType.CHALLENGE) { + if (!Config.getBoolean("editsettings")) { + Config.setValue("editsettings", true, false); + plugin.getLogger().info("Diese Challenge ist kein SpeedRun mehr da der Timer bearbeitet wurde."); + if (plugin.getCurrentEditor() != null) { + ChatUtil.sendWarningMessage(plugin.getCurrentEditor(), "Diese Challenge wird nicht mehr als Speed Run gezählt, da du etwas am Timer geändert hast."); + } + } + } } else if (plugin.getCurrentEditor() != null) { ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); return true; diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java index c3ba373..8820b02 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerStartCommand.java @@ -3,10 +3,10 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.Bukkit; -import org.bukkit.ChatColor; import org.bukkit.GameRule; import org.bukkit.World; import org.bukkit.command.Command; @@ -34,6 +34,9 @@ world.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, true); } plugin.getTimer().startTimer(); + if (!Config.getBoolean("editsettings")) { + plugin.getStatistics().addSpeedRunPlayed(); + } ChatUtil.sendBrodcastMessage(ChatUtil.GREEN + "Der Timer wird fortgesetzt!"); } else { ChatUtil.sendWarningMessage(sender, "Der Timer läuft bereits!"); diff --git a/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java b/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java index fa67db5..358c615 100644 --- a/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java +++ b/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import org.bukkit.GameRule; import org.bukkit.NamespacedKey; import org.bukkit.World; @@ -30,7 +31,7 @@ @EventHandler public void onDeath(PlayerDeathEvent e) { - if (!plugin.getConfig().getBoolean("gravestone")) { + if (!Config.getBoolean("gravestone")) { return; } @@ -84,7 +85,7 @@ PersistentDataContainer container = armorStand.getPersistentDataContainer(); NamespacedKey UUIDKey = GravestoneUtils.getUUIDKey(); if (container.get(GravestoneUtils.getUUIDKey(), PersistentDataType.STRING) != null) { - if (!plugin.getConfig().getBoolean("gravestone")) { + if (!Config.getBoolean("gravestone")) { ChatUtil.sendWarningMessage(player, "Grabschsteine können nur gegrabscht werden wenn sie Aktiv sind."); return; } diff --git a/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java b/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java index 621d597..206049c 100644 --- a/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java +++ b/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -91,7 +92,7 @@ FileConfiguration config = Challenges.getPlugin().getItemConfig(); List list = config.getStringList("items"); list.add(material.name()); - config.set("items", list); + Config.setValue("items", list, false); try { Challenges.getPlugin().ItemConfig.save(Challenges.getPlugin().ItemConfigFile); } catch (IOException e) { diff --git a/src/main/java/de/fanta/challenges/guis/ResetGui.java b/src/main/java/de/fanta/challenges/guis/ResetGui.java index 011b6b0..9f4e4a5 100644 --- a/src/main/java/de/fanta/challenges/guis/ResetGui.java +++ b/src/main/java/de/fanta/challenges/guis/ResetGui.java @@ -1,7 +1,9 @@ package de.fanta.challenges.guis; import de.fanta.challenges.Challenges; +import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import net.md_5.bungee.api.ChatColor; @@ -49,7 +51,12 @@ for (int i = 0; i < INVENTORY_SIZE; i++) { ItemStack item; if (i == RESET_INDEX) { - item = GUIUtils.createGuiItem(Material.REPEATING_COMMAND_BLOCK, ChatUtil.RED + "Server resetten", ChatUtil.RED + "Wenn du denn Server resettest wird", ChatUtil.RED + "der Server komplett zurückgesetzt", ChatUtil.RED + "und du musst von vorne beginnen!"); + if (plugin.getServerType() == ServerType.CHALLENGE && !Config.getBoolean("editsettings")) { + item = GUIUtils.createGuiItem(Material.REPEATING_COMMAND_BLOCK, ChatUtil.RED + "Server resetten", ChatUtil.RED + "Wenn du denn Server resettest,", ChatUtil.RED + "wird der Server komplett zurückgesetzt.", "", ChatUtil.GREEN + "Die Map wird als AutoSave gespeichert.", ChatUtil.GREEN + "und kann in der Lobby wieder geladen werden.", "", ChatUtil.ORANGE + "Die Challenge zählt nicht mehr als SpeedRun"); + } else { + item = GUIUtils.createGuiItem(Material.REPEATING_COMMAND_BLOCK, ChatUtil.RED + "Server resetten", ChatUtil.RED + "Wenn du denn Server resettest,", ChatUtil.RED + "wird der Server komplett zurückgesetzt.", "", ChatUtil.GREEN + "Die Map wird als AutoSave gespeichert.", ChatUtil.GREEN + "und kann in der Lobby wieder geladen werden."); + } + } else { item = GUIUtils.EMPTY_ICON; } diff --git a/src/main/java/de/fanta/challenges/guis/TimerGui.java b/src/main/java/de/fanta/challenges/guis/TimerGui.java index 3002c35..ccf937c 100644 --- a/src/main/java/de/fanta/challenges/guis/TimerGui.java +++ b/src/main/java/de/fanta/challenges/guis/TimerGui.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import net.md_5.bungee.api.ChatColor; @@ -54,14 +55,23 @@ plugin.getTimer().reverseTimer(); GUIUtils.sendTitleToAll("Timer", "Der Timer läuft jetzt rückwärts.", ChatUtil.BLUE); } + if (plugin.getServerType() == ServerType.CHALLENGE) { + if (!Config.getBoolean("editsettings")) { + Config.setValue("editsettings", true, false); + plugin.getLogger().info("Diese Challenge ist kein SpeedRun mehr da der Timer bearbeitet wurde."); + if (plugin.getCurrentEditor() != null) { + ChatUtil.sendWarningMessage(plugin.getCurrentEditor(), "Diese Challenge wird nicht mehr als Speed Run gezählt, da du etwas am Timer geändert hast."); + } + } + } player.closeInventory(); } case SHOWTIMER_INDEX -> { - if (plugin.getConfig().getBoolean("showtimer")) { - GUIUtils.setConfig("showtimer", false); + if (Config.getBoolean("showtimer")) { + Config.setValue("showtimer", false, false); GUIUtils.sendTitleToAll("Timer", "Der Timer wird jetzt nicht mehr angezeigt!", ChatUtil.RED); } else { - GUIUtils.setConfig("showtimer", true); + Config.setValue("showtimer", true, false); GUIUtils.sendTitleToAll("Timer", "Der Timer wird jetzt wieder angezeigt!", ChatUtil.GREEN); } new TimerGui(player).open(); @@ -76,6 +86,9 @@ ChatUtil.sendTitleToAll("Timer", ChatUtil.RED + "Der Timer wurde pausiert.", ChatUtil.BLUE, 10, 60, 10, true); } else { plugin.getTimer().startTimer(); + if (!Config.getBoolean("editsettings")) { + plugin.getStatistics().addSpeedRunPlayed(); + } if (plugin.getServerType() != ServerType.ADVENTURE) { world.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, true); } @@ -101,7 +114,7 @@ } } case SHOWTIMER_INDEX -> { - if (plugin.getConfig().getBoolean("showtimer")) { + if (Config.getBoolean("showtimer")) { item = GUIUtils.createGuiItem(Material.OBSERVER, ChatUtil.GREEN + "Timer wird angezeigt!", true); } else { item = GUIUtils.createGuiItem(Material.OBSERVER, ChatUtil.RED + "Timer wird nicht angezeigt!", false); diff --git a/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsDeleteGUI.java b/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsDeleteGUI.java index c652bac..5b7dbbd 100644 --- a/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsDeleteGUI.java +++ b/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsDeleteGUI.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -58,7 +59,7 @@ String waypointName = stack.getItemMeta().getDisplayName().substring(14); if (slot == ACCEPT_INDEX) { - plugin.getConfig().set("Saved_Locations." + waypointName, null); + Config.setValue("Saved_Locations." + waypointName, null, false); ChatUtil.sendNormalMessage(player, ChatUtil.BLUE + waypointName + ChatUtil.GREEN + " wurde gelöscht!"); player.closeInventory(); } else if (slot == DENY_INDEX) { diff --git a/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsGUI.java b/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsGUI.java index 25a4d1b..48f8212 100644 --- a/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsGUI.java +++ b/src/main/java/de/fanta/challenges/guis/coordsgui/CoordsGUI.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -28,7 +29,7 @@ private static int CLOSE_IDEX = 0; public static void buildCoordsInventory(Player p) { - Set waypoints = plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false); + Set waypoints = Config.getConfigurationSection("Saved_Locations").getKeys(false); if (waypoints.isEmpty()) { ChatUtil.sendErrorMessage(p, "Keine WayPoints vorhanden"); @@ -44,10 +45,10 @@ for (String waypoint : waypoints) { int slot = row * 9 + cat + 10; - World world = Bukkit.getWorld(Objects.requireNonNull(plugin.getConfig().getString("Saved_Locations." + waypoint + ".World"))); - double x = Double.parseDouble(Objects.requireNonNull(plugin.getConfig().getString("Saved_Locations." + waypoint + ".BlockX"))); - double y = Double.parseDouble(Objects.requireNonNull(plugin.getConfig().getString("Saved_Locations." + waypoint + ".BlockY"))); - double z = Double.parseDouble(Objects.requireNonNull(plugin.getConfig().getString("Saved_Locations." + waypoint + ".BlockZ"))); + World world = Bukkit.getWorld(Objects.requireNonNull(Config.getString("Saved_Locations." + waypoint + ".World"))); + double x = Double.parseDouble(Objects.requireNonNull(Config.getString("Saved_Locations." + waypoint + ".BlockX"))); + double y = Double.parseDouble(Objects.requireNonNull(Config.getString("Saved_Locations." + waypoint + ".BlockY"))); + double z = Double.parseDouble(Objects.requireNonNull(Config.getString("Saved_Locations." + waypoint + ".BlockZ"))); Location waypointlocation = new Location(world, x, y, z); diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java b/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java index 1d9afb1..7e52988 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.challenges.ChallengeEvents.DeathrunChallengeEvent; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -37,14 +38,14 @@ private static final int CLOSE_IDEX = 26; public static void createEventGUI(Player p) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "bingo")) { + if (Objects.equals(Config.getString("event.type"), "bingo")) { EVENT_GUI.setItem(BINGO_EVENT_INDEX, GUIUtils.createGuiItem(Material.PINK_SHULKER_BOX, ChatUtil.GREEN + "Bingo Event", true, ChatUtil.GREEN + "Sammle Vorgegebene Items", ChatUtil.GREEN + "Items kann man mit /bingo sehen")); EVENT_GUI.setItem(BINGO_ITEMS_INDEX, GUIUtils.createGuiItem(Material.CHEST, ChatUtil.GREEN + "Items", ChatUtil.GREEN + "Anklicken um Items Hinzuzufügen")); } else { EVENT_GUI.setItem(BINGO_EVENT_INDEX, GUIUtils.createGuiItem(Material.PINK_SHULKER_BOX, ChatUtil.RED + "Bingo Event", ChatUtil.GREEN + "Sammle Vorgegebene Items", ChatUtil.GREEN + "Items kann man mit /bingo sehen")); EVENT_GUI.setItem(BINGO_ITEMS_INDEX, GUIUtils.EMPTY_ICON); } - if (!Objects.equals(plugin.getConfig().getString("event.type"), "nix")) { + if (!Objects.equals(Config.getString("event.type"), "nix")) { EVENT_GUI.setItem(NULL_EVENT_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatUtil.RED + "Event beenden")); } else { EVENT_GUI.setItem(NULL_EVENT_INDEX, GUIUtils.EMPTY_ICON); @@ -53,37 +54,37 @@ EVENT_GUI.setItem(TEAM_INDEX, GUIUtils.createGuiItem(Material.ORANGE_BED, ChatUtil.BLUE + "Team Settings")); EVENT_GUI.setItem(EVENT_SETTINGS_INDEX, GUIUtils.createGuiItem(Material.REPEATING_COMMAND_BLOCK, ChatUtil.BLUE + "Event Settings")); - if (Objects.equals(plugin.getConfig().getString("event.type"), "build")) { + if (Objects.equals(Config.getString("event.type"), "build")) { EVENT_GUI.setItem(BUILD_EVENT_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_PICKAXE, ChatUtil.GREEN + "Build Event", true, ChatUtil.GREEN + "Baue so viele Blöcke wie möglich ab", ChatUtil.RED + "Einen Block setzen gibt einen Minus Punkt")); } else { EVENT_GUI.setItem(BUILD_EVENT_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_PICKAXE, ChatUtil.RED + "Build Event", ChatUtil.GREEN + "Baue so viele Blöcke wie möglich ab", ChatUtil.RED + "Einen Block setzen gibt einen Minus Punkt")); } - if (Objects.equals(plugin.getConfig().getString("event.type"), "xp")) { + if (Objects.equals(Config.getString("event.type"), "xp")) { EVENT_GUI.setItem(XP_EVENT_INDEX, GUIUtils.createGuiItem(Material.ENCHANTING_TABLE, ChatUtil.GREEN + "XP Event", true, ChatUtil.GREEN + "Sammle so viel XP wie Möglich", ChatUtil.RED + "Verzaubern zieht Level ab")); } else { EVENT_GUI.setItem(XP_EVENT_INDEX, GUIUtils.createGuiItem(Material.ENCHANTING_TABLE, ChatUtil.RED + "XP Event", ChatUtil.GREEN + "Sammle so viel XP wie Möglich", ChatUtil.RED + "Verzaubern zieht Level ab")); } - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathrun")) { + if (Objects.equals(Config.getString("event.type"), "deathrun")) { EVENT_GUI.setItem(DEATHRUN_EVENT_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_BOOTS, ChatUtil.GREEN + "Deathrun Event", true, ChatUtil.GREEN + "Laufe so weit wie möglich ohne zu sterben")); } else { EVENT_GUI.setItem(DEATHRUN_EVENT_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_BOOTS, ChatUtil.RED + "Deathrun Event", ChatUtil.GREEN + "Laufe so weit wie möglich ohne zu sterben")); } - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathcounter")) { + if (Objects.equals(Config.getString("event.type"), "deathcounter")) { EVENT_GUI.setItem(DEATH_COUNTER_INDEX, GUIUtils.createGuiItem(Material.ANVIL, ChatUtil.GREEN + "Death Counter Event", true, ChatUtil.GREEN + "Zeigt Tode bei einem Event.", ChatUtil.GREEN + "Kann nicht mit anderen Events verbunden Werden.")); } else { EVENT_GUI.setItem(DEATH_COUNTER_INDEX, GUIUtils.createGuiItem(Material.ANVIL, ChatUtil.RED + "Death Counter Event", ChatUtil.GREEN + "Zeigt Tode bei einem Event.", ChatUtil.GREEN + "Kann nicht mit anderen Events verbunden Werden.")); } - if (Objects.equals(plugin.getConfig().getString("event.type"), "orebattle")) { + if (Objects.equals(Config.getString("event.type"), "orebattle")) { EVENT_GUI.setItem(ORE_BATTLE_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_ORE, ChatUtil.GREEN + "Ore Battle Event", true, ChatUtil.GREEN + "Baue so viele erze ab wie möglich.")); } else { EVENT_GUI.setItem(ORE_BATTLE_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_ORE, ChatUtil.RED + "Ore Battle Event", ChatUtil.GREEN + "Baue so viele erze ab wie möglich.")); } - if (Objects.equals(plugin.getConfig().getString("event.type"), "forceitem")) { + if (Objects.equals(Config.getString("event.type"), "forceitem")) { EVENT_GUI.setItem(FORCE_ITEM_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_BLOCK, ChatUtil.GREEN + "Force Item Event", true, ChatUtil.GREEN + "Farm so viele Blöcke wie möglich.")); } else { EVENT_GUI.setItem(FORCE_ITEM_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_BLOCK, ChatUtil.RED + "Force Item Event", ChatUtil.GREEN + "Farm so viele Blöcke wie möglich.")); } - if (Objects.equals(plugin.getConfig().getString("event.type"), "sammelfieber")) { + if (Objects.equals(Config.getString("event.type"), "sammelfieber")) { EVENT_GUI.setItem(SAMMEL_FIEBER_INDEX, GUIUtils.createGuiItem(Material.HOPPER, ChatUtil.GREEN + "Sammel Fieber Event", true, ChatUtil.GREEN + "Sammle so viel Items wie möglich!")); EVENT_GUI.setItem(SAMMEL_FIEBER_SETTINGS_INDEX, GUIUtils.createGuiItem(Material.NETHER_STAR, ChatUtil.GREEN + "Sammel Fieber Event Settings")); } else { @@ -104,47 +105,47 @@ if (e.getInventory() == EVENT_GUI) { int slot = e.getRawSlot(); Player p = (Player) e.getWhoClicked(); - if (plugin.getConfig().getBoolean("event.enabled")) { + if (Config.getBoolean("event.enabled")) { switch (slot) { case NULL_EVENT_INDEX -> { - if (!Objects.equals(plugin.getConfig().getString("event.type"), "nix")) { + if (!Objects.equals(Config.getString("event.type"), "nix")) { plugin.getScoreManager().saveScores(p); plugin.getScoreManager().resetScores(); - GUIUtils.setConfig("event.type", "nix"); + Config.setValue("event.type", "nix"); GUIUtils.sendTitleToAll("Event", "Event beendet", ChatUtil.RED); } } case BUILD_EVENT_INDEX -> { - GUIUtils.setConfig("event.type", "build"); + Config.setValue("event.type", "build"); GUIUtils.sendTitleToAll("Event", "Baue die meisten Blöcke ab!", ChatUtil.GREEN); } case XP_EVENT_INDEX -> { - GUIUtils.setConfig("event.type", "xp"); + Config.setValue("event.type", "xp"); GUIUtils.sendTitleToAll("Event", "Sammle so viel XP wie möglich ein!", ChatUtil.GREEN); } case BINGO_EVENT_INDEX -> { - GUIUtils.setConfig("event.type", "bingo"); + Config.setValue("event.type", "bingo"); GUIUtils.sendTitleToAll("Event", "Sammle Vorgegebene Items! (/bingo)", ChatUtil.GREEN); } case DEATHRUN_EVENT_INDEX -> { - GUIUtils.setConfig("event.type", "deathrun"); + Config.setValue("event.type", "deathrun"); GUIUtils.sendTitleToAll("Event", "Laufe so weit wie möglich ohne zu sterben!", ChatUtil.GREEN); DeathrunChallengeEvent.load(); } case DEATH_COUNTER_INDEX -> { - GUIUtils.setConfig("event.type", "deathcounter"); + Config.setValue("event.type", "deathcounter"); GUIUtils.sendTitleToAll("Event", "Death Counter", ChatUtil.GREEN); } case SAMMEL_FIEBER_INDEX -> { - GUIUtils.setConfig("event.type", "sammelfieber"); + Config.setValue("event.type", "sammelfieber"); GUIUtils.sendTitleToAll("Event", "SammelFieber", ChatUtil.GREEN); } case ORE_BATTLE_INDEX -> { - GUIUtils.setConfig("event.type", "orebattle"); + Config.setValue("event.type", "orebattle"); GUIUtils.sendTitleToAll("Event", "Ore Battle", ChatUtil.GREEN); } case FORCE_ITEM_INDEX -> { - GUIUtils.setConfig("event.type", "forceitem"); + Config.setValue("event.type", "forceitem"); GUIUtils.sendTitleToAll("Event", "Force Item", ChatUtil.GREEN); } } diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java b/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java index ea15d1e..1a9406a 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; @@ -36,11 +37,11 @@ int slot = event.getSlot(); switch (slot) { case MINI_LWC_INDEX -> { - if (plugin.getConfig().getBoolean("event.minilwc")) { - GUIUtils.setConfig("event.minilwc", false); + if (Config.getBoolean("event.minilwc")) { + Config.setValue("event.minilwc", false); ChatUtil.sendTitleToAll("Event", "Mini LWC deaktiviert.", ChatUtil.RED, true); } else { - GUIUtils.setConfig("event.minilwc", true); + Config.setValue("event.minilwc", true); ChatUtil.sendTitleToAll("Event", "Mini LWC aktiviert.", ChatUtil.GREEN, true); } player.closeInventory(); @@ -56,7 +57,7 @@ ItemStack item; switch (i) { case MINI_LWC_INDEX -> { - if (plugin.getConfig().getBoolean("event.minilwc")) { + if (Config.getBoolean("event.minilwc")) { item = GUIUtils.createGuiItem(Material.BARREL, ChatUtil.GREEN + "Mini LWC aktiviert."); } else { item = GUIUtils.createGuiItem(Material.BARREL, ChatUtil.RED + "Mini LWC deaktiviert."); diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/SammelFieberSettingsGui.java b/src/main/java/de/fanta/challenges/guis/eventgui/SammelFieberSettingsGui.java index 734eb68..2a4aa85 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/SammelFieberSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/SammelFieberSettingsGui.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.challenges.ChallengeEvents.SammelFieberChallengeEvent; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.bukkit.items.CustomHeads; @@ -51,7 +52,7 @@ return; } - if (!plugin.getConfig().getBoolean("event.enabled")) { + if (!Config.getBoolean("event.enabled")) { return; } @@ -73,7 +74,7 @@ } else { MONEY = MONEY + 1; } - GUIUtils.setConfig("event.sammelfieber.money", MONEY); + Config.setValue("event.sammelfieber.money", MONEY); } case REMOVE_MONEY_INDEX -> { if (MONEY > 10) { @@ -83,7 +84,7 @@ MONEY = MONEY - 1; } } - GUIUtils.setConfig("event.sammelfieber.money", MONEY); + Config.setValue("event.sammelfieber.money", MONEY); } } new SammelFieberSettingsGui(player).open(); @@ -126,7 +127,7 @@ ItemStack stack = SAMMEL_FIEBER_SETTINGS_GUI.getItem(ITEM_INDEX); if (stack != null) { eventItem = stack; - GUIUtils.setConfig("event.sammelfieber.item", stack.getType().name()); + Config.setValue("event.sammelfieber.item", stack.getType().name()); } } diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/TeamSettingsGUI.java b/src/main/java/de/fanta/challenges/guis/eventgui/TeamSettingsGUI.java index 93ffc21..39e9aca 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/TeamSettingsGUI.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/TeamSettingsGUI.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.teams.TeamUtils; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -26,19 +27,19 @@ public static final Inventory TEAM_SETTINGS_GUI = Bukkit.createInventory(null, InventoryType.HOPPER, plugin.getGUIPREFIX() + " >> Team Settings"); public static void createTeamSettingsGUI(Player p) { - if (!plugin.getConfig().getBoolean("event.teams")) { + if (!Config.getBoolean("event.teams")) { TEAM_SETTINGS_GUI.setItem(TEAM_INDEX, GUIUtils.createGuiItem(Material.RED_BED, ChatUtil.RED + "Teams deaktiviert")); } else { TEAM_SETTINGS_GUI.setItem(TEAM_INDEX, GUIUtils.createGuiItem(Material.LIME_BED, ChatUtil.GREEN + "Teams aktiviert", true)); } - if (!plugin.getConfig().getBoolean("event.teamselect")) { + if (!Config.getBoolean("event.teamselect")) { TEAM_SETTINGS_GUI.setItem(TEAM_SELECT_INDEX, GUIUtils.createGuiItem(Material.RED_CONCRETE_POWDER, ChatUtil.RED + "Team auswahl deaktiviert")); } else { TEAM_SETTINGS_GUI.setItem(TEAM_SELECT_INDEX, GUIUtils.createGuiItem(Material.LIME_CONCRETE_POWDER, ChatUtil.GREEN + "Team auswahl aktiviert", true)); } - if (!plugin.getConfig().getBoolean("event.autoteams")) { + if (!Config.getBoolean("event.autoteams")) { TEAM_SETTINGS_GUI.setItem(AUTOTEAM_BY_JOIN_INDEX, GUIUtils.createGuiItem(Material.RED_CONCRETE_POWDER, ChatUtil.RED + "Autoteams by Join deaktiviert")); } else { TEAM_SETTINGS_GUI.setItem(AUTOTEAM_BY_JOIN_INDEX, GUIUtils.createGuiItem(Material.LIME_CONCRETE_POWDER, ChatUtil.GREEN + "Autoteams by Join aktiviert", true)); @@ -62,13 +63,13 @@ switch (slot) { case TEAM_INDEX -> { if (TeamUtils.getTeams() != null && TeamUtils.getTeamSize() != 0) { - if (!plugin.getConfig().getBoolean("event.teams")) { - GUIUtils.setConfig("event.teams", true); + if (!Config.getBoolean("event.teams")) { + Config.setValue("event.teams", true); GUIUtils.sendTitleToAll("Event", "Teams aktiviert", ChatUtil.GREEN); plugin.getScoreManager().resetScores(); plugin.getSBManager().updateEventScoreboard(); } else { - GUIUtils.setConfig("event.teams", false); + Config.setValue("event.teams", false); GUIUtils.sendTitleToAll("Event", "Teams deaktiviert", ChatUtil.RED); for (Player pp : Bukkit.getOnlinePlayers()) { pp.getInventory().removeItem(TeamUtils.selctItem()); @@ -81,15 +82,15 @@ case TEAM_SELECT_INDEX -> { if (TeamUtils.getTeams() != null && TeamUtils.getTeamSize() != 0) { - if (!plugin.getConfig().getBoolean("event.teamselect")) { - GUIUtils.setConfig("event.teamselect", true); + if (!Config.getBoolean("event.teamselect")) { + Config.setValue("event.teamselect", true); GUIUtils.sendTitleToAll("Event", "Team auswahl aktiviert", ChatUtil.GREEN); for (Player pp : Bukkit.getOnlinePlayers()) { plugin.getSBManager().removeScoreboard(pp); pp.getInventory().setItem(8, TeamUtils.selctItem()); } } else { - GUIUtils.setConfig("event.teamselect", false); + Config.setValue("event.teamselect", false); GUIUtils.sendTitleToAll("Event", "Team auswahl deaktiviert", ChatUtil.RED); for (Player pp : Bukkit.getOnlinePlayers()) { pp.getInventory().removeItem(TeamUtils.selctItem()); @@ -101,11 +102,11 @@ } case AUTOTEAM_BY_JOIN_INDEX -> { - if (plugin.getConfig().getBoolean("event.autoteams")) { - GUIUtils.setConfig("event.autoteams", false); + if (Config.getBoolean("event.autoteams")) { + Config.setValue("event.autoteams", false); GUIUtils.sendTitleToAll("Event", "Autoteams by Join deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("event.autoteams", true); + Config.setValue("event.autoteams", true); GUIUtils.sendTitleToAll("Event", "Autoteams by Join aktiviert", ChatUtil.GREEN); } } diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java index be24c54..e4c6949 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java @@ -5,6 +5,7 @@ import de.fanta.challenges.challenges.AllItemsChallenge; import de.fanta.challenges.challenges.WorldBorderLevelChallenge; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.bukkit.items.CustomHeads; @@ -69,15 +70,15 @@ int slot = event.getSlot(); switch (slot) { case GOAL_INDEX -> { - EntityType entityType = EntityType.valueOf(plugin.getConfig().getString("goal").toUpperCase()); + EntityType entityType = EntityType.valueOf(Config.getString("goal").toUpperCase()); if (entityType == EntityType.ENDER_DRAGON) { - GUIUtils.setConfig("goal", EntityType.WITHER.getName()); + Config.setValue("goal", EntityType.WITHER.getName()); GUIUtils.sendTitleToAll("Challenge", "Ziel: Töte den Wither", ChatUtil.GREEN); } else if (entityType == EntityType.WITHER) { - GUIUtils.setConfig("goal", EntityType.WARDEN.getName()); + Config.setValue("goal", EntityType.WARDEN.getName()); GUIUtils.sendTitleToAll("Challenge", "Ziel: Töte den Warden", ChatUtil.GREEN); } else if (entityType == EntityType.WARDEN) { - GUIUtils.setConfig("goal", EntityType.ENDER_DRAGON.getName()); + Config.setValue("goal", EntityType.ENDER_DRAGON.getName()); GUIUtils.sendTitleToAll("Challenge", "Ziel: Töte den Enderdrachen", ChatUtil.GREEN); } } @@ -88,56 +89,56 @@ } case SHARED_DAMAGE_INDEX -> { - if (plugin.getConfig().getBoolean("sharedmg")) { - GUIUtils.setConfig("sharedmg", false); + if (Config.getBoolean("sharedmg")) { + Config.setValue("sharedmg", false); GUIUtils.sendTitleToAll("Challenge", "Geteielter Schaden deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("sharedmg", true); + Config.setValue("sharedmg", true); GUIUtils.sendTitleToAll("Challenge", "Geteielter Schaden aktiviert", ChatUtil.GREEN); } } case FLOOR_IS_LAVA_INDEX -> { - if (plugin.getConfig().getBoolean("lavafloor")) { - GUIUtils.setConfig("lavafloor", false); + if (Config.getBoolean("lavafloor")) { + Config.setValue("lavafloor", false); GUIUtils.sendTitleToAll("Challenge", "Der Boden ist Lava deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("lavafloor", true); + Config.setValue("lavafloor", true); GUIUtils.sendTitleToAll("Challenge", "Der Boden ist Lava aktiviert", ChatUtil.GREEN); } } case CHUNK_RANDOM_EFFECT_INDEX -> { - if (plugin.getConfig().getBoolean("randomeffect")) { - GUIUtils.setConfig("randomeffect", false); + if (Config.getBoolean("randomeffect")) { + Config.setValue("randomeffect", false); GUIUtils.sendTitleToAll("Challenge", "Chunk Random Effekt deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("randomeffect", true); + Config.setValue("randomeffect", true); GUIUtils.sendTitleToAll("Challenge", "Chunk Random Effekt aktiviert", ChatUtil.GREEN); } } case BEDROCK_WALL_INDEX -> { - if (plugin.getConfig().getBoolean("bedrockwall")) { - GUIUtils.setConfig("bedrockwall", false); + if (Config.getBoolean("bedrockwall")) { + Config.setValue("bedrockwall", false); GUIUtils.sendTitleToAll("Challenge", "Bedrock Wand deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("bedrockwall", true); + Config.setValue("bedrockwall", true); GUIUtils.sendTitleToAll("Challenge", "Bedrock Wand aktiviert", ChatUtil.GREEN); } } case MLG_INDEX -> { - if (plugin.getConfig().getBoolean("mlg.enabled")) { - GUIUtils.setConfig("mlg.enabled", false); + if (Config.getBoolean("mlg.enabled")) { + Config.setValue("mlg.enabled", false); GUIUtils.sendTitleToAll("Challenge", "MLG deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "MLG aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("mlg.enabled", true); + Config.setValue("mlg.enabled", true); } } case WORLD_BORDER_LEVEL_INDEX -> { if (plugin.getProtocolVersion() < 759) { return; } - if (plugin.getConfig().getBoolean("worldborderlevel")) { - GUIUtils.setConfig("worldborderlevel", false); + if (Config.getBoolean("worldborderlevel")) { + Config.setValue("worldborderlevel", false); for (Player pp : Bukkit.getOnlinePlayers()) { if (pp.getWorldBorder() != null) { pp.getWorldBorder().reset(); @@ -145,7 +146,7 @@ } GUIUtils.sendTitleToAll("Challenge", "World Border Level deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("worldborderlevel", true); + Config.setValue("worldborderlevel", true); new WorldBorderLevelChallenge(); WorldBorderLevelChallenge.borderSync(); for (Player pp : Bukkit.getOnlinePlayers()) { @@ -155,127 +156,127 @@ } } case ALL_ITEMS_INDEX -> { - if (plugin.getConfig().getBoolean("allitems")) { - GUIUtils.setConfig("allitems", false); + if (Config.getBoolean("allitems")) { + Config.setValue("allitems", false); GUIUtils.sendTitleToAll("Challenge", "All Items deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("allitems", true); + Config.setValue("allitems", true); GUIUtils.sendTitleToAll("Challenge", "All Items aktiviert", ChatUtil.GREEN); AllItemsChallenge.start(); } } case DEATH_ON_XP_INDEX -> { - if (plugin.getConfig().getBoolean("xpdeath")) { - GUIUtils.setConfig("xpdeath", false); + if (Config.getBoolean("xpdeath")) { + Config.setValue("xpdeath", false); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Einsammeln von XP deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("xpdeath", true); + Config.setValue("xpdeath", true); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Einsammeln von XP aktiviert", ChatUtil.GREEN); } } case DEATH_ON_FALLDAMAGE_INDEX -> { - if (plugin.getConfig().getBoolean("deathonfall")) { - GUIUtils.setConfig("deathonfall", false); + if (Config.getBoolean("deathonfall")) { + Config.setValue("deathonfall", false); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Fallschaden deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Sterben durch Fallschaden aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("deathonfall", true); + Config.setValue("deathonfall", true); } } case DEATH_ON_SPRINT_INDEX -> { - if (plugin.getConfig().getBoolean("deathonsprint")) { - GUIUtils.setConfig("deathonsprint", false); + if (Config.getBoolean("deathonsprint")) { + Config.setValue("deathonsprint", false); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Sprinten deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Sterben durch Sprinten aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("deathonsprint", true); + Config.setValue("deathonsprint", true); } } case DEATH_ON_JUMP_INDEX -> { - if (plugin.getConfig().getBoolean("deathonjump")) { - GUIUtils.setConfig("deathonjump", false); + if (Config.getBoolean("deathonjump")) { + Config.setValue("deathonjump", false); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Springen deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Sterben durch Springen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("deathonjump", true); + Config.setValue("deathonjump", true); } } case CLEAR_INVENTAR_ON_DAMAGE_INDEX -> { - if (plugin.getConfig().getBoolean("clinvdmg")) { - GUIUtils.setConfig("clinvdmg", false); + if (Config.getBoolean("clinvdmg")) { + Config.setValue("clinvdmg", false); GUIUtils.sendTitleToAll("Challenge", "Inventar von allen löschen wenn einer Schaden bekommt deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Inventar von allen löschen wenn einer Schaden bekommt aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("clinvdmg", true); + Config.setValue("clinvdmg", true); } } case ICE_RUNNER_INDEX -> { - if (plugin.getConfig().getBoolean("icerunner")) { - GUIUtils.setConfig("icerunner", false); + if (Config.getBoolean("icerunner")) { + Config.setValue("icerunner", false); GUIUtils.sendTitleToAll("Challenge", "Ice-Runner deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("icerunner", true); + Config.setValue("icerunner", true); GUIUtils.sendTitleToAll("Challenge", "Ice-Runner aktiviert", ChatUtil.GREEN); } } case RANDOM_MOBS_INDEX -> { - if (plugin.getConfig().getBoolean("randommobs")) { - GUIUtils.setConfig("randommobs", false); + if (Config.getBoolean("randommobs")) { + Config.setValue("randommobs", false); GUIUtils.sendTitleToAll("Challenge", "Random Mobs deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("randommobs", true); + Config.setValue("randommobs", true); GUIUtils.sendTitleToAll("Challenge", "Random Mobs aktiviert", ChatUtil.GREEN); } } case RANDOM_DROPS_INDEX -> { - if (plugin.getConfig().getBoolean("rnddrops")) { - GUIUtils.setConfig("rnddrops", false); + if (Config.getBoolean("rnddrops")) { + Config.setValue("rnddrops", false); GUIUtils.sendTitleToAll("Challenge", "Zufällige Drops deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Zufällige Drops aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("rnddrops", true); + Config.setValue("rnddrops", true); } } case DAMAGE_ON_SNEAK_INDEX -> { - if (plugin.getConfig().getBoolean("damageonsneak")) { + if (Config.getBoolean("damageonsneak")) { if (event.isRightClick()) { //TODO: INV ÖFFNEN } - GUIUtils.setConfig("damageonsneak", false); + Config.setValue("damageonsneak", false); GUIUtils.sendTitleToAll("Challenge", "Schaden bekommen beim Schleichen deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Schaden bekommen beim Schleichen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("damageonsneak", true); + Config.setValue("damageonsneak", true); } } case TIED_TOGETHER_INDEX -> { - if (plugin.getConfig().getBoolean("tiedtogether")) { - GUIUtils.setConfig("tiedtogether", false); + if (Config.getBoolean("tiedtogether")) { + Config.setValue("tiedtogether", false); GUIUtils.sendTitleToAll("Challenge", "Zusammengebunden deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("tiedtogether", true); + Config.setValue("tiedtogether", true); GUIUtils.sendTitleToAll("Challenge", "Zusammengebunden aktiviert", ChatUtil.GREEN); } } case MOB_REMOVE_WORLD_INDEX -> { - if (plugin.getConfig().getBoolean("mobremoveworld")) { - GUIUtils.setConfig("mobremoveworld", false); + if (Config.getBoolean("mobremoveworld")) { + Config.setValue("mobremoveworld", false); GUIUtils.sendTitleToAll("Challenge", "Mobs entfernen Welt deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("mobremoveworld", true); + Config.setValue("mobremoveworld", true); GUIUtils.sendTitleToAll("Challenge", "Mobs entfernen Welt aktiviert", ChatUtil.GREEN); } } case ALL_ADVANCEMENT_INDEX -> { - if (plugin.getConfig().getBoolean("alladvancements")) { + if (Config.getBoolean("alladvancements")) { AllAdvancementsChallenge.stop(); - GUIUtils.setConfig("alladvancements", false); + Config.setValue("alladvancements", false); GUIUtils.sendTitleToAll("Challenge", "All Advancement deaktiviert", ChatUtil.RED); } else { AllAdvancementsChallenge.start(); - GUIUtils.setConfig("alladvancements", true); + Config.setValue("alladvancements", true); GUIUtils.sendTitleToAll("Challenge", "All Advancement aktiviert", ChatUtil.GREEN); } } @@ -296,7 +297,7 @@ ItemStack item; switch (i) { case GOAL_INDEX -> { - EntityType entityType = EntityType.valueOf(plugin.getConfig().getString("goal").toUpperCase()); + EntityType entityType = EntityType.valueOf(Config.getString("goal").toUpperCase()); if (entityType == EntityType.ENDER_DRAGON) { item = GUIUtils.createGuiItem(Material.DRAGON_HEAD, ChatUtil.GREEN + "Ziel: Enderdrachen töten"); } else if (entityType == EntityType.WITHER) { @@ -324,49 +325,49 @@ } case SHARED_DAMAGE_INDEX -> { - if (plugin.getConfig().getBoolean("sharedmg")) { + if (Config.getBoolean("sharedmg")) { item = GUIUtils.createGuiItem(Material.MELON_SLICE, ChatUtil.GREEN + "Geteilter Schaden aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.MELON_SLICE, ChatUtil.RED + "Geteilter Schaden deaktiviert"); } } case FLOOR_IS_LAVA_INDEX -> { - if (plugin.getConfig().getBoolean("lavafloor")) { + if (Config.getBoolean("lavafloor")) { item = GUIUtils.createGuiItem(Material.MAGMA_BLOCK, ChatUtil.GREEN + "Der Boden ist Lava aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.MAGMA_BLOCK, ChatUtil.RED + "Der Boden ist Lava deaktiviert"); } } case CHUNK_RANDOM_EFFECT_INDEX -> { - if (plugin.getConfig().getBoolean("randomeffect")) { + if (Config.getBoolean("randomeffect")) { item = GUIUtils.createGuiItem(Material.SPLASH_POTION, ChatUtil.GREEN + "Chunk Random Effekt aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.SPLASH_POTION, ChatUtil.RED + "Chunk Random Effekt deaktiviert"); } } case BEDROCK_WALL_INDEX -> { - if (plugin.getConfig().getBoolean("bedrockwall")) { + if (Config.getBoolean("bedrockwall")) { item = GUIUtils.createGuiItem(Material.BEDROCK, ChatUtil.GREEN + "Bedrock Wand aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.BEDROCK, ChatUtil.RED + "Bedrock Wand deaktiviert"); } } case MLG_INDEX -> { - if (plugin.getConfig().getBoolean("mlg.enabled")) { + if (Config.getBoolean("mlg.enabled")) { item = GUIUtils.createGuiItem(Material.WATER_BUCKET, ChatUtil.GREEN + "MLG aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.WATER_BUCKET, ChatUtil.RED + "MLG deaktiviert"); } } case WORLD_BORDER_LEVEL_INDEX -> { - if (plugin.getConfig().getBoolean("worldborderlevel")) { + if (Config.getBoolean("worldborderlevel")) { item = GUIUtils.createGuiItem(Material.STRUCTURE_VOID, ChatUtil.GREEN + "World Border Level aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.STRUCTURE_VOID, ChatUtil.RED + "World Border Level deaktiviert"); } } case ALL_ITEMS_INDEX -> { - if (plugin.getConfig().getBoolean("allitems")) { + if (Config.getBoolean("allitems")) { item = GUIUtils.createGuiItem(Material.ITEM_FRAME, ChatUtil.GREEN + "All Items aktiviert", true, ChatUtil.GREEN + "/skipitem um ein Item zu überspringen"); } else { item = GUIUtils.createGuiItem(Material.ITEM_FRAME, ChatUtil.RED + "All Items deaktiviert", ChatUtil.GREEN + "/skipitem um ein Item zu überspringen"); @@ -374,49 +375,49 @@ } case DEATH_ON_XP_INDEX -> { - if (plugin.getConfig().getBoolean("xpdeath")) { + if (Config.getBoolean("xpdeath")) { item = GUIUtils.createGuiItem(Material.ENCHANTING_TABLE, ChatUtil.GREEN + "Sterben durch XP aktiviert", true, ChatUtil.GREEN + "Wenn ein Spieler XP einsammelt wird er sterben"); } else { item = GUIUtils.createGuiItem(Material.ENCHANTING_TABLE, ChatUtil.RED + "Sterben durch XP deaktiviert", ChatUtil.RED + "Wenn ein Spieler XP einsammelt wird er sterben"); } } case DEATH_ON_FALLDAMAGE_INDEX -> { - if (plugin.getConfig().getBoolean("deathonfall")) { + if (Config.getBoolean("deathonfall")) { item = GUIUtils.createGuiItem(Material.NETHERITE_BOOTS, ChatUtil.GREEN + "Tod bei Fallschaden aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.NETHERITE_BOOTS, ChatUtil.RED + "Tod bei Fallschaden deaktiviert"); } } case DEATH_ON_SPRINT_INDEX -> { - if (plugin.getConfig().getBoolean("deathonsprint")) { + if (Config.getBoolean("deathonsprint")) { item = GUIUtils.createGuiItem(Material.POTION, ChatUtil.GREEN + "Tod beim Sprinten aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.GLASS_BOTTLE, ChatUtil.RED + "Tod beim Sprinten deaktiviert"); } } case DEATH_ON_JUMP_INDEX -> { - if (plugin.getConfig().getBoolean("deathonjump")) { + if (Config.getBoolean("deathonjump")) { item = GUIUtils.createGuiItem(Material.RABBIT_FOOT, ChatUtil.GREEN + "Tod beim Springen aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.RABBIT_FOOT, ChatUtil.RED + "Tod beim Springen deaktiviert"); } } case CLEAR_INVENTAR_ON_DAMAGE_INDEX -> { - if (plugin.getConfig().getBoolean("clinvdmg")) { + if (Config.getBoolean("clinvdmg")) { item = GUIUtils.createGuiItem(Material.BARRIER, ChatUtil.GREEN + "Alle Inventare löschen wenn ein Spieler Schaden bekommt aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.BARRIER, ChatUtil.RED + "Alle Inventare löschen wenn ein Spieler Schaden bekommt deaktiviert"); } } case ICE_RUNNER_INDEX -> { - if (plugin.getConfig().getBoolean("icerunner")) { + if (Config.getBoolean("icerunner")) { item = GUIUtils.createGuiItem(Material.BLUE_ICE, ChatUtil.GREEN + "Ice-Runner aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.BLUE_ICE, ChatUtil.RED + "Ice-Runner deaktiviert"); } } case RANDOM_MOBS_INDEX -> { - if (plugin.getConfig().getBoolean("randommobs")) { + if (Config.getBoolean("randommobs")) { item = GUIUtils.createGuiItem(Material.PARROT_SPAWN_EGG, ChatUtil.GREEN + "Random Mobs aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.PARROT_SPAWN_EGG, ChatUtil.RED + "Random Mobs deaktiviert"); @@ -424,36 +425,36 @@ } case RANDOM_DROPS_INDEX -> { - if (plugin.getConfig().getBoolean("rnddrops")) { + if (Config.getBoolean("rnddrops")) { item = GUIUtils.createGuiItem(Material.NETHERITE_PICKAXE, ChatUtil.GREEN + "Zufällige Drops aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.NETHERITE_PICKAXE, ChatUtil.RED + "Zufällige Drops deaktiviert"); } } case DAMAGE_ON_SNEAK_INDEX -> { - if (plugin.getConfig().getBoolean("damageonsneak")) { - item = GUIUtils.createGuiItem(Material.SMOOTH_STONE_SLAB, ChatUtil.GREEN + "Schaden beim Schleichen aktiviert", true, ChatUtil.GREEN + "Schaden beim Schleichen: " + plugin.getConfig().getDouble("sneakdmg"), ChatUtil.GREEN + "Rechtsklick zum Bearbeiten"); + if (Config.getBoolean("damageonsneak")) { + item = GUIUtils.createGuiItem(Material.SMOOTH_STONE_SLAB, ChatUtil.GREEN + "Schaden beim Schleichen aktiviert", true, ChatUtil.GREEN + "Schaden beim Schleichen: " + Config.getDouble("sneakdmg"), ChatUtil.GREEN + "Rechtsklick zum Bearbeiten"); } else { item = GUIUtils.createGuiItem(Material.SMOOTH_STONE_SLAB, ChatUtil.RED + "Schaden beim Schleichen deaktiviert"); } } case TIED_TOGETHER_INDEX -> { - if (plugin.getConfig().getBoolean("tiedtogether")) { - item = GUIUtils.createGuiItem(Material.DIAMOND_BOOTS, ChatUtil.GREEN + "Zusammengebunden aktiviert", true, ChatUtil.GREEN + "Maximale Entfernung der Spieler: " + plugin.getConfig().getDouble("playerrange"), ChatUtil.GREEN + "Rechtsklick zum Bearbeiten"); + if (Config.getBoolean("tiedtogether")) { + item = GUIUtils.createGuiItem(Material.DIAMOND_BOOTS, ChatUtil.GREEN + "Zusammengebunden aktiviert", true, ChatUtil.GREEN + "Maximale Entfernung der Spieler: " + Config.getDouble("playerrange"), ChatUtil.GREEN + "Rechtsklick zum Bearbeiten"); } else { item = GUIUtils.createGuiItem(Material.DIAMOND_BOOTS, ChatUtil.RED + "Zusammengebunden deaktiviert"); } } case MOB_REMOVE_WORLD_INDEX -> { - if (plugin.getConfig().getBoolean("mobremoveworld")) { + if (Config.getBoolean("mobremoveworld")) { item = GUIUtils.createGuiItem(Material.BLACK_CONCRETE, ChatUtil.GREEN + "Mobs entfernen Welt aktiviert", true, ChatUtil.GREEN + "Monster und Tiere löschen hinter sich die Welt."); } else { item = GUIUtils.createGuiItem(Material.BLACK_CONCRETE, ChatUtil.RED + "Mobs entfernen Welt deaktiviert", ChatUtil.GREEN + "Monster und Tiere löschen hinter sich die Welt."); } } case ALL_ADVANCEMENT_INDEX -> { - if (plugin.getConfig().getBoolean("alladvancements")) { + if (Config.getBoolean("alladvancements")) { item = GUIUtils.createGuiItem(Material.KNOWLEDGE_BOOK, ChatUtil.GREEN + "All Advancement aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.KNOWLEDGE_BOOK, ChatUtil.RED + "All Advancement deaktiviert"); @@ -506,53 +507,53 @@ private static final int ALL_ITEMS_INDEX = 34; public static void createSettingsGUI(Player p) { - if (plugin.getConfig().getBoolean("craftingtable")) { + if (Config.getBoolean("craftingtable")) { SETTINGS_GUI.setItem(CRAFTING_TABLE_INDEX, GUIUtils.createGuiItem(Material.CRAFTING_TABLE, ChatUtil.GREEN + "Werkbank aktiviert", true)); } else { SETTINGS_GUI.setItem(CRAFTING_TABLE_INDEX, GUIUtils.createGuiItem(Material.CRAFTING_TABLE, ChatUtil.RED + "Werkbank deaktiviert")); } - if (plugin.getConfig().getBoolean("allowtrading")) { + if (Config.getBoolean("allowtrading")) { SETTINGS_GUI.setItem(TRADING_INDEX, GUIUtils.createGuiItem(Material.VILLAGER_SPAWN_EGG, ChatUtil.GREEN + "Handeln aktiviert", true)); } else { SETTINGS_GUI.setItem(TRADING_INDEX, GUIUtils.createGuiItem(Material.VILLAGER_SPAWN_EGG, ChatUtil.RED + "Handeln deaktiviert")); } - if (plugin.getConfig().getBoolean("xpdeath")) { + if (Config.getBoolean("xpdeath")) { SETTINGS_GUI.setItem(XP_DEATH_INDEX, GUIUtils.createGuiItem(Material.ENCHANTING_TABLE, ChatUtil.GREEN + "Sterben durch XP aktiviert", true, ChatUtil.GREEN + "Wenn ein Spieler XP einsammelt wird er sterben")); } else { SETTINGS_GUI.setItem(XP_DEATH_INDEX, GUIUtils.createGuiItem(Material.ENCHANTING_TABLE, ChatUtil.RED + "Sterben durch XP deaktiviert", ChatUtil.RED + "Wenn ein Spieler XP einsammelt wird er sterben")); } - if (plugin.getConfig().getBoolean("deathonfall")) { + if (Config.getBoolean("deathonfall")) { SETTINGS_GUI.setItem(DEATH_ON_FALL_INDEX, GUIUtils.createGuiItem(Material.NETHERITE_BOOTS, ChatUtil.GREEN + "Tod bei Fallschaden aktiviert", true)); } else { SETTINGS_GUI.setItem(DEATH_ON_FALL_INDEX, GUIUtils.createGuiItem(Material.NETHERITE_BOOTS, ChatUtil.RED + "Tod bei Fallschaden deaktiviert")); } - if (plugin.getConfig().getBoolean("rnddrops")) { + if (Config.getBoolean("rnddrops")) { SETTINGS_GUI.setItem(RANDOM_DROP_INDEX, GUIUtils.createGuiItem(Material.NETHERITE_PICKAXE, ChatUtil.GREEN + "Zufällige Drops aktiviert", true)); } else { SETTINGS_GUI.setItem(RANDOM_DROP_INDEX, GUIUtils.createGuiItem(Material.NETHERITE_PICKAXE, ChatUtil.RED + "Zufällige Drops deaktiviert")); } - if (plugin.getConfig().getBoolean("deathonsprint")) { + if (Config.getBoolean("deathonsprint")) { SETTINGS_GUI.setItem(DEATH_ON_SPRINT_INDEX, GUIUtils.createGuiItem(Material.POTION, ChatUtil.GREEN + "Tod beim Sprinten aktiviert", true)); } else { SETTINGS_GUI.setItem(DEATH_ON_SPRINT_INDEX, GUIUtils.createGuiItem(Material.GLASS_BOTTLE, ChatUtil.RED + "Tod beim Sprinten deaktiviert")); } - if (plugin.getConfig().getBoolean("deathonjump")) { + if (Config.getBoolean("deathonjump")) { SETTINGS_GUI.setItem(DEATH_ON_JUMP_INDEX, GUIUtils.createGuiItem(Material.RABBIT_FOOT, ChatUtil.GREEN + "Tod beim Springen aktiviert", true)); } else { SETTINGS_GUI.setItem(DEATH_ON_JUMP_INDEX, GUIUtils.createGuiItem(Material.RABBIT_FOOT, ChatUtil.RED + "Tod beim Springen deaktiviert")); } - if (plugin.getConfig().getBoolean("target")) { + if (Config.getBoolean("target")) { SETTINGS_GUI.setItem(TARGET_INDEX, GUIUtils.createGuiItem(Material.DRAGON_HEAD, ChatUtil.GREEN + "Ziel: Enderdrachen töten")); } else { SETTINGS_GUI.setItem(TARGET_INDEX, GUIUtils.createGuiItem(Material.WITHER_SKELETON_SKULL, ChatUtil.GREEN + "Ziel: Wither töten")); } - if (plugin.getConfig().getBoolean("clinvdmg")) { + if (Config.getBoolean("clinvdmg")) { SETTINGS_GUI.setItem(CLEANR_INV_BY_DAMAGE_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatUtil.GREEN + "Alle Inventare löschen wenn ein Spieler Schaden bekommt aktiviert", true)); } else { SETTINGS_GUI.setItem(CLEANR_INV_BY_DAMAGE_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatUtil.RED + "Alle Inventare löschen wenn ein Spieler Schaden bekommt deaktiviert")); } - if (plugin.getConfig().getBoolean("damageonsneak")) { - SETTINGS_GUI.setItem(DMG_ON_SNEAK_INDEX, GUIUtils.createGuiItem(Material.SMOOTH_STONE_SLAB, ChatUtil.GREEN + "Schaden beim Schleichen aktiviert", true, ChatUtil.GREEN + "Schaden beim Schleichen: " + plugin.getConfig().getDouble("sneakdmg"))); + if (Config.getBoolean("damageonsneak")) { + SETTINGS_GUI.setItem(DMG_ON_SNEAK_INDEX, GUIUtils.createGuiItem(Material.SMOOTH_STONE_SLAB, ChatUtil.GREEN + "Schaden beim Schleichen aktiviert", true, ChatUtil.GREEN + "Schaden beim Schleichen: " + Config.getDouble("sneakdmg"))); SETTINGS_GUI.setItem(DMG_ON_SNEAK_ADD_INDEX, CustomHeads.QUARTZ_ARROW_UP.getHead()); SETTINGS_GUI.setItem(DMG_ON_SNEAK_REMOVE_INDEX, CustomHeads.QUARTZ_ARROW_DOWN.getHead()); @@ -561,28 +562,28 @@ SETTINGS_GUI.setItem(DMG_ON_SNEAK_ADD_INDEX, GUIUtils.EMPTY_ICON); SETTINGS_GUI.setItem(DMG_ON_SNEAK_REMOVE_INDEX, GUIUtils.EMPTY_ICON); } - if (plugin.getConfig().getBoolean("mlg.enabled")) { + if (Config.getBoolean("mlg.enabled")) { SETTINGS_GUI.setItem(MLG_INDEX, GUIUtils.createGuiItem(Material.WATER_BUCKET, ChatUtil.GREEN + "MLG aktiviert", true)); } else { SETTINGS_GUI.setItem(MLG_INDEX, GUIUtils.createGuiItem(Material.WATER_BUCKET, ChatUtil.RED + "MLG deaktiviert")); } - if (plugin.getConfig().getBoolean("sharedmg")) { + if (Config.getBoolean("sharedmg")) { SETTINGS_GUI.setItem(SHARE_DMG_INDEX, GUIUtils.createGuiItem(Material.MELON_SLICE, ChatUtil.GREEN + "Geteilter Schaden aktiviert", true)); } else { SETTINGS_GUI.setItem(SHARE_DMG_INDEX, GUIUtils.createGuiItem(Material.MELON_SLICE, ChatUtil.RED + "Geteilter Schaden deaktiviert")); } - if (plugin.getConfig().getBoolean("lavafloor")) { + if (Config.getBoolean("lavafloor")) { SETTINGS_GUI.setItem(LAVA_FLOOR_INDEX, GUIUtils.createGuiItem(Material.MAGMA_BLOCK, ChatUtil.GREEN + "Der Boden ist Lava aktiviert", true)); } else { SETTINGS_GUI.setItem(LAVA_FLOOR_INDEX, GUIUtils.createGuiItem(Material.MAGMA_BLOCK, ChatUtil.RED + "Der Boden ist Lava deaktiviert")); } - if (plugin.getConfig().getBoolean("randomeffect")) { + if (Config.getBoolean("randomeffect")) { SETTINGS_GUI.setItem(CHUNK_RANDOM_EFFEKT_INDEX, GUIUtils.createGuiItem(Material.SPLASH_POTION, ChatUtil.GREEN + "Chunk Random Effekt aktiviert", true)); } else { SETTINGS_GUI.setItem(CHUNK_RANDOM_EFFEKT_INDEX, GUIUtils.createGuiItem(Material.SPLASH_POTION, ChatUtil.RED + "Chunk Random Effekt deaktiviert")); } - if (plugin.getConfig().getBoolean("tiedtogether")) { - SETTINGS_GUI.setItem(TIED_TOGETHER_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_BOOTS, ChatUtil.GREEN + "Zusammengebunden aktiviert", true, ChatUtil.GREEN + "Maximale Entfernung der Spieler: " + plugin.getConfig().getDouble("playerrange"))); + if (Config.getBoolean("tiedtogether")) { + SETTINGS_GUI.setItem(TIED_TOGETHER_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_BOOTS, ChatUtil.GREEN + "Zusammengebunden aktiviert", true, ChatUtil.GREEN + "Maximale Entfernung der Spieler: " + Config.getDouble("playerrange"))); SETTINGS_GUI.setItem(RANGE_ON_TIED_TOGETHER_ADD_INDEX, CustomHeads.QUARTZ_ARROW_UP.getHead()); SETTINGS_GUI.setItem(RANGE_ON_TIED_TOGETHER_REMOVE_INDEX, CustomHeads.QUARTZ_ARROW_DOWN.getHead()); } else { @@ -590,27 +591,27 @@ SETTINGS_GUI.setItem(RANGE_ON_TIED_TOGETHER_ADD_INDEX, GUIUtils.EMPTY_ICON); SETTINGS_GUI.setItem(RANGE_ON_TIED_TOGETHER_REMOVE_INDEX, GUIUtils.EMPTY_ICON); } - if (plugin.getConfig().getBoolean("icerunner")) { + if (Config.getBoolean("icerunner")) { SETTINGS_GUI.setItem(ICE_RUNNER_INDEX, GUIUtils.createGuiItem(Material.BLUE_ICE, ChatUtil.GREEN + "Ice-Runner aktiviert", true)); } else { SETTINGS_GUI.setItem(ICE_RUNNER_INDEX, GUIUtils.createGuiItem(Material.BLUE_ICE, ChatUtil.RED + "Ice-Runner deaktiviert")); } - if (plugin.getConfig().getBoolean("randommobs")) { + if (Config.getBoolean("randommobs")) { SETTINGS_GUI.setItem(RANDOM_MOB_INDEX, GUIUtils.createGuiItem(Material.PARROT_SPAWN_EGG, ChatUtil.GREEN + "Random Mobs aktiviert", true)); } else { SETTINGS_GUI.setItem(RANDOM_MOB_INDEX, GUIUtils.createGuiItem(Material.PARROT_SPAWN_EGG, ChatUtil.RED + "Random Mobs deaktiviert")); } - if (plugin.getConfig().getBoolean("bedrockwall")) { + if (Config.getBoolean("bedrockwall")) { SETTINGS_GUI.setItem(BEDROCK_WALL_INDEX, GUIUtils.createGuiItem(Material.BEDROCK, ChatUtil.GREEN + "Bedrock Wand aktiviert", true)); } else { SETTINGS_GUI.setItem(BEDROCK_WALL_INDEX, GUIUtils.createGuiItem(Material.BEDROCK, ChatUtil.RED + "Bedrock Wand deaktiviert")); } - if (plugin.getConfig().getBoolean("worldborderlevel")) { + if (Config.getBoolean("worldborderlevel")) { SETTINGS_GUI.setItem(WORLD_BORDER_LEVEL_INDEX, GUIUtils.createGuiItem(Material.STRUCTURE_VOID, ChatUtil.GREEN + "World Border Level aktiviert", true)); } else { SETTINGS_GUI.setItem(WORLD_BORDER_LEVEL_INDEX, GUIUtils.createGuiItem(Material.STRUCTURE_VOID, ChatUtil.RED + "World Border Level deaktiviert")); } - if (plugin.getConfig().getBoolean("allitems")) { + if (Config.getBoolean("allitems")) { SETTINGS_GUI.setItem(ALL_ITEMS_INDEX, GUIUtils.createGuiItem(Material.ITEM_FRAME, ChatUtil.GREEN + "All Items aktiviert", true, ChatUtil.GREEN + "/skipitem um ein Item zu überspringen", ChatUtil.RED + "KANN AKTUELL NICHT GESPEICHERT WERDEN!")); } else { SETTINGS_GUI.setItem(ALL_ITEMS_INDEX, GUIUtils.createGuiItem(Material.ITEM_FRAME, ChatUtil.RED + "All Items deaktiviert", ChatUtil.GREEN + "/skipitem um ein Item zu überspringen", ChatUtil.RED + "KANN AKTUELL NICHT GESPEICHERT WERDEN!")); @@ -633,49 +634,49 @@ Player p = (Player) e.getWhoClicked(); switch (slot) { case CRAFTING_TABLE_INDEX: - if (plugin.getConfig().getBoolean("craftingtable")) { - GUIUtils.setConfig("craftingtable", false); + if (Config.getBoolean("craftingtable")) { + Config.setValue("craftingtable", false); GUIUtils.sendTitleToAll("Challenge", "Werkbank deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("craftingtable", true); + Config.setValue("craftingtable", true); GUIUtils.sendTitleToAll("Challenge", "Werkbank aktiviert", ChatUtil.GREEN); } break; case TRADING_INDEX: - if (plugin.getConfig().getBoolean("allowtrading")) { - GUIUtils.setConfig("allowtrading", false); + if (Config.getBoolean("allowtrading")) { + Config.setValue("allowtrading", false); GUIUtils.sendTitleToAll("Challenge", "Handeln deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("allowtrading", true); + Config.setValue("allowtrading", true); GUIUtils.sendTitleToAll("Challenge", "Handeln aktiviert", ChatUtil.GREEN); } break; case XP_DEATH_INDEX: - if (plugin.getConfig().getBoolean("xpdeath")) { - GUIUtils.setConfig("xpdeath", false); + if (Config.getBoolean("xpdeath")) { + Config.setValue("xpdeath", false); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Einsammeln von XP deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("xpdeath", true); + Config.setValue("xpdeath", true); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Einsammeln von XP aktiviert", ChatUtil.GREEN); } break; case DEATH_ON_FALL_INDEX: - if (plugin.getConfig().getBoolean("deathonfall")) { - GUIUtils.setConfig("deathonfall", false); + if (Config.getBoolean("deathonfall")) { + Config.setValue("deathonfall", false); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Fallschaden deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Sterben durch Fallschaden aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("deathonfall", true); + Config.setValue("deathonfall", true); } break; case RANDOM_DROP_INDEX: - if (plugin.getConfig().getBoolean("rnddrops")) { - GUIUtils.setConfig("rnddrops", false); + if (Config.getBoolean("rnddrops")) { + Config.setValue("rnddrops", false); GUIUtils.sendTitleToAll("Challenge", "Zufällige Drops deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Zufällige Drops aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("rnddrops", true); + Config.setValue("rnddrops", true); } break; case SHUFFLE_RANDOM_DROP_INDEX: @@ -684,135 +685,135 @@ GUIUtils.sendTitleToAll("Challenge", "Zufällige Drops neu gemischt!", ChatUtil.GREEN); break; case DEATH_ON_SPRINT_INDEX: - if (plugin.getConfig().getBoolean("deathonsprint")) { - GUIUtils.setConfig("deathonsprint", false); + if (Config.getBoolean("deathonsprint")) { + Config.setValue("deathonsprint", false); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Sprinten deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Sterben durch Sprinten aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("deathonsprint", true); + Config.setValue("deathonsprint", true); } break; case DEATH_ON_JUMP_INDEX: - if (plugin.getConfig().getBoolean("deathonjump")) { - GUIUtils.setConfig("deathonjump", false); + if (Config.getBoolean("deathonjump")) { + Config.setValue("deathonjump", false); GUIUtils.sendTitleToAll("Challenge", "Sterben durch Springen deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Sterben durch Springen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("deathonjump", true); + Config.setValue("deathonjump", true); } break; case TARGET_INDEX: - if (plugin.getConfig().getBoolean("target")) { - GUIUtils.setConfig("target", false); + if (Config.getBoolean("target")) { + Config.setValue("target", false); GUIUtils.sendTitleToAll("Challenge", "Ziel: Töte den Wither", ChatUtil.GREEN); } else { GUIUtils.sendTitleToAll("Challenge", "Ziel: Töte den Enderdrachen", ChatUtil.GREEN); - GUIUtils.setConfig("target", true); + Config.setValue("target", true); } break; case CLEANR_INV_BY_DAMAGE_INDEX: - if (plugin.getConfig().getBoolean("clinvdmg")) { - GUIUtils.setConfig("clinvdmg", false); + if (Config.getBoolean("clinvdmg")) { + Config.setValue("clinvdmg", false); GUIUtils.sendTitleToAll("Challenge", "Inventar von allen löschen wenn einer Schaden bekommt deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Inventar von allen löschen wenn einer Schaden bekommt aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("clinvdmg", true); + Config.setValue("clinvdmg", true); } break; case DMG_ON_SNEAK_INDEX: - if (plugin.getConfig().getBoolean("damageonsneak")) { - GUIUtils.setConfig("damageonsneak", false); + if (Config.getBoolean("damageonsneak")) { + Config.setValue("damageonsneak", false); GUIUtils.sendTitleToAll("Challenge", "Schaden bekommen beim Schleichen deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "Schaden bekommen beim Schleichen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("damageonsneak", true); + Config.setValue("damageonsneak", true); } break; case MLG_INDEX: - if (plugin.getConfig().getBoolean("mlg.enabled")) { - GUIUtils.setConfig("mlg.enabled", false); + if (Config.getBoolean("mlg.enabled")) { + Config.setValue("mlg.enabled", false); GUIUtils.sendTitleToAll("Challenge", "MLG deaktiviert", ChatUtil.RED); } else { GUIUtils.sendTitleToAll("Challenge", "MLG aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("mlg.enabled", true); + Config.setValue("mlg.enabled", true); } break; case DMG_ON_SNEAK_ADD_INDEX: - GUIUtils.setConfig("sneakdmg", plugin.getConfig().getDouble("sneakdmg") + 0.5); + Config.setValue("sneakdmg", Config.getDouble("sneakdmg") + 0.5); break; case DMG_ON_SNEAK_REMOVE_INDEX: - if (plugin.getConfig().getDouble("sneakdmg") > 0) { - GUIUtils.setConfig("sneakdmg", plugin.getConfig().getDouble("sneakdmg") - 0.5); + if (Config.getDouble("sneakdmg") > 0) { + Config.setValue("sneakdmg", Config.getDouble("sneakdmg") - 0.5); } break; case SHARE_DMG_INDEX: - if (plugin.getConfig().getBoolean("sharedmg")) { - GUIUtils.setConfig("sharedmg", false); + if (Config.getBoolean("sharedmg")) { + Config.setValue("sharedmg", false); GUIUtils.sendTitleToAll("Challenge", "Geteielter Schaden deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("sharedmg", true); + Config.setValue("sharedmg", true); GUIUtils.sendTitleToAll("Challenge", "Geteielter Schaden aktiviert", ChatUtil.GREEN); } break; case LAVA_FLOOR_INDEX: - if (plugin.getConfig().getBoolean("lavafloor")) { - GUIUtils.setConfig("lavafloor", false); + if (Config.getBoolean("lavafloor")) { + Config.setValue("lavafloor", false); GUIUtils.sendTitleToAll("Challenge", "Der Boden ist Lava deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("lavafloor", true); + Config.setValue("lavafloor", true); GUIUtils.sendTitleToAll("Challenge", "Der Boden ist Lava aktiviert", ChatUtil.GREEN); } break; case CHUNK_RANDOM_EFFEKT_INDEX: - if (plugin.getConfig().getBoolean("randomeffect")) { - GUIUtils.setConfig("randomeffect", false); + if (Config.getBoolean("randomeffect")) { + Config.setValue("randomeffect", false); GUIUtils.sendTitleToAll("Challenge", "Chunk Random Effekt deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("randomeffect", true); + Config.setValue("randomeffect", true); GUIUtils.sendTitleToAll("Challenge", "Chunk Random Effekt aktiviert", ChatUtil.GREEN); } break; case TIED_TOGETHER_INDEX: - if (plugin.getConfig().getBoolean("tiedtogether")) { - GUIUtils.setConfig("tiedtogether", false); + if (Config.getBoolean("tiedtogether")) { + Config.setValue("tiedtogether", false); GUIUtils.sendTitleToAll("Challenge", "Zusammengebunden deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("tiedtogether", true); + Config.setValue("tiedtogether", true); GUIUtils.sendTitleToAll("Challenge", "Zusammengebunden aktiviert", ChatUtil.GREEN); } break; case RANGE_ON_TIED_TOGETHER_ADD_INDEX: - GUIUtils.setConfig("playerrange", plugin.getConfig().getDouble("playerrange") + 1); + Config.setValue("playerrange", Config.getDouble("playerrange") + 1); break; case RANGE_ON_TIED_TOGETHER_REMOVE_INDEX: - if (plugin.getConfig().getDouble("playerrange") > 0) { - GUIUtils.setConfig("playerrange", plugin.getConfig().getDouble("playerrange") - 1); + if (Config.getDouble("playerrange") > 0) { + Config.setValue("playerrange", Config.getDouble("playerrange") - 1); } break; case ICE_RUNNER_INDEX: - if (plugin.getConfig().getBoolean("icerunner")) { - GUIUtils.setConfig("icerunner", false); + if (Config.getBoolean("icerunner")) { + Config.setValue("icerunner", false); GUIUtils.sendTitleToAll("Challenge", "Ice-Runner deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("icerunner", true); + Config.setValue("icerunner", true); GUIUtils.sendTitleToAll("Challenge", "Ice-Runner aktiviert", ChatUtil.GREEN); } break; case RANDOM_MOB_INDEX: - if (plugin.getConfig().getBoolean("randommobs")) { - GUIUtils.setConfig("randommobs", false); + if (Config.getBoolean("randommobs")) { + Config.setValue("randommobs", false); GUIUtils.sendTitleToAll("Challenge", "Random Mobs deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("randommobs", true); + Config.setValue("randommobs", true); GUIUtils.sendTitleToAll("Challenge", "Random Mobs aktiviert", ChatUtil.GREEN); } break; case BEDROCK_WALL_INDEX: - if (plugin.getConfig().getBoolean("bedrockwall")) { - GUIUtils.setConfig("bedrockwall", false); + if (Config.getBoolean("bedrockwall")) { + Config.setValue("bedrockwall", false); GUIUtils.sendTitleToAll("Challenge", "Bedrock Wand deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("bedrockwall", true); + Config.setValue("bedrockwall", true); GUIUtils.sendTitleToAll("Challenge", "Bedrock Wand aktiviert", ChatUtil.GREEN); } break; @@ -824,14 +825,14 @@ if (worldBorderAPI == null) { return; } - if (plugin.getConfig().getBoolean("worldborderlevel")) { - GUIUtils.setConfig("worldborderlevel", false); + if (Config.getBoolean("worldborderlevel")) { + Config.setValue("worldborderlevel", false); for (Player pp : Bukkit.getOnlinePlayers()) { worldBorderAPI.getProvider().resetWorldBorderToGlobal(pp); } GUIUtils.sendTitleToAll("Challenge", "World Border Level deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("worldborderlevel", true); + Config.setValue("worldborderlevel", true); for (Player pp : Bukkit.getOnlinePlayers()) { worldBorderAPI.getProvider().setBorder(pp, 1, plugin.getServer().getWorld("world").getSpawnLocation()); } @@ -843,11 +844,11 @@ } break; case ALL_ITEMS_INDEX: - if (plugin.getConfig().getBoolean("allitems")) { - GUIUtils.setConfig("allitems", false); + if (Config.getBoolean("allitems")) { + Config.setValue("allitems", false); GUIUtils.sendTitleToAll("Challenge", "All Items deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("allitems", true); + Config.setValue("allitems", true); GUIUtils.sendTitleToAll("Challenge", "All Items aktiviert", ChatUtil.GREEN); AllItemsChallenge.start(); } diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java index efe45c0..305184d 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.bukkit.items.CustomHeads; @@ -50,58 +51,58 @@ int slot = event.getSlot(); switch (slot) { case VILLAGER_TRADE_LIMITS_INDEX -> { - if (plugin.getConfig().getBoolean("disablevillagertradelimits")) { + if (Config.getBoolean("disablevillagertradelimits")) { GUIUtils.sendTitleToAll("Einstellungen", "Villager Trade Limits aktiviert", ChatUtil.RED); - GUIUtils.setConfig("disablevillagertradelimits", false); + Config.setValue("disablevillagertradelimits", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Villager Trade Limits deaktiviert (Default)", ChatUtil.GREEN); - GUIUtils.setConfig("disablevillagertradelimits", true); + Config.setValue("disablevillagertradelimits", true); } } case DAMAGE_IN_CHAT_INDEX -> { - if (plugin.getConfig().getBoolean("dmginchat")) { + if (Config.getBoolean("dmginchat")) { GUIUtils.sendTitleToAll("Einstellungen", "Schaden im Chat anzeigen deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("dmginchat", false); + Config.setValue("dmginchat", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Schaden im Chat anzeigen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("dmginchat", true); + Config.setValue("dmginchat", true); } } case TELEPORT_COMMAND_INDEX -> { - if (plugin.getConfig().getBoolean("teleportcommand")) { + if (Config.getBoolean("teleportcommand")) { GUIUtils.sendTitleToAll("Einstellungen", "Teleport Command deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("teleportcommand", false); + Config.setValue("teleportcommand", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Teleport Command aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("teleportcommand", true); + Config.setValue("teleportcommand", true); } } case HP_ON_TAB_INDEX -> { - if (plugin.getConfig().getBoolean("tabhp")) { + if (Config.getBoolean("tabhp")) { GUIUtils.sendTitleToAll("Einstellungen", "Herzen in der Tablist anzeigen deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("tabhp", false); + Config.setValue("tabhp", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Herzen in der Tablist anzeigen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("tabhp", true); + Config.setValue("tabhp", true); } plugin.getSBManager().updateTabHP(); } case SMELT_ORES_ON_BREAK_INDEX -> { - if (plugin.getConfig().getBoolean("silkore")) { + if (Config.getBoolean("silkore")) { GUIUtils.sendTitleToAll("Einstellungen", "Abgebaute Erze droppen Barren deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("silkore", false); + Config.setValue("silkore", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Abgebaute Erze droppen Barren aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("silkore", true); + Config.setValue("silkore", true); } } case FAST_FURNACE_INDEX -> { - if (plugin.getConfig().getBoolean("speedfurnace")) { + if (Config.getBoolean("speedfurnace")) { GUIUtils.sendTitleToAll("Einstellungen", "Schneller Ofen deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("speedfurnace", false); + Config.setValue("speedfurnace", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Schneller Ofen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("speedfurnace", true); + Config.setValue("speedfurnace", true); } } case BACKPACK_INDEX -> { @@ -111,12 +112,12 @@ } case GRAVESTONE_INDEX -> { - if (plugin.getConfig().getBoolean("gravestone")) { + if (Config.getBoolean("gravestone")) { GUIUtils.sendTitleToAll("Einstellungen", "Grabsteine deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("gravestone", false); + Config.setValue("gravestone", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Grabsteine aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("gravestone", true); + Config.setValue("gravestone", true); } } default -> { @@ -149,42 +150,42 @@ } case VILLAGER_TRADE_LIMITS_INDEX -> { - if (plugin.getConfig().getBoolean("disablevillagertradelimits")) { + if (Config.getBoolean("disablevillagertradelimits")) { item = GUIUtils.createGuiItem(Material.EMERALD, ChatUtil.GREEN + "Villager Trade Limits aktiviert ", true); } else { item = GUIUtils.createGuiItem(Material.EMERALD, ChatUtil.RED + "Villager Trade Limits deaktiviert (Default)"); } } case DAMAGE_IN_CHAT_INDEX -> { - if (plugin.getConfig().getBoolean("dmginchat")) { + if (Config.getBoolean("dmginchat")) { item = GUIUtils.createGuiItem(Material.PAPER, ChatUtil.GREEN + "Schaden im Chat anzeigen aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.PAPER, ChatUtil.RED + "Schaden im Chat anzeigen deaktiviert"); } } case TELEPORT_COMMAND_INDEX -> { - if (plugin.getConfig().getBoolean("teleportcommand")) { + if (Config.getBoolean("teleportcommand")) { item = GUIUtils.createGuiItem(Material.ENDER_PEARL, ChatUtil.GREEN + "Teleport Command aktiviert", true, ChatUtil.GREEN + "Deaktiviert den \"/challenges tp\" command"); } else { item = GUIUtils.createGuiItem(Material.ENDER_PEARL, ChatUtil.RED + "Teleport Command deaktiviert", ChatUtil.RED + "Aktiviert den \"/challenges tp\" command"); } } case HP_ON_TAB_INDEX -> { - if (plugin.getConfig().getBoolean("tabhp")) { + if (Config.getBoolean("tabhp")) { item = GUIUtils.createGuiItem(Material.HEART_OF_THE_SEA, ChatUtil.GREEN + "Herzen in der Tablist anzeigen aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.HEART_OF_THE_SEA, ChatUtil.RED + "Herzen in der Tablist anzeigen deaktiviert"); } } case SMELT_ORES_ON_BREAK_INDEX -> { - if (plugin.getConfig().getBoolean("silkore")) { + if (Config.getBoolean("silkore")) { item = GUIUtils.createGuiItem(Material.IRON_INGOT, ChatUtil.GREEN + "Abgebaute Erze droppen Barren aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.IRON_INGOT, ChatUtil.RED + "Abgebaute Erze droppen Barren deaktiviert"); } } case FAST_FURNACE_INDEX -> { - if (plugin.getConfig().getBoolean("speedfurnace")) { + if (Config.getBoolean("speedfurnace")) { item = GUIUtils.createGuiItem(Material.FURNACE, ChatUtil.GREEN + "Schneller Ofen aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.FURNACE, ChatUtil.RED + "Schneller Ofen deaktiviert"); @@ -200,7 +201,7 @@ } case GRAVESTONE_INDEX -> { - if (plugin.getConfig().getBoolean("gravestone")) { + if (Config.getBoolean("gravestone")) { item = GUIUtils.createGuiItem(Material.HOPPER, ChatUtil.GREEN + "Grabstein aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.HOPPER, ChatUtil.RED + "Grabstein deaktiviert"); @@ -245,38 +246,38 @@ } else { OTHER_SETTINGS_GUI.setItem(BACKPACK_REMOVE_INDEX, GUIUtils.EMPTY_ICON); } - if (plugin.getConfig().getBoolean("dmginchat")) { + if (Config.getBoolean("dmginchat")) { OTHER_SETTINGS_GUI.setItem(DMG_INCHAT_INDEX, GUIUtils.createGuiItem(Material.PAPER, ChatUtil.GREEN + "Schaden im Chat anzeigen aktiviert", true)); } else { OTHER_SETTINGS_GUI.setItem(DMG_INCHAT_INDEX, GUIUtils.createGuiItem(Material.PAPER, ChatUtil.RED + "Schaden im Chat anzeigen deaktiviert")); } - if (plugin.getConfig().getBoolean("teleportcommand")) { + if (Config.getBoolean("teleportcommand")) { OTHER_SETTINGS_GUI.setItem(TELEPORT_COMMAND_INDEX, GUIUtils.createGuiItem(Material.ENDER_PEARL, ChatUtil.GREEN + "Teleport Command aktiviert", true, ChatUtil.GREEN + "Deaktiviert den \"/challenges tp\" command")); } else { OTHER_SETTINGS_GUI.setItem(TELEPORT_COMMAND_INDEX, GUIUtils.createGuiItem(Material.ENDER_PEARL, ChatUtil.RED + "Teleport Command deaktiviert", ChatUtil.RED + "Aktiviert den \"/challenges tp\" command")); } - if (plugin.getConfig().getBoolean("tabhp")) { + if (Config.getBoolean("tabhp")) { OTHER_SETTINGS_GUI.setItem(TAB_HP_INDEX, GUIUtils.createGuiItem(Material.HEART_OF_THE_SEA, ChatUtil.GREEN + "Herzen in der Tablist anzeigen aktiviert", true)); } else { OTHER_SETTINGS_GUI.setItem(TAB_HP_INDEX, GUIUtils.createGuiItem(Material.HEART_OF_THE_SEA, ChatUtil.RED + "Herzen in der Tablist anzeigen deaktiviert")); } - if (plugin.getConfig().getBoolean("silkore")) { + if (Config.getBoolean("silkore")) { OTHER_SETTINGS_GUI.setItem(DIREKT_SMLET_INDEX, GUIUtils.createGuiItem(Material.IRON_INGOT, ChatUtil.GREEN + "Abgebaute Erze droppen Barren aktiviert", true)); } else { OTHER_SETTINGS_GUI.setItem(DIREKT_SMLET_INDEX, GUIUtils.createGuiItem(Material.IRON_INGOT, ChatUtil.RED + "Abgebaute Erze droppen Barren deaktiviert")); } - if (plugin.getConfig().getBoolean("speedfurnace")) { + if (Config.getBoolean("speedfurnace")) { OTHER_SETTINGS_GUI.setItem(FAST_FURNACE_INDEX, GUIUtils.createGuiItem(Material.FURNACE, ChatUtil.GREEN + "Schneller Ofen aktiviert", true)); } else { OTHER_SETTINGS_GUI.setItem(FAST_FURNACE_INDEX, GUIUtils.createGuiItem(Material.FURNACE, ChatUtil.RED + "Schneller Ofen deaktiviert")); } - if (plugin.getConfig().getBoolean("gravestone")) { + if (Config.getBoolean("gravestone")) { OTHER_SETTINGS_GUI.setItem(GRAVESTONE_INDEX, GUIUtils.createGuiItem(Material.HOPPER, ChatUtil.GREEN + "Grabstein aktiviert", true)); } else { OTHER_SETTINGS_GUI.setItem(GRAVESTONE_INDEX, GUIUtils.createGuiItem(Material.HOPPER, ChatUtil.RED + "Grabstein deaktiviert")); } - if (plugin.getConfig().getBoolean("disablevillagertradelimits")) { + if (Config.getBoolean("disablevillagertradelimits")) { OTHER_SETTINGS_GUI.setItem(DISABLE_VILLAGER_TRADE_LIMITS_INDEX, GUIUtils.createGuiItem(Material.EMERALD, ChatUtil.GREEN + "Villager Trade Limits aktiviert ", true)); } else { OTHER_SETTINGS_GUI.setItem(DISABLE_VILLAGER_TRADE_LIMITS_INDEX, GUIUtils.createGuiItem(Material.EMERALD, ChatUtil.RED + "Villager Trade Limits deaktiviert (Default)")); @@ -310,67 +311,67 @@ } break; case DMG_INCHAT_INDEX: - if (plugin.getConfig().getBoolean("dmginchat")) { + if (Config.getBoolean("dmginchat")) { GUIUtils.sendTitleToAll("Einstellungen", "Schaden im Chat anzeigen deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("dmginchat", false); + Config.setValue("dmginchat", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Schaden im Chat anzeigen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("dmginchat", true); + Config.setValue("dmginchat", true); } break; case TELEPORT_COMMAND_INDEX: - if (plugin.getConfig().getBoolean("teleportcommand")) { + if (Config.getBoolean("teleportcommand")) { GUIUtils.sendTitleToAll("Einstellungen", "Teleport Command deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("teleportcommand", false); + Config.setValue("teleportcommand", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Teleport Command aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("teleportcommand", true); + Config.setValue("teleportcommand", true); } break; case TAB_HP_INDEX: - if (plugin.getConfig().getBoolean("tabhp")) { + if (Config.getBoolean("tabhp")) { GUIUtils.sendTitleToAll("Einstellungen", "Herzen in der Tablist anzeigen deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("tabhp", false); + Config.setValue("tabhp", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Herzen in der Tablist anzeigen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("tabhp", true); + Config.setValue("tabhp", true); } plugin.getSBManager().updateTabHP(); break; case DIREKT_SMLET_INDEX: - if (plugin.getConfig().getBoolean("silkore")) { + if (Config.getBoolean("silkore")) { GUIUtils.sendTitleToAll("Einstellungen", "Abgebaute Erze droppen Barren deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("silkore", false); + Config.setValue("silkore", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Abgebaute Erze droppen Barren aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("silkore", true); + Config.setValue("silkore", true); } break; case FAST_FURNACE_INDEX: - if (plugin.getConfig().getBoolean("speedfurnace")) { + if (Config.getBoolean("speedfurnace")) { GUIUtils.sendTitleToAll("Einstellungen", "Schneller Ofen deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("speedfurnace", false); + Config.setValue("speedfurnace", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Schneller Ofen aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("speedfurnace", true); + Config.setValue("speedfurnace", true); } break; case DISABLE_VILLAGER_TRADE_LIMITS_INDEX: - if (plugin.getConfig().getBoolean("disablevillagertradelimits")) { + if (Config.getBoolean("disablevillagertradelimits")) { GUIUtils.sendTitleToAll("Einstellungen", "Villager Trade Limits aktiviert", ChatUtil.RED); - GUIUtils.setConfig("disablevillagertradelimits", false); + Config.setValue("disablevillagertradelimits", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Villager Trade Limits deaktiviert (Default)", ChatUtil.GREEN); - GUIUtils.setConfig("disablevillagertradelimits", true); + Config.setValue("disablevillagertradelimits", true); } break; case GRAVESTONE_INDEX: - if (plugin.getConfig().getBoolean("gravestone")) { + if (Config.getBoolean("gravestone")) { GUIUtils.sendTitleToAll("Einstellungen", "Grabsteine deaktiviert", ChatUtil.RED); - GUIUtils.setConfig("gravestone", false); + Config.setValue("gravestone", false); } else { GUIUtils.sendTitleToAll("Einstellungen", "Grabsteine aktiviert", ChatUtil.GREEN); - GUIUtils.setConfig("gravestone", true); + Config.setValue("gravestone", true); } break; } diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java index 7a74bb0..63024ca 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.bukkit.items.CustomHeads; @@ -82,40 +83,40 @@ } } case ULTRA_HARDCORE_INDEX -> { - if (plugin.getConfig().getBoolean("ultrahardcore")) { - GUIUtils.setConfig("ultrahardcore", false); + if (Config.getBoolean("ultrahardcore")) { + Config.setValue("ultrahardcore", false); GUIUtils.sendTitleToAll("Server Einstellungen", "Ultra Hardcore deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("ultrahardcore", true); + Config.setValue("ultrahardcore", true); GUIUtils.sendTitleToAll("Server Einstellungen", "Ultra Hardcore aktiviert", ChatUtil.GREEN); } } case ONE_LIFE_INDEX -> { - if (plugin.getConfig().getBoolean("onelife")) { - GUIUtils.setConfig("onelife", false); + if (Config.getBoolean("onelife")) { + Config.setValue("onelife", false); GUIUtils.sendTitleToAll("Server Einstellungen", "Ein Leben für alle deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("onelife", true); + Config.setValue("onelife", true); GUIUtils.sendTitleToAll("Server Einstellungen", "Ein Leben für alle aktiviert", ChatUtil.GREEN); } } case RESPAWN_INDEX -> { - if (plugin.getConfig().getBoolean("respawn")) { - GUIUtils.setConfig("respawn", false); + if (Config.getBoolean("respawn")) { + Config.setValue("respawn", false); GUIUtils.sendTitleToAll("Server Einstellungen", "Wiederbeleben deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("respawn", true); + Config.setValue("respawn", true); GUIUtils.sendTitleToAll("Server Einstellungen", "Wiederbeleben aktiviert", ChatUtil.GREEN); } } case PVP_INDEX -> { if (plugin.getPvP()) { plugin.setPvP(false); - GUIUtils.setConfig("pvp", false); + Config.setValue("pvp", false); GUIUtils.sendTitleToAll("Server Einstellungen", "PVP deaktiviert", ChatUtil.RED); } else { plugin.setPvP(true); - GUIUtils.setConfig("pvp", true); + Config.setValue("pvp", true); GUIUtils.sendTitleToAll("Server Einstellungen", "PVP aktiviert", ChatUtil.GREEN); } } @@ -174,21 +175,21 @@ } } case ULTRA_HARDCORE_INDEX -> { - if (plugin.getConfig().getBoolean("ultrahardcore")) { + if (Config.getBoolean("ultrahardcore")) { item = GUIUtils.createGuiItem(Material.SUSPICIOUS_STEW, ChatUtil.GREEN + "Ultra Hardcore aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.SUSPICIOUS_STEW, ChatUtil.RED + "Ultra Hardcore deaktiviert"); } } case ONE_LIFE_INDEX -> { - if (plugin.getConfig().getBoolean("onelife")) { + if (Config.getBoolean("onelife")) { item = GUIUtils.createGuiItem(Material.SUNFLOWER, ChatUtil.GREEN + "Ein Leben für alle aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.SUNFLOWER, ChatUtil.RED + "Ein Leben für alle deaktiviert"); } } case RESPAWN_INDEX -> { - if (plugin.getConfig().getBoolean("respawn")) { + if (Config.getBoolean("respawn")) { item = GUIUtils.createGuiItem(Material.TOTEM_OF_UNDYING, ChatUtil.GREEN + "Wiederbeleben aktiviert", true); } else { item = GUIUtils.createGuiItem(Material.TOTEM_OF_UNDYING, ChatUtil.RED + "Wiederbeleben deaktiviert"); @@ -240,17 +241,17 @@ } else { SERVER_SETTINGS_GUI.setItem(PVP_INDEX, GUIUtils.createGuiItem(Material.WOODEN_SWORD, ChatUtil.RED + "PVP deaktiviert")); } - if (plugin.getConfig().getBoolean("onelife")) { + if (Config.getBoolean("onelife")) { SERVER_SETTINGS_GUI.setItem(ONE_LIFE_INDEX, GUIUtils.createGuiItem(Material.SUNFLOWER, ChatUtil.GREEN + "Ein Leben für alle aktiviert", true)); } else { SERVER_SETTINGS_GUI.setItem(ONE_LIFE_INDEX, GUIUtils.createGuiItem(Material.SUNFLOWER, ChatUtil.RED + "Ein Leben für alle deaktiviert")); } - if (plugin.getConfig().getBoolean("respawn")) { + if (Config.getBoolean("respawn")) { SERVER_SETTINGS_GUI.setItem(RESPAWN_INDEX, GUIUtils.createGuiItem(Material.TOTEM_OF_UNDYING, ChatUtil.GREEN + "Wiederbeleben aktiviert", true)); } else { SERVER_SETTINGS_GUI.setItem(RESPAWN_INDEX, GUIUtils.createGuiItem(Material.TOTEM_OF_UNDYING, ChatUtil.RED + "Wiederbeleben deaktiviert")); } - if (plugin.getConfig().getBoolean("ultrahardcore")) { + if (Config.getBoolean("ultrahardcore")) { SERVER_SETTINGS_GUI.setItem(ULTRA_HARDCORE_INDEX, GUIUtils.createGuiItem(Material.SUSPICIOUS_STEW, ChatUtil.GREEN + "Ultra Hardcore aktiviert", true)); } else { SERVER_SETTINGS_GUI.setItem(ULTRA_HARDCORE_INDEX, GUIUtils.createGuiItem(Material.SUSPICIOUS_STEW, ChatUtil.RED + "Ultra Hardcore deaktiviert")); @@ -300,38 +301,38 @@ case PVP_INDEX: if (plugin.getPvP()) { plugin.setPvP(false); - GUIUtils.setConfig("pvp", false); + Config.setValue("pvp", false); GUIUtils.sendTitleToAll("Server Einstellungen", "PVP deaktiviert", ChatUtil.RED); } else { plugin.setPvP(true); - GUIUtils.setConfig("pvp", true); + Config.setValue("pvp", true); GUIUtils.sendTitleToAll("Server Einstellungen", "PVP aktiviert", ChatUtil.GREEN); } break; case ONE_LIFE_INDEX: - if (plugin.getConfig().getBoolean("onelife")) { - GUIUtils.setConfig("onelife", false); + if (Config.getBoolean("onelife")) { + Config.setValue("onelife", false); GUIUtils.sendTitleToAll("Server Einstellungen", "Ein Leben für alle deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("onelife", true); + Config.setValue("onelife", true); GUIUtils.sendTitleToAll("Server Einstellungen", "Ein Leben für alle aktiviert", ChatUtil.GREEN); } break; case RESPAWN_INDEX: - if (plugin.getConfig().getBoolean("respawn")) { - GUIUtils.setConfig("respawn", false); + if (Config.getBoolean("respawn")) { + Config.setValue("respawn", false); GUIUtils.sendTitleToAll("Server Einstellungen", "Wiederbeleben deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("respawn", true); + Config.setValue("respawn", true); GUIUtils.sendTitleToAll("Server Einstellungen", "Wiederbeleben aktiviert", ChatUtil.GREEN); } break; case ULTRA_HARDCORE_INDEX: - if (plugin.getConfig().getBoolean("ultrahardcore")) { - GUIUtils.setConfig("ultrahardcore", false); + if (Config.getBoolean("ultrahardcore")) { + Config.setValue("ultrahardcore", false); GUIUtils.sendTitleToAll("Server Einstellungen", "Ultra Hardcore deaktiviert", ChatUtil.RED); } else { - GUIUtils.setConfig("ultrahardcore", true); + Config.setValue("ultrahardcore", true); GUIUtils.sendTitleToAll("Server Einstellungen", "Ultra Hardcore aktiviert", ChatUtil.GREEN); } break; diff --git a/src/main/java/de/fanta/challenges/listeners/BlockCreateListener.java b/src/main/java/de/fanta/challenges/listeners/BlockCreateListener.java index 3effe12..176d965 100644 --- a/src/main/java/de/fanta/challenges/listeners/BlockCreateListener.java +++ b/src/main/java/de/fanta/challenges/listeners/BlockCreateListener.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.scoreboard.ChallengePlayer; +import de.fanta.challenges.utils.Config; import org.bukkit.GameMode; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -17,7 +18,7 @@ if (!plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { e.setCancelled(true); } - if (plugin.getConfig().getString("event.type").equals("build")) { + if (Config.getString("event.type").equals("build")) { plugin.getScoreManager().updateScore(new ChallengePlayer(e.getPlayer().getUniqueId()), -1); } } diff --git a/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java b/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java index 51e10fd..a808823 100644 --- a/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java +++ b/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.scoreboard.ChallengePlayer; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.ItemTypeListUtil; import de.iani.cubesideutils.bukkit.items.ItemGroups; import org.bukkit.Bukkit; @@ -23,7 +24,7 @@ if ((!plugin.getTimer().isRunning()) && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { e.setCancelled(true); } - if (plugin.getConfig().getString("event.type").equals("build") && plugin.getTimer().isRunning()) { + if (Config.getString("event.type").equals("build") && plugin.getTimer().isRunning()) { Material blockType = e.getBlock().getType(); if (!ItemTypeListUtil.isInstaBreakBlock(blockType) && !ItemGroups.isDoubleBlockPlant(blockType) && !ItemGroups.isSingleBlockPlant(blockType)) { plugin.getScoreManager().updateScore(new ChallengePlayer(e.getPlayer().getUniqueId()), 1); @@ -33,7 +34,7 @@ @EventHandler public void onBlockDrop(BlockDropItemEvent e) { - if (plugin.getConfig().getBoolean("silkore")) { + if (Config.getBoolean("silkore")) { Block block = e.getBlock(); Material dropType; if (plugin.getProtocolVersion() > 754) { diff --git a/src/main/java/de/fanta/challenges/listeners/ContainerListener.java b/src/main/java/de/fanta/challenges/listeners/ContainerListener.java index 5138561..c72f270 100644 --- a/src/main/java/de/fanta/challenges/listeners/ContainerListener.java +++ b/src/main/java/de/fanta/challenges/listeners/ContainerListener.java @@ -4,6 +4,7 @@ import de.fanta.challenges.teams.ChallengeTeam; import de.fanta.challenges.teams.TeamUtils; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.block.Block; import org.bukkit.block.BlockState; @@ -33,11 +34,11 @@ @EventHandler public void onContainerPlace(BlockPlaceEvent e) { BlockState state = e.getBlockPlaced().getState(); - if (!plugin.getConfig().getBoolean("event.minilwc")) { + if (!Config.getBoolean("event.minilwc")) { return; } if (state instanceof Container container) { - if (plugin.getConfig().getBoolean("event.teams")) { + if (Config.getBoolean("event.teams")) { ChallengeTeam challengeTeam = TeamUtils.getPlayerTeam(e.getPlayer()); if (challengeTeam != null) { container.setMetadata(META_PLACED_BY_TEAM, new FixedMetadataValue(plugin, challengeTeam.getName())); @@ -54,7 +55,7 @@ @EventHandler public void onFurnaceStartSmelt(FurnaceStartSmeltEvent e) { - if (plugin.getConfig().getBoolean("speedfurnace")) { + if (Config.getBoolean("speedfurnace")) { e.setTotalCookTime(e.getTotalCookTime() / 10); } } @@ -62,7 +63,7 @@ @EventHandler public void onInteract(PlayerInteractEvent e) { - if (!plugin.getConfig().getBoolean("event.minilwc")) { + if (!Config.getBoolean("event.minilwc")) { return; } diff --git a/src/main/java/de/fanta/challenges/listeners/DamageListener.java b/src/main/java/de/fanta/challenges/listeners/DamageListener.java index 109b3ae..5f7a441 100644 --- a/src/main/java/de/fanta/challenges/listeners/DamageListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DamageListener.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -20,11 +21,11 @@ if (e.getEntity() instanceof Player p) { if (plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) { String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); - if (plugin.getConfig().getBoolean("dmginchat")) { + if (Config.getBoolean("dmginchat")) { if ((e.getFinalDamage() > 0) && (e.getFinalDamage() < 10000)) { if (!e.getCause().name().startsWith("ENTITY_")) { if (e.getCause() == DamageCause.CUSTOM) { - ChatUtil.sendBrodcastMessage(ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + plugin.getConfig().getDouble("sneakdmg") + ChatUtil.GREEN + " HP Schaden genommen durch" + ChatUtil.ORANGE + " Server"); + ChatUtil.sendBrodcastMessage(ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + Config.getDouble("sneakdmg") + ChatUtil.GREEN + " HP Schaden genommen durch" + ChatUtil.ORANGE + " Server"); } else { ChatUtil.sendBrodcastMessage(ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getCause().toString().replace("_", " ").toLowerCase()); } @@ -45,7 +46,7 @@ } if ((e.getEntity() instanceof Player p) && (e.getFinalDamage() > 0) && !plugin.getVanish().isVanish(p)) { String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); - if ((e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) && plugin.getConfig().getBoolean("dmginchat")) { + if ((e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) && Config.getBoolean("dmginchat")) { if (e.getDamager() instanceof Player damager) { if (!plugin.getVanish().isVanish(damager)) { ChatUtil.sendBrodcastMessage(ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getDamager().getName()); diff --git a/src/main/java/de/fanta/challenges/listeners/DeathListener.java b/src/main/java/de/fanta/challenges/listeners/DeathListener.java index 326bef9..dd902cb 100644 --- a/src/main/java/de/fanta/challenges/listeners/DeathListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DeathListener.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -21,7 +22,7 @@ @EventHandler public void onPlayerDeath(PlayerDeathEvent e) { - if (plugin.getConfig().getBoolean("onelife")) { + if (Config.getBoolean("onelife")) { plugin.getTimer().stopTimer(); for (Player p : Bukkit.getOnlinePlayers()) { p.setGameMode(GameMode.SPECTATOR); @@ -31,12 +32,12 @@ ChatUtil.sendBrodcastMessage("Welt Seed: " + Bukkit.getWorlds().get(0).getSeed()); ChatUtil.sendBrodcastMessage("Um alle wiederzubeleben benutze §c/revive ALL"); } else { - if (plugin.getConfig().getBoolean("event.enabled")) { + if (Config.getBoolean("event.enabled")) { e.setDeathMessage(plugin.getPREFIX() + " " + ChatUtil.BLUE + e.getDeathMessage()); } else { e.setDeathMessage(plugin.getPREFIX() + " " + ChatUtil.BLUE + e.getDeathMessage() + ChatUtil.ORANGE + " (" + e.getEntity().getLocation().getBlockX() + "/" + e.getEntity().getLocation().getBlockY() + "/" + e.getEntity().getLocation().getBlockZ() + ")"); } - if (!plugin.getConfig().getBoolean("respawn")) { + if (!Config.getBoolean("respawn")) { Player editor = plugin.getCurrentEditor(); ChatUtil.sendNormalMessage(editor, "§6Benutze §c/revive " + e.getEntity().getName() + " [world] [x] [y] [z] §6um ihn wiederzubeleben!"); } diff --git a/src/main/java/de/fanta/challenges/listeners/InteractListener.java b/src/main/java/de/fanta/challenges/listeners/InteractListener.java index c9bd02e..daf9992 100644 --- a/src/main/java/de/fanta/challenges/listeners/InteractListener.java +++ b/src/main/java/de/fanta/challenges/listeners/InteractListener.java @@ -1,6 +1,7 @@ package de.fanta.challenges.listeners; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import org.bukkit.GameMode; import org.bukkit.entity.Villager; import org.bukkit.event.EventHandler; @@ -30,7 +31,7 @@ e.setCancelled(true); } - if (plugin.getConfig().getBoolean("disablevillagertradelimits")) { + if (Config.getBoolean("disablevillagertradelimits")) { if (e.getRightClicked() instanceof Villager villager) { for (MerchantRecipe trade : villager.getRecipes()) { trade.setMaxUses(Integer.MAX_VALUE); diff --git a/src/main/java/de/fanta/challenges/listeners/MinimapListener.java b/src/main/java/de/fanta/challenges/listeners/MinimapListener.java index 5c5d4d8..c005eef 100644 --- a/src/main/java/de/fanta/challenges/listeners/MinimapListener.java +++ b/src/main/java/de/fanta/challenges/listeners/MinimapListener.java @@ -1,6 +1,7 @@ package de.fanta.challenges.listeners; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.bukkit.plugin.api.events.GetMinimapWorldNameEvent; import org.bukkit.World; import org.bukkit.event.EventHandler; @@ -17,11 +18,11 @@ e.setServerName(plugin.getServerType().getPrefix()); World world = e.getPlayer().getWorld(); String worldName; - if (plugin.getConfig().getString("minimap." + world.getName()) != null) { - worldName = plugin.getConfig().getString("minimap." + world.getName()); + if (Config.getString("minimap." + world.getName()) != null) { + worldName = Config.getString("minimap." + world.getName()); } else { UUID worldUUID = UUID.randomUUID(); - plugin.getConfig().set("minimap." + world.getName(), worldUUID.toString()); + Config.setValue("minimap." + world.getName(), worldUUID.toString(), false); plugin.saveConfig(); worldName = worldUUID.toString(); } diff --git a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java index 2d92d7f..6170f69 100644 --- a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java +++ b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java @@ -5,6 +5,7 @@ import de.fanta.challenges.events.PlayerCountChangedEvent; import de.fanta.challenges.scoreboard.ChallengePlayer; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.StringUtil; import de.iani.cubesideutils.commands.ArgsParser; import de.tr7zw.changeme.nbtapi.NBTCompoundList; @@ -100,7 +101,7 @@ @EventHandler public void onPlayerDeath(PlayerDeathEvent e) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "deathcounter") && plugin.getTimer().isRunning()) { + if (Objects.equals(Config.getString("event.type"), "deathcounter") && plugin.getTimer().isRunning()) { plugin.getScoreManager().updateScore(new ChallengePlayer(e.getEntity().getUniqueId()), 1); } } @@ -114,7 +115,7 @@ @EventHandler public void onExpChangeEvent(PlayerLevelChangeEvent e) { - if (Objects.equals(plugin.getConfig().getString("event.type"), "xp") && plugin.getTimer().isRunning()) { + if (Objects.equals(Config.getString("event.type"), "xp") && plugin.getTimer().isRunning()) { plugin.getScoreManager().updateScore(new ChallengePlayer(e.getPlayer().getUniqueId()), e.getNewLevel() - e.getOldLevel()); } } @@ -138,7 +139,7 @@ public void onPayerMove(PlayerMoveEvent e) { Player player = e.getPlayer(); Location playerloc = player.getLocation(); - if (!plugin.getConfig().getBoolean("firsttimerstart") && plugin.getServerType() != ServerType.ADVENTURE) { + if (!Config.getBoolean("firsttimerstart") && plugin.getServerType() != ServerType.ADVENTURE) { if (!plugin.getTimer().isRunning() && player.getGameMode() == GameMode.SURVIVAL) { Location spawn = e.getPlayer().getWorld().getSpawnLocation(); if (playerloc.distance(spawn) > 20) { @@ -151,22 +152,22 @@ @EventHandler public void onPlayerRespawn(PlayerRespawnEvent e) { - if (!plugin.getConfig().getBoolean("respawn")) { + if (!Config.getBoolean("respawn")) { e.getPlayer().sendTitle(ChatUtil.GREEN + "Du bist gestorben!", ChatUtil.RED + "Du bist nun Zuschauer", 10, 80, 10); Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> e.getPlayer().setGameMode(GameMode.SPECTATOR), 1); } - if (plugin.getConfig().getBoolean("nether.enabled")) { + if (Config.getBoolean("nether.enabled")) { Location spawn = Bukkit.getWorlds().get(1).getSpawnLocation(); e.setRespawnLocation(spawn); } - if (!e.isBedSpawn() && !e.isAnchorSpawn() && !plugin.getConfig().getBoolean("nether.enabled")) { + if (!e.isBedSpawn() && !e.isAnchorSpawn() && !Config.getBoolean("nether.enabled")) { e.setRespawnLocation(getServer().getWorlds().get(0).getSpawnLocation().add(0.5, 0.0, 0.5)); } } @EventHandler public void onPlayerSpawn(PlayerSpawnLocationEvent e) { - if (!e.getPlayer().hasPlayedBefore() && !plugin.getConfig().getBoolean("nether.enabled")) { + if (!e.getPlayer().hasPlayedBefore() && !Config.getBoolean("nether.enabled")) { e.setSpawnLocation(getServer().getWorlds().get(0).getSpawnLocation().add(0.5, 0.0, 0.5)); } @@ -176,7 +177,7 @@ public void onPlayerPortal(PlayerPortalEvent e) { Location endspawn = Bukkit.getWorlds().get(2).getSpawnLocation().add(60, -15, 60); if (plugin.getTimer().isRunning()) { - if (plugin.getConfig().getBoolean("nether.enabled")) { + if (Config.getBoolean("nether.enabled")) { for (int x = endspawn.getBlockX() - 2; x <= endspawn.getBlockX() + 2; x++) { for (int z = endspawn.getBlockZ() - 2; z <= endspawn.getBlockZ() + 2; z++) { for (int y = endspawn.getBlockY(); y <= endspawn.getBlockY() + 3; y++) { @@ -216,7 +217,7 @@ @EventHandler public void onHealing(EntityRegainHealthEvent e) { - if (plugin.getConfig().getBoolean("ultrahardcore")) { + if (Config.getBoolean("ultrahardcore")) { if (e.getEntity() instanceof Player) { e.setCancelled(true); } @@ -225,7 +226,7 @@ @EventHandler public void onEat(PlayerItemConsumeEvent e) { - if (plugin.getConfig().getBoolean("ultrahardcore")) { + if (Config.getBoolean("ultrahardcore")) { if (e.getItem().getType() == Material.ENCHANTED_GOLDEN_APPLE || e.getItem().getType() == Material.GOLDEN_APPLE) { e.setCancelled(true); ChatUtil.sendErrorMessage(e.getPlayer(), "Goldäpfel sind in Ultra Hardcore nicht erlaubt!"); diff --git a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java index 2103285..3ff6b57 100644 --- a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java +++ b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java @@ -7,6 +7,7 @@ import de.fanta.challenges.events.ServerStatusChangedEvent; import de.fanta.challenges.scoreboard.ChallengePlayer; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.SaveWorldUtils; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -34,7 +35,7 @@ p.setResourcePack(plugin.texturepacklink, ""); } - if (plugin.getConfig().getBoolean("nether.enabled") && !p.hasPlayedBefore()) { + if (Config.getBoolean("nether.enabled") && !p.hasPlayedBefore()) { Location netherspawn = Bukkit.getWorlds().get(1).getSpawnLocation(); p.teleport(netherspawn); } @@ -42,12 +43,13 @@ if (!plugin.getVanish().isVanish(p)) { ChatUtil.sendBrodcastMessage(ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat die Lobby betreten! " + ChatUtil.YELLOW + "[" + (Bukkit.getServer().getOnlinePlayers().size() - plugin.getVanish().countVanishPlayers()) + "/" + Bukkit.getServer().getMaxPlayers() + "]"); e.setJoinMessage(null); + plugin.addstatisticPlayers(p.getUniqueId()); if (plugin.getServerType() != ServerType.ADVENTURE) { if (!DeathrunChallengeEvent.getDeadPlayer().contains(p.getUniqueId())) { plugin.getScoreManager().join(new ChallengePlayer(p.getUniqueId())); plugin.getSBManager().setScoreboardtoPlayer(p); plugin.getSBManager().updateEventScoreboard(); - if (!plugin.getConfig().getBoolean("event.teams") && plugin.getScoreManager().getScores() != null && plugin.getScoreManager().getScore(new ChallengePlayer(p.getUniqueId())) == 0) { + if (!Config.getBoolean("event.teams") && plugin.getScoreManager().getScores() != null && plugin.getScoreManager().getScore(new ChallengePlayer(p.getUniqueId())) == 0) { plugin.getScoreManager().updateScore(new ChallengePlayer(e.getPlayer().getUniqueId()), 0); } } @@ -76,13 +78,13 @@ @EventHandler public void onPlayerLogin(PlayerLoginEvent e) { if (plugin.getServerType() == ServerType.CHALLENGE_EVENT) { - if (!plugin.getConfig().getBoolean("firsttimerstart") && Bukkit.getOnlinePlayers().size() == 0) { + if (!Config.getBoolean("firsttimerstart") && Bukkit.getOnlinePlayers().size() == 0) { if (!e.getPlayer().hasPermission("challenges.event")) { e.setResult(PlayerLoginEvent.Result.KICK_OTHER); e.setKickMessage("Aktuell läuft kein Event."); } } else { - if (!plugin.getTimer().isRunning() && plugin.getConfig().getBoolean("firsttimerstart")) { + if (!plugin.getTimer().isRunning() && Config.getBoolean("firsttimerstart")) { if (!e.getPlayer().hasPermission("challenges.event")) { e.setResult(PlayerLoginEvent.Result.KICK_OTHER); e.setKickMessage("Das Event wurde pausiert."); @@ -109,7 +111,7 @@ } if (Bukkit.getServer().getOnlinePlayers().size() - 1 == 0) { - if (plugin.getConfig().getBoolean("firsttimerstart")) { + if (Config.getBoolean("firsttimerstart")) { SaveWorldUtils.saveWorld(plugin.getFirstEditor().getUniqueId().toString(), true); plugin.startResetTask(); } else { diff --git a/src/main/java/de/fanta/challenges/listeners/VoidListener.java b/src/main/java/de/fanta/challenges/listeners/VoidListener.java index 300a460..95ce838 100644 --- a/src/main/java/de/fanta/challenges/listeners/VoidListener.java +++ b/src/main/java/de/fanta/challenges/listeners/VoidListener.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.events.TimerChangedEvent; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -21,7 +22,7 @@ @EventHandler public void onActivation(TimerChangedEvent event) { - if (plugin.getConfig().getBoolean("void.enabled")) { + if (Config.getBoolean("void.enabled")) { if (event.isRunning()) { startTask(); } diff --git a/src/main/java/de/fanta/challenges/scoreboard/ScoreBoardManager.java b/src/main/java/de/fanta/challenges/scoreboard/ScoreBoardManager.java index 01e3191..be601b8 100644 --- a/src/main/java/de/fanta/challenges/scoreboard/ScoreBoardManager.java +++ b/src/main/java/de/fanta/challenges/scoreboard/ScoreBoardManager.java @@ -4,6 +4,7 @@ import de.fanta.challenges.ServerType; import de.fanta.challenges.teams.ChallengeTeam; import de.fanta.challenges.teams.TeamUtils; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.OfflinePlayer; @@ -82,7 +83,7 @@ if (plugin.getServerType() == ServerType.ADVENTURE) { return; } - if (plugin.getConfig().getBoolean("tabhp")) { + if (Config.getBoolean("tabhp")) { if (this.tabHP == null) { tabHP = scoreboard.registerNewObjective("hp", "health", "§6Challenges"); } @@ -109,8 +110,8 @@ if (plugin.getServerType() == ServerType.ADVENTURE) { return; } - if (plugin.getConfig().getBoolean("event.enabled")) { - if (!plugin.getConfig().getBoolean("event.teams")) { + if (Config.getBoolean("event.enabled")) { + if (!Config.getBoolean("event.teams")) { this.team.setColor(ChatColor.BLUE); this.team.setDisplayName("Event"); diff --git a/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java b/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java index 8ca2eb5..4b2da7f 100644 --- a/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java +++ b/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java @@ -6,6 +6,7 @@ import de.fanta.challenges.teams.ChallengeTeam; import de.fanta.challenges.teams.TeamUtils; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import de.iani.cubesideutils.HastebinUtil; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -207,7 +208,7 @@ SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy - HH:mm:ss"); Date currentTime = new Date(); - sb.append("Challenges Event -> ").append(plugin.getConfig().getString("event.type")); + sb.append("Challenges Event -> ").append(Config.getString("event.type")); sb.append('\n'); sb.append("=".repeat(20)); sb.append('\n'); @@ -219,7 +220,7 @@ } sb.append("Erstellt am: ").append(formatter.format(currentTime)).append('\n'); sb.append("Timer: ").append(plugin.getTimer().formatTime()).append('\n'); - if (Objects.equals(plugin.getConfig().getString("event.type"), "sammelfieber")) { + if (Objects.equals(Config.getString("event.type"), "sammelfieber")) { sb.append("Item: ").append(new ItemStack(SammelFieberSettingsGui.getEventItem()).getI18NDisplayName()).append('\n'); sb.append("Cubes pro Item: ").append(SammelFieberSettingsGui.MONEY).append('\n'); sb.append("Items abgegeben: ").append(SammelFieberChallengeEvent.getCount()).append('\n'); @@ -234,7 +235,7 @@ if (this.scores.isEmpty()) { sb.append(" Das Event hatte keine Teilnehmer!\n"); } else { - if (plugin.getConfig().getBoolean("event.teams")) { + if (Config.getBoolean("event.teams")) { for (ScoreData entry : positions) { ChallengeTeam challengeTeam = TeamUtils.getTeam(entry.getScorable().getName()); if (challengeTeam != null) { diff --git a/src/main/java/de/fanta/challenges/teams/TeamListener.java b/src/main/java/de/fanta/challenges/teams/TeamListener.java index 56dce78..fb572c3 100644 --- a/src/main/java/de/fanta/challenges/teams/TeamListener.java +++ b/src/main/java/de/fanta/challenges/teams/TeamListener.java @@ -4,6 +4,7 @@ import de.fanta.challenges.ServerType; import de.fanta.challenges.guis.eventgui.TeamSelectGUI; import de.fanta.challenges.utils.ChatUtil; +import de.fanta.challenges.utils.Config; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; @@ -131,25 +132,25 @@ return; } Inventory inventory = e.getPlayer().getInventory(); - if (plugin.getConfig().getBoolean("event.teams") && plugin.getConfig().getBoolean("event.teamselect") && !plugin.getTimer().isRunning()) { + if (Config.getBoolean("event.teams") && Config.getBoolean("event.teamselect") && !plugin.getTimer().isRunning()) { inventory.setItem(8, TeamUtils.selctItem()); } else { inventory.removeItem(TeamUtils.selctItem()); } - if (plugin.getConfig().getBoolean("event.teams") && !plugin.getConfig().getBoolean("event.autoteams") && plugin.getTimer().isRunning() && !playerTeams.containsKey(e.getPlayer().getUniqueId())) { + if (Config.getBoolean("event.teams") && !Config.getBoolean("event.autoteams") && plugin.getTimer().isRunning() && !playerTeams.containsKey(e.getPlayer().getUniqueId())) { e.getPlayer().setGameMode(GameMode.SPECTATOR); ChatUtil.sendNormalMessage(e.getPlayer(), "Du bist nur zuschauer diese Runde."); return; } - if (plugin.getConfig().getBoolean("event.teams") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("event.teams") && plugin.getTimer().isRunning()) { if (!plugin.getVanish().isVanish(e.getPlayer())) { if (TeamUtils.getPlayerTeam(e.getPlayer()) == null) { if (playerTeams.containsKey(e.getPlayer().getUniqueId())) { TeamUtils.selectTeam(e.getPlayer(), playerTeams.get(e.getPlayer().getUniqueId())); } else { - if (plugin.getConfig().getBoolean("event.autoteams") && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { + if (Config.getBoolean("event.autoteams") && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { TeamUtils.setAllPlayerWithoutTeamToTeam(); plugin.getScoreManager().updateScore(TeamUtils.getPlayerTeam(e.getPlayer()), 0); if (TeamUtils.getPlayerTeam(e.getPlayer()) != null && TeamUtils.getPlayerTeam(e.getPlayer()).getSpawn() != null) { @@ -160,7 +161,7 @@ } } } - if (plugin.getConfig().getBoolean("event.teams") && plugin.getScoreManager().getScore(TeamUtils.getPlayerTeam(e.getPlayer())) == 0) { + if (Config.getBoolean("event.teams") && plugin.getScoreManager().getScore(TeamUtils.getPlayerTeam(e.getPlayer())) == 0) { plugin.getScoreManager().updateScore(TeamUtils.getPlayerTeam(e.getPlayer()), 0); } } @@ -193,7 +194,7 @@ if (plugin.getServerType() == ServerType.ADVENTURE) { return; } - if (plugin.getConfig().getBoolean("event.teams") && !plugin.getConfig().getBoolean("event.autoteams") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("event.teams") && !Config.getBoolean("event.autoteams") && plugin.getTimer().isRunning()) { if (e.getPlayer().hasPermission("challenges.event")) { return; } @@ -209,7 +210,7 @@ if (plugin.getServerType() == ServerType.ADVENTURE) { return; } - if (plugin.getConfig().getBoolean("event.teams") && plugin.getTimer().isRunning()) { + if (Config.getBoolean("event.teams") && plugin.getTimer().isRunning()) { ChallengeTeam team = TeamUtils.getPlayerTeam(e.getPlayer()); if (team != null) { playerTeams.put(e.getPlayer().getUniqueId(), team); diff --git a/src/main/java/de/fanta/challenges/utils/Config.java b/src/main/java/de/fanta/challenges/utils/Config.java new file mode 100644 index 0000000..5189b6a --- /dev/null +++ b/src/main/java/de/fanta/challenges/utils/Config.java @@ -0,0 +1,72 @@ +package de.fanta.challenges.utils; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ServerType; +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.inventory.ItemStack; + +public class Config { + + private static final Challenges plugin = Challenges.getPlugin(); + + public static void setValue(String path, Object value) { + setValue(path, value, true); + } + + public static void setValue(String path, Object value, boolean edit) { + plugin.getConfig().set(path, value); + plugin.saveConfig(); + Bukkit.getLogger().info("Save Config " + path + ": " + value + " (" + edit + ")"); + if (edit && plugin.getServerType() == ServerType.CHALLENGE) { + if (!getBoolean("editsettings")) { + setValue("editsettings", true, false); + plugin.getLogger().info("Diese Challenge ist kein SpeedRun mehr " + "(" + path + ": " + value + ")"); + if (plugin.getCurrentEditor() != null) { + ChatUtil.sendWarningMessage(plugin.getCurrentEditor(), "Diese Challenge wird nicht mehr als Speed Run gezählt, da du etwas in den Einstellungen bearbeitet hast."); + } + } + } + } + + public static ConfigurationSection createSection(String path) { + return plugin.getConfig().createSection(path); + } + + public static boolean getBoolean(String path) { + return plugin.getConfig().getBoolean(path); + } + + public static int getInt(String path) { + return plugin.getConfig().getInt(path); + } + + public static String getString(String path) { + return plugin.getConfig().getString(path); + } + + public static double getDouble(String path) { + return plugin.getConfig().getDouble(path); + } + + public static double getDouble(String path, Double def) { + return plugin.getConfig().getDouble(path, def); + } + + public static ItemStack getItemStack(String path) { + return plugin.getConfig().getItemStack(path); + } + + public static Location getLocation(String path) { + return plugin.getConfig().getLocation(path); + } + + public static ConfigurationSection getConfigurationSection(String path) { + return plugin.getConfig().getConfigurationSection(path); + } + + public static boolean contains(String path) { + return plugin.getConfig().contains(path); + } +} diff --git a/src/main/java/de/fanta/challenges/utils/Statistics.java b/src/main/java/de/fanta/challenges/utils/Statistics.java new file mode 100644 index 0000000..6e13bfd --- /dev/null +++ b/src/main/java/de/fanta/challenges/utils/Statistics.java @@ -0,0 +1,130 @@ +package de.fanta.challenges.utils; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ServerType; +import de.iani.cubesidestats.api.CubesideStatisticsAPI; +import de.iani.cubesidestats.api.StatisticKey; + +import java.util.UUID; + +public class Statistics { + private final Challenges plugin; + + private final CubesideStatisticsAPI statistics; + + private final StatisticKey speedRunsPlayedSolo; + private final StatisticKey speedRunsWonSolo; + private final StatisticKey speedRunsTimeSolo; + + private final StatisticKey speedRunsPlayedDuo; + private final StatisticKey speedRunsWonDuo; + private final StatisticKey speedRunsTimeDuo; + + private final StatisticKey speedRunsPlayedTeam; + private final StatisticKey speedRunsWonTeam; + private final StatisticKey speedRunsTimeTeam; + + public Statistics(Challenges plugin) { + this.plugin = plugin; + statistics = plugin.getCubesideStatistics(); + + speedRunsPlayedSolo = statistics.getStatisticKey("challenge.speedruns.solo.played"); + speedRunsPlayedSolo.setDisplayName("Challenge - SpeedRun's gespielt (Solo)"); + speedRunsPlayedSolo.setIsMonthlyStats(true); + + speedRunsWonSolo = statistics.getStatisticKey("challenge.speedruns.solo.won"); + speedRunsWonSolo.setDisplayName("Challenge - SpeedRun's gewonnen (Solo)"); + speedRunsWonSolo.setIsMonthlyStats(true); + + speedRunsTimeSolo = statistics.getStatisticKey("challenge.speedruns.solo.time"); + speedRunsTimeSolo.setDisplayName("Challenge - Beste zeit (Solo)"); + speedRunsTimeSolo.setIsMonthlyStats(true); + + + speedRunsPlayedDuo = statistics.getStatisticKey("challenge.speedruns.duo.played"); + speedRunsPlayedDuo.setDisplayName("Challenge - SpeedRun's gespielt (Duo)"); + speedRunsPlayedDuo.setIsMonthlyStats(true); + + speedRunsWonDuo = statistics.getStatisticKey("challenge.speedruns.duo.won"); + speedRunsWonDuo.setDisplayName("Challenge - SpeedRun's gewonnen (Duo)"); + speedRunsWonDuo.setIsMonthlyStats(true); + + speedRunsTimeDuo = statistics.getStatisticKey("challenge.speedruns.duo.time"); + speedRunsTimeDuo.setDisplayName("Challenge - Beste zeit (Duo)"); + speedRunsTimeDuo.setIsMonthlyStats(true); + + + speedRunsPlayedTeam = statistics.getStatisticKey("challenge.speedruns.team.played"); + speedRunsPlayedTeam.setDisplayName("Challenge - SpeedRun's gespielt (Team)"); + speedRunsPlayedTeam.setIsMonthlyStats(true); + + speedRunsWonTeam = statistics.getStatisticKey("challenge.speedruns.team.won"); + speedRunsWonTeam.setDisplayName("Challenge - SpeedRun's gewonnen (Team)"); + speedRunsWonTeam.setIsMonthlyStats(true); + + speedRunsTimeTeam = statistics.getStatisticKey("challenge.speedruns.team.time"); + speedRunsTimeTeam.setDisplayName("Challenge - Beste zeit (Team)"); + speedRunsTimeTeam.setIsMonthlyStats(true); + } + + public void addSpeedRunWonSolo(UUID uuid, int time) { + statistics.getStatistics(uuid).increaseScore(speedRunsWonSolo, 1); + statistics.getStatistics(uuid).minScore(speedRunsTimeSolo, time); + } + + public void addSpeedRunsPlayedSolo(UUID uuid) { + statistics.getStatistics(uuid).increaseScore(speedRunsPlayedSolo, 1); + } + + public void addSpeedRunWonDuo(UUID uuid, int time) { + statistics.getStatistics(uuid).increaseScore(speedRunsWonDuo, 1); + statistics.getStatistics(uuid).minScore(speedRunsTimeDuo, time); + } + + public void addSpeedRunsPlayedDuo(UUID uuid) { + statistics.getStatistics(uuid).increaseScore(speedRunsPlayedDuo, 1); + } + + public void addSpeedRunWonTeam(UUID uuid, int time) { + statistics.getStatistics(uuid).increaseScore(speedRunsWonTeam, 1); + statistics.getStatistics(uuid).minScore(speedRunsTimeTeam, time); + } + + public void addSpeedRunsPlayedTeam(UUID uuid) { + statistics.getStatistics(uuid).increaseScore(speedRunsPlayedTeam, 1); + } + + public void saveSpeedRun() { + if (plugin.getServerType() != ServerType.CHALLENGE) { + return; + } + + for (UUID uuid : plugin.getstatisticPlayers()) { + int playerPlays = plugin.getstatisticPlayers().size(); + if (playerPlays == 1) { + addSpeedRunWonSolo(uuid, (int) (plugin.getTimer().getTimeInMs() / 1000) * 1000); + } else if (playerPlays == 2) { + addSpeedRunWonDuo(uuid, (int) (plugin.getTimer().getTimeInMs() / 1000) * 1000); + } else if (playerPlays > 2) { + addSpeedRunWonTeam(uuid, (int) (plugin.getTimer().getTimeInMs() / 1000) * 1000); + } + } + } + + public void addSpeedRunPlayed() { + if (plugin.getServerType() != ServerType.CHALLENGE) { + return; + } + + for (UUID uuid : plugin.getstatisticPlayers()) { + int playerPlays = plugin.getstatisticPlayers().size(); + if (playerPlays == 1) { + addSpeedRunsPlayedSolo(uuid); + } else if (playerPlays == 2) { + addSpeedRunsPlayedDuo(uuid); + } else if (playerPlays > 2) { + addSpeedRunsPlayedTeam(uuid); + } + } + } +} diff --git a/src/main/java/de/fanta/challenges/utils/guiutils/GUIUtils.java b/src/main/java/de/fanta/challenges/utils/guiutils/GUIUtils.java index 4df3fc6..00d7f5d 100644 --- a/src/main/java/de/fanta/challenges/utils/guiutils/GUIUtils.java +++ b/src/main/java/de/fanta/challenges/utils/guiutils/GUIUtils.java @@ -40,9 +40,4 @@ public static void sendTitleToAll(String headline, String text, ChatColor textColor) { ChatUtil.sendTitleToAll(headline, text, textColor, 10, 60, 10, true); } - - public static void setConfig(String path, Object value) { - plugin.getConfig().set(path, value); - plugin.saveConfig(); - } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index eeb98a7..6485993 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -31,16 +31,17 @@ disablevillagertradelimits: false teleportcommand: false gravestone: false +editsettings: false #Mögliche werte: 1-6 backpack_size: 3 -mlg: +mlg: enabled: false killall: false maxtime: 380 timertime: 0 firsttimerstart: false showtimer: true -Saved_Locations: {} +Saved_Locations: { } World_Reset: false silkore: false ultrahardcore: false diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 45d2ade..4f3ca42 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -3,7 +3,7 @@ version: ${project.version} author: ${project.author} api-version: 1.13 -depend: [CubesideUtils, VanishNoPacket, GlobalPort, CubesideNMSUtils, ViaVersion] +depend: [CubesideUtils, VanishNoPacket, GlobalPort, CubesideNMSUtils, ViaVersion, CubesideStatistics] softdepend: [NBTAPI] commands: hp: