summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfeildmaster <admin@feildmaster.com>2013-01-27 14:46:58 -0600
committerfeildmaster <admin@feildmaster.com>2013-01-27 16:43:30 -0600
commit1053a1e29d2aea2045172b2b87ec6631d34f6bc1 (patch)
tree94f7025be6d15a7d529e0ada9f1134e8797210da
parentf20d6e3595a5b75ca04fd7a70a7a8f1d87bc9203 (diff)
downloadcraftbukkit-1053a1e29d2aea2045172b2b87ec6631d34f6bc1.tar
craftbukkit-1053a1e29d2aea2045172b2b87ec6631d34f6bc1.tar.gz
craftbukkit-1053a1e29d2aea2045172b2b87ec6631d34f6bc1.tar.lz
craftbukkit-1053a1e29d2aea2045172b2b87ec6631d34f6bc1.tar.xz
craftbukkit-1053a1e29d2aea2045172b2b87ec6631d34f6bc1.zip
Update Fireballs to account for ExplosionPower. Fixes BUKKIT-3460
Adds BUKKIT-3516
-rw-r--r--src/main/java/net/minecraft/server/EntityGhast.java3
-rw-r--r--src/main/java/net/minecraft/server/EntityLargeFireball.java13
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftLargeFireball.java6
3 files changed, 21 insertions, 1 deletions
diff --git a/src/main/java/net/minecraft/server/EntityGhast.java b/src/main/java/net/minecraft/server/EntityGhast.java
index ac315640..beed7862 100644
--- a/src/main/java/net/minecraft/server/EntityGhast.java
+++ b/src/main/java/net/minecraft/server/EntityGhast.java
@@ -141,7 +141,8 @@ public class EntityGhast extends EntityFlying implements IMonster {
this.world.a((EntityHuman) null, 1008, (int) this.locX, (int) this.locY, (int) this.locZ, 0);
EntityLargeFireball entitylargefireball = new EntityLargeFireball(this.world, this, d5, d6, d7);
- entitylargefireball.e = this.explosionPower;
+ // CraftBukkit - set yield when setting explosionpower
+ entitylargefireball.yield = entitylargefireball.e = this.explosionPower;
double d8 = 4.0D;
Vec3D vec3d = this.i(1.0F);
diff --git a/src/main/java/net/minecraft/server/EntityLargeFireball.java b/src/main/java/net/minecraft/server/EntityLargeFireball.java
index 88b0d84a..0aebd902 100644
--- a/src/main/java/net/minecraft/server/EntityLargeFireball.java
+++ b/src/main/java/net/minecraft/server/EntityLargeFireball.java
@@ -33,4 +33,17 @@ public class EntityLargeFireball extends EntityFireball {
this.die();
}
}
+
+ public void b(NBTTagCompound nbttagcompound) {
+ super.b(nbttagcompound);
+ nbttagcompound.setInt("ExplosionPower", this.e);
+ }
+
+ public void a(NBTTagCompound nbttagcompound) {
+ super.a(nbttagcompound);
+ if (nbttagcompound.hasKey("ExplosionPower")) {
+ // CraftBukkit - set yield when setting explosionpower
+ this.yield = this.e = nbttagcompound.getInt("ExplosionPower");
+ }
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLargeFireball.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLargeFireball.java
index 1ee4da21..f75e74de 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLargeFireball.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLargeFireball.java
@@ -11,6 +11,12 @@ public class CraftLargeFireball extends CraftFireball implements LargeFireball {
}
@Override
+ public void setYield(float yield) {
+ super.setYield(yield);
+ getHandle().e = (int) yield;
+ }
+
+ @Override
public EntityLargeFireball getHandle() {
return (EntityLargeFireball) entity;
}