SPIGOT-6820: VillagerCareerChangeEvent's ChangeReason is sometimes incorrect

This commit is contained in:
Doc 2021-12-01 08:26:14 +11:00 committed by md_5
parent bc14cb649b
commit a46e7f18e8
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11

View File

@ -19,7 +19,7 @@
protected void start(WorldServer worldserver, EntityVillager entityvillager, long i) { protected void start(WorldServer worldserver, EntityVillager entityvillager, long i) {
- entityvillager.setVillagerData(entityvillager.getVillagerData().setProfession(VillagerProfession.NONE)); - entityvillager.setVillagerData(entityvillager.getVillagerData().setProfession(VillagerProfession.NONE));
+ // CraftBukkit start + // CraftBukkit start
+ VillagerCareerChangeEvent event = CraftEventFactory.callVillagerCareerChangeEvent(entityvillager, CraftVillager.nmsToBukkitProfession(VillagerProfession.NONE), VillagerCareerChangeEvent.ChangeReason.EMPLOYED); + VillagerCareerChangeEvent event = CraftEventFactory.callVillagerCareerChangeEvent(entityvillager, CraftVillager.nmsToBukkitProfession(VillagerProfession.NONE), VillagerCareerChangeEvent.ChangeReason.LOSING_JOB);
+ if (event.isCancelled()) { + if (event.isCancelled()) {
+ return; + return;
+ } + }