From 4cd38d189e81bcce09a28f788940abdcc48c54f4 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Mon, 7 Oct 2019 00:24:33 -0500 Subject: [PATCH] Add API for Villager#resetOffers() --- ...015-Add-API-for-Villager-resetOffers.patch | 30 ++++++++++ ...066-Add-API-for-Villager-resetOffers.patch | 55 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 patches/api/0015-Add-API-for-Villager-resetOffers.patch create mode 100644 patches/server/0066-Add-API-for-Villager-resetOffers.patch diff --git a/patches/api/0015-Add-API-for-Villager-resetOffers.patch b/patches/api/0015-Add-API-for-Villager-resetOffers.patch new file mode 100644 index 000000000..a632d49db --- /dev/null +++ b/patches/api/0015-Add-API-for-Villager-resetOffers.patch @@ -0,0 +1,30 @@ +From 135cd31a9c179f572675c3cf9f8ffddad0b4026f Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Mon, 7 Oct 2019 00:15:28 -0500 +Subject: [PATCH] Add API for Villager#resetOffers() + +--- + src/main/java/org/bukkit/entity/Villager.java | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java +index ef48ad9b2..2bb9f768b 100644 +--- a/src/main/java/org/bukkit/entity/Villager.java ++++ b/src/main/java/org/bukkit/entity/Villager.java +@@ -96,6 +96,13 @@ public interface Villager extends AbstractVillager { + */ + public void wakeup(); + ++ // Purpur start ++ /** ++ * Reset this villager's trade offers ++ */ ++ public void resetOffers(); ++ // Purpur end ++ + /** + * Represents Villager type, usually corresponding to what biome they spawn + * in. +-- +2.23.0.rc1 + diff --git a/patches/server/0066-Add-API-for-Villager-resetOffers.patch b/patches/server/0066-Add-API-for-Villager-resetOffers.patch new file mode 100644 index 000000000..f44d7bbb0 --- /dev/null +++ b/patches/server/0066-Add-API-for-Villager-resetOffers.patch @@ -0,0 +1,55 @@ +From 227d0d8be5d540659f9493a1a4b946b01e30cd4e Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Mon, 7 Oct 2019 00:15:37 -0500 +Subject: [PATCH] Add API for Villager#resetOffers() + +--- + .../java/net/minecraft/server/EntityVillagerAbstract.java | 8 ++++++++ + .../java/org/bukkit/craftbukkit/entity/CraftVillager.java | 7 +++++++ + 2 files changed, 15 insertions(+) + +diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java +index f161ccb97..c074d3372 100644 +--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java ++++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java +@@ -72,6 +72,13 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP + return this.tradingPlayer != null; + } + ++ // Purpur start ++ public void resetOffers() { ++ this.trades = new MerchantRecipeList(); ++ this.updateTrades(); ++ } ++ // Purpur end ++ + @Override + public MerchantRecipeList getOffers() { + if (this.trades == null) { +@@ -213,6 +220,7 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP + return this.world; + } + ++ protected void updateTrades() { eh(); } // Purpur + protected abstract void eh(); + + protected void a(MerchantRecipeList merchantrecipelist, VillagerTrades.IMerchantRecipeOption[] avillagertrades_imerchantrecipeoption, int i) { +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +index f291a8d75..0cd358236 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +@@ -112,4 +112,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { + public static VillagerProfession bukkitToNmsProfession(Profession bukkit) { + return IRegistry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(bukkit.getKey())); + } ++ ++ // Purpur start ++ @Override ++ public void resetOffers() { ++ getHandle().resetOffers(); ++ } ++ // Purpur end + } +-- +2.23.0.rc1 +