Add API for Villager#resetOffers()

This commit is contained in:
William Blake Galbreath
2019-10-07 00:24:33 -05:00
parent c908526157
commit 4cd38d189e
2 changed files with 85 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
From 227d0d8be5d540659f9493a1a4b946b01e30cd4e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
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