Update to 26.1

This commit is contained in:
Jonas Herzig
2026-03-29 11:20:59 +02:00
parent b72fad4055
commit 27d5432fff
40 changed files with 667 additions and 58 deletions

View File

@@ -0,0 +1 @@
// 26.1+

View File

@@ -57,12 +57,16 @@ public interface MinecraftAccessor {
//$$ Queue<FutureTask<?>> getScheduledTasks();
//#endif
//#if MC >= 26.1
//$$ // Now in BlockableEventLoopAccessor
//#else
@Accessor("crashReport")
//#if MC>=11800
//$$ Supplier<CrashReport> getCrashReporter();
//#else
CrashReport getCrashReporter();
//#endif
//#endif
//#if MC<11400
//$$ @Accessor

View File

@@ -34,10 +34,6 @@ public abstract class MixinMinecraft
extends ReentrantThreadExecutor<Runnable>
//#endif
implements MCVer.MinecraftMethodAccessor {
//#if MC>=11400
public MixinMinecraft(String string_1) { super(string_1); }
//#endif
//#if MC>=11400
@Shadow protected abstract void handleInputEvents();
@@ -59,7 +55,9 @@ public abstract class MixinMinecraft
}
//#endif
//#if MC>=12100
//#if MC >= 26.1
//$$ private static final String GAME_RENDERER_RENDER = "Lnet/minecraft/client/Minecraft;renderFrame(Z)V";
//#elseif MC>=12100
//$$ private static final String GAME_RENDERER_RENDER = "Lnet/minecraft/client/render/GameRenderer;render(Lnet/minecraft/client/render/RenderTickCounter;Z)V";
//#else
private static final String GAME_RENDERER_RENDER = "Lnet/minecraft/client/render/GameRenderer;render(FJZ)V";
@@ -136,4 +134,10 @@ public abstract class MixinMinecraft
//$$ return wheel;
//$$ }
//#endif
//#if MC >= 26.1
//$$ MixinMinecraft() { super(null, false); }
//#elseif MC>=11400
MixinMinecraft() { super(null); }
//#endif
}

View File

