SPIGOT-4946: Add VillagerCareerChangeEvent
By: i509VCB <null>
This commit is contained in:
parent
3f2b383463
commit
5f2275f40a
4 changed files with 85 additions and 2 deletions
30
paper-server/nms-patches/BehaviorProfession.patch
Normal file
30
paper-server/nms-patches/BehaviorProfession.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
--- 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);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue