You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.8 KiB
42 lines
1.8 KiB
--- ../src-base/minecraft/net/minecraft/entity/ai/EntityAIMate.java |
|
+++ ../src-work/minecraft/net/minecraft/entity/ai/EntityAIMate.java |
|
@@ -4,6 +4,7 @@ |
|
import java.util.List; |
|
import java.util.Random; |
|
import net.minecraft.entity.EntityAgeable; |
|
+import net.minecraft.entity.EntityLiving; |
|
import net.minecraft.entity.item.EntityXPOrb; |
|
import net.minecraft.entity.passive.EntityAnimal; |
|
import net.minecraft.entity.passive.EntityCow; |
|
@@ -12,6 +13,8 @@ |
|
import net.minecraft.stats.StatList; |
|
import net.minecraft.world.World; |
|
|
|
+import net.minecraft.entity.passive.EntityTameable; // CraftBukkit |
|
+ |
|
public class EntityAIMate extends EntityAIBase |
|
{ |
|
private EntityAnimal theAnimal; |
|
@@ -93,6 +96,13 @@ |
|
|
|
if (entityageable != null) |
|
{ |
|
+ // CraftBukkit start - set persistence for tame animals |
|
+ if (entityageable instanceof EntityTameable && ((EntityTameable) entityageable).isTamed()) |
|
+ { |
|
+ ((EntityLiving)entityageable).persistenceRequired = true; // Cauldron - fix illegal access error. SS bug? |
|
+ } |
|
+ |
|
+ // CraftBukkit end |
|
EntityPlayer entityplayer = this.theAnimal.func_146083_cb(); |
|
|
|
if (entityplayer == null && this.targetMate.func_146083_cb() != null) |
|
@@ -116,7 +126,7 @@ |
|
this.targetMate.resetInLove(); |
|
entityageable.setGrowingAge(-24000); |
|
entityageable.setLocationAndAngles(this.theAnimal.posX, this.theAnimal.posY, this.theAnimal.posZ, 0.0F, 0.0F); |
|
- this.theWorld.spawnEntityInWorld(entityageable); |
|
+ this.theWorld.addEntity(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason |
|
Random random = this.theAnimal.getRNG(); |
|
|
|
for (int i = 0; i < 7; ++i)
|
|
|