31 Zeilen
1.2 KiB
Diff
31 Zeilen
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);
|
|
}
|
|
}
|