summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ItemMonsterEgg.java
diff options
context:
space:
mode:
authorNathan Adams <dinnerbone@dinnerbone.com>2012-03-01 10:49:23 +0000
committerNathan Adams <dinnerbone@dinnerbone.com>2012-03-01 14:38:31 +0000
commit543c4879fee3b7165764c5371d226c93fe3a657b (patch)
tree4fe9116464e1fe42a40dc3ba19b58234bd26f821 /src/main/java/net/minecraft/server/ItemMonsterEgg.java
parente9ca87000c1794715bc3fe0a7d1caaf809057635 (diff)
downloadcraftbukkit-543c4879fee3b7165764c5371d226c93fe3a657b.tar
craftbukkit-543c4879fee3b7165764c5371d226c93fe3a657b.tar.gz
craftbukkit-543c4879fee3b7165764c5371d226c93fe3a657b.tar.lz
craftbukkit-543c4879fee3b7165764c5371d226c93fe3a657b.tar.xz
craftbukkit-543c4879fee3b7165764c5371d226c93fe3a657b.zip
Updated CraftBukkit to 1.2
Diffstat (limited to 'src/main/java/net/minecraft/server/ItemMonsterEgg.java')
-rw-r--r--src/main/java/net/minecraft/server/ItemMonsterEgg.java32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/main/java/net/minecraft/server/ItemMonsterEgg.java b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
index 8f82ce1a..971299bc 100644
--- a/src/main/java/net/minecraft/server/ItemMonsterEgg.java
+++ b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
@@ -4,7 +4,6 @@ public class ItemMonsterEgg extends Item {
public ItemMonsterEgg(int i) {
super(i);
- this.e(1);
this.a(true);
}
@@ -12,21 +11,38 @@ public class ItemMonsterEgg extends Item {
if (world.isStatic || itemstack.getData() == 48 || itemstack.getData() == 49 || itemstack.getData() == 63) { // CraftBukkit
return true;
} else {
+ int i1 = world.getTypeId(i, j, k);
+
i += Facing.b[l];
j += Facing.c[l];
k += Facing.d[l];
- Entity entity = EntityTypes.a(itemstack.getData(), world);
+ double d0 = 0.0D;
- if (entity != null && entity instanceof EntityLiving) { // CraftBukkit
- if (!entityhuman.abilities.canInstantlyBuild) {
- --itemstack.count;
- }
+ if (l == 1 && i1 == Block.FENCE.id || i1 == Block.NETHER_FENCE.id) {
+ d0 = 0.5D;
+ }
- entity.setPositionRotation((double) i + 0.5D, (double) j, (double) k + 0.5D, 0.0F, 0.0F);
- world.addEntity(entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG); // CraftBukkit
+ if (a(world, itemstack.getData(), (double) i + 0.5D, (double) j + d0, (double) k + 0.5D) && !entityhuman.abilities.canInstantlyBuild) {
+ --itemstack.count;
}
return true;
}
}
+
+ public static boolean a(World world, int i, double d0, double d1, double d2) {
+ if (!EntityTypes.a.containsKey(Integer.valueOf(i))) {
+ return false;
+ } else {
+ Entity entity = EntityTypes.a(i, world);
+
+ if (entity != null && entity instanceof EntityLiving) { // CraftBukkit
+ entity.setPositionRotation(d0, d1, d2, world.random.nextFloat() * 360.0F, 0.0F);
+ world.addEntity(entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG); // CraftBukkit
+ ((EntityLiving) entity).ay();
+ }
+
+ return entity != null;
+ }
+ }
}