removed Old classes

This commit is contained in:
FlorianMichael 2023-04-19 04:40:40 +02:00
parent 78f8476fbc
commit 67a6424434
5 changed files with 36 additions and 29 deletions

View File

@ -15,28 +15,12 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<Runnable> keyboardInteractions = new ConcurrentLinkedDeque<>();
private final static ConcurrentLinkedDeque<Runnable> 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<Runnable> viafabricplus_getMouseInteractions();
ConcurrentLinkedDeque<Runnable> viafabricplus_getKeyboardInteractions();
}

View File

@ -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<Runnable> viafabricplus_mouseInteractions = new ConcurrentLinkedDeque<>();
@Unique
private final ConcurrentLinkedDeque<Runnable> 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<Runnable> viafabricplus_getMouseInteractions() {
return this.viafabricplus_mouseInteractions;
}
@Override
public ConcurrentLinkedDeque<Runnable> viafabricplus_getKeyboardInteractions() {
return this.viafabricplus_keyboardInteractions;
}
}

View File

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

View File

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

View File

@ -314,7 +314,7 @@ public class MixinProtocol1_19_3To1_19_1 extends AbstractProtocol<ClientboundPac
);
wrapper.write(Type.BYTE_ARRAY_PRIMITIVE, signature);
wrapper.write(Type.BOOLEAN, false); // Signed Preview - not implemented yet, but i could do it
wrapper.write(Type.BOOLEAN, false); // Signed Preview - not implemented yet, but I could do it
}
}
});