From 545721ad9968e2d72f6f8e45bb8d9de49db38161 Mon Sep 17 00:00:00 2001 From: Andrew Steinborn Date: Fri, 9 Jun 2023 23:19:36 -0400 Subject: [PATCH] Krypton 0.2.3 --- gradle.properties | 6 ++-- .../EntityTrackerEntryMixin.java | 24 ---------------- .../ThreadedAnvilChunkStorageMixin.java | 2 +- .../compression/ClientConnectionMixin.java | 28 ------------------- .../shared/network/util/AutoFlushUtil.java | 8 ------ src/main/resources/fabric.mod.json | 2 +- src/main/resources/krypton.mixins.json | 1 - 7 files changed, 5 insertions(+), 66 deletions(-) delete mode 100644 src/main/java/me/steinborn/krypton/mixin/shared/network/flushconsolidation/EntityTrackerEntryMixin.java diff --git a/gradle.properties b/gradle.properties index 4a9f02b..7b13390 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,10 +2,10 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.19.4 -yarn_mappings=1.19.4+build.1 +minecraft_version=1.20 +yarn_mappings=1.20+build.1 loader_version=0.14.17 # Mod Properties -mod_version=0.2.2 +mod_version=0.2.3 maven_group=me.steinborn archives_base_name=krypton \ No newline at end of file diff --git a/src/main/java/me/steinborn/krypton/mixin/shared/network/flushconsolidation/EntityTrackerEntryMixin.java b/src/main/java/me/steinborn/krypton/mixin/shared/network/flushconsolidation/EntityTrackerEntryMixin.java deleted file mode 100644 index 8e56743..0000000 --- a/src/main/java/me/steinborn/krypton/mixin/shared/network/flushconsolidation/EntityTrackerEntryMixin.java +++ /dev/null @@ -1,24 +0,0 @@ -package me.steinborn.krypton.mixin.shared.network.flushconsolidation; - -import net.minecraft.server.network.EntityTrackerEntry; -import net.minecraft.server.network.ServerPlayerEntity; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import static me.steinborn.krypton.mod.shared.network.util.AutoFlushUtil.setAutoFlush; - -@Mixin(EntityTrackerEntry.class) -public class EntityTrackerEntryMixin { - - @Inject(at = @At("HEAD"), method = "startTracking") - public void startTracking$disableAutoFlush(ServerPlayerEntity player, CallbackInfo ci) { - setAutoFlush(player, false); - } - - @Inject(at = @At("RETURN"), method = "startTracking") - public void startTracking$reenableAutoFlush(ServerPlayerEntity player, CallbackInfo ci) { - setAutoFlush(player, true); - } -} diff --git a/src/main/java/me/steinborn/krypton/mixin/shared/network/flushconsolidation/ThreadedAnvilChunkStorageMixin.java b/src/main/java/me/steinborn/krypton/mixin/shared/network/flushconsolidation/ThreadedAnvilChunkStorageMixin.java index d97b95b..e085e61 100644 --- a/src/main/java/me/steinborn/krypton/mixin/shared/network/flushconsolidation/ThreadedAnvilChunkStorageMixin.java +++ b/src/main/java/me/steinborn/krypton/mixin/shared/network/flushconsolidation/ThreadedAnvilChunkStorageMixin.java @@ -143,7 +143,7 @@ public void updatePosition(ServerPlayerEntity player) { // The player *always* needs to be send chunks, as for some reason both chunk loading & unloading packets are handled // by the same method (why mojang) - if (player.world == this.world) + if (player.getWorld() == this.world) this.sendChunkWatchPackets(oldPos, player); } diff --git a/src/main/java/me/steinborn/krypton/mixin/shared/network/pipeline/compression/ClientConnectionMixin.java b/src/main/java/me/steinborn/krypton/mixin/shared/network/pipeline/compression/ClientConnectionMixin.java index 324e051..c84b54c 100644 --- a/src/main/java/me/steinborn/krypton/mixin/shared/network/pipeline/compression/ClientConnectionMixin.java +++ b/src/main/java/me/steinborn/krypton/mixin/shared/network/pipeline/compression/ClientConnectionMixin.java @@ -15,29 +15,11 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; - @Mixin(ClientConnection.class) public class ClientConnectionMixin { - private static Constructor krypton_viaEventConstructor; - - static { - krypton_findViaEvent(); - } - @Shadow private Channel channel; - private static void krypton_findViaEvent() { - // ViaFabric compatibility - try { - krypton_viaEventConstructor = - Class.forName("com.viaversion.fabric.common.handler.PipelineReorderEvent").getConstructor(); - } catch (ClassNotFoundException | NoSuchMethodException ignored) { - } - } - @Inject(method = "setCompressionThreshold", at = @At("HEAD"), cancellable = true) public void setCompressionThreshold(int compressionThreshold, boolean validate, CallbackInfo ci) { if (compressionThreshold < 0) { @@ -71,7 +53,6 @@ public void setCompressionThreshold(int compressionThreshold, boolean validate, this.channel.pipeline().fireUserEventTriggered(KryptonPipelineEvent.COMPRESSION_ENABLED); } } - this.handleViaCompression(); ci.cancel(); } @@ -83,13 +64,4 @@ private static boolean isKryptonOrVanillaDecompressor(Object o) { private static boolean isKryptonOrVanillaCompressor(Object o) { return o instanceof PacketDeflater || o instanceof MinecraftCompressEncoder; } - - private void handleViaCompression() { - if (krypton_viaEventConstructor == null) return; - try { - this.channel.pipeline().fireUserEventTriggered(krypton_viaEventConstructor.newInstance()); - } catch (InvocationTargetException | InstantiationException | IllegalAccessException e) { - e.printStackTrace(); - } - } } diff --git a/src/main/java/me/steinborn/krypton/mod/shared/network/util/AutoFlushUtil.java b/src/main/java/me/steinborn/krypton/mod/shared/network/util/AutoFlushUtil.java index 677bf24..6001e1c 100644 --- a/src/main/java/me/steinborn/krypton/mod/shared/network/util/AutoFlushUtil.java +++ b/src/main/java/me/steinborn/krypton/mod/shared/network/util/AutoFlushUtil.java @@ -2,7 +2,6 @@ import me.steinborn.krypton.mixin.shared.network.util.ServerPlayNetworkHandlerAccessor; import me.steinborn.krypton.mod.shared.network.ConfigurableAutoFlush; -import net.minecraft.network.ClientConnection; import net.minecraft.server.network.ServerPlayerEntity; public class AutoFlushUtil { @@ -13,12 +12,5 @@ public static void setAutoFlush(ServerPlayerEntity player, boolean val) { } } - public static void setAutoFlush(ClientConnection conn, boolean val) { - if (conn.getClass() == ClientConnection.class) { - ConfigurableAutoFlush configurableAutoFlusher = ((ConfigurableAutoFlush) conn); - configurableAutoFlusher.setShouldAutoFlush(val); - } - } - private AutoFlushUtil() {} } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index db308ff..6bc7567 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -31,7 +31,7 @@ "accessWidener": "krypton.accesswidener", "depends": { "fabricloader": ">=0.11.3", - "minecraft": "1.19.x" + "minecraft": "1.20.x" }, "custom": { "_lithium_mixin_comment": "We disable the player_chunk_tick mixin as Krypton contains a superior version that does flush consolidation.", diff --git a/src/main/resources/krypton.mixins.json b/src/main/resources/krypton.mixins.json index 92b348e..0cfd457 100644 --- a/src/main/resources/krypton.mixins.json +++ b/src/main/resources/krypton.mixins.json @@ -15,7 +15,6 @@ "shared.fastchunkentityaccess.SectionedEntityCacheMixin", "shared.network.avoidwork.ThreadedAnvilChunkStorageMixin", "shared.network.flushconsolidation.ClientConnectionMixin", - "shared.network.flushconsolidation.EntityTrackerEntryMixin", "shared.network.flushconsolidation.ThreadedAnvilChunkStorageMixin", "shared.network.microopt.EntityTrackerEntryMixin", "shared.network.microopt.PacketByteBufMixin",