diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bed146e..b75a79f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,12 +13,12 @@ jobs: steps: - name: Checkout sources - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up JDK 17 - uses: actions/setup-java@v3 + - name: Set up JDK 21 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 21 @@ -31,11 +31,12 @@ jobs: - name: Build Changelog id: build_changelog - uses: metcalfc/changelog-generator@v4.2.0 + uses: metcalfc/changelog-generator@v4.3.1 if: env.previous_tag with: - myToken: ${{ secrets.GITHUB_TOKEN }} + mytoken: ${{ secrets.GITHUB_TOKEN }} base-ref: ${{ env.previous_tag }} + fetch: false - name: Read value from Properties-file id: read_property @@ -75,7 +76,6 @@ jobs: game-version-filter: none game-versions: | ${{ steps.read_property.outputs.minecraft_version }} - 1.21 java: | 21 @@ -105,7 +105,6 @@ jobs: game-version-filter: none game-versions: | ${{ steps.read_property.outputs.minecraft_version }} - 1.21 dependencies: | cloth-config diff --git a/build.gradle b/build.gradle index db53bd5..065cec8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id "io.github.goooler.shadow" version "8.1.8" apply false + id "com.gradleup.shadow" version "8.3.3" apply false id "architectury-plugin" version "3.4-SNAPSHOT" id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false id "net.neoforged.licenser" version "0.7.+" apply false diff --git a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/LoadingOverlayMixin.java b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/LoadingOverlayMixin.java index 12205ce..af22aed 100644 --- a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/LoadingOverlayMixin.java +++ b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/LoadingOverlayMixin.java @@ -166,13 +166,13 @@ private static int replaceAlpha(int color, int alpha) { method = "render", at = @At( value = "INVOKE", - target = "Lcom/mojang/blaze3d/platform/GlStateManager;_clear(IZ)V", + target = "Lcom/mojang/blaze3d/platform/GlStateManager;_clear(I)V", remap = false ) ) - public void rrls$_clear(int mask, boolean getError, Operation original) { + public void rrls$_clear(int i, Operation original) { if (!rrls$getState().isRendering()) { - original.call(mask, getError); + original.call(i); } } @@ -194,7 +194,7 @@ private static int replaceAlpha(int color, int alpha) { method = "drawProgressBar", at = @At( value = "INVOKE", - target = "Lnet/minecraft/util/FastColor$ARGB32;color(IIII)I" + target = "Lnet/minecraft/util/ARGB;color(IIII)I" ) ) public int rrls$rainbowProgress(int alpha, int red, int green, int blue, Operation original) { diff --git a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/MinecraftClientMixin.java b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/MinecraftClientMixin.java index 7aadde3..706bb13 100644 --- a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/MinecraftClientMixin.java +++ b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/MinecraftClientMixin.java @@ -44,7 +44,9 @@ public abstract class MinecraftClientMixin { @Inject( method = "", at = @At( - value = "TAIL" + value = "INVOKE", + target = "Lnet/minecraft/client/quickplay/QuickPlayLog;of(Ljava/lang/String;)Lnet/minecraft/client/quickplay/QuickPlayLog;", + shift = At.Shift.AFTER ) ) public void rrls$init(GameConfig gameConfig, CallbackInfo ci, @Local(ordinal = 0) Minecraft.GameLoadCookie gameLoadCookie) { diff --git a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/CompilationCacheMixin.java b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/CompilationCacheMixin.java new file mode 100644 index 0000000..0426926 --- /dev/null +++ b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/CompilationCacheMixin.java @@ -0,0 +1,60 @@ +/* + * Copyright 2023 - 2024 dima_dencep. + * + * Licensed under the Open Software License, Version 3.0 (the "License"); + * you may not use this file except in compliance with the License. + * + * You may obtain a copy of the License at + * https://spdx.org/licenses/OSL-3.0.txt + */ + +package org.redlance.dima_dencep.mods.rrls.mixins.workaround; + +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import com.llamalad7.mixinextras.sugar.Cancellable; +import net.minecraft.client.renderer.CompiledShaderProgram; +import net.minecraft.client.renderer.ShaderManager; +import net.minecraft.client.renderer.ShaderProgram; +import org.redlance.dima_dencep.mods.rrls.ConfigExpectPlatform; +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(ShaderManager.CompilationCache.class) +public class CompilationCacheMixin { + @WrapOperation( + method = "getOrCompileProgram", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/client/renderer/ShaderManager$CompilationCache;compileProgram(Lnet/minecraft/client/renderer/ShaderProgram;)Lnet/minecraft/client/renderer/CompiledShaderProgram;" + ) + ) + private CompiledShaderProgram rrls$supressMissingCache(ShaderManager.CompilationCache instance, ShaderProgram shaderProgram, Operation original, @Cancellable CallbackInfoReturnable cir) { + CompiledShaderProgram compiledShaderProgram = original.call(instance, shaderProgram); + + if (compiledShaderProgram == null && ConfigExpectPlatform.hideType().forceClose()) { + cir.setReturnValue(null); + } + + return compiledShaderProgram; + } + + @Inject( + method = { + "loadPostChain", + "compileProgram" + }, + at = @At( + value = "NEW", + target = "(Ljava/lang/String;)Lnet/minecraft/client/renderer/ShaderManager$CompilationException;" + ), + cancellable = true + ) + private void rrls$supressMissingCache(CallbackInfoReturnable cir) { + if (ConfigExpectPlatform.hideType().forceClose()) { + cir.setReturnValue(null); + } + } +} diff --git a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/EntityRenderDispatcherMixin.java b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/EntityRenderDispatcherMixin.java index ffa89a2..f4c2964 100644 --- a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/EntityRenderDispatcherMixin.java +++ b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/EntityRenderDispatcherMixin.java @@ -17,6 +17,7 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRenderDispatcher; import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.state.EntityRenderState; import net.minecraft.world.entity.Entity; import org.redlance.dima_dencep.mods.rrls.ConfigExpectPlatform; import org.redlance.dima_dencep.mods.rrls.Rrls; @@ -32,13 +33,13 @@ public class EntityRenderDispatcherMixin { private static final Minecraft RRLS$MINECRAFT = Minecraft.getInstance(); @WrapOperation( - method = "render", + method = "render(Lnet/minecraft/world/entity/Entity;DDDFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V", at = @At( value = "INVOKE", target = "Lnet/minecraft/client/renderer/entity/EntityRenderDispatcher;getRenderer(Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/client/renderer/entity/EntityRenderer;" ) ) - public EntityRenderer rrls$workaroundEntityCrash(EntityRenderDispatcher instance, T entityrenderer, Operation> original) { + public EntityRenderer rrls$workaroundEntityCrash(EntityRenderDispatcher instance, E entityrenderer, Operation> original) { try { return original.call(instance, entityrenderer); } catch (Throwable th) { @@ -51,14 +52,14 @@ public class EntityRenderDispatcherMixin { } @Inject( - method = "render", + method = "render(Lnet/minecraft/world/entity/Entity;DDDFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;ILnet/minecraft/client/renderer/entity/EntityRenderer;)V", at = @At( value = "INVOKE", target = "Lnet/minecraft/CrashReport;forThrowable(Ljava/lang/Throwable;Ljava/lang/String;)Lnet/minecraft/CrashReport;" ), cancellable = true ) - public void rrls$workaroundEntityCrash(E entity, double x, double y, double z, float rotationYaw, float partialTicks, PoseStack poseStack, MultiBufferSource buffer, int packedLight, CallbackInfo ci) { + public void rrls$workaroundEntityCrash(E entity, double d, double e, double f, float g, PoseStack poseStack, MultiBufferSource multiBufferSource, int i, EntityRenderer entityRenderer, CallbackInfo ci) { if (ConfigExpectPlatform.hideType().forceClose() && RRLS$MINECRAFT.level == null) { Rrls.LOGGER.warn("Preverting entity ({}) crash.", entity); diff --git a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/GuiGraphicsMixin.java b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/GuiGraphicsMixin.java index 82063a3..31fbc32 100644 --- a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/GuiGraphicsMixin.java +++ b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/GuiGraphicsMixin.java @@ -14,16 +14,22 @@ import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.GuiSpriteManager; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.metadata.gui.GuiSpriteScaling; import net.minecraft.resources.ResourceLocation; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; +import java.util.function.Function; + @Mixin(GuiGraphics.class) public abstract class GuiGraphicsMixin { @WrapOperation( - method = "*", + method = { + "blitSprite(Ljava/util/function/Function;Lnet/minecraft/resources/ResourceLocation;IIIII)V", + "blitSprite(Ljava/util/function/Function;Lnet/minecraft/resources/ResourceLocation;IIIIIIII)V" + }, at = @At( value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiSpriteManager;getSprite(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;" @@ -38,30 +44,35 @@ public abstract class GuiGraphicsMixin { } @WrapOperation( - method = "*", + method = { + "blitSprite(Ljava/util/function/Function;Lnet/minecraft/resources/ResourceLocation;IIIII)V", + "blitSprite(Ljava/util/function/Function;Lnet/minecraft/resources/ResourceLocation;IIIIIIII)V" + }, at = @At( value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiSpriteManager;getSpriteScaling(Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)Lnet/minecraft/client/resources/metadata/gui/GuiSpriteScaling;" ) ) public GuiSpriteScaling rrls$fixSpriteCrash(GuiSpriteManager instance, TextureAtlasSprite sprite, Operation original) { - if (sprite == null) + if (sprite == null) { return null; + } return original.call(instance, sprite); } @WrapOperation( - method = "blitSprite(Lnet/minecraft/resources/ResourceLocation;IIIIIIIII)V", + method = "blitSprite(Ljava/util/function/Function;Lnet/minecraft/resources/ResourceLocation;IIIIIIII)V", at = @At( value = "INVOKE", - target = "Lnet/minecraft/client/gui/GuiGraphics;blitSprite(Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIII)V" + target = "Lnet/minecraft/client/gui/GuiGraphics;blitSprite(Ljava/util/function/Function;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIII)V" ) ) - public void rrls$fixSpriteCrash(GuiGraphics instance, TextureAtlasSprite sprite, int x, int y, int z, int width, int height, Operation original) { - if (sprite == null) + public void rrls$fixSpriteCrash(GuiGraphics instance, Function function, TextureAtlasSprite arg, int i, int j, int k, int l, Operation original) { + if (arg == null) { return; + } - original.call(instance, sprite, x, y, z, width, height); + original.call(instance, function, arg, i, j, k, l); } } diff --git a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/ReloadableResourceManagerMixin.java b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/ReloadableResourceManagerMixin.java index 126f0b1..fdb5156 100644 --- a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/ReloadableResourceManagerMixin.java +++ b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/ReloadableResourceManagerMixin.java @@ -15,6 +15,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiSpriteManager; import net.minecraft.client.gui.font.FontManager; +import net.minecraft.client.renderer.ShaderManager; import net.minecraft.client.resources.SplashManager; import net.minecraft.client.resources.language.LanguageManager; import net.minecraft.server.packs.PackResources; @@ -25,7 +26,6 @@ import net.minecraft.server.packs.resources.ReloadInstance; import net.minecraft.server.packs.resources.ReloadableResourceManager; import net.minecraft.util.Unit; -import net.minecraft.util.profiling.InactiveProfiler; import org.redlance.dima_dencep.mods.rrls.ConfigExpectPlatform; import org.redlance.dima_dencep.mods.rrls.Rrls; import org.spongepowered.asm.mixin.Mixin; @@ -90,6 +90,12 @@ public class ReloadableResourceManagerMixin { ) { rrls$reloadListener(spriteManager, RRLS$MINECRAFT, (unused, throwable) -> {}); } + + if (listener instanceof ShaderManager shaderManager && + shaderManager.compilationCache.configs == ShaderManager.Configs.EMPTY + ) { + rrls$reloadListener(shaderManager, RRLS$MINECRAFT, (unused, throwable) -> {}); + } } @Inject( @@ -121,8 +127,7 @@ public class ReloadableResourceManagerMixin { Rrls.LOGGER.info("Quick reload listener '{}'", listener.getName()); listener.reload( - CompletableFuture::completedFuture, (ReloadableResourceManager) (Object) this, InactiveProfiler.INSTANCE, - InactiveProfiler.INSTANCE, Util.backgroundExecutor(), gameExecutor + CompletableFuture::completedFuture, (ReloadableResourceManager) (Object) this, Util.backgroundExecutor(), gameExecutor ).whenCompleteAsync(action, Util.backgroundExecutor()); } catch (Throwable th) { diff --git a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/VertexBufferMixin.java b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/VertexBufferMixin.java deleted file mode 100644 index 233d6e5..0000000 --- a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/mixins/workaround/VertexBufferMixin.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2023 - 2024 dima_dencep. - * - * Licensed under the Open Software License, Version 3.0 (the "License"); - * you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * https://spdx.org/licenses/OSL-3.0.txt - */ - -package org.redlance.dima_dencep.mods.rrls.mixins.workaround; - -import net.minecraft.client.renderer.ShaderInstance; -import com.mojang.blaze3d.vertex.VertexBuffer; -import org.joml.Matrix4f; -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(VertexBuffer.class) -public class VertexBufferMixin { - @Inject( - method = "_drawWithShader", - at = @At( - value = "HEAD" - ), - cancellable = true - ) - public void rrls$workaroundNullShader(Matrix4f viewMatrix, Matrix4f projectionMatrix, ShaderInstance shader, CallbackInfo ci) { - if (shader == null) { - ci.cancel(); - } - } -} diff --git a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/utils/DummyGuiGraphics.java b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/utils/DummyGuiGraphics.java index a2afd2a..41b633c 100644 --- a/common/src/main/java/org/redlance/dima_dencep/mods/rrls/utils/DummyGuiGraphics.java +++ b/common/src/main/java/org/redlance/dima_dencep/mods/rrls/utils/DummyGuiGraphics.java @@ -11,14 +11,13 @@ package org.redlance.dima_dencep.mods.rrls.utils; import com.mojang.blaze3d.vertex.VertexConsumer; -import java.util.List; -import java.util.Optional; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.navigation.ScreenRectangle; import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipPositioner; +import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.metadata.gui.GuiSpriteScaling; @@ -33,7 +32,12 @@ import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; -@SuppressWarnings({"unused", "deprecation"}) +import java.util.List; +import java.util.Optional; +import java.util.function.Consumer; +import java.util.function.Function; + +@SuppressWarnings("unused") public class DummyGuiGraphics extends GuiGraphics { public static final DummyGuiGraphics INSTANCE = new DummyGuiGraphics(); @@ -41,21 +45,6 @@ private DummyGuiGraphics() { super(Minecraft.getInstance(), null); } - @Override - @Deprecated - public void drawManaged(Runnable runnable) { - } - - @Override - @Deprecated - public void flushIfUnmanaged() { - } - - @Override - @Deprecated - public void flushIfManaged() { - } - @Override public void flush() { } @@ -93,10 +82,6 @@ public boolean containsPointInScissor(int x, int y) { public void applyScissor(@Nullable ScreenRectangle rectangle) { } - @Override - public void setColor(float red, float green, float blue, float alpha) { - } - @Override public void fill(int minX, int minY, int maxX, int maxY, int color) { } @@ -180,11 +165,8 @@ public void drawWordWrap(Font font, FormattedText text, int x, int y, int lineWi } @Override - public void blit(int x, int y, int blitOffset, int width, int height, TextureAtlasSprite sprite) { - } - - @Override - public void blit(int x, int y, int blitOffset, int width, int height, TextureAtlasSprite sprite, float red, float green, float blue, float alpha) { + public int drawStringWithBackdrop(Font font, Component text, int x, int y, int xOffset, int color) { + return -1; } @Override @@ -192,63 +174,59 @@ public void renderOutline(int x, int y, int width, int height, int color) { } @Override - public void blitSprite(ResourceLocation sprite, int x, int y, int width, int height) { - } - - @Override - public void blitSprite(ResourceLocation sprite, int x, int y, int blitOffset, int width, int height) { + public void blitSprite(Function function, ResourceLocation resourceLocation, int i, int j, int k, int l) { } @Override - public void blitSprite(ResourceLocation sprite, int textureWidth, int textureHeight, int uPosition, int vPosition, int x, int y, int uWidth, int vHeight) { + public void blitSprite(Function function, ResourceLocation resourceLocation, int i, int j, int k, int l, int m) { } @Override - public void blitSprite(ResourceLocation sprite, int textureWidth, int textureHeight, int uPosition, int vPosition, int x, int y, int blitOffset, int uWidth, int vHeight) { + public void blitSprite(Function function, ResourceLocation resourceLocation, int i, int j, int k, int l, int m, int n, int o, int p) { } @Override - public void blitSprite(TextureAtlasSprite sprite, int textureWidth, int textureHeight, int uPosition, int vPosition, int x, int y, int blitOffset, int uWidth, int vHeight) { + public void blitSprite(Function function, TextureAtlasSprite textureAtlasSprite, int i, int j, int k, int l) { } @Override - public void blitSprite(TextureAtlasSprite sprite, int x, int y, int blitOffset, int width, int height) { + public void blitSprite(Function function, TextureAtlasSprite textureAtlasSprite, int i, int j, int k, int l, int m) { } @Override - public void blit(ResourceLocation atlasLocation, int x, int y, int uOffset, int vOffset, int uWidth, int vHeight) { + public void blitSprite(Function function, TextureAtlasSprite textureAtlasSprite, int i, int j, int k, int l, int m, int n, int o, int p, int q) { } @Override - public void blit(ResourceLocation atlasLocation, int x, int y, int blitOffset, float uOffset, float vOffset, int uWidth, int vHeight, int textureWidth, int textureHeight) { + public void blitNineSlicedSprite(Function function, TextureAtlasSprite textureAtlasSprite, GuiSpriteScaling.NineSlice nineSlice, int i, int j, int k, int l, int m) { } @Override - public void blit(ResourceLocation atlasLocation, int x, int y, int width, int height, float uOffset, float vOffset, int uWidth, int vHeight, int textureWidth, int textureHeight) { + public void blitNineSliceInnerSegment(Function function, GuiSpriteScaling.NineSlice nineSlice, TextureAtlasSprite textureAtlasSprite, int i, int j, int k, int l, int m, int n, int o, int p, int q, int r, int s) { } @Override - public void blit(ResourceLocation atlasLocation, int x, int y, float uOffset, float vOffset, int width, int height, int textureWidth, int textureHeight) { + public void blitTiledSprite(Function function, TextureAtlasSprite textureAtlasSprite, int i, int j, int k, int l, int m, int n, int o, int p, int q, int r, int s) { } @Override - public void blit(ResourceLocation atlasLocation, int x1, int x2, int y1, int y2, int blitOffset, int uWidth, int vHeight, float uOffset, float vOffset, int textureWidth, int textureHeight) { + public void blit(Function function, ResourceLocation resourceLocation, int i, int j, float f, float g, int k, int l, int m, int n, int o) { } @Override - public void innerBlit(ResourceLocation atlasLocation, int x1, int x2, int y1, int y2, int blitOffset, float minU, float maxU, float minV, float maxV) { + public void blit(Function function, ResourceLocation resourceLocation, int i, int j, float f, float g, int k, int l, int m, int n) { } @Override - public void innerBlit(ResourceLocation atlasLocation, int x1, int x2, int y1, int y2, int blitOffset, float minU, float maxU, float minV, float maxV, float red, float green, float blue, float alpha) { + public void blit(Function function, ResourceLocation resourceLocation, int i, int j, float f, float g, int k, int l, int m, int n, int o, int p) { } @Override - public void blitNineSlicedSprite(TextureAtlasSprite sprite, GuiSpriteScaling.NineSlice nineSlice, int x, int y, int blitOffset, int width, int height) { + public void blit(Function function, ResourceLocation resourceLocation, int i, int j, float f, float g, int k, int l, int m, int n, int o, int p, int q) { } @Override - public void blitTiledSprite(TextureAtlasSprite sprite, int x, int y, int blitOffset, int width, int height, int uPosition, int vPosition, int spriteWidth, int spriteHeight, int nineSliceWidth, int nineSliceHeight) { + public void innerBlit(Function function, ResourceLocation resourceLocation, int i, int j, int k, int l, float f, float g, float h, float m, int n) { } @Override @@ -299,27 +277,59 @@ public void renderTooltip(Font font, ItemStack stack, int mouseX, int mouseY) { public void renderTooltip(Font font, List tooltipLines, Optional visualTooltipComponent, int mouseX, int mouseY) { } + @Override + public void renderTooltip(Font font, List list, Optional optional, int i, int j, @Nullable ResourceLocation resourceLocation) { + } + @Override public void renderTooltip(Font font, Component text, int mouseX, int mouseY) { } + @Override + public void renderTooltip(Font font, Component component, int i, int j, @Nullable ResourceLocation resourceLocation) { + } + @Override public void renderComponentTooltip(Font font, List tooltipLines, int mouseX, int mouseY) { } + @Override + public void renderComponentTooltip(Font font, List list, int i, int j, @Nullable ResourceLocation resourceLocation) { + } + @Override public void renderTooltip(Font font, List tooltipLines, int mouseX, int mouseY) { } + @Override + public void renderTooltip(Font font, List list, int i, int j, @Nullable ResourceLocation resourceLocation) { + } + @Override public void renderTooltip(Font font, List tooltipLines, ClientTooltipPositioner tooltipPositioner, int mouseX, int mouseY) { } @Override - public void renderTooltipInternal(Font font, List components, int mouseX, int mouseY, ClientTooltipPositioner tooltipPositioner) { + public void renderTooltipInternal(Font font, List list, int i, int j, ClientTooltipPositioner clientTooltipPositioner, @Nullable ResourceLocation resourceLocation) { + } + + @Override + public void renderItemBar(ItemStack itemStack, int i, int j) { + } + + @Override + public void renderItemCount(Font font, ItemStack itemStack, int i, int j, @Nullable String string) { + } + + @Override + public void renderItemCooldown(ItemStack itemStack, int i, int j) { } @Override public void renderComponentHoverEffect(Font font, @Nullable Style style, int mouseX, int mouseY) { } + + @Override + public void drawSpecial(Consumer consumer) { + } } diff --git a/common/src/main/resources/rrls.accesswidener b/common/src/main/resources/rrls.accesswidener index 5d76381..64a150e 100644 --- a/common/src/main/resources/rrls.accesswidener +++ b/common/src/main/resources/rrls.accesswidener @@ -1,32 +1,30 @@ accessWidener v2 named -accessible method net/minecraft/client/gui/GuiGraphics flushIfUnmanaged ()V -extendable method net/minecraft/client/gui/GuiGraphics flushIfUnmanaged ()V -accessible method net/minecraft/client/gui/GuiGraphics flushIfManaged ()V -extendable method net/minecraft/client/gui/GuiGraphics flushIfManaged ()V accessible method net/minecraft/client/gui/GuiGraphics applyScissor (Lnet/minecraft/client/gui/navigation/ScreenRectangle;)V extendable method net/minecraft/client/gui/GuiGraphics applyScissor (Lnet/minecraft/client/gui/navigation/ScreenRectangle;)V -accessible method net/minecraft/client/gui/GuiGraphics renderTooltipInternal (Lnet/minecraft/client/gui/Font;Ljava/util/List;IILnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipPositioner;)V -extendable method net/minecraft/client/gui/GuiGraphics renderTooltipInternal (Lnet/minecraft/client/gui/Font;Ljava/util/List;IILnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipPositioner;)V +accessible method net/minecraft/client/gui/GuiGraphics blitSprite (Ljava/util/function/Function;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIII)V +extendable method net/minecraft/client/gui/GuiGraphics blitSprite (Ljava/util/function/Function;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIII)V +accessible method net/minecraft/client/gui/GuiGraphics blitNineSlicedSprite (Ljava/util/function/Function;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/client/resources/metadata/gui/GuiSpriteScaling$NineSlice;IIIII)V +extendable method net/minecraft/client/gui/GuiGraphics blitNineSlicedSprite (Ljava/util/function/Function;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/client/resources/metadata/gui/GuiSpriteScaling$NineSlice;IIIII)V +accessible method net/minecraft/client/gui/GuiGraphics blitNineSliceInnerSegment (Ljava/util/function/Function;Lnet/minecraft/client/resources/metadata/gui/GuiSpriteScaling$NineSlice;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIIIII)V +extendable method net/minecraft/client/gui/GuiGraphics blitNineSliceInnerSegment (Ljava/util/function/Function;Lnet/minecraft/client/resources/metadata/gui/GuiSpriteScaling$NineSlice;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIIIII)V +accessible method net/minecraft/client/gui/GuiGraphics blitTiledSprite (Ljava/util/function/Function;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIIIII)V +extendable method net/minecraft/client/gui/GuiGraphics blitTiledSprite (Ljava/util/function/Function;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIIIII)V +accessible method net/minecraft/client/gui/GuiGraphics innerBlit (Ljava/util/function/Function;Lnet/minecraft/resources/ResourceLocation;IIIIFFFFI)V +extendable method net/minecraft/client/gui/GuiGraphics innerBlit (Ljava/util/function/Function;Lnet/minecraft/resources/ResourceLocation;IIIIFFFFI)V accessible method net/minecraft/client/gui/GuiGraphics renderItem (Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;IIII)V extendable method net/minecraft/client/gui/GuiGraphics renderItem (Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;IIII)V accessible method net/minecraft/client/gui/GuiGraphics renderItem (Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;III)V extendable method net/minecraft/client/gui/GuiGraphics renderItem (Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;III)V -accessible method net/minecraft/client/gui/GuiGraphics blitTiledSprite (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIIIII)V -extendable method net/minecraft/client/gui/GuiGraphics blitTiledSprite (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIIIII)V -accessible method net/minecraft/client/gui/GuiGraphics innerBlit (Lnet/minecraft/resources/ResourceLocation;IIIIIFFFFFFFF)V -extendable method net/minecraft/client/gui/GuiGraphics innerBlit (Lnet/minecraft/resources/ResourceLocation;IIIIIFFFFFFFF)V -accessible method net/minecraft/client/gui/GuiGraphics blitNineSlicedSprite (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/client/resources/metadata/gui/GuiSpriteScaling$NineSlice;IIIII)V -extendable method net/minecraft/client/gui/GuiGraphics blitNineSlicedSprite (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/client/resources/metadata/gui/GuiSpriteScaling$NineSlice;IIIII)V -accessible method net/minecraft/client/gui/GuiGraphics blit (Lnet/minecraft/resources/ResourceLocation;IIIIIIIFFII)V -extendable method net/minecraft/client/gui/GuiGraphics blit (Lnet/minecraft/resources/ResourceLocation;IIIIIIIFFII)V -accessible method net/minecraft/client/gui/GuiGraphics innerBlit (Lnet/minecraft/resources/ResourceLocation;IIIIIFFFF)V -extendable method net/minecraft/client/gui/GuiGraphics innerBlit (Lnet/minecraft/resources/ResourceLocation;IIIIIFFFF)V -accessible method net/minecraft/client/gui/GuiGraphics blitSprite (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIII)V -extendable method net/minecraft/client/gui/GuiGraphics blitSprite (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIII)V -accessible method net/minecraft/client/gui/GuiGraphics blitSprite (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIII)V -extendable method net/minecraft/client/gui/GuiGraphics blitSprite (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;IIIIIIIII)V accessible method net/minecraft/client/gui/GuiGraphics fillGradient (Lcom/mojang/blaze3d/vertex/VertexConsumer;IIIIIII)V extendable method net/minecraft/client/gui/GuiGraphics fillGradient (Lcom/mojang/blaze3d/vertex/VertexConsumer;IIIIIII)V +accessible method net/minecraft/client/gui/GuiGraphics renderTooltipInternal (Lnet/minecraft/client/gui/Font;Ljava/util/List;IILnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipPositioner;Lnet/minecraft/resources/ResourceLocation;)V +extendable method net/minecraft/client/gui/GuiGraphics renderTooltipInternal (Lnet/minecraft/client/gui/Font;Ljava/util/List;IILnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipPositioner;Lnet/minecraft/resources/ResourceLocation;)V +accessible method net/minecraft/client/gui/GuiGraphics renderItemBar (Lnet/minecraft/world/item/ItemStack;II)V +extendable method net/minecraft/client/gui/GuiGraphics renderItemBar (Lnet/minecraft/world/item/ItemStack;II)V +accessible method net/minecraft/client/gui/GuiGraphics renderItemCount (Lnet/minecraft/client/gui/Font;Lnet/minecraft/world/item/ItemStack;IILjava/lang/String;)V +extendable method net/minecraft/client/gui/GuiGraphics renderItemCount (Lnet/minecraft/client/gui/Font;Lnet/minecraft/world/item/ItemStack;IILjava/lang/String;)V +accessible method net/minecraft/client/gui/GuiGraphics renderItemCooldown (Lnet/minecraft/world/item/ItemStack;II)V +extendable method net/minecraft/client/gui/GuiGraphics renderItemCooldown (Lnet/minecraft/world/item/ItemStack;II)V accessible field net/minecraft/client/Minecraft overlay Lnet/minecraft/client/gui/screens/Overlay; accessible class net/minecraft/client/resources/server/ServerPackManager$ServerPackData accessible field net/minecraft/client/gui/screens/LoadingOverlay currentProgress F @@ -35,3 +33,5 @@ accessible field net/minecraft/client/gui/font/FontManager fontSets Ljava/util/M accessible field net/minecraft/client/resources/TextureAtlasHolder textureAtlas Lnet/minecraft/client/renderer/texture/TextureAtlas; accessible field net/minecraft/client/renderer/texture/TextureAtlas texturesByName Ljava/util/Map; accessible field net/minecraft/client/resources/SplashManager splashes Ljava/util/List; +accessible field net/minecraft/client/renderer/ShaderManager compilationCache Lnet/minecraft/client/renderer/ShaderManager$CompilationCache; +accessible field net/minecraft/client/renderer/ShaderManager$CompilationCache configs Lnet/minecraft/client/renderer/ShaderManager$Configs; diff --git a/common/src/main/resources/rrls.mixins.json b/common/src/main/resources/rrls.mixins.json index b01789b..bf4b445 100644 --- a/common/src/main/resources/rrls.mixins.json +++ b/common/src/main/resources/rrls.mixins.json @@ -4,17 +4,17 @@ "package": "org.redlance.dima_dencep.mods.rrls.mixins", "compatibilityLevel": "JAVA_21", "client": [ - "MinecraftClientMixin", + "GameRendererMixin", "LoadingOverlayMixin", + "MinecraftClientMixin", "TitleScreenMixin", - "GameRendererMixin", - "compat.RendererKeyboardMouseMixin", "compat.OverlayMixin", + "compat.RendererKeyboardMouseMixin", "compat.ServerPackManagerMixin", + "workaround.CompilationCacheMixin", + "workaround.EntityRenderDispatcherMixin", "workaround.GuiGraphicsMixin", - "workaround.ReloadableResourceManagerMixin", - "workaround.VertexBufferMixin", - "workaround.EntityRenderDispatcherMixin" + "workaround.ReloadableResourceManagerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/fabric/build.gradle b/fabric/build.gradle index 1d4edfa..27f4655 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -1,5 +1,5 @@ plugins { - id "io.github.goooler.shadow" + id "com.gradleup.shadow" } architectury { diff --git a/forge/build.gradle b/forge/build.gradle index 337b5ca..9687a8e 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -1,5 +1,5 @@ plugins { - id "io.github.goooler.shadow" + id "com.gradleup.shadow" } architectury { diff --git a/gradle.properties b/gradle.properties index 0503c1c..f67efe2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,16 +3,16 @@ org.gradle.jvmargs=-Xmx4G org.gradle.parallel=true # Properties - minecraft_version = 1.21.1 + minecraft_version = 1.21.2 parchment_version = 2024.07.28 - loader_version = 0.16.5 - forge_version = 21.1.61 + loader_version = 0.16.7 + forge_version = 21.2.0-beta # Mod Properties - mod_version = 5.0.8 + mod_version = 5.0.9 maven_group = org.redlance.dima_dencep.mods archives_base_name = rrls # Dependencies - modmenu_version = 11.0.2 - cloth_config_version = 13.0.138 + modmenu_version = 12.0.0-beta.1 + cloth_config_version = 15.0.140