From 5315c669437748e7519d613dcc044aacecfeeafe Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Tue, 31 Mar 2020 16:03:25 +0200 Subject: [PATCH] =?UTF-8?q?Cleanup=201.15.2=20=E2=86=92=201.14.4=20remappi?= =?UTF-8?q?ng?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shaders/mixin/MixinShaderRenderChunk.java | 7 +++++-- .../com/replaymod/core/versions/MCVer.java | 21 ++++++++++++------- .../exporters/ModelRendererExporter.java | 14 +++++++++---- ...ntainerLocalRenderInformationAccessor.java | 10 +++++++-- .../render/hooks/EntityRendererHandler.java | 12 +++++------ .../render/mixin/WorldRendererAccessor.java | 9 ++++++++ .../com/replaymod/replay/NoGuiScreenshot.java | 12 +++++------ .../replay/mixin/MixinViewFrustum.java | 15 ++++++++++++- versions/mapping-fabric-1.15.2-1.14.4.txt | 2 -- 9 files changed, 70 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java b/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java index 43c1b97b..7396b8d4 100644 --- a/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java +++ b/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java @@ -3,13 +3,16 @@ package com.replaymod.compat.shaders.mixin; import com.replaymod.render.hooks.EntityRendererHandler; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.render.chunk.ChunkRenderer; 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.CallbackInfoReturnable; -@Mixin(ChunkRenderer.class) +//#if MC>=11500 +//$$ @Mixin(net.minecraft.client.render.chunk.ChunkBuilder.BuiltChunk.class) +//#else +@Mixin(net.minecraft.client.render.chunk.ChunkRenderer.class) +//#endif public abstract class MixinShaderRenderChunk { private final MinecraftClient mc = MinecraftClient.getInstance(); diff --git a/src/main/java/com/replaymod/core/versions/MCVer.java b/src/main/java/com/replaymod/core/versions/MCVer.java index 9c2433e4..56126eb1 100644 --- a/src/main/java/com/replaymod/core/versions/MCVer.java +++ b/src/main/java/com/replaymod/core/versions/MCVer.java @@ -10,7 +10,6 @@ import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.world.ClientWorld; import net.minecraft.client.render.Tessellator; import net.minecraft.client.render.entity.EntityRenderDispatcher; -import net.minecraft.client.model.Box; import net.minecraft.client.model.ModelPart; import net.minecraft.util.crash.CrashReportSection; import net.minecraft.entity.Entity; @@ -24,6 +23,13 @@ import net.minecraft.world.chunk.WorldChunk; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +//#if MC>=11500 +//$$ import net.minecraft.client.model.ModelPart.Cuboid; +//$$ import java.util.ArrayList; +//#else +import net.minecraft.client.model.Box; +//#endif + //#if MC>=11400 import com.replaymod.core.mixin.AbstractButtonWidgetAccessor; import net.minecraft.SharedConstants; @@ -31,7 +37,6 @@ import net.minecraft.client.gui.screen.TitleScreen; import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.gui.widget.AbstractButtonWidget; -import java.util.ArrayList; import java.util.concurrent.CompletableFuture; //#else //$$ import com.google.common.util.concurrent.FutureCallback; @@ -141,7 +146,7 @@ public class MCVer { //#if MC>=11400 return SharedConstants.getGameVersion().getProtocolVersion(); //#else - // FIXME + //$$ // FIXME //$$ throw new UnsupportedOperationException("Minimal mode not supported pre-1.14"); //#endif } @@ -362,13 +367,15 @@ public class MCVer { } @SuppressWarnings("unchecked") + //#if MC>=11500 + //$$ public static List cubeList(ModelPart modelRenderer) { + //$$ return new ArrayList<>(); // FIXME 1.15 + //$$ } + //#else public static List cubeList(ModelPart modelRenderer) { - //#if MC>=11500 - //$$ return new ArrayList<>(); // FIXME 1.15 - //#else return modelRenderer.boxes; - //#endif } + //#endif @SuppressWarnings("unchecked") public static List playerEntities(World world) { diff --git a/src/main/java/com/replaymod/render/blend/exporters/ModelRendererExporter.java b/src/main/java/com/replaymod/render/blend/exporters/ModelRendererExporter.java index a1ddb62e..7e59280c 100644 --- a/src/main/java/com/replaymod/render/blend/exporters/ModelRendererExporter.java +++ b/src/main/java/com/replaymod/render/blend/exporters/ModelRendererExporter.java @@ -8,7 +8,11 @@ import com.replaymod.render.blend.data.DObject; import org.lwjgl.opengl.GL11; //#if MC>=11400 +//#if MC>=11500 +//$$ import net.minecraft.client.model.ModelPart.Cuboid; +//#else import net.minecraft.client.model.Box; +//#endif import net.minecraft.client.model.ModelPart; //#else //$$ import net.minecraft.client.model.ModelBox; @@ -81,13 +85,15 @@ public class ModelRendererExporter implements Exporter { private static DMesh generateMesh(ModelPart model, float scale) { DMesh mesh = new DMesh(); BlendMeshBuilder builder = new BlendMeshBuilder(mesh); + //#if MC>=11500 + //$$ for (Cuboid box : cubeList(model)) { + //$$ // FIXME 1.15 + //$$ } + //#else for (Box box : cubeList(model)) { - //#if MC>=11500 - //$$ // FIXME 1.15 - //#else box.render(builder, scale); - //#endif } + //#endif builder.maybeFinishDrawing(); return mesh; } diff --git a/src/main/java/com/replaymod/render/blend/mixin/ContainerLocalRenderInformationAccessor.java b/src/main/java/com/replaymod/render/blend/mixin/ContainerLocalRenderInformationAccessor.java index 267a3e37..f4ff81f5 100644 --- a/src/main/java/com/replaymod/render/blend/mixin/ContainerLocalRenderInformationAccessor.java +++ b/src/main/java/com/replaymod/render/blend/mixin/ContainerLocalRenderInformationAccessor.java @@ -1,21 +1,27 @@ //#if MC>=10800 package com.replaymod.render.blend.mixin; -import net.minecraft.client.render.chunk.ChunkRenderer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; +//#if MC>=11500 +//$$ import net.minecraft.client.render.chunk.ChunkBuilder.BuiltChunk; +//#else +import net.minecraft.client.render.chunk.ChunkRenderer; +//#endif + @Mixin(targets = "net.minecraft.client.render.WorldRenderer$ChunkInfo") public interface ContainerLocalRenderInformationAccessor { //#if MC>=11500 //$$ @Accessor("chunk") + //$$ BuiltChunk getRenderChunk(); //#else //#if MC>=11400 @Accessor("renderer") //#else //$$ @Accessor //#endif - //#endif ChunkRenderer getRenderChunk(); + //#endif } //#endif diff --git a/src/main/java/com/replaymod/render/hooks/EntityRendererHandler.java b/src/main/java/com/replaymod/render/hooks/EntityRendererHandler.java index 617d578f..4fca9273 100644 --- a/src/main/java/com/replaymod/render/hooks/EntityRendererHandler.java +++ b/src/main/java/com/replaymod/render/hooks/EntityRendererHandler.java @@ -63,13 +63,11 @@ public class EntityRendererHandler implements WorldRenderer { //#endif if (mc.world != null && mc.player != null) { - mc.gameRenderer.renderWorld( - partialTicks, - finishTimeNano - //#if MC>=11500 - //$$ , new MatrixStack() - //#endif - ); + //#if MC>=11500 + //$$ mc.gameRenderer.renderWorld(partialTicks, finishTimeNano, new MatrixStack()); + //#else + mc.gameRenderer.renderWorld(partialTicks, finishTimeNano); + //#endif } //#if MC>=11400 diff --git a/src/main/java/com/replaymod/render/mixin/WorldRendererAccessor.java b/src/main/java/com/replaymod/render/mixin/WorldRendererAccessor.java index 88995114..6119d440 100644 --- a/src/main/java/com/replaymod/render/mixin/WorldRendererAccessor.java +++ b/src/main/java/com/replaymod/render/mixin/WorldRendererAccessor.java @@ -8,8 +8,13 @@ import java.util.Set; //#if MC>=10800 import net.minecraft.client.render.chunk.ChunkBuilder; + +//#if MC>=11500 +//$$ import net.minecraft.client.render.chunk.ChunkBuilder.BuiltChunk; +//#else import net.minecraft.client.render.chunk.ChunkRenderer; //#endif +//#endif @Mixin(WorldRenderer.class) public interface WorldRendererAccessor { @@ -25,7 +30,11 @@ public interface WorldRendererAccessor { void setDisplayListEntitiesDirty(boolean value); @Accessor("chunksToRebuild") + //#if MC>=11500 + //$$ Set getChunksToUpdate(); + //#else Set getChunksToUpdate(); //#endif //#endif + //#endif } diff --git a/src/main/java/com/replaymod/replay/NoGuiScreenshot.java b/src/main/java/com/replaymod/replay/NoGuiScreenshot.java index 7f66ebae..6821ee13 100644 --- a/src/main/java/com/replaymod/replay/NoGuiScreenshot.java +++ b/src/main/java/com/replaymod/replay/NoGuiScreenshot.java @@ -63,14 +63,11 @@ public class NoGuiScreenshot { mc.getFramebuffer().beginWrite(true); GlStateManager.enableTexture(); + //#if MC>=11500 + //$$ mc.gameRenderer.renderWorld(MCVer.getRenderPartialTicks(), System.nanoTime(), new MatrixStack()); + //#else //#if MC>=11400 - mc.gameRenderer.renderWorld( - MCVer.getRenderPartialTicks(), - System.nanoTime() - //#if MC>=11500 - //$$ , new MatrixStack() - //#endif - ); + mc.gameRenderer.renderWorld(MCVer.getRenderPartialTicks(), System.nanoTime()); //#else //#if MC>=10809 //$$ mc.entityRenderer.updateCameraAndRender(MCVer.getRenderPartialTicks(), System.nanoTime()); @@ -78,6 +75,7 @@ public class NoGuiScreenshot { //$$ mc.entityRenderer.updateCameraAndRender(MCVer.getRenderPartialTicks()); //#endif //#endif + //#endif mc.getFramebuffer().endWrite(); GlStateManager.popMatrix(); diff --git a/src/main/java/com/replaymod/replay/mixin/MixinViewFrustum.java b/src/main/java/com/replaymod/replay/mixin/MixinViewFrustum.java index 1320bb10..5ce85aee 100644 --- a/src/main/java/com/replaymod/replay/mixin/MixinViewFrustum.java +++ b/src/main/java/com/replaymod/replay/mixin/MixinViewFrustum.java @@ -2,12 +2,17 @@ package com.replaymod.replay.mixin; import net.minecraft.client.render.BuiltChunkStorage; -import net.minecraft.client.render.chunk.ChunkRenderer; import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; +//#if MC>=11500 +//$$ import net.minecraft.client.render.chunk.ChunkBuilder.BuiltChunk; +//#else +import net.minecraft.client.render.chunk.ChunkRenderer; +//#endif + @Mixin(BuiltChunkStorage.class) public abstract class MixinViewFrustum { @Redirect( @@ -15,14 +20,22 @@ public abstract class MixinViewFrustum { at = @At( value = "INVOKE", //#if MC>=10904 + //#if MC>=11500 + //$$ target = "Lnet/minecraft/client/render/chunk/ChunkBuilder/BuiltChunk;setOrigin(III)V" + //#else target = "Lnet/minecraft/client/render/chunk/ChunkRenderer;setOrigin(III)V" + //#endif //#else //$$ target = "Lnet/minecraft/client/renderer/chunk/RenderChunk;setPosition(Lnet/minecraft/util/BlockPos;)V" //#endif ) ) private void replayModReplay_updatePositionAndMarkForUpdate( + //#if MC>=11500 + //$$ BuiltChunk renderChunk, + //#else ChunkRenderer renderChunk, + //#endif //#if MC>=10904 int x, int y, int z //#else diff --git a/versions/mapping-fabric-1.15.2-1.14.4.txt b/versions/mapping-fabric-1.15.2-1.14.4.txt index 5cd270f0..8466600e 100644 --- a/versions/mapping-fabric-1.15.2-1.14.4.txt +++ b/versions/mapping-fabric-1.15.2-1.14.4.txt @@ -1,5 +1,3 @@ -net.minecraft.client.model.ModelPart.Cuboid net.minecraft.client.model.Box -net.minecraft.client.render.chunk.ChunkBuilder.BuiltChunk net.minecraft.client.render.chunk.ChunkRenderer net.fabricmc.fabric.impl.resource.loader.ModResourcePackUtil net.fabricmc.fabric.impl.resources.ModResourcePackUtil net.minecraft.client.render.entity.EntityRenderer shouldRender() isVisible() net.minecraft.client.render.Frustum net.minecraft.client.render.VisibleRegion