From 352d0f47597ab195cdcc2fdb1b80a3317d321080 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sun, 12 Oct 2025 15:04:31 -0500 Subject: [PATCH] re-add MC 1.21.9 support --- .gitlab-ci.yml | 2 +- .../common/AbstractModInitializer.java | 2 +- .../common/wrappers/VersionConstants.java | 4 +- .../common/wrappers/gui/ClassicConfigGUI.java | 4 +- .../wrappers/gui/DhDebugScreenEntry.java | 4 +- .../common/wrappers/gui/MinecraftScreen.java | 2 +- .../wrappers/gui/updater/ChangelogScreen.java | 2 +- .../minecraft/MinecraftClientWrapper.java | 2 +- .../minecraft/MinecraftRenderWrapper.java | 4 +- .../BatchGenerationEnvironment.java | 4 +- .../mimicObject/ChunkFileReader.java | 10 ++-- fabric/build.gradle | 4 +- .../fabric/FabricClientProxy.java | 4 +- .../client/MixinChunkSectionsToRender.java | 2 +- .../client/MixinDebugScreenOverlay.java | 2 +- .../mixins/client/MixinLevelRenderer.java | 10 ++-- gradle.properties | 2 +- .../neoforge/NeoforgeClientProxy.java | 6 +- .../neoforge/NeoforgeServerProxy.java | 2 +- .../client/MixinDebugScreenOverlay.java | 4 +- .../mixins/client/MixinLevelRenderer.java | 2 +- .../mixins/client/MixinLightTexture.java | 4 +- .../NeoforgeMinecraftRenderWrapper.java | 6 +- .../wrappers/NeoforgeTextureUnwrapper.java | 2 +- versionProperties/1.21.9.properties | 59 +++++++++++++++++++ 25 files changed, 106 insertions(+), 43 deletions(-) create mode 100644 versionProperties/1.21.9.properties diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0a9566fad..1ae186d00 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,7 +36,7 @@ build: parallel: matrix: - MC_VER: [ - "1.21.10", "1.21.8", "1.21.6", "1.21.5", "1.21.4", "1.21.3", "1.21.1", + "1.21.10", "1.21.9", "1.21.8", "1.21.6", "1.21.5", "1.21.4", "1.21.3", "1.21.1", "1.20.6", "1.20.4", "1.20.2", "1.20.1", "1.19.4", "1.19.2", "1.18.2", diff --git a/common/src/main/java/com/seibel/distanthorizons/common/AbstractModInitializer.java b/common/src/main/java/com/seibel/distanthorizons/common/AbstractModInitializer.java index 734a3c404..f167ddf46 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/AbstractModInitializer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/AbstractModInitializer.java @@ -86,7 +86,7 @@ public abstract class AbstractModInitializer LOGGER.info(ModInfo.READABLE_NAME + " client Initialized."); - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 // debug screen rendering handled via a mixin #else DhDebugScreenEntry.register(); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/VersionConstants.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/VersionConstants.java index 6df227edf..4e6a97090 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/VersionConstants.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/VersionConstants.java @@ -79,7 +79,9 @@ public class VersionConstants implements IVersionConstants #elif MC_VER == MC_1_21_8 return "1.21.8"; - #elif MC_VER == MC_1_21_10 + #elif MC_VER == MC_1_21_9 + return "1.21.9"; + #elif MC_VER == MC_1_21_9 return "1.21.10"; #else ERROR MC version constant missing diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/ClassicConfigGUI.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/ClassicConfigGUI.java index c185d59db..c1df86c5d 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/ClassicConfigGUI.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/ClassicConfigGUI.java @@ -920,7 +920,7 @@ public class ClassicConfigGUI @Override #if MC_VER < MC_1_20_1 public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 public void render(GuiGraphics matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) #else public void renderContent(GuiGraphics matrices, int mouseX, int mouseY, boolean hovered, float tickDelta) @@ -928,7 +928,7 @@ public class ClassicConfigGUI { try { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 #else int y = this.getY(); // TODO why is the Y value being set during render? #endif diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/DhDebugScreenEntry.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/DhDebugScreenEntry.java index 64fefbd11..e5c643e4f 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/DhDebugScreenEntry.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/DhDebugScreenEntry.java @@ -1,6 +1,6 @@ package com.seibel.distanthorizons.common.wrappers.gui; -#if MC_VER < MC_1_21_10 +#if MC_VER < MC_1_21_9 // not supported for older MC versions #else import com.seibel.distanthorizons.core.logging.f3.F3Screen; @@ -19,7 +19,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.chunk.LevelChunk; #endif -#if MC_VER < MC_1_21_10 +#if MC_VER < MC_1_21_9 // not supported for older MC versions public class DhDebugScreenEntry {} diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/MinecraftScreen.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/MinecraftScreen.java index 3a247ed8b..fc2f7cb44 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/MinecraftScreen.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/MinecraftScreen.java @@ -39,7 +39,7 @@ public class MinecraftScreen protected ConfigScreenRenderer(Screen parent, AbstractScreen screen, String translationName) { super(translate(translationName)); - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 screen.minecraftWindow = Minecraft.getInstance().getWindow().getWindow(); #else screen.minecraftWindow = Minecraft.getInstance().getWindow().handle(); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/updater/ChangelogScreen.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/updater/ChangelogScreen.java index d3acea477..9d6bc5b51 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/updater/ChangelogScreen.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/updater/ChangelogScreen.java @@ -262,7 +262,7 @@ public class ChangelogScreen extends DhScreen @Override public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) { GuiComponent.drawString(matrices, textRenderer, text, 12, y + 5, 0xFFFFFF); } - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 @Override public void render(GuiGraphics matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) { matrices.drawString(textRenderer, this.text, 12, y + 5, 0xFFFFFF); } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java index 4e19e60e8..09b6faad8 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java @@ -315,7 +315,7 @@ public class MinecraftClientWrapper implements IMinecraftClientWrapper, IMinecra #if MC_VER < MC_1_19_2 player.sendMessage(new TextComponent(string), getPlayer().getUUID()); - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 player.displayClientMessage(net.minecraft.network.chat.Component.translatable(string), /*isOverlay*/false); #else diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftRenderWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftRenderWrapper.java index 416919aaf..16a40130c 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftRenderWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftRenderWrapper.java @@ -401,7 +401,7 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper @Override public int getTargetFrameBufferViewportWidth() { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 return this.getRenderTarget().viewWidth; #else return this.getRenderTarget().width; @@ -411,7 +411,7 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper @Override public int getTargetFrameBufferViewportHeight() { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 return this.getRenderTarget().viewHeight; #else return this.getRenderTarget().height; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java index 6f0f1941e..ac6351a15 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java @@ -113,7 +113,7 @@ public final class BatchGenerationEnvironment extends AbstractBatchGenerationEnv #if MC_VER < MC_1_21_5 private static final TicketType DH_SERVER_GEN_TICKET = TicketType.create("dh_server_gen_ticket", Comparator.comparingLong(ChunkPos::toLong)); - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 private static final TicketType DH_SERVER_GEN_TICKET = new TicketType(/* timeout, 0 = disabled*/0L, /* persist */ false, TicketType.TicketUse.LOADING); #else private static final TicketType DH_SERVER_GEN_TICKET = new TicketType(/* timeout, 0 = disabled*/0L, /* flags */0); @@ -744,7 +744,7 @@ public final class BatchGenerationEnvironment extends AbstractBatchGenerationEnv return new ProtoChunk(chunkPos, UpgradeData.EMPTY, level, level.registryAccess().registryOrThrow(Registries.BIOME), null); #elif MC_VER < MC_1_21_3 return new ProtoChunk(chunkPos, UpgradeData.EMPTY, level, level.registryAccess().registryOrThrow(Registries.BIOME), null); - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 return new ProtoChunk(chunkPos, UpgradeData.EMPTY, level, level.registryAccess().lookupOrThrow(Registries.BIOME), null); #else return new ProtoChunk(chunkPos, UpgradeData.EMPTY, level, PalettedContainerFactory.create(level.registryAccess()), null); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/mimicObject/ChunkFileReader.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/mimicObject/ChunkFileReader.java index 1db8455d5..d17e58ead 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/mimicObject/ChunkFileReader.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/mimicObject/ChunkFileReader.java @@ -94,7 +94,7 @@ public class ChunkFileReader private static final AtomicBoolean ZERO_CHUNK_POS_ERROR_LOGGED_REF = new AtomicBoolean(false); - #if MC_VER >= MC_1_21_10 + #if MC_VER >= MC_1_21_9 // BLOCK_STATE_CODEC can no longer be statically created since // it needs a level reference #elif MC_VER >= MC_1_19_2 @@ -263,7 +263,7 @@ public class ChunkFileReader } private static LevelChunkSection[] readSections(LevelAccessor level, ChunkPos chunkPos, CompoundTag chunkData) { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 // BLOCK_STATE_CODEC is created statically // TODO clean up this code separation #else @@ -288,7 +288,7 @@ public class ChunkFileReader #elif MC_VER < MC_1_21_3 Codec>> biomeCodec = PalettedContainer.codecRW( biomes.asHolderIdMap(), biomes.holderByNameCodec(), PalettedContainer.Strategy.SECTION_BIOMES, biomes.getHolderOrThrow(Biomes.PLAINS)); - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 Codec>> biomeCodec = PalettedContainer.codecRW( biomes.asHolderIdMap(), biomes.holderByNameCodec(), PalettedContainer.Strategy.SECTION_BIOMES, biomes.getOrThrow(Biomes.PLAINS)); #else @@ -363,7 +363,7 @@ public class ChunkFileReader } else { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 blockStateContainer = new PalettedContainer(Block.BLOCK_STATE_REGISTRY, Blocks.AIR.defaultBlockState(), PalettedContainer.Strategy.SECTION_STATES); #else blockStateContainer = PalettedContainerFactory.create(level.registryAccess()).createForBlockStates(); @@ -403,7 +403,7 @@ public class ChunkFileReader biomeContainer = new PalettedContainer>( biomes.asHolderIdMap(), biomes.getHolderOrThrow(Biomes.PLAINS), PalettedContainer.Strategy.SECTION_BIOMES); - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 biomeContainer = new PalettedContainer>(biomes.asHolderIdMap(), biomes.getOrThrow(Biomes.PLAINS), PalettedContainer.Strategy.SECTION_BIOMES); diff --git a/fabric/build.gradle b/fabric/build.gradle index 450dacd0f..1125f7954 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -19,7 +19,9 @@ loom { "-Dminecraft.api.session.host=https://nope.invalid", "-Dminecraft.api.services.host=https://nope.invalid", // https://netty.io/wiki/reference-counted-objects.html#leak-detection-levels - "-Dio.netty.leakDetection.level=advanced" + "-Dio.netty.leakDetection.level=advanced", + "-XX:+UseZGC", + "-XX:+ZGenerational" ) programArgs("--username", "Dev") } diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java index 455b650db..6d21d80c1 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java @@ -60,7 +60,7 @@ import java.nio.FloatBuffer; import java.util.HashSet; import java.util.concurrent.AbstractExecutorService; -#if MC_VER < MC_1_21_10 +#if MC_VER < MC_1_21_9 import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; #endif @@ -224,7 +224,7 @@ public class FabricClientProxy implements AbstractModInitializer.IEventProxy //==============// // TODO wait for fabric to re-add their rendering API - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 WorldRenderEvents.AFTER_SETUP.register((renderContext) -> { ClientApi.RENDER_STATE.mcProjectionMatrix = McObjectConverter.Convert(renderContext.projectionMatrix()); diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinChunkSectionsToRender.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinChunkSectionsToRender.java index dc3b343c7..7ae38d6e0 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinChunkSectionsToRender.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinChunkSectionsToRender.java @@ -19,7 +19,7 @@ package com.seibel.distanthorizons.fabric.mixins.client; -#if MC_VER < MC_1_21_10 +#if MC_VER < MC_1_21_9 import net.minecraft.world.entity.Entity; import org.spongepowered.asm.mixin.Mixin; diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinDebugScreenOverlay.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinDebugScreenOverlay.java index 6d10e0388..a67492cda 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinDebugScreenOverlay.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinDebugScreenOverlay.java @@ -12,7 +12,7 @@ import java.util.List; @Mixin(DebugScreenOverlay.class) public class MixinDebugScreenOverlay { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 @Inject(method = "getSystemInformation", at = @At("RETURN")) private void addCustomF3(CallbackInfoReturnable> cir) { diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinLevelRenderer.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinLevelRenderer.java index 7d117f97d..740d52018 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinLevelRenderer.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinLevelRenderer.java @@ -30,7 +30,7 @@ import net.minecraft.client.renderer.RenderType; import com.mojang.blaze3d.vertex.PoseStack; import org.joml.Matrix4f; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -#elif MC_VER < MC_1_21_10 +#elif MC_VER < MC_1_21_9 import com.mojang.blaze3d.buffers.GpuBufferSlice; import com.mojang.blaze3d.framegraph.FrameGraphBuilder; import com.mojang.blaze3d.resource.GraphicsResourceAllocator; @@ -116,7 +116,7 @@ public class MixinLevelRenderer method = "Lnet/minecraft/client/renderer/LevelRenderer;renderSectionLayer(Lnet/minecraft/client/renderer/RenderType;DDDLorg/joml/Matrix4f;Lorg/joml/Matrix4f;)V", cancellable = true) private void renderChunkLayer(RenderType renderType, double x, double y, double z, Matrix4f projectionMatrix, Matrix4f frustumMatrix, CallbackInfo callback) - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 @Inject(at = @At("HEAD"), method = "prepareChunkRenders", cancellable = true) private void prepareChunkRenders(Matrix4fc projectionMatrix, double d, double e, double f, CallbackInfoReturnable callback) #else @@ -141,7 +141,7 @@ public class MixinLevelRenderer // get the matrices directly from MC ClientApi.RENDER_STATE.mcModelViewMatrix = McObjectConverter.Convert(modelViewMatrixStack.last().pose()); ClientApi.RENDER_STATE.mcProjectionMatrix = McObjectConverter.Convert(projectionMatrix); - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 // MC combined the model view and projection matricies ClientApi.RENDER_STATE.mcModelViewMatrix = McObjectConverter.Convert(projectionMatrix); ClientApi.RENDER_STATE.mcProjectionMatrix = new Mat4f(); @@ -169,7 +169,7 @@ public class MixinLevelRenderer { ClientApi.INSTANCE.renderDeferredLodsForShaders(); } - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 // rendering handled via Fabric Api render event #else // handled here and in MixinChunkSectionsToRender @@ -178,7 +178,7 @@ public class MixinLevelRenderer - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 // rendering handled via Fabric Api render event #else @Inject(at = @At("HEAD"), method = "prepareChunkRenders") diff --git a/gradle.properties b/gradle.properties index e133c4642..f8d24de68 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,7 +54,7 @@ versionStr= # This defines what MC version Intellij will use for the preprocessor # and what version is used automatically by build and run commands -mcVer=1.21.10 +mcVer=1.21.9 # Defines the maximum amount of memory Minecraft is allowed when run in a development environment #minecraftMemoryJavaArg="-Xmx4G" diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeClientProxy.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeClientProxy.java index a8ba19213..c8b9377ba 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeClientProxy.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeClientProxy.java @@ -246,7 +246,7 @@ public class NeoforgeClientProxy implements AbstractModInitializer.IEventProxy @SubscribeEvent public void afterLevelEntityRenderEvent(RenderLevelStageEvent.AfterEntities event) { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 ClientApi.RENDER_STATE.clientLevelWrapper = ClientLevelWrapper.getWrapperIfDifferent(ClientApi.RENDER_STATE.clientLevelWrapper, (ClientLevel)event.getLevel()); #else ClientApi.RENDER_STATE.clientLevelWrapper = ClientLevelWrapper.getWrapperIfDifferent(ClientApi.RENDER_STATE.clientLevelWrapper, event.getLevelRenderer().level); @@ -259,7 +259,7 @@ public class NeoforgeClientProxy implements AbstractModInitializer.IEventProxy @SubscribeEvent public void afterLevelTranslucentRenderEvent(RenderLevelStageEvent.AfterTranslucentBlocks event) { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 ClientApi.RENDER_STATE.clientLevelWrapper = ClientLevelWrapper.getWrapperIfDifferent(ClientApi.RENDER_STATE.clientLevelWrapper, (ClientLevel)event.getLevel()); #else ClientApi.RENDER_STATE.clientLevelWrapper = ClientLevelWrapper.getWrapperIfDifferent(ClientApi.RENDER_STATE.clientLevelWrapper, event.getLevelRenderer().level); @@ -271,7 +271,7 @@ public class NeoforgeClientProxy implements AbstractModInitializer.IEventProxy @SubscribeEvent public void afterLevelRenderEvent(RenderLevelStageEvent.AfterLevel event) { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 ClientApi.RENDER_STATE.clientLevelWrapper = ClientLevelWrapper.getWrapperIfDifferent(ClientApi.RENDER_STATE.clientLevelWrapper, (ClientLevel)event.getLevel()); #else ClientApi.RENDER_STATE.clientLevelWrapper = ClientLevelWrapper.getWrapperIfDifferent(ClientApi.RENDER_STATE.clientLevelWrapper, event.getLevelRenderer().level); diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeServerProxy.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeServerProxy.java index b3737f0cb..9bd630767 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeServerProxy.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeServerProxy.java @@ -152,7 +152,7 @@ public class NeoforgeServerProxy implements AbstractModInitializer.IEventProxy private static ServerLevelWrapper getServerLevelWrapper(ServerLevel level) { return ServerLevelWrapper.getWrapper(level); } private static ServerLevelWrapper getServerLevelWrapper(ResourceKey resourceKey, PlayerEvent event) { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 //noinspection DataFlowIssue (possible NPE after getServer()) return getServerLevelWrapper(event.getEntity().getServer().getLevel(resourceKey)); #else diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinDebugScreenOverlay.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinDebugScreenOverlay.java index 29af85fa8..f58ae956f 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinDebugScreenOverlay.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinDebugScreenOverlay.java @@ -1,6 +1,6 @@ package com.seibel.distanthorizons.neoforge.mixins.client; -#if MC_VER < MC_1_21_10 +#if MC_VER < MC_1_21_9 import com.seibel.distanthorizons.core.logging.f3.F3Screen; import net.minecraft.client.gui.components.DebugScreenOverlay; import org.spongepowered.asm.mixin.Mixin; @@ -18,7 +18,7 @@ import net.minecraft.client.gui.components.DebugScreenOverlay; public class MixinDebugScreenOverlay { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 @Inject(method = "getSystemInformation", at = @At("RETURN")) private void addCustomF3(CallbackInfoReturnable> cir) { diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLevelRenderer.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLevelRenderer.java index a06869d27..b39c5a277 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLevelRenderer.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLevelRenderer.java @@ -83,7 +83,7 @@ public class MixinLevelRenderer #if MC_VER < MC_1_21_6 @Inject(at = @At("HEAD"), method = "renderSectionLayer") private void renderChunkLayer(RenderType renderType, double x, double y, double z, Matrix4f modelViewMatrix, Matrix4f projectionMatrix, CallbackInfo callback) - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 @Inject(at = @At("HEAD"), method = "renderLevel") private void onRenderLevel( GraphicsResourceAllocator resourceAllocator, DeltaTracker deltaTracker, diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLightTexture.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLightTexture.java index 334ba9da1..aec713f00 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLightTexture.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinLightTexture.java @@ -38,7 +38,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.mojang.blaze3d.platform.NativeImage; #elif MC_VER < MC_1_21_5 import com.mojang.blaze3d.pipeline.TextureTarget; -#elif MC_VER < MC_1_21_10 +#elif MC_VER < MC_1_21_9 import com.mojang.blaze3d.opengl.GlTexture; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.textures.GpuTexture; @@ -82,7 +82,7 @@ public class MixinLightTexture renderWrapper.updateLightmap(this.lightPixels, clientLevel); #elif MC_VER < MC_1_21_5 renderWrapper.setLightmapId(this.target.getColorTextureId(), clientLevel); - #elif MC_VER < MC_1_21_10 + #elif MC_VER < MC_1_21_9 GlTexture glTexture = (GlTexture) this.texture; renderWrapper.setLightmapId(glTexture.glId(), clientLevel); #else diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/wrappers/NeoforgeMinecraftRenderWrapper.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/wrappers/NeoforgeMinecraftRenderWrapper.java index 5243cc1be..ffe3d2235 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/wrappers/NeoforgeMinecraftRenderWrapper.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/wrappers/NeoforgeMinecraftRenderWrapper.java @@ -5,7 +5,7 @@ import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import net.minecraft.client.Minecraft; import org.apache.logging.log4j.Logger; -#if MC_VER < MC_1_21_10 +#if MC_VER < MC_1_21_9 #else import com.mojang.blaze3d.opengl.GlTexture; import com.mojang.blaze3d.textures.GpuTexture; @@ -26,7 +26,7 @@ public class NeoforgeMinecraftRenderWrapper extends MinecraftRenderWrapper @Override public int getDepthTextureId() { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 // no special handling required, // both neo/fabric uses the same back end objects return super.getDepthTextureId(); @@ -53,7 +53,7 @@ public class NeoforgeMinecraftRenderWrapper extends MinecraftRenderWrapper @Override public int getColorTextureId() { - #if MC_VER < MC_1_21_10 + #if MC_VER < MC_1_21_9 // no special handling required, // both neo/fabric uses the same back end objects return super.getColorTextureId(); diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/wrappers/NeoforgeTextureUnwrapper.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/wrappers/NeoforgeTextureUnwrapper.java index 55fbeeed8..6e0a23bd1 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/wrappers/NeoforgeTextureUnwrapper.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/wrappers/NeoforgeTextureUnwrapper.java @@ -1,6 +1,6 @@ package com.seibel.distanthorizons.neoforge.wrappers; -#if MC_VER < MC_1_21_10 +#if MC_VER < MC_1_21_9 public class NeoforgeTextureUnwrapper { /* not needed for older MC versions */ } #else diff --git a/versionProperties/1.21.9.properties b/versionProperties/1.21.9.properties new file mode 100644 index 000000000..3d5437bde --- /dev/null +++ b/versionProperties/1.21.9.properties @@ -0,0 +1,59 @@ +# 1.21.9 version +java_version=21 +minecraft_version=1.21.9 +parchment_version=1.21:2024.07.28 +compatible_minecraft_versions=["1.21.9"] +accessWidenerVersion=1_21_10 +builds_for=fabric,neoforge +# forge is broken due to gradle/build script issues + +# Netty +netty_version=4.1.97.Final + +# Fabric loader +fabric_loader_version=0.17.3 +fabric_api_version=0.134.0+1.21.9 + modmenu_version=16.0.0-rc.1 + starlight_version_fabric= + phosphor_version_fabric= + lithium_version= + sodium_version=mc1.21.10-0.7.2-fabric + iris_version=1.9.3+1.21.9-fabric + bclib_version= + immersive_portals_version= + canvas_version= + + fabric_incompatibility_list={ } + fabric_recommend_list={} + + # Fabric mod run + # 0 = Don't enable and don't run + # 1 = Can be referenced in code but doesn't run + # 2 = Can be referenced in code and runs in client + enable_starlight=0 + enable_phosphor=0 + enable_sodium=1 + enable_lithium=0 + enable_iris=1 + enable_bclib=0 + enable_immersive_portals=0 + enable_canvas=0 + +# (Neo)Forge loader +forge_version= +neoforge_version=21.9.15-beta + # sometime before 21.9.15-beta Neoforge changed how their rendering API events handle levels + # so we can't support both versions at once + neoforge_version_range=[21.9.15-beta,) + + # (Neo)Forge mod versions + starlight_version_forge= + terraforged_version= + + # (Neo)Forge mod run + # 0 = Don't enable and don't run + # 1 = Can be referenced in code but doesn't run + # 2 = Can be referenced in code and runs in client + enable_starlight_forge=0 + enable_terraforged=0 + enable_terrafirmacraft=0