diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java index a5a0c97..5602ab9 100644 --- a/src/main/java/de/fanta/challenges/Challenges.java +++ b/src/main/java/de/fanta/challenges/Challenges.java @@ -12,6 +12,7 @@ import de.fanta.challenges.events.PlayerCountChangedEvent; import de.fanta.challenges.events.ServerStatusChangedEvent; import de.fanta.challenges.events.TimerChangedEvent; +import de.fanta.challenges.guis.settingsgui.ServerSettingsGui; import de.fanta.challenges.listeners.BlockCreateListener; import de.fanta.challenges.listeners.BlockDestroyListener; import de.fanta.challenges.listeners.DamageListener; @@ -65,7 +66,7 @@ private SBManager sbManager; - private RandomDrops rndDrops; + public RandomDrops rndDrops; public static Inventory SettingsGUI = Bukkit.createInventory(null, 45, "§6Settings"); @@ -111,6 +112,7 @@ Bukkit.getPluginManager().registerEvents(new ResetGui(), this); Bukkit.getPluginManager().registerEvents(new MainGui(), this); Bukkit.getPluginManager().registerEvents(new SettingsGui(), this); + Bukkit.getPluginManager().registerEvents(new ServerSettingsGui(), this); saveDefaultConfig(); reloadConfig(); @@ -127,14 +129,12 @@ World world = Bukkit.getWorld("world"); world.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, false); checkMLGWorld(); - - Bukkit.getPluginManager().callEvent(new ServerStatusChangedEvent(true)); - Bukkit.getPluginManager().callEvent(new TimerChangedEvent(timer.isRunning())); - Bukkit.getPluginManager().callEvent(new PlayerCountChangedEvent(Bukkit.getOnlinePlayers().size())); }, 1L); if (getConfig().getBoolean("World_Reset")) { - getConfig().set("World_Reset", false); + File config = new File(plugin.getDataFolder(), "config.yml"); + config.delete(); + reloadConfig(); saveConfig(); this.backpack.clearConfig(); this.rndDrops.shuffleItems(); @@ -145,7 +145,11 @@ this.backpack.loadInventoryFromConfig(); } - + Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> { + Bukkit.getPluginManager().callEvent(new ServerStatusChangedEvent(true)); + Bukkit.getPluginManager().callEvent(new TimerChangedEvent(timer.isRunning())); + Bukkit.getPluginManager().callEvent(new PlayerCountChangedEvent(Bukkit.getOnlinePlayers().size())); + }, 200L); } @Override diff --git a/src/main/java/de/fanta/challenges/guis/ResetGui.java b/src/main/java/de/fanta/challenges/guis/ResetGui.java index 70b21b7..d51aaea 100644 --- a/src/main/java/de/fanta/challenges/guis/ResetGui.java +++ b/src/main/java/de/fanta/challenges/guis/ResetGui.java @@ -22,7 +22,7 @@ RESET_GUI.setItem(4, GUIUtils.createGuiItem(Material.REPEATING_COMMAND_BLOCK, ChatColor.DARK_RED + "Server resetten", ChatColor.RED + "Wenn du denn Server resettest wird", ChatColor.RED + "der Server komplett zurückgesetzt", ChatColor.RED + "und du musst von vorne beginnen!")); for (int i = 0; i < INVENTORY_SIZE; i++) { if (RESET_GUI.getItem(i) == null || RESET_GUI.getItem(i).getType() == Material.AIR) { - RESET_GUI.setItem(i, GUIUtils.createGuiItem(Material.GRAY_STAINED_GLASS_PANE, "§1", true)); + RESET_GUI.setItem(i, GUIUtils.EMPTY_ICON); } } p.openInventory(RESET_GUI); diff --git a/src/main/java/de/fanta/challenges/guis/SettingsGui.java b/src/main/java/de/fanta/challenges/guis/SettingsGui.java index e30fa32..eaf72fc 100644 --- a/src/main/java/de/fanta/challenges/guis/SettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/SettingsGui.java @@ -46,20 +46,11 @@ @EventHandler public void onUpdate(GuiUpdateEvent event) { - event.setButton(3, "dragon"); - event.setButton(4, "wither"); - event.setButton(18, "deathonfall"); - event.setButton(19, "damageonsneak"); - event.setButton(8, "rnddrops"); event.setButton(36, "sharedmg"); event.setButton(38, "respawn"); event.setButton(37, "onelife"); event.setButton(39, "dmginchat"); - event.setButton(20, "deathonsprint"); - event.setButton(21, "deathonjump"); - event.setButton(40, "clinvdmg"); event.setButton(26, "tntdeath"); - event.setButton(45, "mlg.enabled"); event.setButton(46, "mlg.killall"); } diff --git a/src/main/java/de/fanta/challenges/guis/TimerGui.java b/src/main/java/de/fanta/challenges/guis/TimerGui.java index 6a1ab0a..054e4a9 100644 --- a/src/main/java/de/fanta/challenges/guis/TimerGui.java +++ b/src/main/java/de/fanta/challenges/guis/TimerGui.java @@ -35,7 +35,7 @@ } for (int i = 0; i < INVENTORY_SIZE; i++) { if (TIMER_GUI.getItem(i) == null || TIMER_GUI.getItem(i).getType() == Material.AIR) { - TIMER_GUI.setItem(i, GUIUtils.createGuiItem(Material.GRAY_STAINED_GLASS_PANE, "§1", true)); + TIMER_GUI.setItem(i, GUIUtils.EMPTY_ICON); } } p.openInventory(TIMER_GUI); diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java index 74c5ae1..e84d8d8 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java @@ -19,14 +19,16 @@ public static final Inventory MAIN_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Settings"); private static final int CHALLENGES_INDEX = 10; + private static final int SERVER_SETTINGS_INDEX = 13; private static final int CLOSE_IDEX = 26; public static void createMainGUI(Player p) { MAIN_GUI.setItem(CHALLENGES_INDEX, GUIUtils.createGuiItem(Material.REPEATER, ChatColor.GREEN + "Challenges")); MAIN_GUI.setItem(CLOSE_IDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED + "Menü Verlassen!")); + MAIN_GUI.setItem(SERVER_SETTINGS_INDEX, GUIUtils.createGuiItem(Material.COMMAND_BLOCK, ChatColor.GREEN+ "Server Einstellungen")); for (int i = 0; i < INVENTORY_SIZE; i++) { if (MAIN_GUI.getItem(i) == null || MAIN_GUI.getItem(i).getType() == Material.AIR) { - MAIN_GUI.setItem(i, GUIUtils.createGuiItem(Material.GRAY_STAINED_GLASS_PANE, "§1", true)); + MAIN_GUI.setItem(i, GUIUtils.EMPTY_ICON); } } p.openInventory(MAIN_GUI); @@ -43,6 +45,10 @@ break; case CLOSE_IDEX: p.closeInventory(); + break; + case SERVER_SETTINGS_INDEX: + ServerSettingsGui.createServerSettingsGUI(p); + break; } e.setCancelled(true); } diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java new file mode 100644 index 0000000..b624991 --- /dev/null +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java @@ -0,0 +1,47 @@ +package de.fanta.challenges.guis.settingsgui; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.guis.settingsgui.SettingsGui; +import de.fanta.challenges.utils.guiutils.GUIUtils; +import net.md_5.bungee.api.ChatColor; +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.inventory.Inventory; + +public class ServerSettingsGui implements Listener { + + private static final Challenges plugin = Challenges.getPlugin(); + + public static final int INVENTORY_SIZE = 27; + public static final Inventory SERVER_SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Server Settings"); + + private static final int CHALLENGES_INDEX = 10; + + public static void createServerSettingsGUI(Player p) { + SERVER_SETTINGS_GUI.setItem(CHALLENGES_INDEX, GUIUtils.createGuiItem(Material.REPEATER, ChatColor.GREEN + "Challenges")); + for (int i = 0; i < INVENTORY_SIZE; i++) { + if (SERVER_SETTINGS_GUI.getItem(i) == null || SERVER_SETTINGS_GUI.getItem(i).getType() == Material.AIR) { + SERVER_SETTINGS_GUI.setItem(i, GUIUtils.EMPTY_ICON); + } + } + p.openInventory(SERVER_SETTINGS_GUI); + } + + @EventHandler + public void onInventoryClick(InventoryClickEvent e) { + int slot = e.getRawSlot(); + Player p = (Player) e.getWhoClicked(); + if (e.getInventory() == SERVER_SETTINGS_GUI) { + switch (slot) { + case CHALLENGES_INDEX: + SettingsGui.createSettingsGUI(p); + break; + } + e.setCancelled(true); + } + } +} diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java index 917b3c2..b74d8f7 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java @@ -2,7 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.guiutils.GUIUtils; -import me.wolfyscript.utilities.api.WolfyUtilities; +import de.iani.cubesideutils.bukkit.items.CustomHeads; import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -21,29 +21,91 @@ private static final int CRAFTING_TABLE_INDEX = 0; private static final int TRADING_INDEX = 9; - private static final int OLD_CONFIG_INDEX = 53; - private static final int XP_DEATH_INDEX =37; + + private static final int CLOSE_GUI_INDEX = 53; + private static final int BACK_BUTTON_INDEX = 45; + + private static final int XP_DEATH_INDEX = 37; + private static final int DEATH_ON_FALL_INDEX = 38; + private static final int DEATH_ON_SPRINT_INDEX = 39; + private static final int DEATH_ON_JUMP_INDEX = 40; + private static final int CLEANR_INV_BY_DAMAGE_INDEX = 41; + private static final int MLG_INDEX = 42; + private static final int RANDOM_DROP_INDEX = 8; + private static final int SHUFFLE_RANDOM_DROP_INDEX = 17; + private static final int TARGET_INDEX = 4; + + private static final int DMG_ON_SNEAK_INDEX = 43; + private static final int DMG_ON_SNEAK_ADD_INDEX = 34; + private static final int DMG_ON_SNEAK_REMOVE_INDEX = 52; public static void createSettingsGUI(Player p) { if (plugin.getConfig().getBoolean("craftingtable")) { SETTINGS_GUI.setItem(CRAFTING_TABLE_INDEX, GUIUtils.createGuiItem(Material.CRAFTING_TABLE, ChatColor.GREEN + "Werkbank aktiviert", true)); } else { - SETTINGS_GUI.setItem(CRAFTING_TABLE_INDEX, GUIUtils.createGuiItem(Material.CRAFTING_TABLE, ChatColor.RED+ "Werkbank deaktiviert")); + SETTINGS_GUI.setItem(CRAFTING_TABLE_INDEX, GUIUtils.createGuiItem(Material.CRAFTING_TABLE, ChatColor.RED + "Werkbank deaktiviert")); } if (plugin.getConfig().getBoolean("allowtrading")) { SETTINGS_GUI.setItem(TRADING_INDEX, GUIUtils.createGuiItem(Material.VILLAGER_SPAWN_EGG, ChatColor.GREEN + "Handeln aktiviert", true)); } else { - SETTINGS_GUI.setItem(TRADING_INDEX, GUIUtils.createGuiItem(Material.VILLAGER_SPAWN_EGG, ChatColor.RED+ "Handeln deaktiviert")); + SETTINGS_GUI.setItem(TRADING_INDEX, GUIUtils.createGuiItem(Material.VILLAGER_SPAWN_EGG, ChatColor.RED + "Handeln deaktiviert")); } if (plugin.getConfig().getBoolean("xpdeath")) { SETTINGS_GUI.setItem(XP_DEATH_INDEX, GUIUtils.createGuiItem(Material.ENCHANTING_TABLE, ChatColor.GREEN + "Sterben durch XP aktiviert", true, ChatColor.GREEN + "Wenn ein Spieler XP einsammelt wird er sterben")); } else { - SETTINGS_GUI.setItem(XP_DEATH_INDEX, GUIUtils.createGuiItem(Material.ENCHANTING_TABLE, ChatColor.RED+ "Sterben durch XP deaktiviert", ChatColor.RED + "Wenn ein Spieler XP einsammelt wird er sterben")); + SETTINGS_GUI.setItem(XP_DEATH_INDEX, GUIUtils.createGuiItem(Material.ENCHANTING_TABLE, ChatColor.RED + "Sterben durch XP deaktiviert", ChatColor.RED + "Wenn ein Spieler XP einsammelt wird er sterben")); } - SETTINGS_GUI.setItem(OLD_CONFIG_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED+ "Old Settings")); + if (plugin.getConfig().getBoolean("deathonfall")) { + SETTINGS_GUI.setItem(DEATH_ON_FALL_INDEX, GUIUtils.createGuiItem(Material.NETHERITE_BOOTS, ChatColor.GREEN + "Tod bei Fallschaden aktiviert", true)); + } else { + SETTINGS_GUI.setItem(DEATH_ON_FALL_INDEX, GUIUtils.createGuiItem(Material.NETHERITE_BOOTS, ChatColor.RED + "Tod bei Fallschaden deaktiviert")); + } + if (plugin.getConfig().getBoolean("rnddrops")) { + SETTINGS_GUI.setItem(RANDOM_DROP_INDEX, GUIUtils.createGuiItem(Material.NETHERITE_PICKAXE, ChatColor.GREEN + "Zufällige Drops aktiviert", true)); + } else { + SETTINGS_GUI.setItem(RANDOM_DROP_INDEX, GUIUtils.createGuiItem(Material.NETHERITE_PICKAXE, ChatColor.RED + "Zufällige Drops deaktiviert")); + } + if (plugin.getConfig().getBoolean("deathonsprint")) { + SETTINGS_GUI.setItem(DEATH_ON_SPRINT_INDEX, GUIUtils.createGuiItem(Material.POTION, ChatColor.GREEN + "Tod bei Sprinten aktiviert", true)); + } else { + SETTINGS_GUI.setItem(DEATH_ON_SPRINT_INDEX, GUIUtils.createGuiItem(Material.GLASS_BOTTLE, ChatColor.RED + "Tod bei Sprinten deaktiviert")); + } + if (plugin.getConfig().getBoolean("deathonjump")) { + SETTINGS_GUI.setItem(DEATH_ON_JUMP_INDEX, GUIUtils.createGuiItem(Material.RABBIT_FOOT, ChatColor.GREEN + "Tod bei Sprinten aktiviert", true)); + } else { + SETTINGS_GUI.setItem(DEATH_ON_JUMP_INDEX, GUIUtils.createGuiItem(Material.RABBIT_FOOT, ChatColor.RED + "Tod bei Sprinten deaktiviert")); + } + if (plugin.getConfig().getBoolean("target")) { + SETTINGS_GUI.setItem(TARGET_INDEX, GUIUtils.createGuiItem(Material.DRAGON_HEAD, ChatColor.GREEN + "Ziel: Enderdrache Töten")); + } else { + SETTINGS_GUI.setItem(TARGET_INDEX, GUIUtils.createGuiItem(Material.WITHER_SKELETON_SKULL, ChatColor.GREEN + "Ziel: Wither Töten")); + } + if (plugin.getConfig().getBoolean("clinvdmg")) { + SETTINGS_GUI.setItem(CLEANR_INV_BY_DAMAGE_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.GREEN + "Alle Inventare Löschen wenn einer Schaden bekommt aktieviert", true)); + } else { + SETTINGS_GUI.setItem(CLEANR_INV_BY_DAMAGE_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED + "Alle Inventare Löschen wenn einer Schaden bekommt deaktiviert")); + } + if (plugin.getConfig().getBoolean("damageonsneak")) { + SETTINGS_GUI.setItem(DMG_ON_SNEAK_INDEX, GUIUtils.createGuiItem(Material.SMOOTH_STONE_SLAB, ChatColor.GREEN + "Schaden bei Schleichen aktieviert", true, ChatColor.GREEN + "Schaden beim Schleichen: " + plugin.getConfig().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()); + + } else { + SETTINGS_GUI.setItem(DMG_ON_SNEAK_INDEX, GUIUtils.createGuiItem(Material.SMOOTH_STONE_SLAB, ChatColor.RED + "Schaden bei Schleichen deaktiviert")); + 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")) { + SETTINGS_GUI.setItem(MLG_INDEX, GUIUtils.createGuiItem(Material.WATER_BUCKET, ChatColor.GREEN + "MLG aktieviert", true)); + } else { + SETTINGS_GUI.setItem(MLG_INDEX, GUIUtils.createGuiItem(Material.WATER_BUCKET, ChatColor.RED + "MLG deaktiviert")); + } + SETTINGS_GUI.setItem(SHUFFLE_RANDOM_DROP_INDEX, GUIUtils.createGuiItem(Material.CHORUS_FLOWER, ChatColor.GREEN + "Zufällige Drops neu mischen")); + SETTINGS_GUI.setItem(CLOSE_GUI_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED + "Menü Verlassen!")); + SETTINGS_GUI.setItem(BACK_BUTTON_INDEX, GUIUtils.createGuiItem(Material.ARROW, ChatColor.GREEN + "Zurück")); for (int i = 0; i < INVENTORY_SIZE; i++) { if (SETTINGS_GUI.getItem(i) == null || SETTINGS_GUI.getItem(i).getType() == Material.AIR) { - SETTINGS_GUI.setItem(i, GUIUtils.createGuiItem(Material.GRAY_STAINED_GLASS_PANE, "§1", true)); + SETTINGS_GUI.setItem(i, GUIUtils.EMPTY_ICON); } } p.openInventory(SETTINGS_GUI); @@ -60,40 +122,128 @@ case CRAFTING_TABLE_INDEX: if (plugin.getConfig().getBoolean("craftingtable")) { GUIUtils.setConfig("craftingtable", false); - GUIUtils.sendTitleToAll("Challenge","Werkbank deaktiviert", ChatColor.RED); + GUIUtils.sendTitleToAll("Challenge", "Werkbank deaktiviert", ChatColor.RED); } else { GUIUtils.setConfig("craftingtable", true); - GUIUtils.sendTitleToAll("Challenge","Werkbank aktiviert", ChatColor.GREEN); + GUIUtils.sendTitleToAll("Challenge", "Werkbank aktiviert", ChatColor.GREEN); } break; case TRADING_INDEX: if (plugin.getConfig().getBoolean("allowtrading")) { GUIUtils.setConfig("allowtrading", false); - GUIUtils.sendTitleToAll("Challenge","Handeln deaktiviert", ChatColor.RED); + GUIUtils.sendTitleToAll("Challenge", "Handeln deaktiviert", ChatColor.RED); } else { GUIUtils.setConfig("allowtrading", true); - GUIUtils.sendTitleToAll("Challenge","Handeln aktiviert", ChatColor.GREEN); + GUIUtils.sendTitleToAll("Challenge", "Handeln aktiviert", ChatColor.GREEN); } break; case XP_DEATH_INDEX: if (plugin.getConfig().getBoolean("xpdeath")) { GUIUtils.setConfig("xpdeath", false); - GUIUtils.sendTitleToAll("Challenge","Sterben durch einsammeln von XP deaktiviert", ChatColor.RED); + GUIUtils.sendTitleToAll("Challenge", "Sterben durch einsammeln von XP deaktiviert", ChatColor.RED); } else { GUIUtils.setConfig("xpdeath", true); - GUIUtils.sendTitleToAll("Challenge","Sterben durch einsammeln von XP aktiviert", ChatColor.GREEN); + GUIUtils.sendTitleToAll("Challenge", "Sterben durch einsammeln von XP aktiviert", ChatColor.GREEN); } break; - case OLD_CONFIG_INDEX: - WolfyUtilities.getAPI(plugin).getInventoryAPI().openCluster(p, "none"); - p.closeInventory(); + case DEATH_ON_FALL_INDEX: + if (plugin.getConfig().getBoolean("deathonfall")) { + GUIUtils.setConfig("deathonfall", false); + GUIUtils.sendTitleToAll("Challenge", "Sterben durch Fallschaden deaktiviert", ChatColor.RED); + } else { + GUIUtils.sendTitleToAll("Challenge", "Sterben durch Fallschaden aktiviert", ChatColor.GREEN); + GUIUtils.setConfig("deathonfall", true); + } + break; + case RANDOM_DROP_INDEX: + if (plugin.getConfig().getBoolean("rnddrops")) { + GUIUtils.setConfig("rnddrops", false); + GUIUtils.sendTitleToAll("Challenge", "Zufällige Drops deaktiviert", ChatColor.RED); + } else { + GUIUtils.sendTitleToAll("Challenge", "Zufällige Drops aktiviert", ChatColor.GREEN); + GUIUtils.setConfig("rnddrops", true); + } + break; + case SHUFFLE_RANDOM_DROP_INDEX: + plugin.rndDrops.shuffleItems(); + GUIUtils.sendTitleToAll("Challenge", "Zufällige Drops neu gemischt!", ChatColor.GREEN); + break; + case DEATH_ON_SPRINT_INDEX: + if (plugin.getConfig().getBoolean("deathonsprint")) { + GUIUtils.setConfig("deathonsprint", false); + GUIUtils.sendTitleToAll("Challenge", "Sterben durch Sprinten deaktiviert", ChatColor.RED); + } else { + GUIUtils.sendTitleToAll("Challenge", "Sterben durch Sprinten aktiviert", ChatColor.GREEN); + GUIUtils.setConfig("deathonsprint", true); + } + break; + case DEATH_ON_JUMP_INDEX: + if (plugin.getConfig().getBoolean("deathonjump")) { + GUIUtils.setConfig("deathonjump", false); + GUIUtils.sendTitleToAll("Challenge", "Sterben durch Springen deaktiviert", ChatColor.RED); + } else { + GUIUtils.sendTitleToAll("Challenge", "Sterben durch Springen aktiviert", ChatColor.GREEN); + GUIUtils.setConfig("deathonjump", true); + } + break; + case TARGET_INDEX: + if (plugin.getConfig().getBoolean("target")) { + GUIUtils.setConfig("target", false); + GUIUtils.sendTitleToAll("Challenge", "Ziel: Töte denn Wither", ChatColor.GREEN); + } else { + GUIUtils.sendTitleToAll("Challenge", "Ziel: Töte denn Enderdrache", ChatColor.GREEN); + GUIUtils.setConfig("target", true); + } + break; + case CLEANR_INV_BY_DAMAGE_INDEX: + if (plugin.getConfig().getBoolean("clinvdmg")) { + GUIUtils.setConfig("clinvdmg", false); + GUIUtils.sendTitleToAll("Challenge", "Inventar von allen Löschen wenn einer Schaden bekommt deaktieviert", ChatColor.RED); + } else { + GUIUtils.sendTitleToAll("Challenge", "Inventar von allen Löschen wenn einer Schaden bekommt deaktieviert", ChatColor.GREEN); + GUIUtils.setConfig("clinvdmg", true); + } + break; + case DMG_ON_SNEAK_INDEX: + if (plugin.getConfig().getBoolean("damageonsneak")) { + GUIUtils.setConfig("damageonsneak", false); + GUIUtils.sendTitleToAll("Challenge", "Schaden bekommen beim Schleichen deaktieviert", ChatColor.RED); + } else { + GUIUtils.sendTitleToAll("Challenge", "Schaden bekommen beim Schleichen aktieviert", ChatColor.GREEN); + GUIUtils.setConfig("damageonsneak", true); + } + break; + case MLG_INDEX: + if (plugin.getConfig().getBoolean("mlg.enabled")) { + GUIUtils.setConfig("mlg.enabled", false); + GUIUtils.sendTitleToAll("Challenge", "MLG deaktieviert", ChatColor.RED); + } else { + GUIUtils.sendTitleToAll("Challenge", "MLG aktieviert", ChatColor.GREEN); + GUIUtils.setConfig("mlg.enabled", true); + } + break; + case DMG_ON_SNEAK_ADD_INDEX: + GUIUtils.setConfig("sneakdmg", plugin.getConfig().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); + } break; default: break; } createSettingsGUI(p); + switch (slot) { + case CLOSE_GUI_INDEX: + p.closeInventory(); + break; + case BACK_BUTTON_INDEX: + MainGui.createMainGUI(p); + break; + } e.setCancelled(true); } } diff --git a/src/main/java/de/fanta/challenges/listeners/DeathListener.java b/src/main/java/de/fanta/challenges/listeners/DeathListener.java index 79f43e1..9c19910 100644 --- a/src/main/java/de/fanta/challenges/listeners/DeathListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DeathListener.java @@ -55,14 +55,13 @@ @EventHandler public void DragonDeath(EntityDeathEvent e) { - if ((e.getEntity() instanceof EnderDragon && plugin.getConfig().getBoolean("dragon")) || (e.getEntity() instanceof Wither && plugin.getConfig().getBoolean("wither"))) { + if ((e.getEntity() instanceof EnderDragon && plugin.getConfig().getBoolean("target")) || (e.getEntity() instanceof Wither && !plugin.getConfig().getBoolean("target"))) { plugin.getTimer().stopTimer(); Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.GREEN + ChatColor.BOLD + ChatColor.MAGIC + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); Bukkit.broadcastMessage(Challenges.PREFIX); Bukkit.broadcastMessage(Challenges.PREFIX); Bukkit.broadcastMessage(Challenges.PREFIX); - Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §aDie Challenge wurde §2§lerfolgreich §aabgeschlossen."); - Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Der §2§l" + e.getEntity().toString().toLowerCase() + " §7wurde besiegt."); + Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Der §2§l" + e.getEntity().getName().toLowerCase() + " §7wurde besiegt."); Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Benötigte Zeit: §2§l" + plugin.getTimer().formatTime(ChatColor.GREEN) + "§7!"); Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Seed: §2§l" + Bukkit.getWorlds().get(0).getSeed()); Bukkit.broadcastMessage(Challenges.PREFIX); 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 934acb9..48e9adb 100644 --- a/src/main/java/de/fanta/challenges/utils/guiutils/GUIUtils.java +++ b/src/main/java/de/fanta/challenges/utils/guiutils/GUIUtils.java @@ -17,6 +17,8 @@ private static final Challenges plugin = Challenges.getPlugin(); + public static final ItemStack EMPTY_ICON = createGuiItem(Material.GRAY_STAINED_GLASS_PANE, "§1", true); + public static ItemStack createGuiItem(Material material, String name, String... lore) { return createGuiItem(material, name, false, lore); } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 9573146..ddb92f3 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -14,8 +14,7 @@ clinvdmg: false tabhp: true tntdeath: false -dragon: true -wither: false +target: true #Mögliche werte: 1-6 backpack_size: 3 mlg: