mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 09:26:08 +03:00
27 lines
1.5 KiB
Diff
27 lines
1.5 KiB
Diff
--- ../src-base/minecraft/net/minecraft/entity/ai/EntityAIVillagerMate.java
|
|
+++ ../src-work/minecraft/net/minecraft/entity/ai/EntityAIVillagerMate.java
|
|
@@ -113,14 +113,21 @@
|
|
|
|
private void giveBirth()
|
|
{
|
|
- EntityVillager entityvillager = this.villager.createChild(this.mate);
|
|
+ net.minecraft.entity.EntityAgeable entityvillager = this.villager.createChild(this.mate);
|
|
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityvillager, this.villager, this.mate, null, null, 0).isCancelled()) {
|
|
+ return;
|
|
+ }
|
|
this.mate.setGrowingAge(6000);
|
|
this.villager.setGrowingAge(6000);
|
|
this.mate.setIsWillingToMate(false);
|
|
this.villager.setIsWillingToMate(false);
|
|
+
|
|
+ final net.minecraftforge.event.entity.living.BabyEntitySpawnEvent event = new net.minecraftforge.event.entity.living.BabyEntitySpawnEvent(villager, mate, entityvillager);
|
|
+ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(event) || event.getChild() == null) { return; }
|
|
+ entityvillager = event.getChild();
|
|
entityvillager.setGrowingAge(-24000);
|
|
entityvillager.setLocationAndAngles(this.villager.posX, this.villager.posY, this.villager.posZ, 0.0F, 0.0F);
|
|
- this.world.spawnEntity(entityvillager);
|
|
+ this.world.addEntity(entityvillager, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING);
|
|
this.world.setEntityState(entityvillager, (byte)12);
|
|
}
|
|
}
|