diff --git a/common/src/main/java/com/seibel/distanthorizons/common/commonMixins/MixinVanillaFogCommon.java b/common/src/main/java/com/seibel/distanthorizons/common/commonMixins/MixinVanillaFogCommon.java index fc4938e28..3c249ed7a 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/commonMixins/MixinVanillaFogCommon.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/commonMixins/MixinVanillaFogCommon.java @@ -71,9 +71,12 @@ public class MixinVanillaFogCommon #elif MC_VER <= MC_1_21_10 Camera camera = Minecraft.getInstance().gameRenderer.getMainCamera(); Entity entity = camera.getEntity(); - #else + #elif MC_VER <= MC_26_1_2 Camera camera = Minecraft.getInstance().gameRenderer.getMainCamera(); Entity entity = camera.entity(); + #else + Camera camera = Minecraft.getInstance().gameRenderer.mainCamera(); + Entity entity = camera.entity(); #endif 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 f18c8db09..b081425e7 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 @@ -95,6 +95,8 @@ public class VersionConstants implements IVersionConstants return "1.21.11"; #elif MC_VER == MC_26_1_2 return "26.1.2"; + #elif MC_VER == MC_26_2_0 + return "26.2.0"; #else ERROR MC version constant missing #endif diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/DhScreenUtil.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/DhScreenUtil.java new file mode 100644 index 000000000..5ef482c21 --- /dev/null +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/DhScreenUtil.java @@ -0,0 +1,28 @@ +package com.seibel.distanthorizons.common.wrappers.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.Screen; + +import java.util.Objects; + +public class DhScreenUtil +{ + //================// + // helper methods // + //================// + //region + + public static void showScreen(Screen screen) + { + #if MC_VER <= MC_26_1_2 + Objects.requireNonNull(Minecraft.getInstance()).setScreen(screen); + #else + Objects.requireNonNull(Minecraft.getInstance()).setScreenAndShow(screen); + #endif + } + + //endregion + + + +} 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 9e1f4ae30..9aec57a1c 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 @@ -24,10 +24,19 @@ import java.util.*; public class MinecraftScreen { + // + // helper methods + // + public static Screen getScreen(Screen parent, AbstractScreen screen, String translationName) - { - return new ConfigScreenRenderer(parent, screen, translationName); - } + { return new ConfigScreenRenderer(parent, screen, translationName); } + + + + //=========// + // screens // + //=========// + //region private static class ConfigScreenRenderer extends DhScreen { @@ -152,7 +161,7 @@ public class MinecraftScreen public void onClose() { this.screen.onClose(); // Close our screen - Objects.requireNonNull(this.minecraft).setScreen(this.parent); // Goto the parent screen + DhScreenUtil.showScreen(this.parent); // Goto the parent screen } @Override @@ -180,4 +189,8 @@ public class MinecraftScreen } + //endregion + + + } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/classicConfig/DhConfigScreen.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/classicConfig/DhConfigScreen.java index c5c4a110a..a11d5a412 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/classicConfig/DhConfigScreen.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/classicConfig/DhConfigScreen.java @@ -3,16 +3,15 @@ package com.seibel.distanthorizons.common.wrappers.gui.classicConfig; import java.util.AbstractMap; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.function.Function; import java.util.function.Predicate; import java.util.regex.Pattern; import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui; import com.seibel.distanthorizons.common.wrappers.gui.DhScreen; +import com.seibel.distanthorizons.common.wrappers.gui.DhScreenUtil; import com.seibel.distanthorizons.common.wrappers.gui.TexturedButtonWidget; import com.seibel.distanthorizons.common.wrappers.gui.config.ConfigGuiInfo; import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftClientWrapper; @@ -21,27 +20,20 @@ import com.seibel.distanthorizons.core.config.ConfigHandler; import com.seibel.distanthorizons.core.config.types.*; import com.seibel.distanthorizons.common.wrappers.gui.updater.ChangelogScreen; -import com.seibel.distanthorizons.core.config.types.enums.EConfigCommentTextPosition; import com.seibel.distanthorizons.core.config.types.enums.EConfigValidity; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.jar.updater.SelfUpdater; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.util.AnnotationUtil; -import com.seibel.distanthorizons.core.wrapperInterfaces.config.IConfigGui; import com.seibel.distanthorizons.core.wrapperInterfaces.config.ILangWrapper; import com.seibel.distanthorizons.coreapi.ModInfo; import net.minecraft.ChatFormatting; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Font; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; -import net.minecraft.client.gui.components.ContainerObjectSelectionList; import net.minecraft.client.gui.components.EditBox; -import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; import com.seibel.distanthorizons.core.logging.DhLogger; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -55,7 +47,6 @@ import net.minecraft.client.gui.GuiGraphicsExtractor; #endif #if MC_VER >= MC_1_17_1 -import net.minecraft.client.gui.narration.NarratableEntry; #endif #if MC_VER <= MC_1_21_10 @@ -92,6 +83,7 @@ class DhConfigScreen extends DhScreen //=============// // constructor // //=============// + //region protected DhConfigScreen(Screen parent, String category) { @@ -104,15 +96,25 @@ class DhConfigScreen extends DhScreen this.category = category; } + //endregion + + + //=============// + // tick update // + //=============// + //region @Override public void tick() { super.tick(); } + //endregion + //==================// // menu UI creation // //==================// + //region @Override protected void init() @@ -150,7 +152,7 @@ class DhConfigScreen extends DhScreen ChangelogScreen changelogScreen = new ChangelogScreen(this); if (changelogScreen.usable) { - Objects.requireNonNull(this.minecraft).setScreen(changelogScreen); + DhScreenUtil.showScreen(changelogScreen); } else { @@ -170,7 +172,7 @@ class DhConfigScreen extends DhScreen (button) -> { ConfigHandler.INSTANCE.configFileHandler.loadFromFile(); - Objects.requireNonNull(this.minecraft).setScreen(this.parent); + DhScreenUtil.showScreen(this.parent); })); // done/close button @@ -181,7 +183,7 @@ class DhConfigScreen extends DhScreen (button) -> { ConfigHandler.INSTANCE.configFileHandler.saveToFile(); - Objects.requireNonNull(this.minecraft).setScreen(this.parent); + DhScreenUtil.showScreen(this.parent); })); this.configListWidget = new ClassicConfigGUI.ConfigListWidget(this.minecraft, this.width * 2, this.height, 32, 32, 25); @@ -464,7 +466,7 @@ class DhConfigScreen extends DhScreen { configEntry.uiSetWithoutSaving(configEntry.getDefaultValue()); this.reload = true; - Objects.requireNonNull(this.minecraft).setScreen(this); + DhScreenUtil.showScreen(this); }; int resetButtonPosX = this.width @@ -574,7 +576,7 @@ class DhConfigScreen extends DhScreen ((button) -> { ConfigHandler.INSTANCE.configFileHandler.saveToFile(); - Objects.requireNonNull(this.minecraft).setScreen(ClassicConfigGUI.getScreen(this, configCategory.getDestination())); + DhScreenUtil.showScreen(ClassicConfigGUI.getScreen(this, configCategory.getDestination())); })); this.configListWidget.addButton(this, configType, widget, null, null, null); @@ -655,11 +657,14 @@ class DhConfigScreen extends DhScreen private Component GetTranslatableTextComponentForConfig(AbstractConfigBase configType) { return Translatable(TRANSLATION_PREFIX + configType.getNameAndCategory()); } + //endregion + //===========// // rendering // //===========// + //region @Override #if MC_VER < MC_1_20_1 @@ -779,21 +784,27 @@ class DhConfigScreen extends DhScreen } } + //endregion + //==========// // shutdown // //==========// + //region /** When you close it, it goes to the previous screen and saves */ @Override public void onClose() { ConfigHandler.INSTANCE.configFileHandler.saveToFile(); - Objects.requireNonNull(this.minecraft).setScreen(this.parent); + DhScreenUtil.showScreen(this.parent); ClassicConfigGUI.CONFIG_CORE_INTERFACE.onScreenChangeListenerList.forEach((listener) -> listener.run()); } + //endregion + + } 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 c578c0451..2210e015a 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 @@ -1,6 +1,7 @@ package com.seibel.distanthorizons.common.wrappers.gui.updater; import com.seibel.distanthorizons.common.wrappers.gui.DhScreen; +import com.seibel.distanthorizons.common.wrappers.gui.DhScreenUtil; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.wrapperInterfaces.IVersionConstants; @@ -222,10 +223,7 @@ public class ChangelogScreen extends DhScreen } @Override - public void onClose() - { - Objects.requireNonNull(this.minecraft).setScreen(this.parent); // Goto the parent screen - } + public void onClose() { DhScreenUtil.showScreen(this.parent); } public static class TextArea extends ContainerObjectSelectionList { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/updater/UpdateModScreen.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/updater/UpdateModScreen.java index 077567c83..8b168d788 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/updater/UpdateModScreen.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/gui/updater/UpdateModScreen.java @@ -2,6 +2,7 @@ package com.seibel.distanthorizons.common.wrappers.gui.updater; import com.seibel.distanthorizons.api.enums.config.EDhApiUpdateBranch; import com.seibel.distanthorizons.common.wrappers.gui.DhScreen; +import com.seibel.distanthorizons.common.wrappers.gui.DhScreenUtil; import com.seibel.distanthorizons.common.wrappers.gui.TexturedButtonWidget; import com.seibel.distanthorizons.core.jar.ModJarInfo; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; @@ -137,7 +138,7 @@ public class UpdateModScreen extends DhScreen #endif 20, 20, // Create the button and tell it where to go - (buttonWidget) -> Objects.requireNonNull(this.minecraft).setScreen(new ChangelogScreen(this, this.newVersionID)), + (buttonWidget) -> DhScreenUtil.showScreen(new ChangelogScreen(this, this.newVersionID)), // Add a title to the button Translatable(ModInfo.ID + ".updater.title") )); @@ -218,7 +219,7 @@ public class UpdateModScreen extends DhScreen @Override public void onClose() { - Objects.requireNonNull(this.minecraft).setScreen(this.parent); // Go to the parent screen + DhScreenUtil.showScreen(this.parent); // Go to the parent screen } } \ No newline at end of file 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 440b4935f..3c562c6b0 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 @@ -136,9 +136,12 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper #if MC_VER <= MC_1_21_10 Camera camera = MC.gameRenderer.getMainCamera(); return new Vec3f(camera.getLookVector().x(), camera.getLookVector().y(), camera.getLookVector().z()); - #else + #elif MC_VER <= MC_26_1_2 Camera camera = MC.gameRenderer.getMainCamera(); return new Vec3f(camera.forwardVector().x(), camera.forwardVector().y(), camera.forwardVector().z()); + #else + Camera camera = MC.gameRenderer.mainCamera(); + return new Vec3f(camera.forwardVector().x(), camera.forwardVector().y(), camera.forwardVector().z()); #endif } @@ -170,7 +173,12 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper @Override public Vec3d getCameraExactPosition() { + #if MC_VER <= MC_26_1_2 Camera camera = MC.gameRenderer.getMainCamera(); + #else + Camera camera = MC.gameRenderer.mainCamera(); + #endif + #if MC_VER <= MC_1_21_10 Vec3 projectedView = camera.getPosition(); #else @@ -263,20 +271,29 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper float darkenAmount; #if MC_VER <= MC_1_21_11 darkenAmount = MC.gameRenderer.getDarkenWorldAmount(MC.deltaTracker.getGameTimeDeltaPartialTick(true)); - #else + #elif MC_VER <= MC_26_1_2 darkenAmount = MC.gameRenderer.getBossOverlayWorldDarkening(MC.deltaTracker.getGameTimeDeltaPartialTick(true)); + #else + darkenAmount = MC.gameRenderer.bossOverlayWorldDarkening(MC.deltaTracker.getGameTimeDeltaPartialTick(true)); + #endif + + + #if MC_VER <= MC_26_1_2 + Camera camera = MC.gameRenderer.getMainCamera(); + #else + Camera camera = MC.gameRenderer.mainCamera(); #endif #if MC_VER <= MC_1_21_11 Vector4f colorValues = mcFogRenderer.setupFog( - MC.gameRenderer.getMainCamera(), + camera, MC.options.getEffectiveRenderDistance(), MC.deltaTracker, darkenAmount, MC.level); #else FogData fogData = mcFogRenderer.setupFog( - MC.gameRenderer.getMainCamera(), + camera, MC.options.getEffectiveRenderDistance(), MC.deltaTracker, darkenAmount, @@ -342,7 +359,14 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper #endif } - protected RenderTarget getRenderTarget() { return MC.getMainRenderTarget(); } + public RenderTarget getRenderTarget() + { + #if MC_VER <= MC_26_1_2 + return MC.getMainRenderTarget(); + #else + return MC.gameRenderer.mainRenderTarget(); + #endif + } @Override public boolean mcRendersToFrameBuffer() @@ -415,6 +439,7 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper } #endif } + // TODO vulkan deprecate(?) and add method to get color texture @Override public int getColorTextureId() { @@ -479,9 +504,12 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper isBlind |= fluidState.is(FluidTags.WATER); isBlind |= fluidState.is(FluidTags.LAVA); return isBlind; - #else + #elif MC_VER <= MC_26_1_2 boolean isBlind = this.playerHasBlindingEffect(); return MC.gameRenderer.getMainCamera().getFluidInCamera() != FogType.NONE || isBlind; + #else + boolean isBlind = this.playerHasBlindingEffect(); + return MC.gameRenderer.mainCamera().getFluidInCamera() != FogType.NONE || isBlind; #endif } 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 e7ebac4a0..052d173eb 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java @@ -327,10 +327,11 @@ public class FabricClientProxy implements AbstractModInitializer.IEventProxy // FIXME: Use better hooks so it doesn't trigger key press events in text boxes ClientTickEvents.END_CLIENT_TICK.register(client -> { - if (client.player != null && !(Minecraft.getInstance().screen instanceof TitleScreen)) - { - this.onKeyInput(); - } + // TODO + //if (client.player != null && !(Minecraft.getInstance().screen instanceof TitleScreen)) + //{ + // this.onKeyInput(); + //} }); //endregion 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 4c9791bdc..7fef4483e 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 @@ -93,7 +93,10 @@ public class MixinChunkSectionsToRender @Inject(at = @At("HEAD"), method = "renderGroup", order = 800) private void renderDeferredLayerHead(ChunkSectionLayerGroup chunkSectionLayerGroup, GpuSampler gpuSampler, CallbackInfo ci) { + #if MC_VER <= MC_26_1_2 ClientApi.RENDER_STATE.clientLevelWrapper = ClientLevelWrapper.getWrapperIfDifferent(ClientApi.RENDER_STATE.clientLevelWrapper, Minecraft.getInstance().levelRenderer.level); + #else + #endif ClientApi.RENDER_STATE.canRenderOrThrow(); diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinGameRenderer.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinGameRenderer.java index efd9c3a89..ecb4a9697 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinGameRenderer.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinGameRenderer.java @@ -29,8 +29,11 @@ public class MixinGameRenderer {} #else import com.mojang.blaze3d.vertex.PoseStack; import com.seibel.distanthorizons.common.wrappers.McObjectConverter; +import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftRenderWrapper; +import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper; import com.seibel.distanthorizons.core.api.internal.ClientApi; import net.minecraft.client.DeltaTracker; +import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.state.OptionsRenderState; @@ -71,6 +74,16 @@ public class MixinGameRenderer final Matrix4f projectionMatrix, final PoseStack poseStack) { + #if MC_VER <= MC_26_1_2 + #else + ClientApi.RENDER_STATE.clientLevelWrapper = ClientLevelWrapper.getWrapperIfDifferent(ClientApi.RENDER_STATE.clientLevelWrapper, (ClientLevel)player.level()); + + ClientApi.RENDER_STATE.mcModelViewMatrix = McObjectConverter.Convert(modelViewMatrix); + + ClientApi.RENDER_STATE.partialTickTime = MinecraftRenderWrapper.INSTANCE.getPartialTickTime(); + + #endif + ClientApi.RENDER_STATE.mcProjectionMatrix = McObjectConverter.Convert(projectionMatrix); } } 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 4fe893927..7b1f7dd5b 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 @@ -94,8 +94,11 @@ import com.seibel.distanthorizons.core.logging.DhLogger; @Mixin(LevelRenderer.class) public class MixinLevelRenderer { + #if MC_VER <= MC_26_1_2 @Shadow private ClientLevel level; + #else + #endif @Unique private static final DhLogger LOGGER = new DhLoggerBuilder().build(); @@ -220,12 +223,14 @@ public class MixinLevelRenderer #if MC_VER <= MC_1_21_11 #else + #if MC_VER <= MC_26_1_2 @Inject(at = @At("HEAD"), method = "prepareChunkRenders") private void prepareChunkRenders(final Matrix4fc modelViewMatrix, CallbackInfoReturnable callback) { ClientApi.RENDER_STATE.clientLevelWrapper = ClientLevelWrapper.getWrapperIfDifferent(ClientApi.RENDER_STATE.clientLevelWrapper, this.level); } + @Inject(at = @At("HEAD"), method = "renderLevel") public void renderLevel( final GraphicsResourceAllocator resourceAllocator, final DeltaTracker deltaTracker, @@ -241,6 +246,9 @@ public class MixinLevelRenderer } + #else + #endif + #endif //endregion diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinLightTexture.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinLightTexture.java index 203052ddc..e37a026c5 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinLightTexture.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinLightTexture.java @@ -112,9 +112,10 @@ public class MixinLightTexture GlTexture glTexture = (GlTexture) this.texture; this.renderWrapper.setLightmapId(glTexture.glId(), clientLevel); #else - // both options are available since the renderer can be changed to either Blaze3D or OpenGL - GlTexture glTexture = (GlTexture) this.texture; - this.renderWrapper.setLightmapId(glTexture.glId(), clientLevel); + // TODO vulkan + //// both options are available since the renderer can be changed to either Blaze3D or OpenGL + //GlTexture glTexture = (GlTexture) this.texture; + //this.renderWrapper.setLightmapId(glTexture.glId(), clientLevel); this.renderWrapper.setLightmapGpuTexture(this.texture, clientLevel); #endif diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinMinecraft.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinMinecraft.java index 71f9e4a84..5dc71a446 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinMinecraft.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinMinecraft.java @@ -87,17 +87,18 @@ public abstract class MixinMinecraft } #endif - #if MC_VER >= MC_1_20_2 - @Redirect( - method = "Lnet/minecraft/client/Minecraft;onGameLoadFinished(Lnet/minecraft/client/Minecraft$GameLoadCookie;)V", - at = @At(value = "INVOKE", target = "Ljava/lang/Runnable;run()V") - ) - private void buildInitialScreens(Runnable runnable) - { - DhUpdateScreenBase.tryShowUpdateScreenAndRunAutoUpdateStartup(runnable); - runnable.run(); - } - #endif + // TODO vulkan + //#if MC_VER >= MC_1_20_2 + //@Redirect( + // method = "Lnet/minecraft/client/Minecraft;onGameLoadFinished(Lnet/minecraft/client/Minecraft$GameLoadCookie;)V", + // at = @At(value = "INVOKE", target = "Ljava/lang/Runnable;run()V") + //) + //private void buildInitialScreens(Runnable runnable) + //{ + // DhUpdateScreenBase.tryShowUpdateScreenAndRunAutoUpdateStartup(runnable); + // runnable.run(); + //} + //#endif @Inject(at = @At("HEAD"), method = "updateLevelInEngines") public void updateLevelInEngines(ClientLevel level, CallbackInfo ci) diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinOptionsScreen.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinOptionsScreen.java index 60652a9d8..0d3615055 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinOptionsScreen.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinOptionsScreen.java @@ -19,6 +19,7 @@ package com.seibel.distanthorizons.fabric.mixins.client; +import com.seibel.distanthorizons.common.wrappers.gui.DhScreenUtil; import com.seibel.distanthorizons.common.wrappers.gui.GetConfigScreen; import com.seibel.distanthorizons.common.wrappers.gui.TexturedButtonWidget; import com.seibel.distanthorizons.coreapi.ModInfo; @@ -147,7 +148,7 @@ public class MixinOptionsScreen extends Screen 20, ICON_TEXTURE, 20, 40, // Create the button and tell it where to go // For now it goes to the client option by default - (buttonWidget) -> Objects.requireNonNull(this.minecraft).setScreen(GetConfigScreen.getScreen(this)), + (buttonWidget) -> DhScreenUtil.showScreen(GetConfigScreen.getScreen(this)), // Add a title to the button #if MC_VER < MC_1_19_2 new TranslatableComponent(ModInfo.ID + ".title"));