craftbukkit/nms-patches/BehaviorProfession.patch

32 lines
1.2 KiB
Diff
Raw Normal View History

--- a/net/minecraft/server/BehaviorProfession.java
+++ b/net/minecraft/server/BehaviorProfession.java
2021-03-09 08:47:33 +11:00
@@ -2,6 +2,12 @@
import com.google.common.collect.ImmutableMap;
2021-03-09 08:47:33 +11:00
+// CraftBukkit start
+import org.bukkit.craftbukkit.entity.CraftVillager;
+import org.bukkit.craftbukkit.event.CraftEventFactory;
+import org.bukkit.event.entity.VillagerCareerChangeEvent;
+// CraftBukkit end
2021-03-09 08:47:33 +11:00
+
public class BehaviorProfession extends Behavior<EntityVillager> {
2021-03-09 08:47:33 +11:00
public BehaviorProfession() {
@@ -15,7 +21,14 @@
}
protected void a(WorldServer worldserver, EntityVillager entityvillager, long i) {
- entityvillager.setVillagerData(entityvillager.getVillagerData().withProfession(VillagerProfession.NONE));
+ // CraftBukkit start
+ VillagerCareerChangeEvent event = CraftEventFactory.callVillagerCareerChangeEvent(entityvillager, CraftVillager.nmsToBukkitProfession(VillagerProfession.NONE), VillagerCareerChangeEvent.ChangeReason.EMPLOYED);
+ if (event.isCancelled()) {
+ return;
+ }
+
+ entityvillager.setVillagerData(entityvillager.getVillagerData().withProfession(CraftVillager.bukkitToNmsProfession(event.getProfession())));
+ // CraftBukkit end
2020-08-12 07:00:00 +10:00
entityvillager.c(worldserver);
}
}