77
88import meteordevelopment .meteorclient .events .entity .player .PlayerMoveEvent ;
99import meteordevelopment .meteorclient .events .world .TickEvent ;
10+ import meteordevelopment .meteorclient .events .meteor .KeyEvent ;
1011import meteordevelopment .meteorclient .mixininterface .IVec3d ;
1112import meteordevelopment .meteorclient .pathing .NopPathManager ;
1213import meteordevelopment .meteorclient .pathing .PathManagers ;
1516import meteordevelopment .meteorclient .settings .SettingGroup ;
1617import meteordevelopment .meteorclient .systems .modules .Categories ;
1718import meteordevelopment .meteorclient .systems .modules .Module ;
19+ import meteordevelopment .meteorclient .systems .modules .Modules ;
20+ import meteordevelopment .meteorclient .systems .modules .movement .GUIMove ;
1821import meteordevelopment .meteorclient .utils .Utils ;
1922import meteordevelopment .meteorclient .utils .misc .input .Input ;
23+ import meteordevelopment .meteorclient .utils .misc .input .KeyAction ;
2024import meteordevelopment .orbit .EventHandler ;
2125import meteordevelopment .orbit .EventPriority ;
2226import net .minecraft .client .option .KeyBinding ;
@@ -93,11 +97,6 @@ public void onDeactivate() {
9397
9498 @ EventHandler (priority = EventPriority .HIGH )
9599 private void onTick (TickEvent .Pre event ) {
96- if (disableOnInput .get () && movementInput ()) {
97- toggle ();
98- return ;
99- }
100-
101100 if (mode .get () == Mode .Simple ) {
102101 if (disableOnY .get () && mc .player .lastY != mc .player .getY ()) {
103102 toggle ();
@@ -118,9 +117,16 @@ private void onTick(TickEvent.Pre event) {
118117 }
119118 }
120119
121- @ EventHandler (priority = EventPriority .HIGH )
122- private void afterTick (TickEvent .Post event ) {
123- unpress ();
120+ private void onKey (KeyEvent event ) {
121+ if (!disableOnInput .get ()) return ;
122+ if (mc .currentScreen != null ) {
123+ GUIMove guiMove = Modules .get ().get (GUIMove .class );
124+ if (!guiMove .isActive ()) return ;
125+ if (guiMove .skip ()) return ;
126+ }
127+ if (isMovementKey (event .key ) && event .action == KeyAction .Press ) {
128+ toggle ();
129+ }
124130 }
125131
126132 @ EventHandler
@@ -146,13 +152,13 @@ private void setPressed(KeyBinding key, boolean pressed) {
146152 Input .setKeyState (key , pressed );
147153 }
148154
149- private boolean movementInput ( ) {
150- return mc .options .forwardKey .isPressed ( )
151- || mc .options .backKey .isPressed ( )
152- || mc .options .leftKey .isPressed ( )
153- || mc .options .rightKey .isPressed ( )
154- || mc .options .sneakKey .isPressed ( )
155- || mc .options .jumpKey .isPressed ( );
155+ private boolean isMovementKey ( int key ) {
156+ return mc .options .forwardKey .matchesKey ( key , 0 )
157+ || mc .options .backKey .matchesKey ( key , 0 )
158+ || mc .options .leftKey .matchesKey ( key , 0 )
159+ || mc .options .rightKey .matchesKey ( key , 0 )
160+ || mc .options .sneakKey .matchesKey ( key , 0 )
161+ || mc .options .jumpKey .matchesKey ( key , 0 );
156162 }
157163
158164 private void createGoal () {
0 commit comments