From 60b10a83b65edcfb4bff88d57feb51e1a2bb87df Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Tue, 30 Apr 2024 00:24:14 +0100 Subject: [PATCH] Adjust to use "new" potion API and improve custom effects This makes it compile with 1.20.5 --- .../ChestShop/Listeners/ItemInfoListener.java | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/Acrobot/ChestShop/Listeners/ItemInfoListener.java b/src/main/java/com/Acrobot/ChestShop/Listeners/ItemInfoListener.java index e11710f..df2489f 100644 --- a/src/main/java/com/Acrobot/ChestShop/Listeners/ItemInfoListener.java +++ b/src/main/java/com/Acrobot/ChestShop/Listeners/ItemInfoListener.java @@ -212,24 +212,22 @@ public class ItemInfoListener implements Listener { PotionMeta potionMeta = (PotionMeta) meta; - StringBuilder message = new StringBuilder(50); - - message.append(ChatColor.GRAY); - - message.append(capitalizeFirstLetter(item.getType().name(), '_')).append(" of "); - message.append(capitalizeFirstLetter(potionMeta.getBasePotionData().getType().name(), '_')).append(' '); - if (potionMeta.getBasePotionData().isUpgraded()) { - message.append("II"); - } else if (potionMeta.getBasePotionData().isExtended()) { - message.append("+"); - } - CommandSender sender = event.getSender(); - sender.sendMessage(message.toString()); + if (potionMeta.getBasePotionType() != null) { + StringBuilder message = new StringBuilder(50); + + message.append(ChatColor.GRAY); + + message.append(capitalizeFirstLetter(item.getType().name(), '_')).append(" of "); + message.append(capitalizeFirstLetter(potionMeta.getBasePotionType().getKey().getKey(), '_')).append(' '); + + sender.sendMessage(message.toString()); + } for (PotionEffect effect : potionMeta.getCustomEffects()) { - sender.sendMessage(ChatColor.DARK_GRAY + capitalizeFirstLetter(effect.getType().getName(), '_') + ' ' + toTime(effect.getDuration() / 20)); + sender.sendMessage(ChatColor.DARK_GRAY + capitalizeFirstLetter(effect.getType().getKey().getKey(), '_') + + ' ' + (effect.getAmplifier() + 1) + ' ' + toTime(effect.getDuration() / 20)); } }