From e71c7abf484c528c53fcecf8cf25bcd3200103d4 Mon Sep 17 00:00:00 2001 From: hyper Date: Sun, 8 Feb 2026 13:29:04 -0500 Subject: [PATCH 1/2] Restock trades mech --- .../properties/PaperEntityExtensions.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityExtensions.java b/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityExtensions.java index 94bcb7f641..f1e181ff65 100644 --- a/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityExtensions.java +++ b/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityExtensions.java @@ -13,6 +13,7 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.ExperienceOrb; import org.bukkit.entity.Goat; +import org.bukkit.entity.Villager; import org.bukkit.inventory.EquipmentSlot; import java.util.UUID; @@ -187,6 +188,26 @@ public static void register() { object.getLivingEntity().damageItemStack(slot.asEnum(EquipmentSlot.class), amount.asInt()); }); + if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_21)) { + + // <--[mechanism] + // @object EntityTag + // @name restock_trades + // @input None + // @Plugin Paper + // @group paper + // @description + // Restocks a villager's trades. + // Note: this mechanism will fire the <@link event villager replenishes trade> event for every trade the villager is offering. This mechanism also update the villager's demand for offers, which may cause item trade prices to rise or fall. + // --> + EntityTag.registerSpawnedOnlyMechanism("restock_trades", false, (object, mechanism) -> { + if (!(object.getBukkitEntity() instanceof Villager villager)) { + return; + } + villager.restock(); + }); + } + // <--[mechanism] // @object EntityTag // @name shear From f6d8941a6eb732402939bfc20643cc619a0c7453 Mon Sep 17 00:00:00 2001 From: hyper Date: Sun, 8 Feb 2026 13:38:46 -0500 Subject: [PATCH 2/2] Separated sentences and corrected grammar --- .../denizen/paper/properties/PaperEntityExtensions.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityExtensions.java b/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityExtensions.java index f1e181ff65..3ac1e86823 100644 --- a/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityExtensions.java +++ b/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityExtensions.java @@ -198,7 +198,8 @@ public static void register() { // @group paper // @description // Restocks a villager's trades. - // Note: this mechanism will fire the <@link event villager replenishes trade> event for every trade the villager is offering. This mechanism also update the villager's demand for offers, which may cause item trade prices to rise or fall. + // Note: this mechanism will fire the <@link event villager replenishes trade> event for every trade the villager is offering. + // This mechanism also updates the villager's demand for offers, which may cause item trade prices to rise or fall. // --> EntityTag.registerSpawnedOnlyMechanism("restock_trades", false, (object, mechanism) -> { if (!(object.getBukkitEntity() instanceof Villager villager)) {