diff --git a/src/main/java/com/alttd/easter/glow/GlowManager.java b/src/main/java/com/alttd/easter/glow/GlowManager.java index 7de344b..ce12daa 100644 --- a/src/main/java/com/alttd/easter/glow/GlowManager.java +++ b/src/main/java/com/alttd/easter/glow/GlowManager.java @@ -1,8 +1,8 @@ package com.alttd.easter.glow; import com.alttd.easter.egg.EggType; +import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Bukkit; -import org.bukkit.ChatColor; import org.bukkit.entity.Entity; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.Team; @@ -22,7 +22,7 @@ public class GlowManager { team = scoreboard.registerNewTeam(teamName); team.setCanSeeFriendlyInvisibles(false); team.setAllowFriendlyFire(true); - team.setColor(colorFor(type)); + team.color(colorFor(type)); } String entry = entity.getUniqueId().toString(); if (!team.hasEntry(entry)) { @@ -30,42 +30,25 @@ public class GlowManager { } } - private ChatColor colorFor(EggType type) { - switch (type) { - case BROWN_HUSK: - return ChatColor.DARK_RED; // closest - case RED_SPIDER: - return ChatColor.RED; - case ORANGE_BLAZE: - return ChatColor.GOLD; - case YELLOW_PIGLIN: - return ChatColor.YELLOW; - case LIME_CREEPER: - return ChatColor.GREEN; - case GREEN_ZOMBIE: - return ChatColor.DARK_GREEN; - case LIGHT_BLUE_STRAY: - return ChatColor.AQUA; - case CYAN_GUARDIAN: - return ChatColor.DARK_AQUA; - case BLUE_WARDEN: - return ChatColor.BLUE; - case PURPLE_ENDER_DRAGON: - return ChatColor.DARK_PURPLE; - case MAGENTA_ENDERMAN: - return ChatColor.LIGHT_PURPLE; - case PINK_HOGLIN: - return ChatColor.LIGHT_PURPLE; - case WHITE_SKELETON: - return ChatColor.WHITE; - case LIGHT_GRAY_SILVERFISH: - return ChatColor.GRAY; - case GRAY_WITHER: - return ChatColor.DARK_GRAY; - case BLACK_WITHER_SKELETON: - return ChatColor.BLACK; - default: - return ChatColor.WHITE; - } + private NamedTextColor colorFor(EggType type) { + return switch (type) { + case BROWN_HUSK -> NamedTextColor.DARK_RED; // closest + case RED_SPIDER -> NamedTextColor.RED; + case ORANGE_BLAZE -> NamedTextColor.GOLD; + case YELLOW_PIGLIN -> NamedTextColor.YELLOW; + case LIME_CREEPER -> NamedTextColor.GREEN; + case GREEN_ZOMBIE -> NamedTextColor.DARK_GREEN; + case LIGHT_BLUE_STRAY -> NamedTextColor.AQUA; + case CYAN_GUARDIAN -> NamedTextColor.DARK_AQUA; + case BLUE_WARDEN -> NamedTextColor.BLUE; + case PURPLE_ENDER_DRAGON -> NamedTextColor.DARK_PURPLE; + case MAGENTA_ENDERMAN -> NamedTextColor.LIGHT_PURPLE; + case PINK_HOGLIN -> NamedTextColor.LIGHT_PURPLE; + case WHITE_SKELETON -> NamedTextColor.WHITE; + case LIGHT_GRAY_SILVERFISH -> NamedTextColor.GRAY; + case GRAY_WITHER -> NamedTextColor.DARK_GRAY; + case BLACK_WITHER_SKELETON -> NamedTextColor.BLACK; + default -> NamedTextColor.WHITE; + }; } } diff --git a/src/main/java/com/alttd/easter/gui/TurnInGuiManager.java b/src/main/java/com/alttd/easter/gui/TurnInGuiManager.java index 657b560..4d5de89 100644 --- a/src/main/java/com/alttd/easter/gui/TurnInGuiManager.java +++ b/src/main/java/com/alttd/easter/gui/TurnInGuiManager.java @@ -4,6 +4,7 @@ import com.alttd.easter.config.Messages; import com.alttd.easter.data.DataManager; import com.alttd.easter.egg.EggType; import com.alttd.easter.util.ItemUtils; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -97,25 +98,24 @@ public class TurnInGuiManager implements Listener { player.sendRichMessage(Messages.RABBIT.NO_EGGS); return; } - int before = dataManager.getPlayerEggs(player.getUniqueId()).size(); - int added = dataManager.addEggs(player.getUniqueId(), submitted); + dataManager.addEggs(player.getUniqueId(), submitted); dataManager.save(); // Dialog formatting for submission summary List colors = submitted.stream().map(ItemUtils::colorName).toList(); if (colors.size() == 1) { player.sendRichMessage(Messages.RABBIT.ONE_EGG, - net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.parsed("player", player.getName()), - net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.parsed("egg1", colors.getFirst()) + Placeholder.parsed("player", player.getName()), + Placeholder.parsed("egg1", colors.getFirst()) ); } else { String c1 = !colors.isEmpty() ? colors.get(0) : ""; String c2 = colors.size() > 1 ? colors.get(1) : ""; String c3 = colors.size() > 2 ? colors.get(2) : ""; player.sendRichMessage(Messages.RABBIT.MULTI_EGGS, - net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.parsed("player", player.getName()), - net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.parsed("egg1", c1), - net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.parsed("egg2", c2), - net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.parsed("egg3", c3) + Placeholder.parsed("player", player.getName()), + Placeholder.parsed("egg1", c1), + Placeholder.parsed("egg2", c2), + Placeholder.parsed("egg3", c3) ); } int total = dataManager.getPlayerEggs(player.getUniqueId()).size(); diff --git a/src/main/java/com/alttd/easter/listeners/SpawnListener.java b/src/main/java/com/alttd/easter/listeners/SpawnListener.java index a2355db..057844b 100644 --- a/src/main/java/com/alttd/easter/listeners/SpawnListener.java +++ b/src/main/java/com/alttd/easter/listeners/SpawnListener.java @@ -16,6 +16,7 @@ import org.bukkit.persistence.PersistentDataType; import java.util.concurrent.ThreadLocalRandom; +@SuppressWarnings("ClassCanBeRecord") public class SpawnListener implements Listener { private final GlowManager glowManager; diff --git a/src/main/java/com/alttd/easter/npc/RabbitNpcManager.java b/src/main/java/com/alttd/easter/npc/RabbitNpcManager.java index 21787dd..56116fc 100644 --- a/src/main/java/com/alttd/easter/npc/RabbitNpcManager.java +++ b/src/main/java/com/alttd/easter/npc/RabbitNpcManager.java @@ -6,6 +6,8 @@ import com.alttd.easter.gui.TurnInGuiManager; import com.alttd.easter.util.Keys; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import org.bukkit.Bukkit; +import org.bukkit.World; +import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.entity.Rabbit; @@ -16,8 +18,6 @@ import org.bukkit.event.player.PlayerInteractAtEntityEvent; import org.bukkit.persistence.PersistentDataType; import org.bukkit.plugin.Plugin; -import java.util.UUID; - @SuppressWarnings("ClassCanBeRecord") public class RabbitNpcManager implements Listener { @@ -36,11 +36,9 @@ public class RabbitNpcManager implements Listener { private void spawnOrFindRabbit() { // Find existing rabbit with tag, else spawn new at config location - UUID rabbitId; - for (org.bukkit.World world : Bukkit.getWorlds()) { - for (org.bukkit.entity.Entity e : world.getEntitiesByClass(Rabbit.class)) { + for (World world : Bukkit.getWorlds()) { + for (Entity e : world.getEntitiesByClass(Rabbit.class)) { if (e.getPersistentDataContainer().has(Keys.RABBIT_NPC, PersistentDataType.BYTE)) { - rabbitId = e.getUniqueId(); return; } } @@ -53,7 +51,6 @@ public class RabbitNpcManager implements Listener { rabbit.setCustomNameVisible(true); rabbit.customName(net.kyori.adventure.text.Component.text("Easter Bunny")); rabbit.getPersistentDataContainer().set(Keys.RABBIT_NPC, PersistentDataType.BYTE, (byte) 1); - rabbitId = rabbit.getUniqueId(); } @EventHandler diff --git a/src/main/java/com/alttd/easter/util/ItemUtils.java b/src/main/java/com/alttd/easter/util/ItemUtils.java index 87eb318..de8657a 100644 --- a/src/main/java/com/alttd/easter/util/ItemUtils.java +++ b/src/main/java/com/alttd/easter/util/ItemUtils.java @@ -1,7 +1,8 @@ package com.alttd.easter.util; import com.alttd.easter.egg.EggType; -import org.bukkit.ChatColor; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; @@ -38,7 +39,7 @@ public final class ItemUtils { ItemMeta meta = item.getItemMeta(); meta.addEnchant(type.getEnchantment(), type.getEnchantLevel(), true); meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); - meta.setDisplayName(ChatColor.GOLD + "Easter Egg - " + prettify(type.name())); + meta.displayName(Component.text("Easter Egg - " + prettify(type.name()), NamedTextColor.GOLD)); meta.getPersistentDataContainer().set(Keys.EGG_ITEM, PersistentDataType.STRING, type.name()); item.setItemMeta(meta); return item;