Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-23 14:50:08 +01:00
32 Zeilen
1.7 KiB
Diff
32 Zeilen
1.7 KiB
Diff
--- a/net/minecraft/server/BehaviorMakeLove.java
|
|
+++ b/net/minecraft/server/BehaviorMakeLove.java
|
|
@@ -93,6 +93,11 @@
|
|
|
|
private Optional<EntityVillager> b(WorldServer worldserver, EntityVillager entityvillager, EntityVillager entityvillager1) {
|
|
EntityVillager entityvillager2 = entityvillager.createChild(worldserver, entityvillager1);
|
|
+ // CraftBukkit start - call EntityBreedEvent
|
|
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityvillager2, entityvillager, entityvillager1, null, null, 0).isCancelled()) {
|
|
+ return Optional.empty();
|
|
+ }
|
|
+ // CraftBukkit end
|
|
|
|
if (entityvillager2 == null) {
|
|
return Optional.empty();
|
|
@@ -101,7 +106,7 @@
|
|
entityvillager1.setAgeRaw(6000);
|
|
entityvillager2.setAgeRaw(-24000);
|
|
entityvillager2.setPositionRotation(entityvillager.locX(), entityvillager.locY(), entityvillager.locZ(), 0.0F, 0.0F);
|
|
- worldserver.addAllEntities(entityvillager2);
|
|
+ worldserver.addAllEntities(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
|
|
worldserver.broadcastEntityEffect(entityvillager2, (byte) 12);
|
|
return Optional.of(entityvillager2);
|
|
}
|
|
@@ -110,6 +115,6 @@
|
|
private void a(WorldServer worldserver, EntityVillager entityvillager, BlockPosition blockposition) {
|
|
GlobalPos globalpos = GlobalPos.create(worldserver.getDimensionKey(), blockposition);
|
|
|
|
- entityvillager.getBehaviorController().setMemory(MemoryModuleType.HOME, (Object) globalpos);
|
|
+ entityvillager.getBehaviorController().setMemory(MemoryModuleType.HOME, globalpos); // CraftBukkit - decompile error
|
|
}
|
|
}
|