diff options
author | feildmaster <admin@feildmaster.com> | 2013-01-27 14:46:58 -0600 |
---|---|---|
committer | feildmaster <admin@feildmaster.com> | 2013-01-27 16:43:30 -0600 |
commit | 1053a1e29d2aea2045172b2b87ec6631d34f6bc1 (patch) | |
tree | 94f7025be6d15a7d529e0ada9f1134e8797210da /src/main | |
parent | f20d6e3595a5b75ca04fd7a70a7a8f1d87bc9203 (diff) | |
download | craftbukkit-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
Diffstat (limited to 'src/main')
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; } |