diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java b/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java index 53232d6..c3ff8be 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeGoals.java @@ -5,6 +5,8 @@ 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; @@ -19,7 +21,8 @@ @EventHandler public void GoalDeath(EntityDeathEvent e) { if (Objects.equals(plugin.getConfig().getString("event.type"), "nix")) { - if ((e.getEntity() instanceof EnderDragon && plugin.getConfig().getBoolean("target")) || (e.getEntity() instanceof Wither && !plugin.getConfig().getBoolean("target"))) { + EntityType entityType = EntityType.valueOf(plugin.getConfig().getString("goal").toUpperCase()); + if (e.getEntity().getType() == entityType) { plugin.getTimer().stopTimer(); ChatUtil.sendBrodcastMessage("" + ChatUtil.GREEN + ChatColor.BOLD + ChatColor.MAGIC + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); ChatUtil.sendBrodcastMessage(""); 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 e3094f0..4e80f13 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java @@ -9,6 +9,7 @@ import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.ItemStack; @@ -65,12 +66,16 @@ int slot = event.getSlot(); switch (slot) { case GOAL_INDEX -> { - if (plugin.getConfig().getBoolean("target")) { - GUIUtils.setConfig("target", false); + EntityType entityType = EntityType.valueOf(plugin.getConfig().getString("goal").toUpperCase()); + if (entityType == EntityType.ENDER_DRAGON) { + GUIUtils.setConfig("goal", EntityType.WITHER.getName()); GUIUtils.sendTitleToAll("Challenge", "Ziel: Töte den Wither", ChatUtil.GREEN); - } else { + } else if (entityType == EntityType.WITHER) { + GUIUtils.setConfig("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()); GUIUtils.sendTitleToAll("Challenge", "Ziel: Töte den Enderdrachen", ChatUtil.GREEN); - GUIUtils.setConfig("target", true); } } case SHUFFLE_RANDOM_DROP_INDEX -> { @@ -268,10 +273,15 @@ ItemStack item; switch (i) { case GOAL_INDEX -> { - if (plugin.getConfig().getBoolean("target")) { + EntityType entityType = EntityType.valueOf(plugin.getConfig().getString("goal").toUpperCase()); + if (entityType == EntityType.ENDER_DRAGON) { item = GUIUtils.createGuiItem(Material.DRAGON_HEAD, ChatUtil.GREEN + "Ziel: Enderdrachen töten"); - } else { + } else if (entityType == EntityType.WITHER) { item = GUIUtils.createGuiItem(Material.WITHER_SKELETON_SKULL, ChatUtil.GREEN + "Ziel: Wither töten"); + } else if (entityType == EntityType.WARDEN) { + item = GUIUtils.createGuiItem(Material.SCULK_SHRIEKER, ChatUtil.GREEN + "Ziel: Warden töten"); + } else { + item = GUIUtils.createGuiItem(Material.DRAGON_HEAD, ChatUtil.GREEN + "Ziel: Enderdrachen töten"); } } case SHUFFLE_RANDOM_DROP_INDEX -> diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 8851f69..7cfc781 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -16,7 +16,7 @@ clinvdmg: false tabhp: false tntdeath: false -target: true +goal: ender_dragon lavafloor: false tiedtogether: false playerrange: 30