1111import org .spongepowered .asm .mixin .injection .Inject ;
1212import org .spongepowered .asm .mixin .injection .callback .CallbackInfo ;
1313import org .spongepowered .asm .mixin .injection .callback .CallbackInfoReturnable ;
14+ import top .fifthlight .touchcontroller .common .config .GlobalConfig ;
15+ import top .fifthlight .touchcontroller .common .config .data .StatusConfig ;
1416import top .fifthlight .touchcontroller .common .config .holder .GlobalConfigHolder ;
1517import top .fifthlight .touchcontroller .extension .v1_21_11 .ClickableKeyBinding ;
1618import top .fifthlight .touchcontroller .fabric .v1_21_11 .TouchController ;
@@ -24,10 +26,7 @@ public abstract class KeyBindingMixin implements ClickableKeyBinding {
2426 private int clickCount ;
2527
2628 @ Unique
27- private static boolean touchController$doCancelKey (KeyMapping keyMapping ) {
28- var configHolder = GlobalConfigHolder .INSTANCE ;
29- var config = configHolder .getConfig ().getValue ();
30-
29+ private static boolean touchController$doCancelKey (GlobalConfig config , KeyMapping keyMapping ) {
3130 var client = Minecraft .getInstance ();
3231 if (keyMapping == client .options .keyAttack || keyMapping == client .options .keyUse ) {
3332 return config .getRegular ().getDisableMouseClick () || config .getDebug ().getEnableTouchEmulation ();
@@ -44,11 +43,18 @@ public abstract class KeyBindingMixin implements ClickableKeyBinding {
4443
4544 @ WrapOperation (method = "forAllKeyMappings" , at = @ At (value = "INVOKE" , target = "Ljava/util/function/Consumer;accept(Ljava/lang/Object;)V" ))
4645 private static <T > void forAllKeyMappings (Consumer <T > instance , T keyMapping , Operation <Void > original ) {
46+ var configHolder = GlobalConfigHolder .INSTANCE ;
47+ var config = configHolder .getConfig ().getValue ();
48+ if (config .getStatus ().getStatus () == StatusConfig .Status .DISABLED ) {
49+ original .call (instance , keyMapping );
50+ return ;
51+ }
52+
4753 if (!(keyMapping instanceof KeyMapping key )) {
4854 original .call (instance , keyMapping );
4955 return ;
5056 }
51- if (touchController$doCancelKey (key )) {
57+ if (touchController$doCancelKey (config , key )) {
5258 return ;
5359 }
5460 original .call (instance , keyMapping );
0 commit comments