diff --git a/patches/server/0264-Option-for-villager-display-trade-item.patch b/patches/server/0264-Option-for-villager-display-trade-item.patch new file mode 100644 index 000000000..aaeaf936e --- /dev/null +++ b/patches/server/0264-Option-for-villager-display-trade-item.patch @@ -0,0 +1,38 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Tue, 25 Jan 2022 15:03:48 -0600 +Subject: [PATCH] Option for villager display trade item + + +diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/ShowTradesToPlayer.java b/src/main/java/net/minecraft/world/entity/ai/behavior/ShowTradesToPlayer.java +index 385f3df7044e3f03f17c3ec7484b268004a3def9..47f9832bbba6f9c6038aa96022c28bf023977b78 100644 +--- a/src/main/java/net/minecraft/world/entity/ai/behavior/ShowTradesToPlayer.java ++++ b/src/main/java/net/minecraft/world/entity/ai/behavior/ShowTradesToPlayer.java +@@ -42,6 +42,7 @@ public class ShowTradesToPlayer extends Behavior { + + @Override + public boolean canStillUse(ServerLevel serverLevel, Villager villager, long l) { ++ if (!villager.level.purpurConfig.villagerDisplayTradeItem) return false; + return this.checkExtraStartConditions(serverLevel, villager) && this.lookTime > 0 && villager.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent(); + } + +diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +index e4e75914042b6e1024662ef59b2190865a879759..7580ab1f6bf38a784bcf91ef594d068de6b5d10d 100644 +--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java ++++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +@@ -2666,6 +2666,7 @@ public class PurpurWorldConfig { + public boolean villagerAllowTrading = true; + public boolean villagerAlwaysDropExp = false; + public int villagerMinimumDemand = 0; ++ public boolean villagerDisplayTradeItem = true; + private void villagerSettings() { + villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); + villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); +@@ -2691,6 +2692,7 @@ public class PurpurWorldConfig { + villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); + villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); + villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand); ++ villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); + } + + public boolean vindicatorRidable = false;