1
0
forked from Clones/Controlify

auto jump for controllers

This commit is contained in:
isXander
2023-02-13 22:06:10 +00:00
parent 6332e9c7bc
commit 4a5cf40459
3 changed files with 26 additions and 0 deletions

View File

@ -96,6 +96,12 @@ public class YACLHelper {
.binding(def.toggleSneak, () -> config.toggleSneak, v -> config.toggleSneak = v) .binding(def.toggleSneak, () -> config.toggleSneak, v -> config.toggleSneak = v)
.controller(opt -> new BooleanController(opt, v -> Component.translatable("controlify.gui.format.hold_toggle." + (v ? "toggle" : "hold")), false)) .controller(opt -> new BooleanController(opt, v -> Component.translatable("controlify.gui.format.hold_toggle." + (v ? "toggle" : "hold")), false))
.build()) .build())
.option(Option.createBuilder(boolean.class)
.name(Component.translatable("controlify.gui.auto_jump"))
.tooltip(Component.translatable("controlify.gui.auto_jump.tooltip"))
.binding(def.autoJump, () -> config.autoJump, v -> config.autoJump = v)
.controller(BooleanController::new)
.build())
.option(Option.createBuilder(boolean.class) .option(Option.createBuilder(boolean.class)
.name(Component.translatable("controlify.gui.show_guide")) .name(Component.translatable("controlify.gui.show_guide"))
.tooltip(Component.translatable("controlify.gui.show_guide.tooltip")) .tooltip(Component.translatable("controlify.gui.show_guide.tooltip"))

View File

@ -178,6 +178,7 @@ public final class Controller {
public ControllerTheme theme = type().theme(); public ControllerTheme theme = type().theme();
public boolean autoJump = false;
public boolean toggleSprint = true; public boolean toggleSprint = true;
public boolean toggleSneak = true; public boolean toggleSneak = true;

View File

@ -0,0 +1,19 @@
package dev.isxander.controlify.mixins.feature.accessibility;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import dev.isxander.controlify.Controlify;
import dev.isxander.controlify.InputMode;
import net.minecraft.client.player.LocalPlayer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@Mixin(LocalPlayer.class)
public class LocalPlayerMixin {
@ModifyExpressionValue(method = "sendPosition", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/OptionInstance;get()Ljava/lang/Object;"))
private Object shouldUseAutoJump(Object keyboardAutoJump) {
if (Controlify.instance().currentInputMode() == InputMode.CONTROLLER) {
return Controlify.instance().currentController().config().autoJump;
}
return keyboardAutoJump;
}
}