diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-28 18:40:09 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-28 18:40:09 +1000 |
commit | d5cb4ecdc6ced041712932ac347476edf18fc40c (patch) | |
tree | 6060d39deab31329107f93931983c3697c33a032 /src | |
parent | f66fb1526fa85554842db425652545448495a2a0 (diff) | |
download | GT5-Unofficial-d5cb4ecdc6ced041712932ac347476edf18fc40c.tar.gz GT5-Unofficial-d5cb4ecdc6ced041712932ac347476edf18fc40c.tar.bz2 GT5-Unofficial-d5cb4ecdc6ced041712932ac347476edf18fc40c.zip |
$ Fixed the Slow Builders Ring.
> It now uses a client-side state system, which can be hooked by anything to force sneaking or sprinting.
Diffstat (limited to 'src')
4 files changed, 36 insertions, 26 deletions
diff --git a/src/Java/gtPlusPlus/core/common/BasePlayer.java b/src/Java/gtPlusPlus/core/common/BasePlayer.java index fb17480b8f..862d53d822 100644 --- a/src/Java/gtPlusPlus/core/common/BasePlayer.java +++ b/src/Java/gtPlusPlus/core/common/BasePlayer.java @@ -133,7 +133,7 @@ public class BasePlayer extends ClientPlayerBase * Begin ToggleSneak Changes - ToggleSprint */ - boolean isSprintDisabled = !SneakManager.canSprint; + boolean isSprintDisabled = false; boolean canDoubleTap = SneakManager.optionDoubleTap; // Detect when ToggleSprint was disabled in the in-game options menu @@ -147,6 +147,7 @@ public class BasePlayer extends ClientPlayerBase // Default Sprint routine converted to PlayerAPI, use if ToggleSprint is disabled - TODO - Disable sprinting as a whole if(isSprintDisabled) { + //Utils.LOG_INFO("Sprint pressed"); if(SneakManager.optionDoubleTap && this.player.onGround && !isMovingForward && this.player.movementInput.moveForward >= minSpeed && !this.player.isSprinting() && enoughHunger && !this.player.isUsingItem() && !this.player.isPotionActive(Potion.blindness)) { if(this.playerAPI.getSprintToggleTimerField() <= 0 && !this.settings.keyBindSprint.getIsKeyPressed()) @@ -155,7 +156,7 @@ public class BasePlayer extends ClientPlayerBase } else { - if (!SneakManager.SprintingDisabled()){ + if (SneakManager.Sprinting()){ this.player.setSprinting(true); customMovementInput.UpdateSprint(true, false); } @@ -168,7 +169,7 @@ public class BasePlayer extends ClientPlayerBase if(!this.player.isSprinting() && this.player.movementInput.moveForward >= minSpeed && enoughHunger && !this.player.isUsingItem() && !this.player.isPotionActive(Potion.blindness) && this.settings.keyBindSprint.getIsKeyPressed()) { - if (!SneakManager.SprintingDisabled()){ + if (SneakManager.Sprinting()){ this.player.setSprinting(true); customMovementInput.UpdateSprint(true, false); } @@ -192,8 +193,9 @@ public class BasePlayer extends ClientPlayerBase { if(canDoubleTap && !this.player.isSprinting() || !canDoubleTap) { - if (!SneakManager.SprintingDisabled()) + if (SneakManager.Sprinting()){ this.player.setSprinting(state); + } else this.player.setSprinting(false); } @@ -207,7 +209,7 @@ public class BasePlayer extends ClientPlayerBase } else { - if (!SneakManager.SprintingDisabled()){ + if (SneakManager.Sprinting()){ this.player.setSprinting(true); customMovementInput.UpdateSprint(true, true); this.playerAPI.setSprintToggleTimerField(0); diff --git a/src/Java/gtPlusPlus/core/handler/events/CustomMovementHandler.java b/src/Java/gtPlusPlus/core/handler/events/CustomMovementHandler.java index e2eb1538e6..025d5fc8af 100644 --- a/src/Java/gtPlusPlus/core/handler/events/CustomMovementHandler.java +++ b/src/Java/gtPlusPlus/core/handler/events/CustomMovementHandler.java @@ -61,7 +61,10 @@ public class CustomMovementHandler { // // Check to see if Enabled - Added 6/17/14 to provide option to disable Sneak Toggle - if (SneakManager.Sneaking()) + boolean isSneaking = SneakManager.Sneaking(); + //Utils.LOG_INFO("Can sneak: "+isSneaking); + //Utils.LOG_INFO("Can sprint: "+SneakManager.Sprinting()); + if (isSneaking) { // Key Pressed if (settings.keyBindSneak.getIsKeyPressed() && !this.handledSneakPress) @@ -118,7 +121,7 @@ public class CustomMovementHandler { boolean enoughHunger = (float)thisPlayer.getFoodStats().getFoodLevel() > 6.0F || thisPlayer.capabilities.isFlying; boolean canSprint = !options.sneak && !thisPlayer.isRiding() && !thisPlayer.capabilities.isFlying && enoughHunger; - isDisabled = !SneakManager.canSprint; + isDisabled = !SneakManager.Sprinting(); canDoubleTap = SneakManager.optionDoubleTap; // Key Pressed @@ -147,7 +150,7 @@ public class CustomMovementHandler { } public void UpdateSprint(boolean newValue, boolean doubleTapped){ - if (SneakManager.SprintingDisabled()){ + if (!SneakManager.Sprinting()){ this.sprint = false; this.sprintDoubleTapped = doubleTapped; } diff --git a/src/Java/gtPlusPlus/core/handler/events/SneakManager.java b/src/Java/gtPlusPlus/core/handler/events/SneakManager.java index 9e783a3a4f..9edc962a6b 100644 --- a/src/Java/gtPlusPlus/core/handler/events/SneakManager.java +++ b/src/Java/gtPlusPlus/core/handler/events/SneakManager.java @@ -1,5 +1,6 @@ package gtPlusPlus.core.handler.events; +import gtPlusPlus.core.util.Utils; import net.minecraft.client.Minecraft; public class SneakManager { @@ -9,17 +10,17 @@ public class SneakManager { protected static final Minecraft mc = Minecraft.getMinecraft(); public static boolean canSprint = true; public static boolean isSneaking = true; - public static boolean optionDoubleTap = false; + public static boolean optionDoubleTap = true; public static boolean wasSprintDisabled = false; - private static State Sprinting = State.OFF; + private static State Sprinting = State.ON; private static State Crouching = State.OFF; public static boolean Sneaking(){ return Crouching.getState(); } - public static boolean SprintingDisabled(){ + public static boolean Sprinting(){ return Sprinting.getState(); } @@ -40,17 +41,26 @@ public class SneakManager { } private static State toggleState(State state){ + Utils.LOG_INFO("State Toggle"); if (state == State.ON) return state = State.OFF; return state = State.ON; } - public static State setStateON(State state1){ - return state1 = State.ON; + public static State setCrouchingStateON(){ + return Crouching = State.ON; } - public static State setStateOFF(State state1){ - return state1 = State.OFF; + public static State setCrouchingStateOFF(){ + return Crouching = State.OFF; + } + + public static State setSprintingStateON(){ + return Sprinting = State.ON; + } + + public static State setSprintingStateOFF(){ + return Sprinting = State.OFF; } public static enum State { diff --git a/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java b/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java index 4605b00645..1c1479eba0 100644 --- a/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java +++ b/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java @@ -99,13 +99,8 @@ public class ItemSlowBuildingRing extends Item implements IBauble{ @Override //TODO public void onUnequipped(ItemStack arg0, EntityLivingBase arg1) { - if (arg1.worldObj.isRemote){ - if (arg1.isSneaking()){ - arg1.setSneaking(false); - } - } - SneakManager.setStateOFF(SneakManager.getSneakingState()); - SneakManager.setStateOFF(SneakManager.getSprintingDisabledState()); + SneakManager.setSprintingStateON(); + SneakManager.setCrouchingStateOFF(); } @Override //TODO @@ -118,14 +113,14 @@ public class ItemSlowBuildingRing extends Item implements IBauble{ if (!arg1.isSneaking()){ arg1.setSneaking(true); Minecraft.getMinecraft().thePlayer.setSneaking(true); - SneakManager.setStateON(SneakManager.getSneakingState()); - SneakManager.setStateON(SneakManager.getSprintingDisabledState()); + SneakManager.setSprintingStateOFF(); + SneakManager.setCrouchingStateON(); } else if (arg1.isSneaking()){ arg1.setSprinting(false); Minecraft.getMinecraft().thePlayer.setSprinting(true); - SneakManager.setStateON(SneakManager.getSneakingState()); - SneakManager.setStateON(SneakManager.getSprintingDisabledState()); + SneakManager.setSprintingStateOFF(); + SneakManager.setCrouchingStateON(); } } } |