@@ -20,10 +20,11 @@ public class Mixin_PostRenderWorldCalback {
//$$ private void postRenderWorld(CallbackInfo ci) {
//$$ MatrixStack matrixStack = new MatrixStack();
//#else
@Inject(method = "render", at = @At("RETURN"))
//#if MC>=11500
@Inject(method = "render", at = @At("RETURN"))
private void postRenderWorld(CallbackInfo ci, @Local(argsOnly = true) MatrixStack matrixStack) {
//#else
//$$ @Inject(method = "render", at = @At("RETURN"))
//$$ private void postRenderWorld(CallbackInfo ci) {
//$$ MatrixStack matrixStack = new MatrixStack();
//#endif

View File

@@ -630,13 +630,24 @@ class Patterns {
@Pattern
private static CrashException crashReportToException(MinecraftClient mc) {
//#if MC>=11800
//#if MC >= 26.1
//$$ return new ReportedException(((com.replaymod.core.mixin.BlockableEventLoopAccessor) mc).getDelayedCrash().get());
//#elseif MC>=11800
//$$ return new CrashException(((MinecraftAccessor) mc).getCrashReporter().get());
//#else
return new CrashException(((MinecraftAccessor) mc).getCrashReporter());
//#endif
}
@Pattern
private static boolean haveDelayedCrash(MinecraftClient mc) {
//#if MC >= 26.1
//$$ return ((com.replaymod.core.mixin.BlockableEventLoopAccessor) mc).getDelayedCrash() != null;
//#else
return ((MinecraftAccessor) mc).getCrashReporter() != null;
//#endif
}
@Pattern
private static Vec3d getTrackedPosition(Entity entity) {
//#if MC>=11604
@@ -936,10 +947,7 @@ class Patterns {
//#endif
}
//#if MC>=10904
//#if MC>=12006
//$$ @Pattern public void getPacketId() {}
//#else
//#if MC>=10904 && MC<12006
@Pattern
public Integer getPacketId(NetworkState state, NetworkSide side, Packet<?> packet) throws Exception {
//#if MC>=12002
@@ -948,8 +956,11 @@ class Patterns {
return state.getPacketId(side, packet);
//#endif
}
//#else
//$$ @Pattern public void getPacketId() {}
//#endif
//#if MC>=10904 && MC < 26.1
@Pattern
public int UnloadChunkPacket_getX(UnloadChunkS2CPacket packet) {
//#if MC>=12002
@@ -968,7 +979,6 @@ class Patterns {
//#endif
}
//#else
//$$ @Pattern public void getPacketId() {}
//$$ @Pattern public void UnloadChunkPacket_getZ() {}
//$$ @Pattern public void UnloadChunkPacket_getX() {}
//#endif

View File

@@ -61,7 +61,11 @@ public class SchedulerImpl implements Scheduler {
private final Thread mcThread = Thread.currentThread();
private ReplayModExecutor(String string_1) {
//#if MC >= 26.1
//$$ super(string_1, false);
//#else
super(string_1);
//#endif
}
@Override public Runnable createTask(Runnable runnable) {

View File

@@ -27,25 +27,27 @@ public class ReplayTimer extends RenderTickCounter {
@Override
// This should be handled by Remap but it isn't (was handled before a9724e3).
//#if MC>=11400
public
//#if MC>=11600
int
//#else
//$$ void
//#endif
//#if MC >= 26.1
//$$ advanceGameTime(
//#elseif MC >= 1.14
beginRenderTick(
//#else
//$$ public void updateTimer(
//$$ updateTimer(
//#endif
//#if MC>=11400
long sysClock
//#endif
//#if MC>=12100
//#if MC>=12100 && MC < 26.1
//$$ , boolean tick
//#endif
) {
//#if MC>=12100
//#if MC>=12100 && MC < 26.1
//$$ if (!tick) return 0;
//#endif
UpdatedCallback.EVENT.invoker().onUpdate();

View File

@@ -185,6 +185,8 @@ public class Util {
}
}
//#if MC >= 26.1
//#else
public static String getTileEntityId(BlockEntity tileEntity) {
//#if MC>=12006
//$$ return net.minecraft.block.entity.BlockEntityType.getId(tileEntity.getType()).toString();
@@ -202,6 +204,7 @@ public class Util {
return nbt.getString("id");
//#endif
}
//#endif
public interface IOCallable<R> {
R call() throws IOException;

View File

@@ -7,6 +7,10 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gl.Framebuffer;
import net.minecraft.client.util.Window;
//#if MC >= 26.1
//$$ import com.mojang.blaze3d.systems.RenderSystem;
//#endif
//#if MC>=11700
//$$ import net.minecraft.client.gl.WindowFramebuffer;
//#endif
@@ -88,7 +92,9 @@ public class VirtualWindow implements Closeable {
guiFramebuffer.draw(framebufferWidth, framebufferHeight);
//#endif
//#if MC>=12102
//#if MC >= 26.1
//$$ RenderSystem.flipFrame(null);
//#elseif MC>=12102
//$$ window.swapBuffers(null);
//#elseif MC>=11500
window.swapBuffers();

View File

@@ -14,7 +14,7 @@ import de.johni0702.minecraft.gui.utils.EventRegistrations;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
//#if MC>=12111
//#if MC>=12111 && MC < 26.1
//$$ import net.minecraft.client.render.CameraOverride;
//$$ import org.joml.Vector3f;
//#endif
@@ -93,7 +93,8 @@ public class EntityRendererHandler extends EventRegistrations implements WorldRe
GameRendererAccessor gameRenderer = (GameRendererAccessor) mc.gameRenderer;
Screen orgScreen = mc.currentScreen;
boolean orgPauseOnLostFocus = mc.options.pauseOnLostFocus;
//#if MC>=12106
//#if MC >= 26.1
//#elseif MC>=12106
//$$ boolean orgRenderHand = mc.gameRenderer.isRenderingPanorama();
//#else
boolean orgRenderHand = gameRenderer.getRenderHand();
@@ -103,7 +104,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>=12111
//#if MC >= 26.1
//$$ mc.gameRenderer.getMainCamera().enablePanoramicMode();
//#elseif MC>=12111
//$$ mc.gameRenderer.setCameraOverride(new CameraOverride(new Vector3f(mc.gameRenderer.getCamera().getHorizontalPlane())));
//#elseif MC>=12106
//$$ mc.gameRenderer.setRenderingPanorama(false);
@@ -112,7 +115,11 @@ public class EntityRendererHandler extends EventRegistrations implements WorldRe
//#endif
}
//#if MC>=12100
//#if MC >= 26.1
//$$ mc.gameRenderer.update(mc.getDeltaTracker(), true);
//$$ mc.gameRenderer.extract(mc.getDeltaTracker(), true);
//$$ mc.gameRenderer.render(mc.getDeltaTracker(), true);
//#elseif MC>=12100
//$$ mc.gameRenderer.render(mc.getRenderTickCounter(), true);
//#elseif MC>=11400
mc.gameRenderer.render(partialTicks, finishTimeNano, true);
@@ -127,7 +134,9 @@ public class EntityRendererHandler extends EventRegistrations implements WorldRe
} finally {
mc.currentScreen = orgScreen;
mc.options.pauseOnLostFocus = orgPauseOnLostFocus;
//#if MC>=12111
//#if MC >= 26.1
//$$ mc.gameRenderer.getMainCamera().disablePanoramicMode();
//#elseif MC>=12111
//$$ mc.gameRenderer.setCameraOverride(null);
//#elseif MC>=12106
//$$ mc.gameRenderer.setRenderingPanorama(orgRenderHand);

View File

@@ -6,7 +6,6 @@ import org.spongepowered.asm.mixin.gen.Accessor;
//#if MC>=12106
//$$ import net.minecraft.client.gui.render.GuiRenderer;
//$$ import net.minecraft.client.gui.render.state.GuiRenderState;
//$$ import net.minecraft.client.render.fog.FogRenderer;
//$$ import net.minecraft.client.util.Pool;
//#endif
@@ -25,8 +24,13 @@ public interface GameRendererAccessor {
//$$ Pool getPool();
//$$ @Accessor
//$$ GuiRenderer getGuiRenderer();
//#if MC >= 26.1
//$$ @Accessor
//$$ GuiRenderState getGuiState();
//$$ net.minecraft.client.renderer.state.GameRenderState getGameRenderState();
//#else
//$$ @Accessor
//$$ net.minecraft.client.gui.render.state.GuiRenderState getGuiState();
//#endif
//$$ @Accessor
//$$ FogRenderer getFogRenderer();
//#endif

View File

@@ -10,7 +10,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(EntityRenderer.class)
public abstract class Mixin_HideNameTags {
//#if MC>=11500
//#if MC >= 26.1
//$$ @Inject(method = "submitNameDisplay(Lnet/minecraft/client/renderer/entity/state/EntityRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/level/CameraRenderState;I)V", at = @At("HEAD"), cancellable = true)
//#elseif MC>=11500
@Inject(method = "renderLabelIfPresent", at = @At("HEAD"), cancellable = true)
//#else
//#if MC>=11400

View File

@@ -40,6 +40,10 @@ import net.minecraft.util.crash.CrashException;
import net.minecraft.sound.SoundCategory;
import org.lwjgl.glfw.GLFW;
//#if MC >= 26.1
//$$ import net.minecraft.client.renderer.state.WindowRenderState;
//#endif
//#if MC>=12109
//$$ import net.minecraft.client.gui.screen.Overlay;
//#endif
@@ -289,11 +293,15 @@ public class VideoRenderer implements RenderInfo {
//#if MC>=11600
int elapsedTicks =
//#endif
//#if MC >= 26.1
//$$ timer.advanceGameTime(
//#else
timer.beginRenderTick(
//#endif
//#if MC>=11400
MCVer.milliTime()
//#endif
//#if MC>=12100
//#if MC>=12100 && MC < 26.1
//$$ , true
//#endif
);
@@ -525,6 +533,9 @@ public class VideoRenderer implements RenderInfo {
if (GLFW.glfwWindowShouldClose(window.getHandle()) || ((MinecraftAccessor) mc).getCrashReporter() != null) {
return false;
}
//#if MC >= 26.1
//$$ RenderSystem.pollEvents();
//#endif
pushMatrix();
//#if MC>=12105
@@ -630,7 +641,11 @@ public class VideoRenderer implements RenderInfo {
//#if MC>=12106
//$$ GameRendererAccessor gameRenderer = (GameRendererAccessor) mc.gameRenderer;
//#if MC >= 26.1
//$$ GuiRenderState guiRenderState = gameRenderer.getGameRenderState().guiRenderState;
//#else
//$$ GuiRenderState guiRenderState = gameRenderer.getGuiState();
//#endif
//$$ guiRenderState.clear();
//#if MC>=12111
//$$ DrawContext drawContext = new DrawContext(mc, guiRenderState, mouseX, mouseY);
@@ -641,6 +656,16 @@ public class VideoRenderer implements RenderInfo {
//$$ DrawContext drawContext = new DrawContext(mc, mc.getBufferBuilders().getEntityVertexConsumers());
//#endif
//#if MC >= 26.1
//$$ WindowRenderState windowRenderState = gameRenderer.getGameRenderState().windowRenderState;
//$$ windowRenderState.width = window.getWidth();
//$$ windowRenderState.height = window.getHeight();
//$$ windowRenderState.guiScale = window.getGuiScale();
//$$ windowRenderState.appropriateLineWidth = window.getAppropriateLineWidth();
//$$ windowRenderState.isMinimized = window.isMinimized();
//$$ windowRenderState.isResized = false;
//#endif
if (mc.getOverlay() != null) {
Screen orgScreen = mc.currentScreen;
try {

View File

@@ -1420,8 +1420,13 @@ public class FullReplaySender extends ChannelInboundHandlerAdapter implements Re
//#if MC>=10904
if (p instanceof UnloadChunkS2CPacket) {
UnloadChunkS2CPacket packet = (UnloadChunkS2CPacket) p;
//#if MC >= 26.1
//$$ int x = packet.pos().x();
//$$ int z = packet.pos().z();
//#else
int x = packet.getX();
int z = packet.getZ();
//#endif
//#else
//$$ if (p instanceof S21PacketChunkData && ((S21PacketChunkData) p).getExtractedSize() == 0) {
//$$ S21PacketChunkData packet = (S21PacketChunkData) p;

View File

@@ -817,7 +817,11 @@ public class ReplayHandler {
//#endif
//#if MC>=12106
//$$ GameRendererAccessor gameRenderer = (GameRendererAccessor) mc.gameRenderer;
//#if MC >= 26.1
//$$ GuiRenderState guiRenderState = gameRenderer.getGameRenderState().guiRenderState;
//#else
//$$ GuiRenderState guiRenderState = gameRenderer.getGuiState();
//#endif
//$$ guiRenderState.clear();
//#if MC>=12111
//$$ int mouseX = (int) mc.mouse.getX() * window.getScaledWidth() / Math.max(window.getWidth(), 1);
@@ -859,7 +863,9 @@ public class ReplayHandler {
//#endif
popMatrix();
//#if MC>=12102
//#if MC >= 26.1
//$$ RenderSystem.flipFrame(null);
//#elseif MC>=12102
//$$ mc.getWindow().swapBuffers(null);
//#elseif MC>=11500
mc.getWindow().swapBuffers();

View File

@@ -181,6 +181,9 @@ public class CameraEntity
//#endif
, false
//#endif
//#if MC >= 26.1
//$$ , mcIn.computeChatAbilities()
//#endif
);
//#if MC>=10900
setUuid(CAMERA_UUID);

View File

@@ -588,7 +588,7 @@ public class GuiHandler extends EventRegistrations {
: EMPTY
//#endif
//#if MC>=11903
//$$ , DEFAULT_NARRATION_SUPPLIER
//$$ , ButtonWidget.DEFAULT_NARRATION_SUPPLIER
//#endif
);
this.guiScreen = guiScreen;

View File

@@ -11,13 +11,23 @@ import org.spongepowered.asm.mixin.injection.ModifyArg;
@Mixin(TitleScreen.class)
public abstract class Mixin_MoveRealmsButton {
//#if MC>=11901
//#if MC >= 26.1
//$$ private static final String REALMS_INIT = "Lcom/mojang/realmsclient/gui/screens/RealmsNotificationsScreen;init(II)V";
//#elseif MC>=11901
//$$ private static final String REALMS_INIT = "Lnet/minecraft/client/realms/gui/screen/RealmsNotificationsScreen;init(Lnet/minecraft/client/MinecraftClient;II)V";
//#else
private static final String REALMS_INIT = "Lnet/minecraft/client/gui/screen/Screen;init(Lnet/minecraft/client/MinecraftClient;II)V";
//#endif
@ModifyArg(method = "init", at = @At(value = "INVOKE", target = REALMS_INIT), index = 2)
@ModifyArg(
method = "init",
at = @At(value = "INVOKE", target = REALMS_INIT),
//#if MC >= 26.1
//$$ index = 1
//#else
index = 2
//#endif
)
private int adjustRealmsButton(int height) {
String setting = ReplayMod.instance.getSettingsRegistry().get(Setting.MAIN_MENU_BUTTON);
if (MainMenuButtonPosition.valueOf(setting) == MainMenuButtonPosition.BIG) {

View File

@@ -354,9 +354,9 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline<GuiKeyframeTimeline
//$$ matrixStack.translate(-state.x2 / 2f, -state.y2, 100);
//$$ for (Pair<Vector2f, Vector2f> line : state.lines) {
//#if MC>=12111
//$$ emitLine(matrixStack, vertexConsumers.getBuffer(RenderLayers.LINES), line.getLeft(), line.getRight(), state.color, state.lineWidth);
//$$ emitLine(matrixStack, this.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);
//$$ emitLine(matrixStack, this.vertexConsumers.getBuffer(RenderLayer.LINES), line.getLeft(), line.getRight(), state.color, state.lineWidth);
//#endif
//$$ }
//$$ }

View File

@@ -4,6 +4,9 @@
"mixins": [],
"server": [],
"client": [
//#if MC >= 26.1
//$$ "BlockableEventLoopAccessor",
//#endif
"Mixin_ContextualKeyBindings",
//#if MC>=11400
"AbstractButtonWidgetAccessor",