summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/EntityAgeable.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityAgeable.java')
-rw-r--r--src/main/java/net/minecraft/server/EntityAgeable.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java
index f7421b32..e861d3b7 100644
--- a/src/main/java/net/minecraft/server/EntityAgeable.java
+++ b/src/main/java/net/minecraft/server/EntityAgeable.java
@@ -7,6 +7,28 @@ public abstract class EntityAgeable extends EntityCreature {
super(world);
}
+ public abstract EntityAgeable createChild(EntityAgeable entityageable);
+
+ public boolean a(EntityHuman entityhuman) {
+ ItemStack itemstack = entityhuman.inventory.getItemInHand();
+
+ if (itemstack != null && itemstack.id == Item.MONSTER_EGG.id && !this.world.isStatic) {
+ Class oclass = EntityTypes.a(itemstack.getData());
+
+ if (oclass != null && oclass.isAssignableFrom(this.getClass())) {
+ EntityAgeable entityageable = this.createChild(this);
+
+ if (entityageable != null) {
+ entityageable.setAge(-24000);
+ entityageable.setPositionRotation(this.locX, this.locY, this.locZ, 0.0F, 0.0F);
+ this.world.addEntity(entityageable);
+ }
+ }
+ }
+
+ return super.a(entityhuman);
+ }
+
protected void a() {
super.a();
this.datawatcher.a(12, new Integer(0));