From 67a6424434e301f88b8c06fce8dc54d38327c768 Mon Sep 17 00:00:00 2001
From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com>
Date: Wed, 19 Apr 2023 04:40:40 +0200
Subject: [PATCH] removed Old classes
---
.../access/IMinecraftClient.java} | 24 +++-----------
.../fixes/minecraft/MixinMinecraftClient.java | 31 ++++++++++++++++---
.../fixes/minecraft/input/MixinKeyboard.java | 4 +--
.../fixes/minecraft/input/MixinMouse.java | 4 +--
.../MixinProtocol1_19_3To1_19_1.java | 2 +-
5 files changed, 36 insertions(+), 29 deletions(-)
rename src/main/java/de/florianmichael/viafabricplus/{definition/v1_12_2/SyncInputExecutor.java => injection/access/IMinecraftClient.java} (51%)
diff --git a/src/main/java/de/florianmichael/viafabricplus/definition/v1_12_2/SyncInputExecutor.java b/src/main/java/de/florianmichael/viafabricplus/injection/access/IMinecraftClient.java
similarity index 51%
rename from src/main/java/de/florianmichael/viafabricplus/definition/v1_12_2/SyncInputExecutor.java
rename to src/main/java/de/florianmichael/viafabricplus/injection/access/IMinecraftClient.java
index eb9e5bab..471b28ff 100644
--- a/src/main/java/de/florianmichael/viafabricplus/definition/v1_12_2/SyncInputExecutor.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/access/IMinecraftClient.java
@@ -15,28 +15,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package de.florianmichael.viafabricplus.definition.v1_12_2;
+package de.florianmichael.viafabricplus.injection.access;
import java.util.concurrent.ConcurrentLinkedDeque;
-public class SyncInputExecutor {
- private final static ConcurrentLinkedDeque keyboardInteractions = new ConcurrentLinkedDeque<>();
- private final static ConcurrentLinkedDeque mouseInteractions = new ConcurrentLinkedDeque<>();
+public interface IMinecraftClient {
- public static void callback() {
- while (!mouseInteractions.isEmpty()) {
- mouseInteractions.poll().run();
- }
- while (!keyboardInteractions.isEmpty()) {
- keyboardInteractions.poll().run();
- }
- }
-
- public static void trackKeyboardInteraction(Runnable interaction) {
- keyboardInteractions.add(interaction);
- }
-
- public static void trackMouseInteraction(Runnable interaction) {
- mouseInteractions.add(interaction);
- }
+ ConcurrentLinkedDeque viafabricplus_getMouseInteractions();
+ ConcurrentLinkedDeque viafabricplus_getKeyboardInteractions();
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMinecraftClient.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMinecraftClient.java
index e02a35e6..5470130f 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMinecraftClient.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/MixinMinecraftClient.java
@@ -22,10 +22,9 @@ import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.protocols.protocol1_12to1_11_1.Protocol1_12To1_11_1;
import com.viaversion.viaversion.protocols.protocol1_9_3to1_9_1_2.ServerboundPackets1_9_3;
-import de.florianmichael.viafabricplus.definition.v1_12_2.SyncInputExecutor;
+import de.florianmichael.viafabricplus.injection.access.IMinecraftClient;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.viafabricplus.settings.groups.DebugSettings;
-import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
@@ -37,14 +36,17 @@ import net.minecraft.util.Hand;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
+import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.Slice;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import java.util.concurrent.ConcurrentLinkedDeque;
+
@Mixin(MinecraftClient.class)
-public abstract class MixinMinecraftClient {
+public abstract class MixinMinecraftClient implements IMinecraftClient {
@Shadow
@Nullable
@@ -94,13 +96,24 @@ public abstract class MixinMinecraftClient {
}
}
+ @Unique
+ private final ConcurrentLinkedDeque viafabricplus_mouseInteractions = new ConcurrentLinkedDeque<>();
+
+ @Unique
+ private final ConcurrentLinkedDeque viafabricplus_keyboardInteractions = new ConcurrentLinkedDeque<>();
+
@SuppressWarnings("ConstantConditions")
@Inject(method = "tick", at = @At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;",
ordinal = 4, shift = At.Shift.BEFORE))
public void injectTick(CallbackInfo ci) {
if (!DebugSettings.INSTANCE.executeInputsInSync.getValue()) return;
- SyncInputExecutor.callback();
+ while (!viafabricplus_mouseInteractions.isEmpty()) {
+ viafabricplus_mouseInteractions.poll().run();
+ }
+ while (!viafabricplus_keyboardInteractions.isEmpty()) {
+ viafabricplus_keyboardInteractions.poll().run();
+ }
}
@Inject(method = "handleInputEvents", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerInteractionManager;hasRidingInventory()Z"))
@@ -116,4 +129,14 @@ public abstract class MixinMinecraftClient {
}
}
}
+
+ @Override
+ public ConcurrentLinkedDeque viafabricplus_getMouseInteractions() {
+ return this.viafabricplus_mouseInteractions;
+ }
+
+ @Override
+ public ConcurrentLinkedDeque viafabricplus_getKeyboardInteractions() {
+ return this.viafabricplus_keyboardInteractions;
+ }
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/input/MixinKeyboard.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/input/MixinKeyboard.java
index d8da33d1..8595ec32 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/input/MixinKeyboard.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/input/MixinKeyboard.java
@@ -18,7 +18,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.input;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
-import de.florianmichael.viafabricplus.definition.v1_12_2.SyncInputExecutor;
+import de.florianmichael.viafabricplus.injection.access.IMinecraftClient;
import de.florianmichael.viafabricplus.settings.groups.DebugSettings;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.client.Keyboard;
@@ -34,7 +34,7 @@ public class MixinKeyboard {
@Redirect(method = "*", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;execute(Ljava/lang/Runnable;)V"))
public void redirectSync(MinecraftClient instance, Runnable runnable) {
if (DebugSettings.INSTANCE.executeInputsInSync.getValue()) {
- SyncInputExecutor.trackKeyboardInteraction(runnable);
+ ((IMinecraftClient) MinecraftClient.getInstance()).viafabricplus_getKeyboardInteractions().add(runnable);
return;
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/input/MixinMouse.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/input/MixinMouse.java
index fba3dbdc..7dc31574 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/input/MixinMouse.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/input/MixinMouse.java
@@ -17,7 +17,7 @@
*/
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.input;
-import de.florianmichael.viafabricplus.definition.v1_12_2.SyncInputExecutor;
+import de.florianmichael.viafabricplus.injection.access.IMinecraftClient;
import de.florianmichael.viafabricplus.settings.groups.DebugSettings;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.Mouse;
@@ -31,7 +31,7 @@ public class MixinMouse {
@Redirect(method = { "method_29615", "method_22685", "method_22684" }, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;execute(Ljava/lang/Runnable;)V"))
public void redirectSync(MinecraftClient instance, Runnable runnable) {
if (DebugSettings.INSTANCE.executeInputsInSync.getValue()) {
- SyncInputExecutor.trackMouseInteraction(runnable);
+ ((IMinecraftClient) MinecraftClient.getInstance()).viafabricplus_getMouseInteractions().add(runnable);
return;
}
diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/protocol1_19_3to1_19_1/MixinProtocol1_19_3To1_19_1.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/protocol1_19_3to1_19_1/MixinProtocol1_19_3To1_19_1.java
index 78b35ffc..8c03d19c 100644
--- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/protocol1_19_3to1_19_1/MixinProtocol1_19_3To1_19_1.java
+++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/protocol1_19_3to1_19_1/MixinProtocol1_19_3To1_19_1.java
@@ -314,7 +314,7 @@ public class MixinProtocol1_19_3To1_19_1 extends AbstractProtocol