From 5b31bd2d71e62ee1f26cc785b296efbc9696c213 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 30 Jul 2022 09:40:12 +0200 Subject: [PATCH] goat horn type --- .../ChestShop/Listeners/ItemInfoListener.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/java/com/Acrobot/ChestShop/Listeners/ItemInfoListener.java b/src/main/java/com/Acrobot/ChestShop/Listeners/ItemInfoListener.java index d0f33f5e2..5cc52fab8 100644 --- a/src/main/java/com/Acrobot/ChestShop/Listeners/ItemInfoListener.java +++ b/src/main/java/com/Acrobot/ChestShop/Listeners/ItemInfoListener.java @@ -7,10 +7,15 @@ import com.Acrobot.Breeze.Utils.EnchantmentNames; import com.Acrobot.Breeze.Utils.FireworkEffectTypeNames; import com.Acrobot.Breeze.Utils.PotionNames; +import com.Acrobot.Breeze.Utils.StringUtil; +import com.Acrobot.ChestShop.ChestShop; import com.Acrobot.ChestShop.Events.ItemInfoEvent; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.logging.Level; import org.bukkit.ChatColor; import org.bukkit.Color; import org.bukkit.DyeColor; @@ -255,6 +260,25 @@ public static void addInfo(ItemInfoEvent event) { } } + if (type == Material.GOAT_HORN) { + try { + // {instrument:"minecraft:ponder_goat_horn"} + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.setLenient(); + Gson gson = gsonBuilder.create(); + + Map hornJson = gson.fromJson(meta.getAsString(), Map.class); + String instrument = (String) hornJson.get("instrument"); + if (instrument == null) { + instrument = "minecraft:ponder_goat_horn"; + } + instrument = StringUtil.capitalizeFirstLetter(instrument.substring(instrument.indexOf(":") + 1).replace("_goat_horn", "")); + sender.sendMessage(" " + ChatColor.GRAY + "Instrument: " + instrument); + } catch (Exception e) { + ChestShop.getBukkitLogger().log(Level.WARNING, "Could not parse instrument item data for " + meta.getAsString(), e); + } + } + if (meta != null && meta.hasLore() && !(meta instanceof BookMeta)) { List lore = meta.getLore(); if (lore != null && lore.size() > 0) {