diff options
author | alemi <me@alemi.dev> | 2023-03-18 22:08:34 +0100 |
---|---|---|
committer | alemi <me@alemi.dev> | 2023-03-18 22:08:34 +0100 |
commit | a259fbcc33fd636a4ae416f2f17f7f0a6627f07a (patch) | |
tree | 738917bbf3ed62ac618047628586b988a4a40ea5 /src | |
parent | 20e953f15fad4168369316b588db3f510cf6df9e (diff) |
feat: crude autowalk mod
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/ftbsc/bscv/modules/motion/AutoWalk.java | 44 |
1 files changed, 44 insertions, 0 deletions
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); + } + +} |