From caffd413587999418b618f4bc2082ceb9ad77869 Mon Sep 17 00:00:00 2001 From: TKD_Kedis <79972336+KedisPL@users.noreply.github.com> Date: Tue, 16 Dec 2025 16:34:53 +0100 Subject: [PATCH] Update to 1.21.11 (#1106) Co-authored-by: Jonas Herzig --- build.gradle.kts | 2 ++ gradle.properties | 2 +- jGui | 2 +- libs/ReplayStudio | 2 +- root.gradle.kts | 2 ++ settings.gradle.kts | 2 ++ .../java/com/replaymod/core/utils/Utils.java | 3 +-- .../com/replaymod/core/versions/MCVer.java | 25 ++++++++++++++---- .../com/replaymod/core/versions/Patterns.java | 4 ++- .../java/com/replaymod/render/blend/Util.java | 5 +++- .../render/gui/progress/VirtualWindow.java | 4 +++ .../render/hooks/EntityRendererHandler.java | 13 ++++++++-- .../render/mixin/Mixin_ChromaKeyColorSky.java | 9 ++++--- .../render/mixin/Mixin_StabilizeCamera.java | 9 +++++++ .../render/rendering/VideoRenderer.java | 12 +++++++++ .../com/replaymod/replay/ReplayHandler.java | 12 ++++++++- .../replaymod/replay/handler/GuiHandler.java | 11 +++++--- .../replay/mixin/MixinRenderItem.java | 8 ++++-- .../gui/GuiKeyframeTimeline.java | 25 +++++++++++++----- .../preview/PathPreviewRenderer.java | 26 ++++++++++++++----- .../mixin/MixinNetHandlerConfigClient.java | 9 ++++--- versions/1.21.11/.gitkeep | 0 versions/1.21.11/gradle.properties | 3 +++ ...n_FixCopyTextureToBuffer_DepthTexture.java | 4 +++ versions/mapping-fabric-1.21.11-1.21.10.txt | 1 + 25 files changed, 156 insertions(+), 39 deletions(-) create mode 100644 versions/1.21.11/.gitkeep create mode 100644 versions/1.21.11/gradle.properties create mode 100644 versions/mapping-fabric-1.21.11-1.21.10.txt diff --git a/build.gradle.kts b/build.gradle.kts index 5dd08053..7750d483 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -92,6 +92,7 @@ dependencies { 12105 -> "0.119.9+1.21.5" 12107 -> "0.128.1+1.21.7" 12110 -> "0.135.0+1.21.10" + 12111 -> "0.139.5+1.21.11" else -> throw UnsupportedOperationException() } val fabricApiModules = mutableListOf( @@ -170,6 +171,7 @@ dependencies { if (platform.isFabric) { val modMenuVersion = when { + mcVersion >= 12111 -> "17.0.0-alpha.1" mcVersion >= 12110 -> "16.0.0-rc.1" mcVersion >= 12107 -> "15.0.0-beta.3" mcVersion >= 12105 -> "14.0.0-rc.2" diff --git a/gradle.properties b/gradle.properties index ac4cbd2a..0412aa14 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ essential.defaults.loom=0 -essential.defaults.loom.fabric-loader=net.fabricmc:fabric-loader:0.17.3 +essential.defaults.loom.fabric-loader=net.fabricmc:fabric-loader:0.18.2 # Sets default memory used for gradle commands. Can be overridden by user or command line properties. # This is required to provide enough memory for the Minecraft decompilation process. diff --git a/jGui b/jGui index 84a8c543..985836c3 160000 --- a/jGui +++ b/jGui @@ -1 +1 @@ -Subproject commit 84a8c5438db578f5f7445bfe852770cc004af29a +Subproject commit 985836c3d026b10b429828375d89c8b275c5eb52 diff --git a/libs/ReplayStudio b/libs/ReplayStudio index 03d5609f..526f9aaf 160000 --- a/libs/ReplayStudio +++ b/libs/ReplayStudio @@ -1 +1 @@ -Subproject commit 03d5609f7729d735acb875e0e40371026f7fef0c +Subproject commit 526f9aaf43fb49f66068dcb32e0253008df17bb1 diff --git a/root.gradle.kts b/root.gradle.kts index cdf2af2e..b78aec61 100755 --- a/root.gradle.kts +++ b/root.gradle.kts @@ -204,6 +204,7 @@ defaultTasks("bundleJar") preprocess { strictExtraMappings.set(true) + val mc12111 = createNode("1.21.11", 12111, "yarn") val mc12110 = createNode("1.21.10", 12110, "yarn") val mc12107 = createNode("1.21.7", 12107, "yarn") val mc12105 = createNode("1.21.5", 12105, "yarn") @@ -238,6 +239,7 @@ preprocess { val mc10800 = createNode("1.8", 10800, "srg") val mc10710 = createNode("1.7.10", 10710, "srg") + mc12111.link(mc12110, file("versions/mapping-fabric-1.21.11-1.21.10.txt")) mc12110.link(mc12107, file("versions/mapping-fabric-1.21.10-1.21.7.txt")) mc12107.link(mc12105) mc12105.link(mc12104, file("versions/mapping-fabric-1.21.5-1.21.4.txt")) diff --git a/settings.gradle.kts b/settings.gradle.kts index 6a8fe27c..dc286747 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -45,6 +45,7 @@ val jGuiVersions = listOf( "1.21.5", "1.21.7", "1.21.10", + "1.21.11", ) val replayModVersions = listOf( // "1.7.10", @@ -80,6 +81,7 @@ val replayModVersions = listOf( "1.21.5", "1.21.7", "1.21.10", + "1.21.11", ) rootProject.buildFileName = "root.gradle.kts" diff --git a/src/main/java/com/replaymod/core/utils/Utils.java b/src/main/java/com/replaymod/core/utils/Utils.java index 21b55739..c617e451 100644 --- a/src/main/java/com/replaymod/core/utils/Utils.java +++ b/src/main/java/com/replaymod/core/utils/Utils.java @@ -70,7 +70,6 @@ import static com.replaymod.core.versions.MCVer.getMinecraft; //#if MC>=12109 //$$ import com.replaymod.core.versions.MCVer.Keyboard; -//$$ import net.minecraft.client.input.SystemKeycodes; //#endif //#if MC>=12100 @@ -235,7 +234,7 @@ public class Utils { public static boolean isCtrlDown() { //#if MC>=12109 - //$$ return Keyboard.isKeyDown(SystemKeycodes.LEFT_CTRL) || Keyboard.isKeyDown(SystemKeycodes.RIGHT_CTRL); + //$$ return Keyboard.isKeyDown(Keyboard.LEFT_CTRL) || Keyboard.isKeyDown(Keyboard.RIGHT_CTRL); //#elseif MC>=11400 return Screen.hasControlDown(); //#else diff --git a/src/main/java/com/replaymod/core/versions/MCVer.java b/src/main/java/com/replaymod/core/versions/MCVer.java index 5945b188..2abfe392 100644 --- a/src/main/java/com/replaymod/core/versions/MCVer.java +++ b/src/main/java/com/replaymod/core/versions/MCVer.java @@ -15,6 +15,7 @@ import net.minecraft.network.NetworkState; import net.minecraft.util.Identifier; import net.minecraft.util.Util; import net.minecraft.util.math.Vec3d; +import org.lwjgl.opengl.GL11; //#if MC>=12105 //$$ import net.minecraft.client.render.VertexConsumer; @@ -447,18 +448,21 @@ public class MCVer { //#endif //#if MC>=12105 - //$$ public static void emitLine(MatrixStack matrixStack, VertexConsumer buffer, Vector2f p1, Vector2f p2, int color) { + //$$ public static void emitLine(MatrixStack matrixStack, VertexConsumer buffer, Vector2f p1, Vector2f p2, int color, float lineWidth) { //#else - public static void emitLine(MatrixStack matrixStack, BufferBuilder buffer, Vector2f p1, Vector2f p2, int color) { + public static void emitLine(MatrixStack matrixStack, BufferBuilder buffer, Vector2f p1, Vector2f p2, int color, float lineWidth) { //#endif - emitLine(matrixStack, buffer, new Vector3f(p1.x, p1.y, 0), new Vector3f(p2.x, p2.y, 0), color); + emitLine(matrixStack, buffer, new Vector3f(p1.x, p1.y, 0), new Vector3f(p2.x, p2.y, 0), color, lineWidth); } //#if MC>=12105 - //$$ public static void emitLine(MatrixStack matrixStack, VertexConsumer buffer, Vector3f p1, Vector3f p2, int color) { + //$$ public static void emitLine(MatrixStack matrixStack, VertexConsumer buffer, Vector3f p1, Vector3f p2, int color, float lineWidth) { //#else - public static void emitLine(MatrixStack matrixStack, BufferBuilder buffer, Vector3f p1, Vector3f p2, int color) { + public static void emitLine(MatrixStack matrixStack, BufferBuilder buffer, Vector3f p1, Vector3f p2, int color, float lineWidth) { //#endif + //#if MC<12111 + GL11.glLineWidth(lineWidth); + //#endif int r = color >> 24 & 0xff; int g = color >> 16 & 0xff; int b = color >> 8 & 0xff; @@ -471,6 +475,9 @@ public class MCVer { //#else //$$ buffer.vertex(p1.x, p1.y, p1.z) //#endif + //#if MC>=12111 + //$$ .lineWidth(lineWidth) + //#endif .color(r, g, b, a) //#if MC>=11700 //$$ .normal(n.x, n.y, n.z) @@ -482,6 +489,9 @@ public class MCVer { //#else //$$ buffer.vertex(p2.x, p2.y, p2.z) //#endif + //#if MC>=12111 + //$$ .lineWidth(lineWidth) + //#endif .color(r, g, b, a) //#if MC>=11700 //$$ .normal(n.x, n.y, n.z) @@ -539,6 +549,11 @@ public class MCVer { public static abstract class Keyboard { //#if MC>=11400 public static final int KEY_LCONTROL = GLFW.GLFW_KEY_LEFT_CONTROL; + public static final int KEY_RCONTROL = GLFW.GLFW_KEY_RIGHT_CONTROL; + public static final int KEY_LSUPER = GLFW.GLFW_KEY_LEFT_SUPER; + public static final int KEY_RSUPER = GLFW.GLFW_KEY_RIGHT_SUPER; + public static final int LEFT_CTRL = Util.getOperatingSystem() == Util.OperatingSystem.OSX ? KEY_LSUPER : KEY_LCONTROL; + public static final int RIGHT_CTRL = Util.getOperatingSystem() == Util.OperatingSystem.OSX ? KEY_RSUPER : KEY_RCONTROL; public static final int KEY_LSHIFT = GLFW.GLFW_KEY_LEFT_SHIFT; public static final int KEY_ESCAPE = GLFW.GLFW_KEY_ESCAPE; public static final int KEY_HOME = GLFW.GLFW_KEY_HOME; diff --git a/src/main/java/com/replaymod/core/versions/Patterns.java b/src/main/java/com/replaymod/core/versions/Patterns.java index ba8b193e..64fdc4d2 100644 --- a/src/main/java/com/replaymod/core/versions/Patterns.java +++ b/src/main/java/com/replaymod/core/versions/Patterns.java @@ -578,7 +578,9 @@ class Patterns { @Pattern private static void GL11_glLineWidth(float width) { - //#if MC>=11700 + //#if MC>=12111 + //$$ // Got removed in 1.21.11. Use lineWidth on VertexConsumer instead. + //#elseif MC>=11700 //$$ com.mojang.blaze3d.systems.RenderSystem.lineWidth(width); //#else GL11.glLineWidth(width); diff --git a/src/main/java/com/replaymod/render/blend/Util.java b/src/main/java/com/replaymod/render/blend/Util.java index a2d26181..95545851 100644 --- a/src/main/java/com/replaymod/render/blend/Util.java +++ b/src/main/java/com/replaymod/render/blend/Util.java @@ -139,7 +139,10 @@ public class Util { //#if MC>=10800 public static Vector3f getCameraPos() { MinecraftClient mc = MinecraftClient.getInstance(); - //#if MC>=11400 + //#if MC>=12111 + //$$ Vec3d pos = mc.getEntityRenderDispatcher().camera.getCameraPos(); + //$$ return new Vector3f((float) pos.x, (float) pos.y, (float) pos.z); + //#elseif MC>=11400 Vec3d pos = mc.getEntityRenderDispatcher().camera.getPos(); return new Vector3f((float) pos.x, (float) pos.y, (float) pos.z); //#else diff --git a/src/main/java/com/replaymod/render/gui/progress/VirtualWindow.java b/src/main/java/com/replaymod/render/gui/progress/VirtualWindow.java index 26acace5..3b7660a6 100644 --- a/src/main/java/com/replaymod/render/gui/progress/VirtualWindow.java +++ b/src/main/java/com/replaymod/render/gui/progress/VirtualWindow.java @@ -134,7 +134,11 @@ public class VirtualWindow implements Closeable { applyScaleFactor(); if (mc.currentScreen != null) { + //#if MC>=12111 + //$$ mc.currentScreen.resize(window.getScaledWidth(), window.getScaledHeight()); + //#else mc.currentScreen.resize(mc, window.getScaledWidth(), window.getScaledHeight()); + //#endif } } diff --git a/src/main/java/com/replaymod/render/hooks/EntityRendererHandler.java b/src/main/java/com/replaymod/render/hooks/EntityRendererHandler.java index 0aaf6204..fabf0fd1 100644 --- a/src/main/java/com/replaymod/render/hooks/EntityRendererHandler.java +++ b/src/main/java/com/replaymod/render/hooks/EntityRendererHandler.java @@ -14,6 +14,11 @@ import de.johni0702.minecraft.gui.utils.EventRegistrations; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; +//#if MC>=12111 +//$$ import net.minecraft.client.render.CameraOverride; +//$$ import org.joml.Vector3f; +//#endif + //#if MC>=11400 import com.replaymod.core.events.PostRenderCallback; import com.replaymod.core.events.PreRenderCallback; @@ -98,7 +103,9 @@ public class EntityRendererHandler extends EventRegistrations implements WorldRe mc.options.pauseOnLostFocus = false; // do not want the pause menu to open if the window is unfocused if (omnidirectional) { // makes no sense, we wouldn't even know where to put it - //#if MC>=12106 + //#if MC>=12111 + //$$ mc.gameRenderer.setCameraOverride(new CameraOverride(new Vector3f(mc.gameRenderer.getCamera().getHorizontalPlane()))); + //#elseif MC>=12106 //$$ mc.gameRenderer.setRenderingPanorama(false); //#else gameRenderer.setRenderHand(false); @@ -120,7 +127,9 @@ public class EntityRendererHandler extends EventRegistrations implements WorldRe } finally { mc.currentScreen = orgScreen; mc.options.pauseOnLostFocus = orgPauseOnLostFocus; - //#if MC>=12106 + //#if MC>=12111 + //$$ mc.gameRenderer.setCameraOverride(null); + //#elseif MC>=12106 //$$ mc.gameRenderer.setRenderingPanorama(orgRenderHand); //#else gameRenderer.setRenderHand(orgRenderHand); diff --git a/src/main/java/com/replaymod/render/mixin/Mixin_ChromaKeyColorSky.java b/src/main/java/com/replaymod/render/mixin/Mixin_ChromaKeyColorSky.java index 0e0b45b7..79a2bede 100644 --- a/src/main/java/com/replaymod/render/mixin/Mixin_ChromaKeyColorSky.java +++ b/src/main/java/com/replaymod/render/mixin/Mixin_ChromaKeyColorSky.java @@ -18,8 +18,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; */ @Mixin(WorldRenderer.class) public abstract class Mixin_ChromaKeyColorSky { - @Shadow @Final private MinecraftClient client; - //#if MC>=11800 //$$ @Inject( //#if MC>=12102 @@ -44,14 +42,17 @@ public abstract class Mixin_ChromaKeyColorSky { //#else //$$ @Inject(method = "renderSky(FI)V", at = @At("HEAD"), cancellable = true) //#endif + //#if MC>=12111 + //$$ static + //#endif private void chromaKeyingSky(CallbackInfo ci) { - EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) this.client.gameRenderer).replayModRender_getHandler(); + EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MinecraftClient.getInstance().gameRenderer).replayModRender_getHandler(); if (handler != null) { ReadableColor color = handler.getSettings().getChromaKeyingColor(); if (color != null) { //#if MC>=12105 //$$ RenderSystem.getDevice().createCommandEncoder().clearColorTexture( - //$$ this.client.getFramebuffer().getColorAttachment(), + //$$ MinecraftClient.getInstance().getFramebuffer().getColorAttachment(), //$$ (0xff << 24) | (color.getRed() << 16) | (color.getGreen() << 8) | color.getBlue() //$$ ); //#else diff --git a/src/main/java/com/replaymod/render/mixin/Mixin_StabilizeCamera.java b/src/main/java/com/replaymod/render/mixin/Mixin_StabilizeCamera.java index 1ff658ac..1d9c083d 100644 --- a/src/main/java/com/replaymod/render/mixin/Mixin_StabilizeCamera.java +++ b/src/main/java/com/replaymod/render/mixin/Mixin_StabilizeCamera.java @@ -5,6 +5,7 @@ import com.replaymod.render.hooks.EntityRendererHandler; import com.replaymod.replay.camera.CameraEntity; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; +import net.minecraft.world.World; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -46,7 +47,11 @@ public abstract class Mixin_StabilizeCamera { //#endif private void replayModRender_beforeSetupCameraTransform( //#if MC>=11400 + //#if MC>=12111 + //$$ World blockView, + //#else BlockView blockView, + //#endif Entity entity, boolean thirdPerson, boolean inverseView, @@ -106,7 +111,11 @@ public abstract class Mixin_StabilizeCamera { //#endif private void replayModRender_afterSetupCameraTransform( //#if MC>=11400 + //#if MC>=12111 + //$$ World blockView, + //#else BlockView blockView, + //#endif Entity entity, boolean thirdPerson, boolean inverseView, diff --git a/src/main/java/com/replaymod/render/rendering/VideoRenderer.java b/src/main/java/com/replaymod/render/rendering/VideoRenderer.java index c872d550..5e4c5947 100644 --- a/src/main/java/com/replaymod/render/rendering/VideoRenderer.java +++ b/src/main/java/com/replaymod/render/rendering/VideoRenderer.java @@ -394,7 +394,11 @@ public class VideoRenderer implements RenderInfo { cameraPathExporter.setup(totalFrames); } + //#if MC>=12111 + //$$ gui.toMinecraft().init(mc.getWindow().getScaledWidth(), mc.getWindow().getScaledHeight()); + //#else gui.toMinecraft().init(mc, mc.getWindow().getScaledWidth(), mc.getWindow().getScaledHeight()); + //#endif forceChunkLoadingHook = new ForceChunkLoadingHook(mc.worldRenderer); } @@ -599,7 +603,11 @@ public class VideoRenderer implements RenderInfo { //#endif //#endif + //#if MC>=12111 + //$$ gui.toMinecraft().init(window.getScaledWidth(), window.getScaledHeight()); + //#else gui.toMinecraft().init(mc, window.getScaledWidth(), window.getScaledHeight()); + //#endif // Events are polled on 1.13+ in mainWindow.update which is called later //#if MC<11400 @@ -624,7 +632,11 @@ public class VideoRenderer implements RenderInfo { //$$ GameRendererAccessor gameRenderer = (GameRendererAccessor) mc.gameRenderer; //$$ GuiRenderState guiRenderState = gameRenderer.getGuiState(); //$$ guiRenderState.clear(); + //#if MC>=12111 + //$$ DrawContext drawContext = new DrawContext(mc, guiRenderState, mouseX, mouseY); + //#else //$$ DrawContext drawContext = new DrawContext(mc, guiRenderState); + //#endif //#elseif MC>=12000 //$$ DrawContext drawContext = new DrawContext(mc, mc.getBufferBuilders().getEntityVertexConsumers()); //#endif diff --git a/src/main/java/com/replaymod/replay/ReplayHandler.java b/src/main/java/com/replaymod/replay/ReplayHandler.java index c6675484..4cd9b9e6 100644 --- a/src/main/java/com/replaymod/replay/ReplayHandler.java +++ b/src/main/java/com/replaymod/replay/ReplayHandler.java @@ -810,12 +810,22 @@ public class ReplayHandler { //#endif //#endif - guiScreen.toMinecraft().init(mc, window.getScaledWidth(), window.getScaledHeight()); + //#if MC>=12111 + //$$ guiScreen.toMinecraft().init(window.getScaledWidth(), window.getScaledHeight()); + //#else + //$$ guiScreen.toMinecraft().init(mc, window.getScaledWidth(), window.getScaledHeight()); + //#endif //#if MC>=12106 //$$ GameRendererAccessor gameRenderer = (GameRendererAccessor) mc.gameRenderer; //$$ GuiRenderState guiRenderState = gameRenderer.getGuiState(); //$$ guiRenderState.clear(); + //#if MC>=12111 + //$$ int mouseX = (int) mc.mouse.getX() * window.getScaledWidth() / Math.max(window.getWidth(), 1); + //$$ int mouseY = (int) mc.mouse.getY() * window.getScaledHeight() / Math.max(window.getHeight(), 1); + //$$ guiScreen.toMinecraft().renderWithTooltip(new DrawContext(mc, guiRenderState, mouseX, mouseY), 0, 0, 0); + //#else //$$ guiScreen.toMinecraft().renderWithTooltip(new DrawContext(mc, guiRenderState), 0, 0, 0); + //#endif //$$ var orgFog = RenderSystem.getShaderFog(); //$$ var orgProjBuf = RenderSystem.getProjectionMatrixBuffer(); //$$ var orgProjType = RenderSystem.getProjectionType(); diff --git a/src/main/java/com/replaymod/replay/handler/GuiHandler.java b/src/main/java/com/replaymod/replay/handler/GuiHandler.java index 5621b424..26192771 100644 --- a/src/main/java/com/replaymod/replay/handler/GuiHandler.java +++ b/src/main/java/com/replaymod/replay/handler/GuiHandler.java @@ -320,7 +320,10 @@ public class GuiHandler extends EventRegistrations { this::onButton ) { @Override - //#if MC>=12000 + //#if MC>=12111 + //$$ public void drawIcon(DrawContext context, int mouseX, int mouseY, float delta) { + //$$ super.drawIcon(context, mouseX, mouseY, delta); + //#elseif MC>=12000 //$$ public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) { //$$ super.renderButton(context, mouseX, mouseY, delta); //#elseif MC>=11904 @@ -544,7 +547,9 @@ public class GuiHandler extends EventRegistrations { } public static class InjectedButton extends - //#if MC>=11400 + //#if MC>=12111 + //$$ ButtonWidget.Text + //#elseif MC>=11400 ButtonWidget //#else //$$ GuiButton @@ -596,7 +601,7 @@ public class GuiHandler extends EventRegistrations { //#if MC>=11903 //$$ if (tooltip != null) { - //$$ setTooltip(Tooltip.of(Text.translatable(tooltip))); + //$$ setTooltip(Tooltip.of(net.minecraft.text.Text.translatable(tooltip))); //$$ } //#endif } diff --git a/src/main/java/com/replaymod/replay/mixin/MixinRenderItem.java b/src/main/java/com/replaymod/replay/mixin/MixinRenderItem.java index 63eb3563..a79c9d2d 100644 --- a/src/main/java/com/replaymod/replay/mixin/MixinRenderItem.java +++ b/src/main/java/com/replaymod/replay/mixin/MixinRenderItem.java @@ -12,14 +12,18 @@ import net.minecraft.util.Util; //$$ import net.minecraft.client.Minecraft; //#endif -//#if MC>=11500 +//#if MC>=12111 +//$$ @Mixin(net.minecraft.client.render.TextureTransform.class) +//#elseif MC>=11500 @Mixin(net.minecraft.client.render.RenderPhase.class) //#else //$$ @Mixin(net.minecraft.client.render.item.ItemRenderer.class) //#endif public class MixinRenderItem { //#if MC>=11400 - //#if MC>=11500 + //#if MC>=12111 + //$$ @Redirect(method = "getGlintTransformation", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Util;getMeasuringTimeMs()J")) + //#elseif MC>=11500 @Redirect(method = "setupGlintTexturing", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Util;getMeasuringTimeMs()J")) //#else //#if MC>=11400 diff --git a/src/main/java/com/replaymod/simplepathing/gui/GuiKeyframeTimeline.java b/src/main/java/com/replaymod/simplepathing/gui/GuiKeyframeTimeline.java index 3a4ad6e6..53d8bf04 100644 --- a/src/main/java/com/replaymod/simplepathing/gui/GuiKeyframeTimeline.java +++ b/src/main/java/com/replaymod/simplepathing/gui/GuiKeyframeTimeline.java @@ -38,6 +38,10 @@ import static de.johni0702.minecraft.gui.versions.MCVer.popScissorState; import static de.johni0702.minecraft.gui.versions.MCVer.pushScissorState; import static de.johni0702.minecraft.gui.versions.MCVer.setScissorDisabled; +//#if MC>=12111 +//$$ import net.minecraft.client.render.RenderLayers; +//#endif + //#if MC>=12106 //$$ import com.replaymod.replay.mixin.DrawContextAccessor; //$$ import com.replaymod.render.mixin.GameRendererAccessor; @@ -186,10 +190,15 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline=12105 //$$ VertexConsumerProvider.Immediate immediate = getMinecraft().getBufferBuilders().getEntityVertexConsumers(); //$$ immediate.draw(); + //#if MC>=12111 + //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayers.LINES); + //#else //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.LINE_STRIP); + //#endif //#else Tessellator tessellator = Tessellator.getInstance(); //#if MC>=12100 @@ -211,18 +220,18 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline=12106 //$$ linesRenderState.color = color; + //$$ linesRenderState.lineWidth = lineWidth; //$$ linesRenderState.line(p1, p2); //$$ linesRenderState.line(p2, p3); //$$ linesRenderState.line(p3, p4); //#else MatrixStack matrixStack = renderer.getMatrixStack(); - emitLine(matrixStack, buffer, p1, p2, color); - emitLine(matrixStack, buffer, p2, p3, color); - emitLine(matrixStack, buffer, p3, p4, color); + emitLine(matrixStack, buffer, p1, p2, color, lineWidth); + emitLine(matrixStack, buffer, p2, p3, color, lineWidth); + emitLine(matrixStack, buffer, p3, p4, color, lineWidth); pushScissorState(); setScissorDisabled(); - GL11.glLineWidth(2); //#if MC>=12105 //$$ immediate.draw(); @@ -303,6 +312,7 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline> lines = new ArrayList<>(); //$$ int color; + //$$ float lineWidth; //$$ //$$ public void line(Vector2f p1, Vector2f p2) { //$$ lines.add(Pair.of(p1, p2)); @@ -342,9 +352,12 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline line : state.lines) { - //$$ emitLine(matrixStack, vertexConsumers.getBuffer(RenderLayer.LINES), line.getLeft(), line.getRight(), state.color); + //#if MC>=12111 + //$$ emitLine(matrixStack, vertexConsumers.getBuffer(RenderLayers.LINES), line.getLeft(), line.getRight(), state.color, state.lineWidth); + //#else + //$$ emitLine(matrixStack, vertexConsumers.getBuffer(RenderLayer.LINES), line.getLeft(), line.getRight(), state.color, state.lineWidth); + //#endif //$$ } //$$ } //$$ diff --git a/src/main/java/com/replaymod/simplepathing/preview/PathPreviewRenderer.java b/src/main/java/com/replaymod/simplepathing/preview/PathPreviewRenderer.java index 5ffc1110..e2836786 100644 --- a/src/main/java/com/replaymod/simplepathing/preview/PathPreviewRenderer.java +++ b/src/main/java/com/replaymod/simplepathing/preview/PathPreviewRenderer.java @@ -30,6 +30,10 @@ import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Triple; import org.lwjgl.opengl.GL11; +//#if MC>=12111 +//$$ import net.minecraft.client.render.RenderLayers; +//#endif + //#if MC>=12105 //$$ import net.minecraft.client.render.RenderLayer; //$$ import net.minecraft.client.render.VertexConsumer; @@ -270,7 +274,11 @@ public class PathPreviewRenderer extends EventRegistrations { //#if MC>=12105 //$$ VertexConsumerProvider.Immediate immediate = mc.getBufferBuilders().getEntityVertexConsumers(); //$$ immediate.draw(); + //#if MC>=12111 + //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayers.LINES); + //#else //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.LINES); + //#endif //#else Tessellator tessellator = Tessellator.getInstance(); //#if MC>=12100 @@ -281,9 +289,7 @@ public class PathPreviewRenderer extends EventRegistrations { //#endif //#endif - emitLine(new MatrixStack(), buffer, Vector3f.sub(pos1, view, null), Vector3f.sub(pos2, view, null), color); - - GL11.glLineWidth(3); + emitLine(new MatrixStack(), buffer, Vector3f.sub(pos1, view, null), Vector3f.sub(pos2, view, null), color, 3f); //#if MC>=12105 //$$ immediate.draw(); @@ -335,7 +341,9 @@ public class PathPreviewRenderer extends EventRegistrations { //#if MC>=12105 //$$ VertexConsumerProvider.Immediate immediate = mc.getBufferBuilders().getEntityVertexConsumers(); //$$ immediate.draw(); - //#if MC>=12106 + //#if MC>=12111 + //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayers.textSeeThrough(TEXTURE)); + //#elseif MC>=12106 //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.getTextSeeThrough(TEXTURE)); //#else //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.getGuiTexturedOverlay(TEXTURE)); @@ -401,7 +409,11 @@ public class PathPreviewRenderer extends EventRegistrations { //#if MC>=12105 //$$ VertexConsumerProvider.Immediate immediate = mc.getBufferBuilders().getEntityVertexConsumers(); //$$ immediate.draw(); + //#if MC>=12111 + //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayers.LINES); + //#else //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.LINES); + //#endif //#else Tessellator tessellator = Tessellator.getInstance(); //#if MC>=12100 @@ -412,7 +424,7 @@ public class PathPreviewRenderer extends EventRegistrations { //#endif //#endif - emitLine(new MatrixStack(), buffer, new Vector3f(0, 0, 0), new Vector3f(0, 0, 2), 0x00ff00aa); + emitLine(new MatrixStack(), buffer, new Vector3f(0, 0, 0), new Vector3f(0, 0, 2), 0x00ff00aa, 3f); //#if MC>=12105 //$$ immediate.draw(); @@ -445,7 +457,9 @@ public class PathPreviewRenderer extends EventRegistrations { float r = -cubeSize/2; - //#if MC>=12106 + //#if MC>=12111 + //$$ buffer = immediate.getBuffer(RenderLayers.text(CAMERA_HEAD)); + //#elseif MC>=12106 //$$ buffer = immediate.getBuffer(RenderLayer.getText(CAMERA_HEAD)); //#elseif MC>=12105 //$$ buffer = immediate.getBuffer(RenderLayer.getGuiTextured(CAMERA_HEAD)); diff --git a/versions/1.20.6/src/main/java/com/replaymod/recording/mixin/MixinNetHandlerConfigClient.java b/versions/1.20.6/src/main/java/com/replaymod/recording/mixin/MixinNetHandlerConfigClient.java index e065927d..16f6ab85 100644 --- a/versions/1.20.6/src/main/java/com/replaymod/recording/mixin/MixinNetHandlerConfigClient.java +++ b/versions/1.20.6/src/main/java/com/replaymod/recording/mixin/MixinNetHandlerConfigClient.java @@ -13,6 +13,7 @@ import com.replaymod.replaystudio.protocol.packets.PacketEnabledPacksData; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import net.minecraft.client.network.ClientConfigurationNetworkHandler; +import net.minecraft.nbt.NbtElement; import net.minecraft.nbt.NbtOps; import net.minecraft.network.PacketByteBuf; import net.minecraft.network.listener.ClientConfigurationPacketListener; @@ -24,6 +25,7 @@ import net.minecraft.registry.DynamicRegistryManager; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.RegistryOps; import net.minecraft.world.dimension.DimensionType; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; @@ -43,8 +45,9 @@ public abstract class MixinNetHandlerConfigClient { ByteBuf byteBuf = Unpooled.buffer(); PacketByteBuf buf = new PacketByteBuf(byteBuf); buf.writeString(PacketEnabledPacksData.ID); + RegistryOps ops = registryManager.getOps(NbtOps.INSTANCE); buf.writeVarInt(1); - write(buf, registryManager.get(RegistryKeys.DIMENSION_TYPE), DimensionType.CODEC); + write(buf, registryManager.get(RegistryKeys.DIMENSION_TYPE), DimensionType.CODEC, ops); byte[] bytes = new byte[byteBuf.readableBytes()]; byteBuf.readBytes(bytes); @@ -59,12 +62,12 @@ public abstract class MixinNetHandlerConfigClient { } @Unique - private void write(PacketByteBuf buf, Registry registry, Codec codec) { + private void write(PacketByteBuf buf, Registry registry, Codec codec, RegistryOps ops) { buf.writeString(registry.getKey().getValue().toString()); buf.writeVarInt(registry.size()); for (Map.Entry, T> entry : registry.getEntrySet()) { buf.writeString(entry.getKey().getValue().toString()); - buf.writeNbt(codec.encodeStart(NbtOps.INSTANCE, entry.getValue()).getOrThrow()); + buf.writeNbt(codec.encodeStart(ops, entry.getValue()).getOrThrow()); } } diff --git a/versions/1.21.11/.gitkeep b/versions/1.21.11/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/versions/1.21.11/gradle.properties b/versions/1.21.11/gradle.properties new file mode 100644 index 00000000..0e48712f --- /dev/null +++ b/versions/1.21.11/gradle.properties @@ -0,0 +1,3 @@ +essential.defaults.loom.minecraft=com.mojang:minecraft:1.21.11 +essential.defaults.loom.mappings=net.fabricmc:yarn:1.21.11+build.3 +essential.loom.disableUnpick=true diff --git a/versions/1.21.5/src/main/java/com/replaymod/render/mixin/Mixin_FixCopyTextureToBuffer_DepthTexture.java b/versions/1.21.5/src/main/java/com/replaymod/render/mixin/Mixin_FixCopyTextureToBuffer_DepthTexture.java index 98614570..02e70ff3 100644 --- a/versions/1.21.5/src/main/java/com/replaymod/render/mixin/Mixin_FixCopyTextureToBuffer_DepthTexture.java +++ b/versions/1.21.5/src/main/java/com/replaymod/render/mixin/Mixin_FixCopyTextureToBuffer_DepthTexture.java @@ -12,7 +12,11 @@ import org.spongepowered.asm.mixin.injection.At; @Mixin(GlResourceManager.class) public class Mixin_FixCopyTextureToBuffer_DepthTexture { @WrapOperation( + //#if MC>=12111 + //$$ method = "copyTextureToBuffer(Lcom/mojang/blaze3d/textures/GpuTexture;Lcom/mojang/blaze3d/buffers/GpuBuffer;JLjava/lang/Runnable;IIIII)V", + //#else method = "copyTextureToBuffer(Lcom/mojang/blaze3d/textures/GpuTexture;Lcom/mojang/blaze3d/buffers/GpuBuffer;ILjava/lang/Runnable;IIIII)V", + //#endif at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gl/FramebufferManager;setupFramebuffer(IIIII)V") ) private void setupFramebuffer( diff --git a/versions/mapping-fabric-1.21.11-1.21.10.txt b/versions/mapping-fabric-1.21.11-1.21.10.txt new file mode 100644 index 00000000..65b74967 --- /dev/null +++ b/versions/mapping-fabric-1.21.11-1.21.10.txt @@ -0,0 +1 @@ +net.minecraft.client.render.Camera getCameraPos() getPos()