mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 06:24:06 +01:00
31 lines
1.2 KiB
Diff
31 lines
1.2 KiB
Diff
|
--- a/net/minecraft/server/BehaviorProfession.java
|
||
|
+++ b/net/minecraft/server/BehaviorProfession.java
|
||
|
@@ -1,6 +1,11 @@
|
||
|
package net.minecraft.server;
|
||
|
|
||
|
import com.google.common.collect.ImmutableMap;
|
||
|
+// CraftBukkit start
|
||
|
+import org.bukkit.craftbukkit.entity.CraftVillager;
|
||
|
+import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||
|
+import org.bukkit.event.entity.VillagerCareerChangeEvent;
|
||
|
+// CraftBukkit end
|
||
|
|
||
|
public class BehaviorProfession extends Behavior<EntityVillager> {
|
||
|
|
||
|
@@ -15,7 +20,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
|
||
|
entityvillager.a(worldserver);
|
||
|
}
|
||
|
}
|