Release 2.6.25

This commit is contained in:
Jonas Herzig
2025-12-16 16:38:50 +01:00
29 changed files with 190 additions and 40 deletions

View File

@@ -92,6 +92,7 @@ dependencies {
12105 -> "0.119.9+1.21.5" 12105 -> "0.119.9+1.21.5"
12107 -> "0.128.1+1.21.7" 12107 -> "0.128.1+1.21.7"
12110 -> "0.135.0+1.21.10" 12110 -> "0.135.0+1.21.10"
12111 -> "0.139.5+1.21.11"
else -> throw UnsupportedOperationException() else -> throw UnsupportedOperationException()
} }
val fabricApiModules = mutableListOf( val fabricApiModules = mutableListOf(
@@ -111,6 +112,9 @@ dependencies {
if (mcVersion >= 11700) { if (mcVersion >= 11700) {
fabricApiModules.remove("networking-v0") fabricApiModules.remove("networking-v0")
} }
if (mcVersion >= 12109) {
fabricApiModules.add("resource-loader-v1")
}
for (module in fabricApiModules) { for (module in fabricApiModules) {
val dep = fabricApi.module("fabric-$module", fabricApiVersion) val dep = fabricApi.module("fabric-$module", fabricApiVersion)
modImplementation(dep) modImplementation(dep)
@@ -170,6 +174,7 @@ dependencies {
if (platform.isFabric) { if (platform.isFabric) {
val modMenuVersion = when { val modMenuVersion = when {
mcVersion >= 12111 -> "17.0.0-alpha.1"
mcVersion >= 12110 -> "16.0.0-rc.1" mcVersion >= 12110 -> "16.0.0-rc.1"
mcVersion >= 12107 -> "15.0.0-beta.3" mcVersion >= 12107 -> "15.0.0-beta.3"
mcVersion >= 12105 -> "14.0.0-rc.2" mcVersion >= 12105 -> "14.0.0-rc.2"

View File

@@ -1,5 +1,5 @@
essential.defaults.loom=0 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. # 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. # This is required to provide enough memory for the Minecraft decompilation process.

2
jGui

Submodule jGui updated: 84a8c5438d...985836c3d0

View File

@@ -204,6 +204,7 @@ defaultTasks("bundleJar")
preprocess { preprocess {
strictExtraMappings.set(true) strictExtraMappings.set(true)
val mc12111 = createNode("1.21.11", 12111, "yarn")
val mc12110 = createNode("1.21.10", 12110, "yarn") val mc12110 = createNode("1.21.10", 12110, "yarn")
val mc12107 = createNode("1.21.7", 12107, "yarn") val mc12107 = createNode("1.21.7", 12107, "yarn")
val mc12105 = createNode("1.21.5", 12105, "yarn") val mc12105 = createNode("1.21.5", 12105, "yarn")
@@ -238,6 +239,7 @@ preprocess {
val mc10800 = createNode("1.8", 10800, "srg") val mc10800 = createNode("1.8", 10800, "srg")
val mc10710 = createNode("1.7.10", 10710, "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")) mc12110.link(mc12107, file("versions/mapping-fabric-1.21.10-1.21.7.txt"))
mc12107.link(mc12105) mc12107.link(mc12105)
mc12105.link(mc12104, file("versions/mapping-fabric-1.21.5-1.21.4.txt")) mc12105.link(mc12104, file("versions/mapping-fabric-1.21.5-1.21.4.txt"))

View File

@@ -45,6 +45,7 @@ val jGuiVersions = listOf(
"1.21.5", "1.21.5",
"1.21.7", "1.21.7",
"1.21.10", "1.21.10",
"1.21.11",
) )
val replayModVersions = listOf( val replayModVersions = listOf(
// "1.7.10", // "1.7.10",
@@ -80,6 +81,7 @@ val replayModVersions = listOf(
"1.21.5", "1.21.5",
"1.21.7", "1.21.7",
"1.21.10", "1.21.10",
"1.21.11",
) )
rootProject.buildFileName = "root.gradle.kts" rootProject.buildFileName = "root.gradle.kts"

View File

@@ -70,7 +70,6 @@ import static com.replaymod.core.versions.MCVer.getMinecraft;
//#if MC>=12109 //#if MC>=12109
//$$ import com.replaymod.core.versions.MCVer.Keyboard; //$$ import com.replaymod.core.versions.MCVer.Keyboard;
//$$ import net.minecraft.client.input.SystemKeycodes;
//#endif //#endif
//#if MC>=12100 //#if MC>=12100
@@ -235,7 +234,7 @@ public class Utils {
public static boolean isCtrlDown() { public static boolean isCtrlDown() {
//#if MC>=12109 //#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 //#elseif MC>=11400
return Screen.hasControlDown(); return Screen.hasControlDown();
//#else //#else

View File

@@ -15,6 +15,7 @@ import net.minecraft.network.NetworkState;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import net.minecraft.util.Util; import net.minecraft.util.Util;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3d;
import org.lwjgl.opengl.GL11;
//#if MC>=12105 //#if MC>=12105
//$$ import net.minecraft.client.render.VertexConsumer; //$$ import net.minecraft.client.render.VertexConsumer;
@@ -447,18 +448,21 @@ public class MCVer {
//#endif //#endif
//#if MC>=12105 //#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 //#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 //#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 //#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 //#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 //#endif
//#if MC<12111
GL11.glLineWidth(lineWidth);
//#endif
int r = color >> 24 & 0xff; int r = color >> 24 & 0xff;
int g = color >> 16 & 0xff; int g = color >> 16 & 0xff;
int b = color >> 8 & 0xff; int b = color >> 8 & 0xff;
@@ -471,6 +475,9 @@ public class MCVer {
//#else //#else
//$$ buffer.vertex(p1.x, p1.y, p1.z) //$$ buffer.vertex(p1.x, p1.y, p1.z)
//#endif //#endif
//#if MC>=12111
//$$ .lineWidth(lineWidth)
//#endif
.color(r, g, b, a) .color(r, g, b, a)
//#if MC>=11700 //#if MC>=11700
//$$ .normal(n.x, n.y, n.z) //$$ .normal(n.x, n.y, n.z)
@@ -482,6 +489,9 @@ public class MCVer {
//#else //#else
//$$ buffer.vertex(p2.x, p2.y, p2.z) //$$ buffer.vertex(p2.x, p2.y, p2.z)
//#endif //#endif
//#if MC>=12111
//$$ .lineWidth(lineWidth)
//#endif
.color(r, g, b, a) .color(r, g, b, a)
//#if MC>=11700 //#if MC>=11700
//$$ .normal(n.x, n.y, n.z) //$$ .normal(n.x, n.y, n.z)
@@ -539,6 +549,11 @@ public class MCVer {
public static abstract class Keyboard { public static abstract class Keyboard {
//#if MC>=11400 //#if MC>=11400
public static final int KEY_LCONTROL = GLFW.GLFW_KEY_LEFT_CONTROL; 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_LSHIFT = GLFW.GLFW_KEY_LEFT_SHIFT;
public static final int KEY_ESCAPE = GLFW.GLFW_KEY_ESCAPE; public static final int KEY_ESCAPE = GLFW.GLFW_KEY_ESCAPE;
public static final int KEY_HOME = GLFW.GLFW_KEY_HOME; public static final int KEY_HOME = GLFW.GLFW_KEY_HOME;

View File

@@ -578,7 +578,9 @@ class Patterns {
@Pattern @Pattern
private static void GL11_glLineWidth(float width) { 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); //$$ com.mojang.blaze3d.systems.RenderSystem.lineWidth(width);
//#else //#else
GL11.glLineWidth(width); GL11.glLineWidth(width);

View File

@@ -139,7 +139,10 @@ public class Util {
//#if MC>=10800 //#if MC>=10800
public static Vector3f getCameraPos() { public static Vector3f getCameraPos() {
MinecraftClient mc = MinecraftClient.getInstance(); 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(); Vec3d pos = mc.getEntityRenderDispatcher().camera.getPos();
return new Vector3f((float) pos.x, (float) pos.y, (float) pos.z); return new Vector3f((float) pos.x, (float) pos.y, (float) pos.z);
//#else //#else

View File

@@ -134,7 +134,11 @@ public class VirtualWindow implements Closeable {
applyScaleFactor(); applyScaleFactor();
if (mc.currentScreen != null) { if (mc.currentScreen != null) {
//#if MC>=12111
//$$ mc.currentScreen.resize(window.getScaledWidth(), window.getScaledHeight());
//#else
mc.currentScreen.resize(mc, window.getScaledWidth(), window.getScaledHeight()); mc.currentScreen.resize(mc, window.getScaledWidth(), window.getScaledHeight());
//#endif
} }
} }

View File

@@ -14,6 +14,11 @@ import de.johni0702.minecraft.gui.utils.EventRegistrations;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
//#if MC>=12111
//$$ import net.minecraft.client.render.CameraOverride;
//$$ import org.joml.Vector3f;
//#endif
//#if MC>=11400 //#if MC>=11400
import com.replaymod.core.events.PostRenderCallback; import com.replaymod.core.events.PostRenderCallback;
import com.replaymod.core.events.PreRenderCallback; 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 mc.options.pauseOnLostFocus = false; // do not want the pause menu to open if the window is unfocused
if (omnidirectional) { if (omnidirectional) {
// makes no sense, we wouldn't even know where to put it // 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); //$$ mc.gameRenderer.setRenderingPanorama(false);
//#else //#else
gameRenderer.setRenderHand(false); gameRenderer.setRenderHand(false);
@@ -120,7 +127,9 @@ public class EntityRendererHandler extends EventRegistrations implements WorldRe
} finally { } finally {
mc.currentScreen = orgScreen; mc.currentScreen = orgScreen;
mc.options.pauseOnLostFocus = orgPauseOnLostFocus; mc.options.pauseOnLostFocus = orgPauseOnLostFocus;
//#if MC>=12106 //#if MC>=12111
//$$ mc.gameRenderer.setCameraOverride(null);
//#elseif MC>=12106
//$$ mc.gameRenderer.setRenderingPanorama(orgRenderHand); //$$ mc.gameRenderer.setRenderingPanorama(orgRenderHand);
//#else //#else
gameRenderer.setRenderHand(orgRenderHand); gameRenderer.setRenderHand(orgRenderHand);

View File

@@ -18,8 +18,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
*/ */
@Mixin(WorldRenderer.class) @Mixin(WorldRenderer.class)
public abstract class Mixin_ChromaKeyColorSky { public abstract class Mixin_ChromaKeyColorSky {
@Shadow @Final private MinecraftClient client;
//#if MC>=11800 //#if MC>=11800
//$$ @Inject( //$$ @Inject(
//#if MC>=12102 //#if MC>=12102
@@ -44,14 +42,17 @@ public abstract class Mixin_ChromaKeyColorSky {
//#else //#else
//$$ @Inject(method = "renderSky(FI)V", at = @At("HEAD"), cancellable = true) //$$ @Inject(method = "renderSky(FI)V", at = @At("HEAD"), cancellable = true)
//#endif //#endif
//#if MC>=12111
//$$ static
//#endif
private void chromaKeyingSky(CallbackInfo ci) { 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) { if (handler != null) {
ReadableColor color = handler.getSettings().getChromaKeyingColor(); ReadableColor color = handler.getSettings().getChromaKeyingColor();
if (color != null) { if (color != null) {
//#if MC>=12105 //#if MC>=12105
//$$ RenderSystem.getDevice().createCommandEncoder().clearColorTexture( //$$ RenderSystem.getDevice().createCommandEncoder().clearColorTexture(
//$$ this.client.getFramebuffer().getColorAttachment(), //$$ MinecraftClient.getInstance().getFramebuffer().getColorAttachment(),
//$$ (0xff << 24) | (color.getRed() << 16) | (color.getGreen() << 8) | color.getBlue() //$$ (0xff << 24) | (color.getRed() << 16) | (color.getGreen() << 8) | color.getBlue()
//$$ ); //$$ );
//#else //#else

View File

@@ -0,0 +1,9 @@
package com.replaymod.render.mixin;
import net.minecraft.client.render.entity.PlayerEntityRenderer;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(PlayerEntityRenderer.class)
public abstract class Mixin_HideNameTags_PlayerEntity {
// 1.21.9 and above
}

View File

@@ -5,6 +5,7 @@ import com.replaymod.render.hooks.EntityRendererHandler;
import com.replaymod.replay.camera.CameraEntity; import com.replaymod.replay.camera.CameraEntity;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Inject;
@@ -46,7 +47,11 @@ public abstract class Mixin_StabilizeCamera {
//#endif //#endif
private void replayModRender_beforeSetupCameraTransform( private void replayModRender_beforeSetupCameraTransform(
//#if MC>=11400 //#if MC>=11400
//#if MC>=12111
//$$ World blockView,
//#else
BlockView blockView, BlockView blockView,
//#endif
Entity entity, Entity entity,
boolean thirdPerson, boolean thirdPerson,
boolean inverseView, boolean inverseView,
@@ -106,7 +111,11 @@ public abstract class Mixin_StabilizeCamera {
//#endif //#endif
private void replayModRender_afterSetupCameraTransform( private void replayModRender_afterSetupCameraTransform(
//#if MC>=11400 //#if MC>=11400
//#if MC>=12111
//$$ World blockView,
//#else
BlockView blockView, BlockView blockView,
//#endif
Entity entity, Entity entity,
boolean thirdPerson, boolean thirdPerson,
boolean inverseView, boolean inverseView,

View File

@@ -394,7 +394,11 @@ public class VideoRenderer implements RenderInfo {
cameraPathExporter.setup(totalFrames); 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()); gui.toMinecraft().init(mc, mc.getWindow().getScaledWidth(), mc.getWindow().getScaledHeight());
//#endif
forceChunkLoadingHook = new ForceChunkLoadingHook(mc.worldRenderer); forceChunkLoadingHook = new ForceChunkLoadingHook(mc.worldRenderer);
} }
@@ -599,7 +603,11 @@ public class VideoRenderer implements RenderInfo {
//#endif //#endif
//#endif //#endif
//#if MC>=12111
//$$ gui.toMinecraft().init(window.getScaledWidth(), window.getScaledHeight());
//#else
gui.toMinecraft().init(mc, window.getScaledWidth(), window.getScaledHeight()); gui.toMinecraft().init(mc, window.getScaledWidth(), window.getScaledHeight());
//#endif
// Events are polled on 1.13+ in mainWindow.update which is called later // Events are polled on 1.13+ in mainWindow.update which is called later
//#if MC<11400 //#if MC<11400
@@ -624,7 +632,11 @@ public class VideoRenderer implements RenderInfo {
//$$ GameRendererAccessor gameRenderer = (GameRendererAccessor) mc.gameRenderer; //$$ GameRendererAccessor gameRenderer = (GameRendererAccessor) mc.gameRenderer;
//$$ GuiRenderState guiRenderState = gameRenderer.getGuiState(); //$$ GuiRenderState guiRenderState = gameRenderer.getGuiState();
//$$ guiRenderState.clear(); //$$ guiRenderState.clear();
//#if MC>=12111
//$$ DrawContext drawContext = new DrawContext(mc, guiRenderState, mouseX, mouseY);
//#else
//$$ DrawContext drawContext = new DrawContext(mc, guiRenderState); //$$ DrawContext drawContext = new DrawContext(mc, guiRenderState);
//#endif
//#elseif MC>=12000 //#elseif MC>=12000
//$$ DrawContext drawContext = new DrawContext(mc, mc.getBufferBuilders().getEntityVertexConsumers()); //$$ DrawContext drawContext = new DrawContext(mc, mc.getBufferBuilders().getEntityVertexConsumers());
//#endif //#endif

View File

@@ -810,12 +810,22 @@ public class ReplayHandler {
//#endif //#endif
//#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 //#if MC>=12106
//$$ GameRendererAccessor gameRenderer = (GameRendererAccessor) mc.gameRenderer; //$$ GameRendererAccessor gameRenderer = (GameRendererAccessor) mc.gameRenderer;
//$$ GuiRenderState guiRenderState = gameRenderer.getGuiState(); //$$ GuiRenderState guiRenderState = gameRenderer.getGuiState();
//$$ guiRenderState.clear(); //$$ 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); //$$ guiScreen.toMinecraft().renderWithTooltip(new DrawContext(mc, guiRenderState), 0, 0, 0);
//#endif
//$$ var orgFog = RenderSystem.getShaderFog(); //$$ var orgFog = RenderSystem.getShaderFog();
//$$ var orgProjBuf = RenderSystem.getProjectionMatrixBuffer(); //$$ var orgProjBuf = RenderSystem.getProjectionMatrixBuffer();
//$$ var orgProjType = RenderSystem.getProjectionType(); //$$ var orgProjType = RenderSystem.getProjectionType();

View File

@@ -320,7 +320,10 @@ public class GuiHandler extends EventRegistrations {
this::onButton this::onButton
) { ) {
@Override @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) { //$$ public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
//$$ super.renderButton(context, mouseX, mouseY, delta); //$$ super.renderButton(context, mouseX, mouseY, delta);
//#elseif MC>=11904 //#elseif MC>=11904
@@ -544,7 +547,9 @@ public class GuiHandler extends EventRegistrations {
} }
public static class InjectedButton extends public static class InjectedButton extends
//#if MC>=11400 //#if MC>=12111
//$$ ButtonWidget.Text
//#elseif MC>=11400
ButtonWidget ButtonWidget
//#else //#else
//$$ GuiButton //$$ GuiButton
@@ -596,7 +601,7 @@ public class GuiHandler extends EventRegistrations {
//#if MC>=11903 //#if MC>=11903
//$$ if (tooltip != null) { //$$ if (tooltip != null) {
//$$ setTooltip(Tooltip.of(Text.translatable(tooltip))); //$$ setTooltip(Tooltip.of(net.minecraft.text.Text.translatable(tooltip)));
//$$ } //$$ }
//#endif //#endif
} }

View File

@@ -12,14 +12,18 @@ import net.minecraft.util.Util;
//$$ import net.minecraft.client.Minecraft; //$$ import net.minecraft.client.Minecraft;
//#endif //#endif
//#if MC>=11500 //#if MC>=12111
//$$ @Mixin(net.minecraft.client.render.TextureTransform.class)
//#elseif MC>=11500
@Mixin(net.minecraft.client.render.RenderPhase.class) @Mixin(net.minecraft.client.render.RenderPhase.class)
//#else //#else
//$$ @Mixin(net.minecraft.client.render.item.ItemRenderer.class) //$$ @Mixin(net.minecraft.client.render.item.ItemRenderer.class)
//#endif //#endif
public class MixinRenderItem { public class MixinRenderItem {
//#if MC>=11400 //#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")) @Redirect(method = "setupGlintTexturing", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Util;getMeasuringTimeMs()J"))
//#else //#else
//#if MC>=11400 //#if MC>=11400

View File

@@ -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.pushScissorState;
import static de.johni0702.minecraft.gui.versions.MCVer.setScissorDisabled; import static de.johni0702.minecraft.gui.versions.MCVer.setScissorDisabled;
//#if MC>=12111
//$$ import net.minecraft.client.render.RenderLayers;
//#endif
//#if MC>=12106 //#if MC>=12106
//$$ import com.replaymod.replay.mixin.DrawContextAccessor; //$$ import com.replaymod.replay.mixin.DrawContextAccessor;
//$$ import com.replaymod.render.mixin.GameRendererAccessor; //$$ import com.replaymod.render.mixin.GameRendererAccessor;
@@ -186,10 +190,15 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline<GuiKeyframeTimeline
float positionXKeyframeTimeline = positonX + KEYFRAME_SIZE / 2f; float positionXKeyframeTimeline = positonX + KEYFRAME_SIZE / 2f;
final int color = 0xff0000ff; final int color = 0xff0000ff;
final float lineWidth = 2f;
//#if MC>=12105 //#if MC>=12105
//$$ VertexConsumerProvider.Immediate immediate = getMinecraft().getBufferBuilders().getEntityVertexConsumers(); //$$ VertexConsumerProvider.Immediate immediate = getMinecraft().getBufferBuilders().getEntityVertexConsumers();
//$$ immediate.draw(); //$$ immediate.draw();
//#if MC>=12111
//$$ VertexConsumer buffer = immediate.getBuffer(RenderLayers.LINES);
//#else
//$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.LINE_STRIP); //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.LINE_STRIP);
//#endif
//#else //#else
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
//#if MC>=12100 //#if MC>=12100
@@ -211,18 +220,18 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline<GuiKeyframeTimeline
//#if MC>=12106 //#if MC>=12106
//$$ linesRenderState.color = color; //$$ linesRenderState.color = color;
//$$ linesRenderState.lineWidth = lineWidth;
//$$ linesRenderState.line(p1, p2); //$$ linesRenderState.line(p1, p2);
//$$ linesRenderState.line(p2, p3); //$$ linesRenderState.line(p2, p3);
//$$ linesRenderState.line(p3, p4); //$$ linesRenderState.line(p3, p4);
//#else //#else
MatrixStack matrixStack = renderer.getMatrixStack(); MatrixStack matrixStack = renderer.getMatrixStack();
emitLine(matrixStack, buffer, p1, p2, color); emitLine(matrixStack, buffer, p1, p2, color, lineWidth);
emitLine(matrixStack, buffer, p2, p3, color); emitLine(matrixStack, buffer, p2, p3, color, lineWidth);
emitLine(matrixStack, buffer, p3, p4, color); emitLine(matrixStack, buffer, p3, p4, color, lineWidth);
pushScissorState(); pushScissorState();
setScissorDisabled(); setScissorDisabled();
GL11.glLineWidth(2);
//#if MC>=12105 //#if MC>=12105
//$$ immediate.draw(); //$$ immediate.draw();
@@ -303,6 +312,7 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline<GuiKeyframeTimeline
//$$ //$$
//$$ List<Pair<Vector2f, Vector2f>> lines = new ArrayList<>(); //$$ List<Pair<Vector2f, Vector2f>> lines = new ArrayList<>();
//$$ int color; //$$ int color;
//$$ float lineWidth;
//$$ //$$
//$$ public void line(Vector2f p1, Vector2f p2) { //$$ public void line(Vector2f p1, Vector2f p2) {
//$$ lines.add(Pair.of(p1, p2)); //$$ lines.add(Pair.of(p1, p2));
@@ -342,9 +352,12 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline<GuiKeyframeTimeline
//$$ @Override //$$ @Override
//$$ protected void render(TimeTimelineLinesRenderState state, MatrixStack matrixStack) { //$$ protected void render(TimeTimelineLinesRenderState state, MatrixStack matrixStack) {
//$$ matrixStack.translate(-state.x2 / 2f, -state.y2, 100); //$$ matrixStack.translate(-state.x2 / 2f, -state.y2, 100);
//$$ RenderSystem.lineWidth(2);
//$$ for (Pair<Vector2f, Vector2f> line : state.lines) { //$$ for (Pair<Vector2f, Vector2f> 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
//$$ } //$$ }
//$$ } //$$ }
//$$ //$$

View File

@@ -30,6 +30,10 @@ import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple; import org.apache.commons.lang3.tuple.Triple;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
//#if MC>=12111
//$$ import net.minecraft.client.render.RenderLayers;
//#endif
//#if MC>=12105 //#if MC>=12105
//$$ import net.minecraft.client.render.RenderLayer; //$$ import net.minecraft.client.render.RenderLayer;
//$$ import net.minecraft.client.render.VertexConsumer; //$$ import net.minecraft.client.render.VertexConsumer;
@@ -270,7 +274,11 @@ public class PathPreviewRenderer extends EventRegistrations {
//#if MC>=12105 //#if MC>=12105
//$$ VertexConsumerProvider.Immediate immediate = mc.getBufferBuilders().getEntityVertexConsumers(); //$$ VertexConsumerProvider.Immediate immediate = mc.getBufferBuilders().getEntityVertexConsumers();
//$$ immediate.draw(); //$$ immediate.draw();
//#if MC>=12111
//$$ VertexConsumer buffer = immediate.getBuffer(RenderLayers.LINES);
//#else
//$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.LINES); //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.LINES);
//#endif
//#else //#else
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
//#if MC>=12100 //#if MC>=12100
@@ -281,9 +289,7 @@ public class PathPreviewRenderer extends EventRegistrations {
//#endif //#endif
//#endif //#endif
emitLine(new MatrixStack(), buffer, Vector3f.sub(pos1, view, null), Vector3f.sub(pos2, view, null), color); emitLine(new MatrixStack(), buffer, Vector3f.sub(pos1, view, null), Vector3f.sub(pos2, view, null), color, 3f);
GL11.glLineWidth(3);
//#if MC>=12105 //#if MC>=12105
//$$ immediate.draw(); //$$ immediate.draw();
@@ -335,7 +341,9 @@ public class PathPreviewRenderer extends EventRegistrations {
//#if MC>=12105 //#if MC>=12105
//$$ VertexConsumerProvider.Immediate immediate = mc.getBufferBuilders().getEntityVertexConsumers(); //$$ VertexConsumerProvider.Immediate immediate = mc.getBufferBuilders().getEntityVertexConsumers();
//$$ immediate.draw(); //$$ 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)); //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.getTextSeeThrough(TEXTURE));
//#else //#else
//$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.getGuiTexturedOverlay(TEXTURE)); //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.getGuiTexturedOverlay(TEXTURE));
@@ -401,7 +409,11 @@ public class PathPreviewRenderer extends EventRegistrations {
//#if MC>=12105 //#if MC>=12105
//$$ VertexConsumerProvider.Immediate immediate = mc.getBufferBuilders().getEntityVertexConsumers(); //$$ VertexConsumerProvider.Immediate immediate = mc.getBufferBuilders().getEntityVertexConsumers();
//$$ immediate.draw(); //$$ immediate.draw();
//#if MC>=12111
//$$ VertexConsumer buffer = immediate.getBuffer(RenderLayers.LINES);
//#else
//$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.LINES); //$$ VertexConsumer buffer = immediate.getBuffer(RenderLayer.LINES);
//#endif
//#else //#else
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
//#if MC>=12100 //#if MC>=12100
@@ -412,7 +424,7 @@ public class PathPreviewRenderer extends EventRegistrations {
//#endif //#endif
//#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 //#if MC>=12105
//$$ immediate.draw(); //$$ immediate.draw();
@@ -445,7 +457,9 @@ public class PathPreviewRenderer extends EventRegistrations {
float r = -cubeSize/2; 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)); //$$ buffer = immediate.getBuffer(RenderLayer.getText(CAMERA_HEAD));
//#elseif MC>=12105 //#elseif MC>=12105
//$$ buffer = immediate.getBuffer(RenderLayer.getGuiTextured(CAMERA_HEAD)); //$$ buffer = immediate.getBuffer(RenderLayer.getGuiTextured(CAMERA_HEAD));

View File

@@ -23,6 +23,7 @@
"Mixin_ForceChunkLoading", "Mixin_ForceChunkLoading",
"Mixin_HideNameTags", "Mixin_HideNameTags",
"Mixin_HideNameTags_LivingEntity", "Mixin_HideNameTags_LivingEntity",
"Mixin_HideNameTags_PlayerEntity",
"Mixin_Omnidirectional_Camera", "Mixin_Omnidirectional_Camera",
"Mixin_Omnidirectional_Rotation", "Mixin_Omnidirectional_Rotation",
"Mixin_PreserveDepthDuringGuiRendering", "Mixin_PreserveDepthDuringGuiRendering",

View File

@@ -1 +1 @@
2.6.24 2.6.25

View File

@@ -13,6 +13,7 @@ import com.replaymod.replaystudio.protocol.packets.PacketEnabledPacksData;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled; import io.netty.buffer.Unpooled;
import net.minecraft.client.network.ClientConfigurationNetworkHandler; import net.minecraft.client.network.ClientConfigurationNetworkHandler;
import net.minecraft.nbt.NbtElement;
import net.minecraft.nbt.NbtOps; import net.minecraft.nbt.NbtOps;
import net.minecraft.network.PacketByteBuf; import net.minecraft.network.PacketByteBuf;
import net.minecraft.network.listener.ClientConfigurationPacketListener; import net.minecraft.network.listener.ClientConfigurationPacketListener;
@@ -24,6 +25,7 @@ import net.minecraft.registry.DynamicRegistryManager;
import net.minecraft.registry.Registry; import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.RegistryOps;
import net.minecraft.world.dimension.DimensionType; import net.minecraft.world.dimension.DimensionType;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.Unique;
@@ -43,8 +45,9 @@ public abstract class MixinNetHandlerConfigClient {
ByteBuf byteBuf = Unpooled.buffer(); ByteBuf byteBuf = Unpooled.buffer();
PacketByteBuf buf = new PacketByteBuf(byteBuf); PacketByteBuf buf = new PacketByteBuf(byteBuf);
buf.writeString(PacketEnabledPacksData.ID); buf.writeString(PacketEnabledPacksData.ID);
RegistryOps<NbtElement> ops = registryManager.getOps(NbtOps.INSTANCE);
buf.writeVarInt(1); 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()]; byte[] bytes = new byte[byteBuf.readableBytes()];
byteBuf.readBytes(bytes); byteBuf.readBytes(bytes);
@@ -59,12 +62,12 @@ public abstract class MixinNetHandlerConfigClient {
} }
@Unique @Unique
private <T> void write(PacketByteBuf buf, Registry<T> registry, Codec<T> codec) { private <T> void write(PacketByteBuf buf, Registry<T> registry, Codec<T> codec, RegistryOps<NbtElement> ops) {
buf.writeString(registry.getKey().getValue().toString()); buf.writeString(registry.getKey().getValue().toString());
buf.writeVarInt(registry.size()); buf.writeVarInt(registry.size());
for (Map.Entry<RegistryKey<T>, T> entry : registry.getEntrySet()) { for (Map.Entry<RegistryKey<T>, T> entry : registry.getEntrySet()) {
buf.writeString(entry.getKey().getValue().toString()); buf.writeString(entry.getKey().getValue().toString());
buf.writeNbt(codec.encodeStart(NbtOps.INSTANCE, entry.getValue()).getOrThrow()); buf.writeNbt(codec.encodeStart(ops, entry.getValue()).getOrThrow());
} }
} }

View File

@@ -0,0 +1,20 @@
package com.replaymod.render.mixin;
import com.replaymod.core.versions.MCVer;
import com.replaymod.render.hooks.EntityRendererHandler;
import net.minecraft.client.render.entity.PlayerEntityRenderer;
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;
@Mixin(PlayerEntityRenderer.class)
public abstract class Mixin_HideNameTags_PlayerEntity {
@Inject(method = "renderLabelIfPresent(Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;Lnet/minecraft/client/render/state/CameraRenderState;)V", at = @At("HEAD"), cancellable = true)
private void replayModRender_areAllNamesHidden(CallbackInfo ci) {
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
if (handler != null && !handler.getSettings().isRenderNameTags()) {
ci.cancel();
}
}
}

View File

View File

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

View File

@@ -12,7 +12,11 @@ import org.spongepowered.asm.mixin.injection.At;
@Mixin(GlResourceManager.class) @Mixin(GlResourceManager.class)
public class Mixin_FixCopyTextureToBuffer_DepthTexture { public class Mixin_FixCopyTextureToBuffer_DepthTexture {
@WrapOperation( @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", 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") at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gl/FramebufferManager;setupFramebuffer(IIIII)V")
) )
private void setupFramebuffer( private void setupFramebuffer(

View File

@@ -0,0 +1 @@
net.minecraft.client.render.Camera getCameraPos() getPos()