feat: crude autowalk mod

This commit is contained in:
əlemi 2023-03-18 22:08:34 +01:00
parent 20e953f15f
commit a259fbcc33
Signed by: alemi
GPG key ID: A4895B84D311642C

View file

@ -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);
}
}