diff --git a/MODSRC/vazkii/botania/api/item/IExtendedPlayerController.java b/MODSRC/vazkii/botania/api/item/IExtendedPlayerController.java index f0aef28cf..abe815b32 100644 --- a/MODSRC/vazkii/botania/api/item/IExtendedPlayerController.java +++ b/MODSRC/vazkii/botania/api/item/IExtendedPlayerController.java @@ -22,4 +22,8 @@ public interface IExtendedPlayerController { */ public void setReachDistanceExtension(float f); + /** + * Gets the current reach extension. + */ + public float getReachDistanceExtension(); } diff --git a/MODSRC/vazkii/botania/client/core/handler/BotaniaPlayerController.java b/MODSRC/vazkii/botania/client/core/handler/BotaniaPlayerController.java index 3cdd9672e..5714adf90 100644 --- a/MODSRC/vazkii/botania/client/core/handler/BotaniaPlayerController.java +++ b/MODSRC/vazkii/botania/client/core/handler/BotaniaPlayerController.java @@ -36,5 +36,10 @@ public class BotaniaPlayerController extends PlayerControllerMP implements IExte public void setReachDistanceExtension(float f) { distance = f; } + + @Override + public float getReachDistanceExtension() { + return distance; + } } diff --git a/MODSRC/vazkii/botania/client/core/proxy/ClientProxy.java b/MODSRC/vazkii/botania/client/core/proxy/ClientProxy.java index a5e2f5a2c..ab5f02a5a 100644 --- a/MODSRC/vazkii/botania/client/core/proxy/ClientProxy.java +++ b/MODSRC/vazkii/botania/client/core/proxy/ClientProxy.java @@ -173,7 +173,7 @@ public class ClientProxy extends CommonProxy { mc.playerController = controller; } - ((IExtendedPlayerController) mc.playerController).setReachDistanceExtension(reach); + ((IExtendedPlayerController) mc.playerController).setReachDistanceExtension(((IExtendedPlayerController) mc.playerController).getReachDistanceExtension() + reach); } } diff --git a/MODSRC/vazkii/botania/common/core/proxy/CommonProxy.java b/MODSRC/vazkii/botania/common/core/proxy/CommonProxy.java index 5d1f310e8..38f914b9a 100644 --- a/MODSRC/vazkii/botania/common/core/proxy/CommonProxy.java +++ b/MODSRC/vazkii/botania/common/core/proxy/CommonProxy.java @@ -102,7 +102,7 @@ public class CommonProxy { public void setExtraReach(EntityLivingBase entity, float reach) { if(entity instanceof EntityPlayerMP) - ((EntityPlayerMP) entity).theItemInWorldManager.setBlockReachDistance(5.0 + reach); + ((EntityPlayerMP) entity).theItemInWorldManager.setBlockReachDistance(((EntityPlayerMP) entity).theItemInWorldManager.getBlockReachDistance() + reach); } public long getWorldElapsedTicks() { diff --git a/MODSRC/vazkii/botania/common/item/equipment/bauble/ItemReachRing.java b/MODSRC/vazkii/botania/common/item/equipment/bauble/ItemReachRing.java index 6020edb08..422772f7e 100644 --- a/MODSRC/vazkii/botania/common/item/equipment/bauble/ItemReachRing.java +++ b/MODSRC/vazkii/botania/common/item/equipment/bauble/ItemReachRing.java @@ -30,7 +30,7 @@ public class ItemReachRing extends ItemBauble { @Override public void onUnequipped(ItemStack stack, EntityLivingBase player) { - Botania.proxy.setExtraReach(player, 0F); + Botania.proxy.setExtraReach(player, -3.5F); } @Override