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 b77df38..3e6ecea 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/DeathrunChallengeEvent.java @@ -12,6 +12,7 @@ import de.fanta.challenges.utils.CoordsTargeter; import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; +import org.bukkit.Difficulty; import org.bukkit.GameMode; import org.bukkit.GameRule; import org.bukkit.Location; @@ -52,7 +53,7 @@ public class DeathrunChallengeEvent implements Listener { - private final Challenges plugin = Challenges.getPlugin(); + private static final Challenges plugin = Challenges.getPlugin(); private static final List deadPlayer = new ArrayList<>(); private final Map bossBarMap = new HashMap<>(); diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java index 521fd5f..7e02593 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java @@ -11,13 +11,14 @@ import de.fanta.challenges.utils.Config; import de.fanta.challenges.utils.CoordsTargeter; import de.fanta.challenges.utils.CubesideModUtils; -import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.StringUtil; +import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.ItemGroups; import net.kyori.adventure.bossbar.BossBar; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; +import net.kyori.adventure.text.TranslatableComponent; import net.kyori.adventure.text.format.TextColor; import net.kyori.adventure.text.format.TextDecoration; import org.bukkit.Bukkit; @@ -146,7 +147,7 @@ } for (EntityType entityType : EntityType.values()) { - if (entityType.isAlive() && entityType != EntityType.ZOMBIE_HORSE && entityType != EntityType.GIANT && entityType != EntityType.ILLUSIONER && entityType != EntityType.PLAYER) { + if (entityType.isAlive() && entityType != EntityType.ZOMBIE_HORSE && entityType != EntityType.GIANT && entityType != EntityType.ILLUSIONER && entityType != EntityType.PLAYER && entityType != EntityType.ARMOR_STAND) { entityTypes.add(entityType); } } @@ -158,7 +159,7 @@ } for (PotionEffectType potionEffectType : PotionEffectType.values()) { - if (!potionEffectType.isInstant() && potionEffectType != PotionEffectType.LUCK && potionEffectType != PotionEffectType.UNLUCK) { + if (!potionEffectType.isInstant() && potionEffectType != PotionEffectType.LUCK && potionEffectType != PotionEffectType.UNLUCK && potionEffectType != PotionEffectType.HEALTH_BOOST) { potionEffectTypes.add(potionEffectType); } } @@ -926,31 +927,40 @@ case ForceItem -> { Material material = itemByPlayerList.get(player.getUniqueId()); if (material != null) { - bossBarTitle = getBossBarTitle(">> ForceItem: ", material.translationKey(), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); + TranslatableComponent component = Component.translatable(material.translationKey()); + if (material.name().toLowerCase().contains("music_disc")) { + component = component.append(Component.text(" " + StringUtil.capitalizeFirstLetter(material.name().toLowerCase().replace("music_disc_", ""), true))); + } + + if (material.name().toLowerCase().contains("banner_pattern")) { + component = component.append(Component.text(" " + StringUtil.capitalizeFirstLetter(material.name().toLowerCase().replace("_banner_pattern", ""), true))); + } + + bossBarTitle = getBossBarTitle(">> ForceItem: ", component, scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); } } case ForceBiome -> { Biome biome = biomeByPlayerList.get(player.getUniqueId()); if (biome != null) { - bossBarTitle = getBossBarTitle(">> ForceBiome: ", biome.translationKey(), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); + bossBarTitle = getBossBarTitle(">> ForceBiome: ", Component.translatable(biome.translationKey()), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); } } case ForceMob -> { EntityType entityType = entityTypeByPlayerList.get(player.getUniqueId()); if (entityType != null) { - bossBarTitle = getBossBarTitle(">> ForceMob: ", entityType.translationKey(), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); + bossBarTitle = getBossBarTitle(">> ForceMob: ", Component.translatable(entityType.translationKey()), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); } } case ForceEffect -> { PotionEffectType potionEffectType = potionEffectTypeByPlayerList.get(player.getUniqueId()); if (potionEffectType != null) { - bossBarTitle = getBossBarTitle(">> ForceEffect: ", potionEffectType.translationKey(), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); + bossBarTitle = getBossBarTitle(">> ForceEffect: ", Component.translatable(potionEffectType.translationKey()), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); } } case ForceDeath -> { EntityDamageEvent.DamageCause damageCause = damageCauseByPlayerList.get(player.getUniqueId()); if (damageCause != null) { - bossBarTitle = getBossBarTitle(">> ForceDeath: ", StringUtil.capitalizeFirstLetter(damageCause.name(), true), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); + bossBarTitle = getBossBarTitle(">> ForceDeath: ", Component.translatable(StringUtil.capitalizeFirstLetter(damageCause.name(), true)), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); } } case ForceLocation -> { @@ -958,7 +968,7 @@ if (location != null) { Block block = location.getBlock(); String locationString = "Welt: " + StringUtil.capitalizeFirstLetter(location.getWorld().getName(), true) + " X: " + block.getX() + ", Y: " + block.getY() + ", Z: " + block.getZ(); - bossBarTitle = getBossBarTitle(">> ForceLocation: ", locationString, scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); + bossBarTitle = getBossBarTitle(">> ForceLocation: ", Component.translatable(locationString), scoreManager.getPosition(new ChallengePlayer(player.getUniqueId()))); } } } @@ -974,8 +984,8 @@ } } - private static TextComponent getBossBarTitle(String title, String key, int pos) { - return Component.text(title).color(TextColor.color(ChatUtil.GREEN.getColor().getRGB())).append(Component.translatable(key).color(TextColor.color(ChatUtil.BLUE.getColor().getRGB()))).append(Component.text(" << | Position: ").color(TextColor.color(ChatUtil.GREEN.getColor().getRGB()))).append(Component.text(pos).color(TextColor.color(ChatUtil.BLUE.getColor().getRGB()))); + private static TextComponent getBossBarTitle(String title, TranslatableComponent name, int pos) { + return Component.text(title).color(TextColor.color(ChatUtil.GREEN.getColor().getRGB())).append(name.color(TextColor.color(ChatUtil.BLUE.getColor().getRGB()))).append(Component.text(" << | Position: ").color(TextColor.color(ChatUtil.GREEN.getColor().getRGB()))).append(Component.text(pos).color(TextColor.color(ChatUtil.BLUE.getColor().getRGB()))); } public void removeArmorStand(Player player) { diff --git a/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java b/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java index d8cc8f0..e7f34d4 100644 --- a/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java +++ b/src/main/java/de/fanta/challenges/guis/CheckItemsGUI.java @@ -2,9 +2,8 @@ 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.inventory.AbstractWindow; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Sound; diff --git a/src/main/java/de/fanta/challenges/guis/ResetGui.java b/src/main/java/de/fanta/challenges/guis/ResetGui.java index c464226..ec1ee2e 100644 --- a/src/main/java/de/fanta/challenges/guis/ResetGui.java +++ b/src/main/java/de/fanta/challenges/guis/ResetGui.java @@ -4,8 +4,8 @@ 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 de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/de/fanta/challenges/guis/TeleportGUI.java b/src/main/java/de/fanta/challenges/guis/TeleportGUI.java index 0e78930..fe58e63 100644 --- a/src/main/java/de/fanta/challenges/guis/TeleportGUI.java +++ b/src/main/java/de/fanta/challenges/guis/TeleportGUI.java @@ -2,8 +2,8 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.utils.ChatUtil; -import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; +import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; diff --git a/src/main/java/de/fanta/challenges/guis/TimerGui.java b/src/main/java/de/fanta/challenges/guis/TimerGui.java index e93f215..2929814 100644 --- a/src/main/java/de/fanta/challenges/guis/TimerGui.java +++ b/src/main/java/de/fanta/challenges/guis/TimerGui.java @@ -5,8 +5,8 @@ import de.fanta.challenges.Timer; 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; diff --git a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/BackPackSettingsGui.java b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/BackPackSettingsGui.java index 16228bb..7979fce 100644 --- a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/BackPackSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/BackPackSettingsGui.java @@ -4,8 +4,8 @@ import de.fanta.challenges.guis.settingsgui.OtherSettingsGui; 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; diff --git a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/BedrockWallSettingsGui.java b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/BedrockWallSettingsGui.java index a718349..097c7a9 100644 --- a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/BedrockWallSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/BedrockWallSettingsGui.java @@ -4,8 +4,8 @@ import de.fanta.challenges.guis.settingsgui.ChallengesGui; 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; diff --git a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/LevelBorderSettingsGui.java b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/LevelBorderSettingsGui.java index f0ff9b2..c276d8f 100644 --- a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/LevelBorderSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/LevelBorderSettingsGui.java @@ -5,8 +5,8 @@ import de.fanta.challenges.guis.settingsgui.ChallengesGui; 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; diff --git a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/MLGSettingsGui.java b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/MLGSettingsGui.java index 72ec2ef..70b1a96 100644 --- a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/MLGSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/MLGSettingsGui.java @@ -4,8 +4,8 @@ import de.fanta.challenges.guis.settingsgui.ChallengesGui; 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; diff --git a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/NoSneakSettingsGui.java b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/NoSneakSettingsGui.java index 7d28733..a4ec40d 100644 --- a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/NoSneakSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/NoSneakSettingsGui.java @@ -4,8 +4,8 @@ import de.fanta.challenges.guis.settingsgui.ChallengesGui; 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; diff --git a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/TiedTogetherSettingsGui.java b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/TiedTogetherSettingsGui.java index 4103361..b1f6b0f 100644 --- a/src/main/java/de/fanta/challenges/guis/challengesettingsguis/TiedTogetherSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/challengesettingsguis/TiedTogetherSettingsGui.java @@ -4,8 +4,8 @@ import de.fanta.challenges.guis.settingsgui.ChallengesGui; 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; 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 c826ff9..6373f15 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java @@ -5,8 +5,8 @@ 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.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; +import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; 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 3376393..9bf782c 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java @@ -3,8 +3,8 @@ 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.inventory.AbstractWindow; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/ForceQuestSettingsGui.java b/src/main/java/de/fanta/challenges/guis/eventgui/ForceQuestSettingsGui.java index b715c45..22bb548 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/ForceQuestSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/ForceQuestSettingsGui.java @@ -4,14 +4,13 @@ import de.fanta.challenges.challenges.ChallengeEvents.forcequest.ForceQuestChallengeEvent; import de.fanta.challenges.challenges.ChallengeEvents.forcequest.QuestType; import de.fanta.challenges.utils.ChatUtil; -import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; +import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.inventory.InventoryType; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; 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 5147c6e..9056d8c 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/SammelFieberSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/SammelFieberSettingsGui.java @@ -4,9 +4,9 @@ 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.fanta.challenges.utils.guiutils.Window; +import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; +import de.iani.cubesideutils.bukkit.inventory.Window; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.FluidCollisionMode; 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 ed2fc8c..8c52deb 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/TeamSettingsGUI.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/TeamSettingsGUI.java @@ -4,8 +4,8 @@ import de.fanta.challenges.teams.TeamUtils; 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.inventory.AbstractWindow; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/de/fanta/challenges/guis/savegui/ChallengeSaveConfirmGui.java b/src/main/java/de/fanta/challenges/guis/savegui/ChallengeSaveConfirmGui.java index a5d8f7d..c34a94a 100644 --- a/src/main/java/de/fanta/challenges/guis/savegui/ChallengeSaveConfirmGui.java +++ b/src/main/java/de/fanta/challenges/guis/savegui/ChallengeSaveConfirmGui.java @@ -4,8 +4,8 @@ import de.fanta.challenges.SaveSlot; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.SaveWorldUtils; -import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; +import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/de/fanta/challenges/guis/savegui/ChallengeSaveGui.java b/src/main/java/de/fanta/challenges/guis/savegui/ChallengeSaveGui.java index 7d75bfa..a8a13c1 100644 --- a/src/main/java/de/fanta/challenges/guis/savegui/ChallengeSaveGui.java +++ b/src/main/java/de/fanta/challenges/guis/savegui/ChallengeSaveGui.java @@ -5,9 +5,9 @@ import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.SaveWorldUtils; -import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.StringUtil; +import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.playerUUIDCache.CachedPlayer; import org.bukkit.Bukkit; import org.bukkit.Material; 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 37e2410..27230a5 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java @@ -13,8 +13,8 @@ import de.fanta.challenges.guis.challengesettingsguis.TiedTogetherSettingsGui; 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; 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 3cf0270..8d2745a 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java @@ -3,8 +3,8 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.ServerType; import de.fanta.challenges.utils.ChatUtil; -import de.fanta.challenges.utils.guiutils.AbstractWindow; import de.fanta.challenges.utils.guiutils.GUIUtils; +import de.iani.cubesideutils.bukkit.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; 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 e95e1fc..2f2dbce 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java @@ -4,8 +4,8 @@ import de.fanta.challenges.guis.challengesettingsguis.BackPackSettingsGui; 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Material; 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 8cf0548..51f6664 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java @@ -3,8 +3,8 @@ 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.inventory.AbstractWindow; import de.iani.cubesideutils.bukkit.items.CustomHeads; import org.bukkit.Bukkit; import org.bukkit.Difficulty; diff --git a/src/main/java/de/fanta/challenges/listeners/EventRegistration.java b/src/main/java/de/fanta/challenges/listeners/EventRegistration.java index e973ef4..65a8738 100644 --- a/src/main/java/de/fanta/challenges/listeners/EventRegistration.java +++ b/src/main/java/de/fanta/challenges/listeners/EventRegistration.java @@ -38,7 +38,6 @@ import de.fanta.challenges.guis.eventgui.TeamSelectGUI; import de.fanta.challenges.teams.TeamListener; import de.fanta.challenges.utils.CoordsTargeter; -import de.fanta.challenges.utils.guiutils.WindowManager; import org.bukkit.Bukkit; import org.bukkit.plugin.PluginManager; @@ -55,7 +54,6 @@ pM.registerEvents(new PlayerListener(), plugin); pM.registerEvents(new MinimapListener(), plugin); - pM.registerEvents(new WindowManager(), plugin); pM.registerEvents(new BingoItemsGui(), plugin); pM.registerEvents(new ContainerListener(), plugin); pM.registerEvents(new CommandBlockListener(), plugin); diff --git a/src/main/java/de/fanta/challenges/utils/guiutils/AbstractWindow.java b/src/main/java/de/fanta/challenges/utils/guiutils/AbstractWindow.java deleted file mode 100644 index 253a11b..0000000 --- a/src/main/java/de/fanta/challenges/utils/guiutils/AbstractWindow.java +++ /dev/null @@ -1,93 +0,0 @@ -package de.fanta.challenges.utils.guiutils; - -import org.bukkit.entity.Player; -import org.bukkit.event.inventory.InventoryAction; -import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.event.inventory.InventoryDragEvent; -import org.bukkit.inventory.Inventory; - -public abstract class AbstractWindow implements Window { - - private final Player player; - private final Inventory inventory; - private Window parentWindow; - - public AbstractWindow(Player player, Inventory inventory) { - this.player = player; - this.inventory = inventory; - } - - public AbstractWindow(Window parentWindow, Inventory inventory) { - this(parentWindow.getPlayer(), inventory); - this.parentWindow = parentWindow; - } - - @Override - public Player getPlayer() { - return this.player; - } - - @Override - public Inventory getInventory() { - return this.inventory; - } - - @Override - public Window getParent() { - return this.parentWindow; - } - - @Override - public void onItemClicked(InventoryClickEvent event) { - if (mayAffectThisInventory(event)) { - event.setCancelled(true); - } - } - - protected boolean mayAffectThisInventory(InventoryClickEvent event) { - if (getInventory().equals(event.getClickedInventory())) { - return event.getAction() != InventoryAction.NOTHING; - } - - return switch (event.getAction()) { - case COLLECT_TO_CURSOR, MOVE_TO_OTHER_INVENTORY, UNKNOWN -> true; - default -> false; - }; - } - - @Override - public void onItemDraged(InventoryDragEvent event) { - if (mayAffectThisInventory(event)) { - event.setCancelled(true); - } - } - - protected boolean mayAffectThisInventory(InventoryDragEvent event) { - for (Integer slot : event.getRawSlots()) { - if (slot < getInventory().getSize()) { - return true; - } - } - - return false; - } - - @Override - public void onInventoryClose(InventoryCloseEvent event) { - } - - protected boolean mayAffectThisInventory(InventoryCloseEvent event) { - return getInventory().equals(event.getInventory()); - } - - @Override - public void open() { - rebuildInventory(); - getPlayer().openInventory(getInventory()); - WindowManager.getInstance().registerOpenWindow(this); - } - - protected abstract void rebuildInventory(); - -} diff --git a/src/main/java/de/fanta/challenges/utils/guiutils/Window.java b/src/main/java/de/fanta/challenges/utils/guiutils/Window.java deleted file mode 100644 index 91ef727..0000000 --- a/src/main/java/de/fanta/challenges/utils/guiutils/Window.java +++ /dev/null @@ -1,34 +0,0 @@ -package de.fanta.challenges.utils.guiutils; - -import org.bukkit.entity.Player; -import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.event.inventory.InventoryDragEvent; -import org.bukkit.inventory.Inventory; - -public interface Window { - - Player getPlayer(); - - Inventory getInventory(); - - Window getParent(); - - void open(); - - default void closed() { - - } - - default void onItemClicked(InventoryClickEvent event) { - event.setCancelled(true); - } - - default void onItemDraged(InventoryDragEvent event) { - event.setCancelled(true); - } - - default void onInventoryClose(InventoryCloseEvent event) { - } - -} diff --git a/src/main/java/de/fanta/challenges/utils/guiutils/WindowManager.java b/src/main/java/de/fanta/challenges/utils/guiutils/WindowManager.java deleted file mode 100644 index 577df21..0000000 --- a/src/main/java/de/fanta/challenges/utils/guiutils/WindowManager.java +++ /dev/null @@ -1,79 +0,0 @@ -package de.fanta.challenges.utils.guiutils; - -import de.fanta.challenges.Challenges; -import org.bukkit.Bukkit; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.event.inventory.InventoryDragEvent; - -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; -import java.util.logging.Level; - -public class WindowManager implements Listener { - - private static final WindowManager INSTANCE = new WindowManager(); - private final Map openWindows; - - public WindowManager() { - this.openWindows = new HashMap<>(); - Bukkit.getPluginManager().registerEvents(this, Challenges.getPlugin()); - } - - public void registerOpenWindow(Window window) { - Window alreadyOpen = this.openWindows.put(window.getPlayer().getUniqueId(), window); - if (alreadyOpen != null) { - Challenges.getPlugin().getLogger().log(Level.WARNING, "Window opened without the last one being closed."); - } - } - - @EventHandler - public void onInventoryClickEvent(InventoryClickEvent event) { - Window window = this.openWindows.get(event.getWhoClicked().getUniqueId()); - if (window == null) { - return; - } - - try { - window.onItemClicked(event); - } catch (Exception e) { - // For security reasons. - event.setCancelled(true); - throw e; - } - } - - @EventHandler - public void onInventoryDragEvent(InventoryDragEvent event) { - Window window = this.openWindows.get(event.getWhoClicked().getUniqueId()); - if (window == null) { - return; - } - - try { - window.onItemDraged(event); - } catch (Exception e) { - // For security reasons. - event.setCancelled(true); - throw e; - } - } - - @EventHandler - public void onInventoryClosedEvent(InventoryCloseEvent event) { - Window window = this.openWindows.get(event.getPlayer().getUniqueId()); - if (window == null) { - return; - } - - window.closed(); - this.openWindows.remove(event.getPlayer().getUniqueId()); - } - - public static WindowManager getInstance() { - return INSTANCE; - } -} diff --git a/src/main/resources/items.yml b/src/main/resources/items.yml index 5c6d2c0..9f5a9ae 100644 --- a/src/main/resources/items.yml +++ b/src/main/resources/items.yml @@ -108,6 +108,7 @@ - SNOW_GOLEM_SPAWN_EGG - SUSPICIOUS_SAND - SNIFFER_SPAWN_EGG - - TRIAL_KEY - BREEZE_SPAWN_EGG - - TRIAL_SPAWNER \ No newline at end of file + - TRIAL_SPAWNER + - ARMADILLO_SPAWN_EGG + - BOGGED_SPAWN_EGG \ No newline at end of file