From e647e37243b0c55e1dd36a6691ed605b7e124536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Fri, 22 May 2015 20:12:08 +0200 Subject: [PATCH] Made boots work when power is disabled. --- .../cil/oc/common/event/HoverBootsHandler.scala | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/scala/li/cil/oc/common/event/HoverBootsHandler.scala b/src/main/scala/li/cil/oc/common/event/HoverBootsHandler.scala index 0b2ddf1a4..94970d4b3 100644 --- a/src/main/scala/li/cil/oc/common/event/HoverBootsHandler.scala +++ b/src/main/scala/li/cil/oc/common/event/HoverBootsHandler.scala @@ -17,13 +17,15 @@ object HoverBootsHandler { val hadHoverBoots = nbt.getBoolean(Settings.namespace + "hasHoverBoots") val hasHoverBoots = !player.isSneaking && equippedArmor(player).exists(stack => stack.getItem match { case boots: HoverBoots => - if (player.onGround && !player.capabilities.isCreativeMode && player.worldObj.getTotalWorldTime % 20 == 0) { - val velocity = player.motionX * player.motionX + player.motionY * player.motionY + player.motionZ * player.motionZ - if (velocity > 0.015f) { - boots.charge(stack, -Settings.get.hoverBootMove, simulate = false) + Settings.get.ignorePower || { + if (player.onGround && !player.capabilities.isCreativeMode && player.worldObj.getTotalWorldTime % 20 == 0) { + val velocity = player.motionX * player.motionX + player.motionY * player.motionY + player.motionZ * player.motionZ + if (velocity > 0.015f) { + boots.charge(stack, -Settings.get.hoverBootMove, simulate = false) + } } + boots.getCharge(stack) > 0 } - boots.getCharge(stack) > 0 case _ => false }) if (hasHoverBoots != hadHoverBoots) { @@ -43,7 +45,7 @@ object HoverBootsHandler { case stack if stack.getItem.isInstanceOf[HoverBoots] => val boots = stack.getItem.asInstanceOf[HoverBoots] val hoverJumpCost = -Settings.get.hoverBootJump - val isCreative = player.capabilities.isCreativeMode + val isCreative = Settings.get.ignorePower || player.capabilities.isCreativeMode if (isCreative || boots.charge(stack, hoverJumpCost, simulate = true) == 0) { if (!isCreative) boots.charge(stack, hoverJumpCost, simulate = false) if (player.isSprinting) @@ -62,7 +64,7 @@ object HoverBootsHandler { case stack if stack.getItem.isInstanceOf[HoverBoots] => val boots = stack.getItem.asInstanceOf[HoverBoots] val hoverFallCost = -Settings.get.hoverBootAbsorb - val isCreative = player.capabilities.isCreativeMode + val isCreative = Settings.get.ignorePower || player.capabilities.isCreativeMode if (isCreative || boots.charge(stack, hoverFallCost, simulate = true) == 0) { if (!isCreative) boots.charge(stack, hoverFallCost, simulate = false) e.distance *= 0.3f