From c584f3a214d304182a961609ea20fbbc1dc0f892 Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 3 Jan 2016 06:50:31 -0800 Subject: [PATCH] Modify BreakSpeed event handling for compatibility Using originalSpeed means overriding any mods that come earlier in the chain --- .../treecapitator/forge/ForgeEventHandler.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/bspkrs/treecapitator/forge/ForgeEventHandler.java b/src/main/java/bspkrs/treecapitator/forge/ForgeEventHandler.java index 1cd438d..b4e76d2 100644 --- a/src/main/java/bspkrs/treecapitator/forge/ForgeEventHandler.java +++ b/src/main/java/bspkrs/treecapitator/forge/ForgeEventHandler.java @@ -78,8 +78,9 @@ public void getPlayerBreakSpeed(BreakSpeed event) int height = Treecapitator.getTreeHeight(treeDef, event.entityPlayer.worldObj, event.x, event.y, event.z, event.metadata, event.entityPlayer); if (height > 1) { - event.newSpeed = event.originalSpeed / (height * TCSettings.treeHeightModifier); - TCLog.debug("Old Break Speed: %s", event.originalSpeed); + float oldSpeed = event.newSpeed; + event.newSpeed = oldSpeed / (height * TCSettings.treeHeightModifier); + TCLog.debug("Old Break Speed: %s", oldSpeed); TCLog.debug("New Break Speed: %s", event.newSpeed); TCLog.debug("Tree Height : %d", height); TCLog.debug("Tree Height Mod: %s", TCSettings.treeHeightModifier); @@ -87,7 +88,7 @@ public void getPlayerBreakSpeed(BreakSpeed event) } } else if (Treecapitator.isBreakingEnabled(event.entityPlayer)) - event.newSpeed = event.originalSpeed * treeDef.breakSpeedModifier(); + event.newSpeed = event.newSpeed * treeDef.breakSpeedModifier(); } else event.newSpeed = 0.0f; @@ -161,7 +162,7 @@ private class CachedBreakSpeed extends BreakSpeed public CachedBreakSpeed(BreakSpeed event, boolean swappedSneak) { - super(event.entityPlayer, event.block, event.metadata, event.originalSpeed, event.x, event.y, event.z); + super(event.entityPlayer, event.block, event.metadata, event.newSpeed, event.x, event.y, event.z); this.isSneaking = event.entityPlayer.isSneaking(); this.swappedSneak = swappedSneak; } @@ -186,7 +187,7 @@ public boolean equals(Object o) : thisItem == null || thisItem.getItem() == null) && GameData.getBlockRegistry().getNameForObject(bs.block).equals(GameData.getBlockRegistry().getNameForObject(this.block)) && bs.isSneaking == this.isSneaking && bs.swappedSneak == this.swappedSneak - && bs.metadata == this.metadata && bs.originalSpeed == this.originalSpeed && bs.x == this.x && bs.y == this.y && bs.z == this.z; + && bs.metadata == this.metadata && bs.newSpeed == this.newSpeed && bs.x == this.x && bs.y == this.y && bs.z == this.z; } @Override @@ -200,7 +201,7 @@ public int hashCode() .putBoolean(this.isSneaking) .putBoolean(this.swappedSneak) .putInt(this.metadata) - .putFloat(this.originalSpeed) + .putFloat(this.newSpeed) .putInt(x + z << 8 + y << 16); if (thisItem != null && thisItem.getItem() != null)