From a259fbcc33fd636a4ae416f2f17f7f0a6627f07a Mon Sep 17 00:00:00 2001 From: alemi Date: Sat, 18 Mar 2023 22:08:34 +0100 Subject: feat: crude autowalk mod --- .../java/ftbsc/bscv/modules/motion/AutoWalk.java | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/main/java/ftbsc/bscv/modules/motion/AutoWalk.java diff --git a/src/main/java/ftbsc/bscv/modules/motion/AutoWalk.java b/src/main/java/ftbsc/bscv/modules/motion/AutoWalk.java new file mode 100644 index 0000000..d83d3c1 --- /dev/null +++ b/src/main/java/ftbsc/bscv/modules/motion/AutoWalk.java @@ -0,0 +1,44 @@ +package ftbsc.bscv.modules.motion; + +import com.google.auto.service.AutoService; + +import ftbsc.bscv.api.ILoadable; +import ftbsc.bscv.modules.QuickModule; +import net.minecraft.client.util.InputMappings; +import net.minecraftforge.client.settings.IKeyConflictContext; +import net.minecraftforge.client.settings.KeyConflictContext; +import net.minecraftforge.event.TickEvent; +import net.minecraftforge.event.TickEvent.Phase; +import net.minecraftforge.eventbus.api.SubscribeEvent; + +@AutoService(ILoadable.class) +public class AutoWalk extends QuickModule { + + private IKeyConflictContext previous_ctx; + + + @Override + public void enable() { + this.previous_ctx = MC.options.keyUp.getKeyConflictContext(); + MC.options.keyUp.setKeyConflictContext(KeyConflictContext.UNIVERSAL); + + super.enable(); + } + + @Override + public void disable() { + super.disable(); + if (!InputMappings.isKeyDown(MC.getWindow().getWindow(), MC.options.keyUp.getKey().getValue())) { + MC.options.keyUp.setDown(false); + } + MC.options.keyUp.setKeyConflictContext(this.previous_ctx); + } + + @SubscribeEvent + public void onTick(TickEvent.ClientTickEvent event) { + if (event.phase == Phase.END) return; + + MC.options.keyUp.setDown(true); + } + +} -- cgit v1.2.3-56-ga3b1