diff --git a/build.gradle b/build.gradle index 9ccba51..aa7065a 100755 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ // Based on https://github.com/OnyxStudios/Cardinal-Components-API/blob/1.17/build.gradle plugins { - id "fabric-loom" version "1.1-SNAPSHOT" apply false + id "fabric-loom" version "1.2-SNAPSHOT" apply false id "com.matthewprenger.cursegradle" version "1.4.0" id "maven-publish" id "java-library" @@ -131,9 +131,9 @@ dependencies { modImplementation ("maven.modrinth:borderless-mining:${project.borderless_mining_version}") modImplementation ("maven.modrinth:dynamic-fps:${project.dynamic_fps_version}") modImplementation("com.moandjiezana.toml:toml4j:${project.toml4j_version}") - modImplementation ("maven.modrinth:entitytexturefeatures:${project.entitytexturefeatures_version}") - modImplementation ("maven.modrinth:cem:${project.cem_version}") - modImplementation "com.github.Lortseam.completeconfig:base:${project.complete_config_version}" + modImplementation ("maven.modrinth:entitytexturefeatures:${project.etf_version}") + modImplementation ("maven.modrinth:entity-model-features:${project.emf_version}") + modImplementation ("maven.modrinth:completeconfig:${project.complete_config_version}") modImplementation ("maven.modrinth:exordium:${project.exordium_version}") modImplementation("org.aperlambda:lambdajcommon:1.8.1") { diff --git a/gradle.properties b/gradle.properties index 036c581..3383ce1 100755 --- a/gradle.properties +++ b/gradle.properties @@ -3,34 +3,38 @@ org.gradle.jvmargs=-Xmx4G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.19.4-rc2 - yarn_mappings=1.19.4-rc2+build.1 - loader_version=0.14.17 + minecraft_version=1.20 + yarn_mappings=1.20+build.1 + loader_version=0.14.21 # Mod Properties - mod_version = 1.5.0+1.19.4 + mod_version = 1.5.1+1.20 maven_group = net.puzzlemc archives_base_name = puzzle # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.75.3+1.19.4 - mod_menu_version = 6.1.0-beta.3 - midnightlib_version=1.2.1-fabric + fabric_version=0.83.0+1.20 + mod_menu_version = 7.0.1 + midnightlib_version = 1.4.1-fabric cull_leaves_version = 3.0.2-fabric - ldl_version = 2.2.0+1.19.3 - lbg_version = 1.3.0+1.19 - iris_version = 1.5.2+1.19.3 - continuity_version = 2.0.0+1.19 + ldl_version = 2.3.0+1.19.4 + lbg_version = 1.5.1+1.20 + iris_version = 1.6.4+1.20 + continuity_version = 3.0.0-beta.2+1.19.3 animatica_version = 0.5+1.19 colormatic_version = 3.1.2 - borderless_mining_version = 1.1.6+1.19.3 + borderless_mining_version = 1.1.7+1.19.4 dynamic_fps_version = v2.2.0 toml4j_version = 0.7.2 - cit_resewn_version = 1.1.1+1.19 + cit_resewn_version = 1.1.3+1.20 cem_version = 0.7.1-1.19.3 - complete_config_version = 2.2.0 - spruceui_version=4.1.0+1.19.3 - entitytexturefeatures_version=4.2.0.1.fabric.1.19.3 - exordium_version=1.0.3-1.19.4 + complete_config_version = 2.3.0 + spruceui_version=5.0.0+1.20 + emf_version=0.2.10 + etf_version=4.4.4 + exordium_version=1.1.1-1.19.4 + # Required for LBG + quilt_loader_version=0.19.0-beta.18 + quilt_fabric_api_version=7.0.1+0.83.0-1.20 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e750102..59bc51a 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/puzzle-base/build.gradle b/puzzle-base/build.gradle index b7f5bfe..dc48c3b 100755 --- a/puzzle-base/build.gradle +++ b/puzzle-base/build.gradle @@ -1,9 +1,11 @@ archivesBaseName = "puzzle-base" repositories { + maven { url "https://maven.terraformersmc.com/releases" } maven { url = "https://api.modrinth.com/maven" } } dependencies { modImplementation "maven.modrinth:midnightlib:${project.midnightlib_version}" + modImplementation ("com.terraformersmc:modmenu:${project.mod_menu_version}") } diff --git a/puzzle-base/src/main/java/net/puzzlemc/core/mixin/MixinDebugHud.java b/puzzle-base/src/main/java/net/puzzlemc/core/mixin/MixinDebugHud.java index fa3dfc7..9552075 100755 --- a/puzzle-base/src/main/java/net/puzzlemc/core/mixin/MixinDebugHud.java +++ b/puzzle-base/src/main/java/net/puzzlemc/core/mixin/MixinDebugHud.java @@ -4,7 +4,6 @@ import com.mojang.blaze3d.platform.GlDebugInfo; import net.puzzlemc.core.PuzzleCore; import net.puzzlemc.core.config.PuzzleConfig; import net.puzzlemc.core.util.UpdateChecker; -import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.hud.DebugHud; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -14,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import java.util.List; @Mixin(DebugHud.class) -public abstract class MixinDebugHud extends DrawableHelper { +public abstract class MixinDebugHud { @Inject(at = @At("RETURN"), method = "getRightText") private void puzzle$getRightText(CallbackInfoReturnable> cir) { if (PuzzleConfig.showPuzzleInfo) { diff --git a/puzzle-base/src/main/java/net/puzzlemc/core/mixin/MixinTitleScreen.java b/puzzle-base/src/main/java/net/puzzlemc/core/mixin/MixinTitleScreen.java index 800b9bb..d871d25 100755 --- a/puzzle-base/src/main/java/net/puzzlemc/core/mixin/MixinTitleScreen.java +++ b/puzzle-base/src/main/java/net/puzzlemc/core/mixin/MixinTitleScreen.java @@ -1,5 +1,7 @@ package net.puzzlemc.core.mixin; +import com.terraformersmc.modmenu.config.ModMenuConfig; +import eu.midnightdust.lib.util.PlatformFunctions; import net.minecraft.client.gui.widget.PressableTextWidget; import net.puzzlemc.core.PuzzleCore; import net.puzzlemc.core.config.PuzzleConfig; @@ -23,7 +25,10 @@ public abstract class MixinTitleScreen extends Screen { } @Inject(at = @At("TAIL"), method = "init") private void puzzle$init(CallbackInfo ci) { - int yOffset = 20; + int yOffset = 8; + if (PlatformFunctions.isModLoaded("modmenu") && ModMenuConfig.MODIFY_TITLE_SCREEN.getValue() && ModMenuConfig.MODS_BUTTON_STYLE.getValue() == ModMenuConfig.TitleMenuButtonStyle.CLASSIC) { + yOffset += 12; + } Text puzzleText; if (UpdateChecker.isUpToDate) { puzzleText = Text.literal(versionText); diff --git a/puzzle-gui/build.gradle b/puzzle-gui/build.gradle index b88ce77..a9f92f5 100755 --- a/puzzle-gui/build.gradle +++ b/puzzle-gui/build.gradle @@ -27,6 +27,7 @@ repositories { maven { url "https://maven.shedaniel.me/" } + maven { url "https://maven.quiltmc.org/repository/release/" } } dependencies { @@ -35,26 +36,28 @@ dependencies { modImplementation "dev.lambdaurora:spruceui:${project.spruceui_version}" modImplementation "maven.modrinth:midnightlib:${project.midnightlib_version}" - modImplementation ("com.terraformersmc:modmenu:${project.mod_menu_version}") + modImplementation ("maven.modrinth:cull-leaves:${project.cull_leaves_version}") modImplementation ("maven.modrinth:lambdynamiclights:${project.ldl_version}") modCompileOnlyApi ("maven.modrinth:lambdabettergrass:${project.lbg_version}") - modImplementation ("maven.modrinth:iris:${project.iris_version}") - modImplementation ("maven.modrinth:cit-resewn:${project.cit_resewn_version}") + modCompileOnly "org.quiltmc:quilt-loader:${rootProject.quilt_loader_version}" + modCompileOnlyApi "org.quiltmc.quilted-fabric-api:quilted-fabric-api:${rootProject.quilt_fabric_api_version}" + modImplementation ("maven.modrinth:iris:${project.iris_version}") + modCompileOnly ("maven.modrinth:cit-resewn:${project.cit_resewn_version}") + modCompileOnlyApi ("maven.modrinth:continuity:${project.continuity_version}") + modImplementation ("maven.modrinth:animatica:${project.animatica_version}") modCompileOnlyApi ("maven.modrinth:colormatic:${project.colormatic_version}") modImplementation ("maven.modrinth:borderless-mining:${project.borderless_mining_version}") modImplementation ("maven.modrinth:dynamic-fps:${project.dynamic_fps_version}") - modImplementation ("maven.modrinth:entitytexturefeatures:${project.entitytexturefeatures_version}") - modImplementation ("maven.modrinth:cem:${project.cem_version}") - modImplementation "com.github.Lortseam.completeconfig:base:${project.complete_config_version}" + modImplementation("com.moandjiezana.toml:toml4j:${project.toml4j_version}") + modImplementation ("maven.modrinth:entitytexturefeatures:${project.etf_version}") + modImplementation ("maven.modrinth:entity-model-features:${project.emf_version}") + modImplementation ("maven.modrinth:completeconfig:${project.complete_config_version}") modImplementation ("maven.modrinth:exordium:${project.exordium_version}") modImplementation("org.aperlambda:lambdajcommon:1.8.1") { exclude group: 'com.google.code.gson' exclude group: 'com.google.guava' } - modCompileOnlyApi ("maven.modrinth:continuity:${project.continuity_version}") { - exclude module: "modmenu" - } } diff --git a/puzzle-gui/src/main/java/net/puzzlemc/gui/PuzzleClient.java b/puzzle-gui/src/main/java/net/puzzlemc/gui/PuzzleClient.java index 190fc3a..3f68a71 100755 --- a/puzzle-gui/src/main/java/net/puzzlemc/gui/PuzzleClient.java +++ b/puzzle-gui/src/main/java/net/puzzlemc/gui/PuzzleClient.java @@ -4,9 +4,6 @@ import dev.lambdaurora.lambdabettergrass.LBGConfig; import dev.lambdaurora.lambdabettergrass.LambdaBetterGrass; import dev.lambdaurora.lambdynlights.DynamicLightsConfig; import dev.lambdaurora.lambdynlights.LambDynLights; -import dev.tr7zw.exordium.Config; -import dev.tr7zw.exordium.ExordiumMod; -import dev.tr7zw.exordium.ExordiumModBase; import dynamicfps.DynamicFPSConfig; import dynamicfps.DynamicFPSMod; import eu.midnightdust.core.MidnightLibClient; @@ -17,23 +14,19 @@ import io.github.kvverti.colormatic.ColormaticConfigController; import link.infra.borderlessmining.config.ConfigHandler; import me.pepperbell.continuity.client.config.ContinuityConfig; import me.pepperbell.continuity.client.config.Option; -import net.dorianpb.cem.internal.config.CemConfig; -import net.dorianpb.cem.internal.config.CemConfigFairy; -import net.dorianpb.cem.internal.config.CemOptions; import net.puzzlemc.core.config.PuzzleConfig; -import net.puzzlemc.gui.mixin.CemConfigAccessor; import net.puzzlemc.gui.screen.widget.PuzzleWidget; import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; import net.minecraft.util.Formatting; import net.puzzlemc.splashscreen.PuzzleSplashScreen; import shcm.shsupercm.fabric.citresewn.config.CITResewnConfig; +import traben.entity_model_features.config.EMFConfig; +import traben.entity_model_features.utils.EMFManager; import traben.entity_texture_features.ETFApi; import traben.entity_texture_features.config.ETFConfig; import io.github.kvverti.colormatic.ColormaticConfig; -import traben.entity_texture_features.texture_handlers.ETFManager; public class PuzzleClient implements ClientModInitializer { @@ -227,23 +220,6 @@ public class PuzzleClient implements ClientModInitializer { PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("lambdabettergrass.option.mode"), (button) -> button.setMessage(lbgConfig.getMode().getTranslatedText()), (button) -> lbgConfig.setMode(lbgConfig.getMode().next()))); PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("lambdabettergrass.option.better_snow"), (button) -> button.setMessage(lbgConfig.hasBetterLayer() ? YES : NO), (button) -> lbgConfig.setBetterLayer(!lbgConfig.hasBetterLayer()))); } - if (isActive("cem") && FabricLoader.getInstance().isModLoaded("completeconfig")) { - PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Custom Entity Models"))); - CemConfig cemConfig = (CemConfig) CemConfigFairy.getConfig(); - CemOptions cemOptions = CemConfigFairy.getConfig(); - PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.cem.use_optifine_folder"), (button) -> button.setMessage(cemConfig.useOptifineFolder() ? YES : NO), (button) -> { - ((CemConfigAccessor)cemOptions).setUseOptifineFolder(!cemConfig.useOptifineFolder()); - cemConfig.save(); - })); - PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.cem.use_new_model_creation_fix"), (button) -> button.setMessage(cemConfig.useTransparentParts() ? YES : NO), (button) -> { - ((CemConfigAccessor)cemOptions).setUseModelCreationFix(!cemConfig.useTransparentParts()); - cemConfig.save(); - })); - PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.cem.use_old_animations"), (button) -> button.setMessage(cemConfig.useOldAnimations() ? YES : NO), (button) -> { - ((CemConfigAccessor)cemOptions).setUseOldAnimations(!cemConfig.useOldAnimations()); - cemConfig.save(); - })); - } if (isActive("continuity")) { PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Continuity"))); ContinuityConfig contConfig = ContinuityConfig.INSTANCE; @@ -261,7 +237,7 @@ public class PuzzleClient implements ClientModInitializer { } if (isActive("entity_texture_features")) { PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.entity_texture_features.title"))); - ETFConfig etfConfig = ETFApi.getETFConfigObject; + ETFConfig etfConfig = ETFApi.getETFConfigObject(); PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.entity_texture_features.enable_custom_textures.title"), (button) -> button.setMessage(etfConfig.enableCustomTextures ? YES : NO), (button) -> { etfConfig.enableCustomTextures = !etfConfig.enableCustomTextures; ETFApi.saveETFConfigChangesAndResetETF(); @@ -284,36 +260,15 @@ public class PuzzleClient implements ClientModInitializer { ETFApi.saveETFConfigChangesAndResetETF(); })); } - if (isActive("exordium")) { - PuzzleApi.addToPerformanceOptions(new PuzzleWidget(Text.translatable("text.exordium.title"))); - Config exordiumConfig = ExordiumModBase.instance.config; - PuzzleApi.addToPerformanceOptions(new PuzzleWidget(Text.translatable("text.exordium.enableGui"), (button) -> button.setMessage(exordiumConfig.enabledGui ? YES : NO), (button) -> { - exordiumConfig.enabledGui = !exordiumConfig.enabledGui; - ExordiumModBase.instance.writeConfig(); - })); - PuzzleApi.addToPerformanceOptions(new PuzzleWidget(5, 60, Text.translatable("text.exordium.targetFramerateGui"), () -> exordiumConfig.targetFPSIngameGui, (button) -> button.setMessage(Text.literal(exordiumConfig.targetFPSIngameGui+"")), (slider) -> { - exordiumConfig.targetFPSIngameGui = slider.getInt(); - ExordiumModBase.instance.writeConfig(); - })); - PuzzleApi.addToPerformanceOptions(new PuzzleWidget(Text.translatable("text.exordium.enabledGuiAnimationSpeedup"), (button) -> button.setMessage(exordiumConfig.enabledGuiAnimationSpeedup ? YES : NO), (button) -> { - exordiumConfig.enabledGuiAnimationSpeedup = !exordiumConfig.enabledGuiAnimationSpeedup; - ExordiumModBase.instance.writeConfig(); - })); - PuzzleApi.addToPerformanceOptions(new PuzzleWidget(30, 120, Text.translatable("text.exordium.targetFPSIngameGuiAnimated"), () -> exordiumConfig.targetFPSIngameGuiAnimated, (button) -> button.setMessage(Text.literal(exordiumConfig.targetFPSIngameGuiAnimated+"")), (slider) -> { - exordiumConfig.targetFPSIngameGuiAnimated = slider.getInt(); - ExordiumModBase.instance.writeConfig(); - })); - PuzzleApi.addToPerformanceOptions(new PuzzleWidget(Text.translatable("text.exordium.enableNametagScreenBuffering"), (button) -> button.setMessage(exordiumConfig.enableNametagScreenBuffering ? YES : NO), (button) -> { - exordiumConfig.enableNametagScreenBuffering = !exordiumConfig.enableNametagScreenBuffering; - ExordiumModBase.instance.writeConfig(); - })); - PuzzleApi.addToPerformanceOptions(new PuzzleWidget(30, 80, Text.translatable("text.exordium.targetFPSNameTags"), () -> exordiumConfig.targetFPSNameTags, (button) -> button.setMessage(Text.literal(exordiumConfig.targetFPSNameTags+"")), (slider) -> { - exordiumConfig.targetFPSNameTags = slider.getInt(); - ExordiumModBase.instance.writeConfig(); - })); - PuzzleApi.addToPerformanceOptions(new PuzzleWidget(Text.translatable("text.exordium.enableSignBuffering"), (button) -> button.setMessage(exordiumConfig.enableSignBuffering ? YES : NO), (button) -> { - exordiumConfig.enableSignBuffering = !exordiumConfig.enableSignBuffering; - ExordiumModBase.instance.writeConfig(); + if (isActive("entity_model_features")) { + PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("entity_model_features.title"))); + EMFConfig emfConfig = EMFConfig.getConfig(); + PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("entity_model_features.config.substitute_vanilla"), (button) -> button.setMessage(emfConfig.attemptToCopyVanillaModelIntoMissingModelPart ? YES : NO), (button) -> { + emfConfig.attemptToCopyVanillaModelIntoMissingModelPart = !emfConfig.attemptToCopyVanillaModelIntoMissingModelPart; + EMFConfig.EMF_saveConfig(); + if (EMFConfig.getConfig().reloadMode == EMFConfig.ModelDataRefreshMode.MANUAL) { + EMFManager.resetInstance(); + } })); } lateInitDone = true; diff --git a/puzzle-gui/src/main/java/net/puzzlemc/gui/mixin/CemConfigAccessor.java b/puzzle-gui/src/main/java/net/puzzlemc/gui/mixin/CemConfigAccessor.java deleted file mode 100644 index 07bcdc9..0000000 --- a/puzzle-gui/src/main/java/net/puzzlemc/gui/mixin/CemConfigAccessor.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.puzzlemc.gui.mixin; - -import net.dorianpb.cem.internal.config.CemConfig; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -@Mixin(value = CemConfig.class, remap = false) -public interface CemConfigAccessor { - @Accessor("use_optifine_folder") - void setUseOptifineFolder(boolean value); - - @Accessor("use_new_model_creation_fix") - void setUseModelCreationFix(boolean value); - - @Accessor("use_old_animations") - void setUseOldAnimations(boolean value); -} diff --git a/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/PuzzleOptionsScreen.java b/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/PuzzleOptionsScreen.java index 834f4c2..3dfc5b0 100755 --- a/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/PuzzleOptionsScreen.java +++ b/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/PuzzleOptionsScreen.java @@ -1,6 +1,7 @@ package net.puzzlemc.gui.screen; import com.google.common.collect.Lists; +import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.tab.GridScreenTab; import net.minecraft.client.gui.tab.Tab; import net.minecraft.client.gui.tab.TabManager; @@ -13,7 +14,6 @@ import net.puzzlemc.gui.screen.widget.PuzzleOptionListWidget; import net.puzzlemc.gui.screen.widget.PuzzleWidget; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.client.util.math.MatrixStack; import java.util.List; import java.util.Objects; @@ -85,18 +85,17 @@ public class PuzzleOptionsScreen extends Screen { } @Override - public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { - this.renderBackground(matrices); + public void render(DrawContext context, int mouseX, int mouseY, float delta) { + this.renderBackground(context); if (client != null && client.world != null) this.list.setRenderBackground(false); - this.list.render(matrices, mouseX, mouseY, delta); + this.list.render(context, mouseX, mouseY, delta); - drawCenteredTextWithShadow(matrices, textRenderer, title, width/2, 15, 0xFFFFFF); - super.render(matrices, mouseX, mouseY, delta); + super.render(context, mouseX, mouseY, delta); if (tooltip != null) { if (this.list.getFocused() != null && (this.list.getHoveredEntry() == null || this.list.getHoveredEntry().button == null || !this.list.getHoveredEntry().button.isMouseOver(mouseX, mouseY))) { - renderTooltip(matrices, tooltip, this.list.getFocused().getX(), this.list.getFocused().getY() + (this.list.getFocused().getHeight() * 2)); + context.drawTooltip(textRenderer, tooltip, this.list.getFocused().getX(), this.list.getFocused().getY() + (this.list.getFocused().getHeight() * 2)); } - else renderTooltip(matrices, tooltip, mouseX, mouseY); + else context.drawTooltip(textRenderer, tooltip, mouseX, mouseY); } tooltip = null; } diff --git a/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleButtonWidget.java b/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleButtonWidget.java index 86457e1..9a8e6f5 100755 --- a/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleButtonWidget.java +++ b/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleButtonWidget.java @@ -1,5 +1,6 @@ package net.puzzlemc.gui.screen.widget; +import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; @@ -14,8 +15,8 @@ public class PuzzleButtonWidget extends ButtonWidget { this.title = title; } @Override - public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta) { + public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) { title.setTitle(this); - super.renderButton(matrices, mouseX, mouseY, delta); + super.renderButton(context, mouseX, mouseY, delta); } } diff --git a/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleOptionListWidget.java b/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleOptionListWidget.java index 9805ad3..9ddfadb 100755 --- a/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleOptionListWidget.java +++ b/puzzle-gui/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleOptionListWidget.java @@ -4,6 +4,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.Element; import net.minecraft.client.gui.Selectable; import net.minecraft.client.gui.widget.ClickableWidget; @@ -80,13 +81,13 @@ public class PuzzleOptionListWidget extends ElementListWidget -1L ? (float)(l - this.reloadCompleteTime) / 1000.0F : -1.0F; int m = MathHelper.ceil((1.0F - MathHelper.clamp(f - 1.0F, 0.0F, 1.0F)) * 255.0F); RenderSystem.disableBlend(); - fill(matrices, minX, minY, maxX, maxY, withAlpha(PuzzleConfig.progressBarBackgroundColor, m)); + context.fill(minX, minY, maxX, maxY, withAlpha(PuzzleConfig.progressBarBackgroundColor, m)); } - @ModifyArg(method = "renderProgressBar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/SplashOverlay;fill(Lnet/minecraft/client/util/math/MatrixStack;IIIII)V"), index = 5) + @ModifyArg(method = "renderProgressBar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;fill(IIIII)V"), index = 4) private int puzzle$modifyProgressFrame(int color) { // Set the Progress Bar Frame Color to our configured value // return (!PuzzleConfig.resourcepackSplashScreen || PuzzleConfig.progressFrameColor == 16777215) ? color : PuzzleConfig.progressFrameColor | 255 << 24; } - @ModifyArg(method = "renderProgressBar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/SplashOverlay;fill(Lnet/minecraft/client/util/math/MatrixStack;IIIII)V", ordinal = 0), index = 5) + @ModifyArg(method = "renderProgressBar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;fill(IIIII)V", ordinal = 0), index = 4) private int puzzle$modifyProgressColor(int color) { // Set the Progress Bar Color to our configured value // return (!PuzzleConfig.resourcepackSplashScreen || PuzzleConfig.progressBarColor == 16777215) ? color : PuzzleConfig.progressBarColor | 255 << 24; }