summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/net/minecraft/server/EntityFireball.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/main/java/net/minecraft/server/EntityFireball.java b/src/main/java/net/minecraft/server/EntityFireball.java
index d8f34ef8..107abcad 100644
--- a/src/main/java/net/minecraft/server/EntityFireball.java
+++ b/src/main/java/net/minecraft/server/EntityFireball.java
@@ -199,7 +199,8 @@ public abstract class EntityFireball extends Entity {
nbttagcompound.setShort("zTile", (short) this.g);
nbttagcompound.setByte("inTile", (byte) this.h);
nbttagcompound.setByte("inGround", (byte) (this.i ? 1 : 0));
- nbttagcompound.set("direction", this.a(new double[] { this.motX, this.motY, this.motZ}));
+ // CraftBukkit - Fix direction being mismapped to invalid variables
+ nbttagcompound.set("power", this.a(new double[] { this.dirX, this.dirY, this.dirZ}));
}
public void a(NBTTagCompound nbttagcompound) {
@@ -208,12 +209,14 @@ public abstract class EntityFireball extends Entity {
this.g = nbttagcompound.getShort("zTile");
this.h = nbttagcompound.getByte("inTile") & 255;
this.i = nbttagcompound.getByte("inGround") == 1;
- if (nbttagcompound.hasKey("direction")) {
- NBTTagList nbttaglist = nbttagcompound.getList("direction");
-
- this.motX = ((NBTTagDouble) nbttaglist.get(0)).data;
- this.motY = ((NBTTagDouble) nbttaglist.get(1)).data;
- this.motZ = ((NBTTagDouble) nbttaglist.get(2)).data;
+ // CraftBukkit - direction -> power
+ if (nbttagcompound.hasKey("power")) {
+ NBTTagList nbttaglist = nbttagcompound.getList("power");
+
+ this.dirX = ((NBTTagDouble) nbttaglist.get(0)).data;
+ this.dirY = ((NBTTagDouble) nbttaglist.get(1)).data;
+ this.dirZ = ((NBTTagDouble) nbttaglist.get(2)).data;
+ // CraftBukkit end
} else {
this.die();
}