diff --git a/src/main/java/lol/hyper/toolstats/events/BlockDispenseEvent.java b/src/main/java/lol/hyper/toolstats/events/BlockDispenseEvent.java index 4d40cda..9c53815 100644 --- a/src/main/java/lol/hyper/toolstats/events/BlockDispenseEvent.java +++ b/src/main/java/lol/hyper/toolstats/events/BlockDispenseEvent.java @@ -113,6 +113,29 @@ public class BlockDispenseEvent implements Listener { lore = new ArrayList<>(); } + // by request + if (newItem.getType() == Material.ELYTRA) { + if (!toolStats.config.getBoolean("enabled.elytra-tag")) { + return null; + } + + Component creationDate = toolStats.itemLore.formatCreationTime(timeCreated, 4, newItem); + if (creationDate != null) { + container.set(toolStats.toolStatsKeys.getTimeCreated(), PersistentDataType.LONG, timeCreated); + container.set(toolStats.toolStatsKeys.getOriginType(), PersistentDataType.INTEGER, 4); + lore.add(creationDate); + meta.lore(lore); + } + + Component itemOwner = toolStats.itemLore.formatOwner(owner.getName(), 4, newItem); + if (itemOwner != null) { + container.set(toolStats.toolStatsKeys.getItemOwner(), new UUIDDataType(), owner.getUniqueId()); + container.set(toolStats.toolStatsKeys.getOriginType(), PersistentDataType.INTEGER, 4); + lore.add(itemOwner); + meta.lore(lore); + } + } + // if creation date is enabled, add it Component creationDate = toolStats.itemLore.formatCreationTime(timeCreated, 2, newItem); if (creationDate != null) { diff --git a/src/main/java/lol/hyper/toolstats/tools/config/ConfigTools.java b/src/main/java/lol/hyper/toolstats/tools/config/ConfigTools.java index cb7b318..59ea03b 100644 --- a/src/main/java/lol/hyper/toolstats/tools/config/ConfigTools.java +++ b/src/main/java/lol/hyper/toolstats/tools/config/ConfigTools.java @@ -53,7 +53,7 @@ public class ConfigTools { String itemName = material.toString().toLowerCase(); String itemType = null; // hardcode these - if (material == Material.BOW || material == Material.CROSSBOW || material == Material.SHEARS || material == Material.TRIDENT || material == Material.FISHING_ROD) { + if (material == Material.BOW || material == Material.CROSSBOW || material == Material.SHEARS || material == Material.TRIDENT || material == Material.FISHING_ROD || material == Material.SHIELD) { switch (material) { case CROSSBOW: case BOW: { @@ -72,6 +72,10 @@ public class ConfigTools { itemType = "fishing-rod"; break; } + case SHIELD: { + itemType = "shield"; + break; + } } } else { itemType = itemName.substring(itemName.indexOf('_') + 1); @@ -88,6 +92,7 @@ public class ConfigTools { case "fishing-rod" -> toolStats.config.getBoolean("enabled." + configName + ".fishing-rod"); case "mace" -> toolStats.config.getBoolean("enabled." + configName + ".mace"); case "spear" -> toolStats.config.getBoolean("enabled." + configName + ".spear"); + case "shield" -> toolStats.config.getBoolean("enabled." + configName + ".shield"); case "helmet", "chestplate", "leggings", "boots" -> toolStats.config.getBoolean("enabled." + configName + ".armor"); default -> false; diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 921f758..122473f 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -242,6 +242,8 @@ enabled: armor: true fishing-rod: true spear: true + shield: true + elytra: true # Will show "Found on " looted-on: pickaxe: true @@ -254,6 +256,8 @@ enabled: armor: true fishing-rod: true spear: true + shield: true + elytra: true # Will show "Traded by " traded-by: pickaxe: true