From 5963bc06ba7481d36e1458f822e2eae576595b56 Mon Sep 17 00:00:00 2001 From: Prospector Date: Mon, 22 Apr 2024 13:26:20 -0700 Subject: [PATCH 01/15] Fix update checker not being called when screen is closed in a way other than the button - Fix update checker not being run when config screen is closed without the Done button --- .../com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java index b0efeb3b..df04d9ee 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java @@ -51,6 +51,7 @@ public void renderBackground(DrawContext context, int mouseX, int mouseY, float } public void removed() { + ModMenu.checkForUpdates(); ModMenuConfigManager.save(); } } From 1da62bca1ab211d9fc3bb31381efe00520587159 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Wed, 29 May 2024 12:16:22 -0400 Subject: [PATCH 02/15] Updates for 1.21 compatibility --- gradle.properties | 14 +-- .../modmenu/event/ModMenuEventHandler.java | 2 +- .../modmenu/gui/ModMenuOptionsScreen.java | 9 +- .../modmenu/gui/ModsScreen.java | 6 +- .../gui/widget/DescriptionListWidget.java | 117 +++++++++--------- .../modmenu/gui/widget/ModListWidget.java | 46 ++++--- .../gui/widget/UpdateAvailableBadge.java | 3 +- .../gui/widget/entries/ModListEntry.java | 11 +- .../gui/widget/entries/ParentEntry.java | 3 +- src/main/resources/fabric.mod.json | 4 +- 10 files changed, 112 insertions(+), 103 deletions(-) diff --git a/gradle.properties b/gradle.properties index e7fca592..2ee3f4fd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,10 @@ org.gradle.jvmargs=-Xmx1G maven_group=com.terraformersmc archive_name=modmenu -minecraft_version=1.20.5-rc3 -yarn_mappings=1.20.5-rc3+build.2 -loader_version=0.15.10 -fabric_version=0.97.5+1.20.5 +minecraft_version=1.21-pre1 +yarn_mappings=1.21-pre1+build.2 +loader_version=0.15.11 +fabric_version=0.99.1+1.21 quilt_loader_version=0.17.7 # Project Metadata @@ -15,18 +15,18 @@ project_url=https://modrinth.com/mod/modmenu project_logo=https://raw.githubusercontent.com/Prospector/images/master/modmenu-logo.png project_color=0x134bff # default_release_type can be stable, beta, or alpha -default_release_type=stable +default_release_type=beta # Modrinth Metadata modrinth_slug=modmenu modrinth_id=mOgUt4GM -modrinth_game_versions=1.20.5-rc3 +modrinth_game_versions=1.21-pre1 modrinth_mod_loaders=fabric, quilt # CurseForge Metadata curseforge_slug=modmenu curseforge_id=308702 -curseforge_game_versions=1.20.5-Snapshot, Fabric, Quilt +curseforge_game_versions=1.21-Snapshot, Fabric, Quilt curseforge_required_dependencies= curseforge_optional_dependencies= diff --git a/src/main/java/com/terraformersmc/modmenu/event/ModMenuEventHandler.java b/src/main/java/com/terraformersmc/modmenu/event/ModMenuEventHandler.java index a5400ef0..52488ced 100644 --- a/src/main/java/com/terraformersmc/modmenu/event/ModMenuEventHandler.java +++ b/src/main/java/com/terraformersmc/modmenu/event/ModMenuEventHandler.java @@ -27,7 +27,7 @@ import java.util.List; public class ModMenuEventHandler { - public static final Identifier FABRIC_ICON_BUTTON_LOCATION = new Identifier(ModMenu.MOD_ID, "textures/gui/mods_button.png"); + public static final Identifier FABRIC_ICON_BUTTON_LOCATION = Identifier.of(ModMenu.MOD_ID, "textures/gui/mods_button.png"); private static KeyBinding MENU_KEY_BIND; public static void register() { diff --git a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java index 9718e2ef..8f7be1dd 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java @@ -21,11 +21,17 @@ public ModMenuOptionsScreen(Screen previous) { @Override protected void init() { - this.list = this.addDrawableChild(new OptionListWidget(this.client, this.width, this.height, this)); + this.list = this.addDrawableChild(new OptionListWidget(this.client, this.width, this)); this.list.addAll(ModMenuConfig.asOptions()); super.init(); } + @Override + protected void addOptions() + { + // NO-OP + } + @Override protected void initTabNavigation() { super.initTabNavigation(); @@ -40,6 +46,7 @@ public void render(DrawContext DrawContext, int mouseX, int mouseY, float delta) @Override public void removed() { + ModMenu.checkForUpdates(); ModMenuConfigManager.save(); ModMenu.checkForUpdates(); } diff --git a/src/main/java/com/terraformersmc/modmenu/gui/ModsScreen.java b/src/main/java/com/terraformersmc/modmenu/gui/ModsScreen.java index c2d6b333..fbf250ef 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/ModsScreen.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/ModsScreen.java @@ -23,10 +23,8 @@ import net.minecraft.client.gui.widget.ClickableWidget; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.client.gui.tooltip.Tooltip; -import net.minecraft.client.render.*; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.toast.SystemToast; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.screen.ScreenTexts; import net.minecraft.text.StringVisitable; import net.minecraft.text.Text; @@ -46,8 +44,8 @@ import java.util.stream.Collectors; public class ModsScreen extends Screen { - private static final Identifier FILTERS_BUTTON_LOCATION = new Identifier(ModMenu.MOD_ID, "textures/gui/filters_button.png"); - private static final Identifier CONFIGURE_BUTTON_LOCATION = new Identifier(ModMenu.MOD_ID, "textures/gui/configure_button.png"); + private static final Identifier FILTERS_BUTTON_LOCATION = Identifier.of(ModMenu.MOD_ID, "textures/gui/filters_button.png"); + private static final Identifier CONFIGURE_BUTTON_LOCATION = Identifier.of(ModMenu.MOD_ID, "textures/gui/configure_button.png"); private static final Logger LOGGER = LoggerFactory.getLogger("Mod Menu | ModsScreen"); private final Screen previousScreen; diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java index c7b8b666..480656fc 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java @@ -15,7 +15,6 @@ import net.minecraft.client.gui.Element; import net.minecraft.client.gui.Selectable; import net.minecraft.client.gui.screen.ConfirmLinkScreen; -import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; import net.minecraft.client.gui.screen.narration.NarrationPart; import net.minecraft.client.gui.screen.option.CreditsAndAttributionScreen; @@ -28,10 +27,7 @@ import net.minecraft.util.Util; import net.minecraft.util.math.MathHelper; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; public class DescriptionListWidget extends EntryListWidget { @@ -248,17 +244,18 @@ public void renderList(DrawContext DrawContext, int mouseX, int mouseY, float de } Tessellator tessellator = Tessellator.getInstance(); - BufferBuilder bufferBuilder = tessellator.getBuffer(); + BufferBuilder bufferBuilder; + BuiltBuffer builtBuffer; // { // RenderSystem.setShader(GameRenderer::getPositionTexColorProgram); // RenderSystem.setShaderTexture(0, Screen.OPTIONS_BACKGROUND_TEXTURE); // RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); // bufferBuilder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE_COLOR); -// bufferBuilder.vertex(this.getX(), this.getBottom(), 0.0D).texture(this.getX() / 32.0F, (this.getBottom() + (int) this.getScrollAmount()) / 32.0F).color(32, 32, 32, 255).next(); -// bufferBuilder.vertex(this.getRight(), this.getBottom(), 0.0D).texture(this.getRight() / 32.0F, (this.getBottom() + (int) this.getScrollAmount()) / 32.0F).color(32, 32, 32, 255).next(); -// bufferBuilder.vertex(this.getRight(), this.getY(), 0.0D).texture(this.getRight() / 32.0F, (this.getY() + (int) this.getScrollAmount()) / 32.0F).color(32, 32, 32, 255).next(); -// bufferBuilder.vertex(this.getX(), this.getY(), 0.0D).texture(this.getX() / 32.0F, (this.getY() + (int) this.getScrollAmount()) / 32.0F).color(32, 32, 32, 255).next(); +// bufferBuilder.vertex(this.getX(), this.getBottom(), 0.0D).texture(this.getX() / 32.0F, (this.getBottom() + (int) this.getScrollAmount()) / 32.0F).color(32, 32, 32, 255); +// bufferBuilder.vertex(this.getRight(), this.getBottom(), 0.0D).texture(this.getRight() / 32.0F, (this.getBottom() + (int) this.getScrollAmount()) / 32.0F).color(32, 32, 32, 255); +// bufferBuilder.vertex(this.getRight(), this.getY(), 0.0D).texture(this.getRight() / 32.0F, (this.getY() + (int) this.getScrollAmount()) / 32.0F).color(32, 32, 32, 255); +// bufferBuilder.vertex(this.getX(), this.getY(), 0.0D).texture(this.getX() / 32.0F, (this.getY() + (int) this.getScrollAmount()) / 32.0F).color(32, 32, 32, 255); // tessellator.draw(); // } @@ -272,55 +269,52 @@ public void renderList(DrawContext DrawContext, int mouseX, int mouseY, float de RenderSystem.blendFuncSeparate(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SrcFactor.ZERO, GlStateManager.DstFactor.ONE); RenderSystem.setShader(GameRenderer::getPositionColorProgram); - bufferBuilder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); - bufferBuilder.vertex(this.getX(), (this.getY() + 4), 0.0D). + bufferBuilder = tessellator.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); + bufferBuilder.vertex(this.getX(), (this.getY() + 4), 0.0F). - color(0, 0, 0, 0). + color(0, 0, 0, 0); - next(); - bufferBuilder.vertex(this.getRight(), (this.getY() + 4), 0.0D). + bufferBuilder.vertex(this.getRight(), (this.getY() + 4), 0.0F). - color(0, 0, 0, 0). + color(0, 0, 0, 0); + + bufferBuilder.vertex(this.getRight(), this.getY(), 0.0F). - next(); - bufferBuilder.vertex(this.getRight(), this.getY(), 0.0D). + color(0, 0, 0, 255); + + bufferBuilder.vertex(this.getX(), this.getY(), 0.0F). - color(0, 0, 0, 255). + color(0, 0, 0, 255); + + bufferBuilder.vertex(this.getX(), this.getBottom(), 0.0F). - next(); - bufferBuilder.vertex(this.getX(), this.getY(), 0.0D). + color(0, 0, 0, 255); + + bufferBuilder.vertex(this.getRight(), this.getBottom(), 0.0F). + + color(0, 0, 0, 255); + + bufferBuilder.vertex(this.getRight(), (this.getBottom() - 4), 0.0F). - color(0, 0, 0, 255). - - next(); - bufferBuilder.vertex(this.getX(), this.getBottom(), 0.0D). - - color(0, 0, 0, 255). - - next(); - bufferBuilder.vertex(this.getRight(), this.getBottom(), 0.0D). - - color(0, 0, 0, 255). - - next(); - bufferBuilder.vertex(this.getRight(), (this.getBottom() - 4), 0.0D). - - color(0, 0, 0, 0). - - next(); - bufferBuilder.vertex(this.getX(), (this.getBottom() - 4), 0.0D). - - color(0, 0, 0, 0). - - next(); - tessellator.draw(); + color(0, 0, 0, 0); + + bufferBuilder.vertex(this.getX(), (this.getBottom() - 4), 0.0F). + color(0, 0, 0, 0); + + try { + builtBuffer = bufferBuilder.end(); + BufferRenderer.drawWithGlobalProgram(builtBuffer); + builtBuffer.close(); + } + catch (Exception ignored) { } this.renderScrollBar(bufferBuilder, tessellator); RenderSystem.disableBlend(); } public void renderScrollBar(BufferBuilder bufferBuilder, Tessellator tessellator) { + BuiltBuffer builtBuffer; int scrollbarStartX = this.getScrollbarX(); int scrollbarEndX = scrollbarStartX + 6; int maxScroll = this.getMaxScroll(); @@ -333,20 +327,25 @@ public void renderScrollBar(BufferBuilder bufferBuilder, Tessellator tessellator } RenderSystem.setShader(GameRenderer::getPositionColorProgram); - bufferBuilder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); - bufferBuilder.vertex(scrollbarStartX, this.getBottom(), 0.0D).color(0, 0, 0, 255).next(); - bufferBuilder.vertex(scrollbarEndX, this.getBottom(), 0.0D).color(0, 0, 0, 255).next(); - bufferBuilder.vertex(scrollbarEndX, this.getY(), 0.0D).color(0, 0, 0, 255).next(); - bufferBuilder.vertex(scrollbarStartX, this.getY(), 0.0D).color(0, 0, 0, 255).next(); - bufferBuilder.vertex(scrollbarStartX, q + p, 0.0D).color(128, 128, 128, 255).next(); - bufferBuilder.vertex(scrollbarEndX, q + p, 0.0D).color(128, 128, 128, 255).next(); - bufferBuilder.vertex(scrollbarEndX, q, 0.0D).color(128, 128, 128, 255).next(); - bufferBuilder.vertex(scrollbarStartX, q, 0.0D).color(128, 128, 128, 255).next(); - bufferBuilder.vertex(scrollbarStartX, q + p - 1, 0.0D).color(192, 192, 192, 255).next(); - bufferBuilder.vertex(scrollbarEndX - 1, q + p - 1, 0.0D).color(192, 192, 192, 255).next(); - bufferBuilder.vertex(scrollbarEndX - 1, q, 0.0D).color(192, 192, 192, 255).next(); - bufferBuilder.vertex(scrollbarStartX, q, 0.0D).color(192, 192, 192, 255).next(); - tessellator.draw(); + bufferBuilder = tessellator.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); + bufferBuilder.vertex(scrollbarStartX, this.getBottom(), 0.0F).color(0, 0, 0, 255); + bufferBuilder.vertex(scrollbarEndX, this.getBottom(), 0.0F).color(0, 0, 0, 255); + bufferBuilder.vertex(scrollbarEndX, this.getY(), 0.0F).color(0, 0, 0, 255); + bufferBuilder.vertex(scrollbarStartX, this.getY(), 0.0F).color(0, 0, 0, 255); + bufferBuilder.vertex(scrollbarStartX, q + p, 0.0F).color(128, 128, 128, 255); + bufferBuilder.vertex(scrollbarEndX, q + p, 0.0F).color(128, 128, 128, 255); + bufferBuilder.vertex(scrollbarEndX, q, 0.0F).color(128, 128, 128, 255); + bufferBuilder.vertex(scrollbarStartX, q, 0.0F).color(128, 128, 128, 255); + bufferBuilder.vertex(scrollbarStartX, q + p - 1, 0.0F).color(192, 192, 192, 255); + bufferBuilder.vertex(scrollbarEndX - 1, q + p - 1, 0.0F).color(192, 192, 192, 255); + bufferBuilder.vertex(scrollbarEndX - 1, q, 0.0F).color(192, 192, 192, 255); + bufferBuilder.vertex(scrollbarStartX, q, 0.0F).color(192, 192, 192, 255); + try { + builtBuffer = bufferBuilder.end(); + BufferRenderer.drawWithGlobalProgram(builtBuffer); + builtBuffer.close(); + } + catch (Exception ignored) { } } } diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java index 077c2dd8..b1d8eab0 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java @@ -14,12 +14,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.widget.AlwaysSelectedEntryListWidget; -import net.minecraft.client.render.BufferBuilder; -import net.minecraft.client.render.GameRenderer; -import net.minecraft.client.render.Tessellator; -import net.minecraft.client.render.VertexFormat; -import net.minecraft.client.render.VertexFormats; -import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.client.render.*; import net.minecraft.text.Text; import net.minecraft.util.math.MathHelper; import org.joml.Matrix4f; @@ -202,7 +197,7 @@ private void filter(String searchTerm, boolean refresh, boolean search) { protected void renderList(DrawContext DrawContext, int mouseX, int mouseY, float delta) { int entryCount = this.getEntryCount(); Tessellator tessellator = Tessellator.getInstance(); - BufferBuilder buffer = tessellator.getBuffer(); + BufferBuilder buffer; for (int index = 0; index < entryCount; ++index) { int entryTop = this.getRowTop(index) + 2; @@ -219,20 +214,33 @@ protected void renderList(DrawContext DrawContext, int mouseX, int mouseY, float RenderSystem.setShader(GameRenderer::getPositionProgram); RenderSystem.setShaderColor(float_2, float_2, float_2, 1.0F); Matrix4f matrix = DrawContext.getMatrices().peek().getPositionMatrix(); - buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION); - buffer.vertex(matrix, entryLeft, entryTop + entryHeight + 2, 0.0F).next(); - buffer.vertex(matrix, selectionRight, entryTop + entryHeight + 2, 0.0F).next(); - buffer.vertex(matrix, selectionRight, entryTop - 2, 0.0F).next(); - buffer.vertex(matrix, entryLeft, entryTop - 2, 0.0F).next(); - tessellator.draw(); + BuiltBuffer builtBuffer; + buffer = tessellator.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION); + buffer.vertex(matrix, entryLeft, entryTop + entryHeight + 2, 0.0F); + buffer.vertex(matrix, selectionRight, entryTop + entryHeight + 2, 0.0F); + buffer.vertex(matrix, selectionRight, entryTop - 2, 0.0F); + buffer.vertex(matrix, entryLeft, entryTop - 2, 0.0F); + try + { + builtBuffer = buffer.end(); + BufferRenderer.drawWithGlobalProgram(builtBuffer); + builtBuffer.close(); + } + catch (Exception ignored) {} RenderSystem.setShader(GameRenderer::getPositionProgram); RenderSystem.setShaderColor(0.0F, 0.0F, 0.0F, 1.0F); - buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION); - buffer.vertex(matrix, entryLeft + 1, entryTop + entryHeight + 1, 0.0F).next(); - buffer.vertex(matrix, selectionRight - 1, entryTop + entryHeight + 1, 0.0F).next(); - buffer.vertex(matrix, selectionRight - 1, entryTop - 1, 0.0F).next(); - buffer.vertex(matrix, entryLeft + 1, entryTop - 1, 0.0F).next(); - tessellator.draw(); + buffer = tessellator.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION); + buffer.vertex(matrix, entryLeft + 1, entryTop + entryHeight + 1, 0.0F); + buffer.vertex(matrix, selectionRight - 1, entryTop + entryHeight + 1, 0.0F); + buffer.vertex(matrix, selectionRight - 1, entryTop - 1, 0.0F); + buffer.vertex(matrix, entryLeft + 1, entryTop - 1, 0.0F); + try + { + builtBuffer = buffer.end(); + BufferRenderer.drawWithGlobalProgram(builtBuffer); + builtBuffer.close(); + } + catch (Exception ignored) {} } entryLeft = this.getRowLeft(); diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java index 87f4b953..ca21b11c 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java @@ -2,12 +2,11 @@ import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Identifier; import net.minecraft.util.Util; public class UpdateAvailableBadge { - private static final Identifier UPDATE_ICON = new Identifier("icon/trial_available"); + private static final Identifier UPDATE_ICON = Identifier.of("icon/trial_available"); public static void renderBadge(DrawContext DrawContext, int x, int y) { RenderSystem.setShaderColor(1f, 1f, 1f, 1f); diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java index 5641ed4d..9ac8531a 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java @@ -14,7 +14,6 @@ import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.widget.AlwaysSelectedEntryListWidget; import net.minecraft.client.texture.NativeImageBackedTexture; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.StringVisitable; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -22,10 +21,10 @@ import net.minecraft.util.Util; public class ModListEntry extends AlwaysSelectedEntryListWidget.Entry { - public static final Identifier UNKNOWN_ICON = new Identifier("textures/misc/unknown_pack.png"); - private static final Identifier MOD_CONFIGURATION_ICON = new Identifier("modmenu", "textures/gui/mod_configuration.png"); - private static final Identifier ERROR_ICON = new Identifier("minecraft", "world_list/error"); - private static final Identifier ERROR_HIGHLIGHTED_ICON = new Identifier("minecraft", "world_list/error_highlighted"); + public static final Identifier UNKNOWN_ICON = Identifier.of("textures/misc/unknown_pack.png"); + private static final Identifier MOD_CONFIGURATION_ICON = Identifier.of("modmenu", "textures/gui/mod_configuration.png"); + private static final Identifier ERROR_ICON = Identifier.of("minecraft", "world_list/error"); + private static final Identifier ERROR_HIGHLIGHTED_ICON = Identifier.of("minecraft", "world_list/error_highlighted"); protected final MinecraftClient client; public final Mod mod; @@ -127,7 +126,7 @@ public Mod getMod() { public Identifier getIconTexture() { if (this.iconLocation == null) { - this.iconLocation = new Identifier(ModMenu.MOD_ID, mod.getId() + "_icon"); + this.iconLocation = Identifier.of(ModMenu.MOD_ID, mod.getId() + "_icon"); NativeImageBackedTexture icon = mod.getIcon(list.getFabricIconHandler(), 64 * this.client.options.getGuiScale().getValue()); if (icon != null) { this.client.getTextureManager().registerTexture(this.iconLocation, icon); diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ParentEntry.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ParentEntry.java index 8566853c..c7035852 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ParentEntry.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ParentEntry.java @@ -8,7 +8,6 @@ import com.terraformersmc.modmenu.util.mod.ModSearch; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.Util; @@ -19,7 +18,7 @@ import java.util.Objects; public class ParentEntry extends ModListEntry { - private static final Identifier PARENT_MOD_TEXTURE = new Identifier(ModMenu.MOD_ID, "textures/gui/parent_mod.png"); + private static final Identifier PARENT_MOD_TEXTURE = Identifier.of(ModMenu.MOD_ID, "textures/gui/parent_mod.png"); protected List children; protected ModListWidget list; protected boolean hoveringIcon = false; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 39873751..2b05d38e 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -24,8 +24,8 @@ "fabric-screen-api-v1": ">=1.0.4", "fabric-key-binding-api-v1": "*", "fabric-lifecycle-events-v1": "*", - "fabricloader": ">=0.12.23", - "minecraft": ">=1.20.5-" + "fabricloader": ">=0.15.10", + "minecraft": ">=1.21-beta.1" }, "authors": [ "Prospector", From 2b8d09629a200a25a38be34ff978ed467d9f44c6 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Wed, 29 May 2024 12:19:50 -0400 Subject: [PATCH 03/15] Merge update checker from 1.20.3 base --- .../com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java index 8f7be1dd..9936907a 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java @@ -48,6 +48,5 @@ public void render(DrawContext DrawContext, int mouseX, int mouseY, float delta) public void removed() { ModMenu.checkForUpdates(); ModMenuConfigManager.save(); - ModMenu.checkForUpdates(); } } From 49431fc177d31432dcb9cbeda8dd18b1389ec2ea Mon Sep 17 00:00:00 2001 From: Prospector <6166773+Prospector@users.noreply.github.com> Date: Wed, 29 May 2024 09:29:52 -0700 Subject: [PATCH 04/15] Undo changing of default release type --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 2ee3f4fd..92457f2b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,7 +15,7 @@ project_url=https://modrinth.com/mod/modmenu project_logo=https://raw.githubusercontent.com/Prospector/images/master/modmenu-logo.png project_color=0x134bff # default_release_type can be stable, beta, or alpha -default_release_type=beta +default_release_type=stable # Modrinth Metadata modrinth_slug=modmenu From 87109efd0e277d0e633735bfa4589e8b519b18c4 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Wed, 29 May 2024 12:32:04 -0400 Subject: [PATCH 05/15] Bump FAPI to 0.99.2-1.21 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 92457f2b..1ebc9085 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ archive_name=modmenu minecraft_version=1.21-pre1 yarn_mappings=1.21-pre1+build.2 loader_version=0.15.11 -fabric_version=0.99.1+1.21 +fabric_version=0.99.2+1.21 quilt_loader_version=0.17.7 # Project Metadata From 7f200313d64a9c15bdf99a9e8bd755b15fd99b39 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Wed, 29 May 2024 12:43:48 -0400 Subject: [PATCH 06/15] Update ModListEntry.java --- .../modmenu/gui/widget/entries/ModListEntry.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java index 9ac8531a..34c52ed1 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java @@ -22,9 +22,9 @@ public class ModListEntry extends AlwaysSelectedEntryListWidget.Entry { public static final Identifier UNKNOWN_ICON = Identifier.of("textures/misc/unknown_pack.png"); - private static final Identifier MOD_CONFIGURATION_ICON = Identifier.of("modmenu", "textures/gui/mod_configuration.png"); - private static final Identifier ERROR_ICON = Identifier.of("minecraft", "world_list/error"); - private static final Identifier ERROR_HIGHLIGHTED_ICON = Identifier.of("minecraft", "world_list/error_highlighted"); + private static final Identifier MOD_CONFIGURATION_ICON = Identifier.of(ModMenu.MOD_ID, "textures/gui/mod_configuration.png"); + private static final Identifier ERROR_ICON = Identifier.of("world_list/error"); + private static final Identifier ERROR_HIGHLIGHTED_ICON = Identifier.of("world_list/error_highlighted"); protected final MinecraftClient client; public final Mod mod; From ec8c7ec29793c9b173c2319ecb0c7b6cdabb2fd5 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Wed, 29 May 2024 12:45:43 -0400 Subject: [PATCH 07/15] Update ModMenuOptionsScreen.java --- .../com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java index 9936907a..a35e4e76 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java @@ -46,7 +46,7 @@ public void render(DrawContext DrawContext, int mouseX, int mouseY, float delta) @Override public void removed() { - ModMenu.checkForUpdates(); ModMenuConfigManager.save(); + ModMenu.checkForUpdates(); } } From b994c3379eed510132d8fee5884d11df261791c0 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Sun, 2 Jun 2024 00:15:01 -0400 Subject: [PATCH 08/15] Update src/main/java/com/terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> --- .../terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java index ca21b11c..01e68b94 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/UpdateAvailableBadge.java @@ -6,7 +6,7 @@ import net.minecraft.util.Util; public class UpdateAvailableBadge { - private static final Identifier UPDATE_ICON = Identifier.of("icon/trial_available"); + private static final Identifier UPDATE_ICON = Identifier.ofVanilla("icon/trial_available"); public static void renderBadge(DrawContext DrawContext, int x, int y) { RenderSystem.setShaderColor(1f, 1f, 1f, 1f); From 365bfd66bbfbcf942339ed75f4f877fe1cc9219a Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Sun, 2 Jun 2024 00:15:16 -0400 Subject: [PATCH 09/15] Update src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> --- .../modmenu/gui/widget/entries/ModListEntry.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java index 34c52ed1..aa75adda 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/entries/ModListEntry.java @@ -21,10 +21,10 @@ import net.minecraft.util.Util; public class ModListEntry extends AlwaysSelectedEntryListWidget.Entry { - public static final Identifier UNKNOWN_ICON = Identifier.of("textures/misc/unknown_pack.png"); + public static final Identifier UNKNOWN_ICON = Identifier.ofVanilla("textures/misc/unknown_pack.png"); private static final Identifier MOD_CONFIGURATION_ICON = Identifier.of(ModMenu.MOD_ID, "textures/gui/mod_configuration.png"); - private static final Identifier ERROR_ICON = Identifier.of("world_list/error"); - private static final Identifier ERROR_HIGHLIGHTED_ICON = Identifier.of("world_list/error_highlighted"); + private static final Identifier ERROR_ICON = Identifier.ofVanilla("world_list/error"); + private static final Identifier ERROR_HIGHLIGHTED_ICON = Identifier.ofVanilla("world_list/error_highlighted"); protected final MinecraftClient client; public final Mod mod; From 11f8a4a2d5680c3309222d1b2f673f9422aee95b Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Sun, 2 Jun 2024 00:15:36 -0400 Subject: [PATCH 10/15] Update src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> --- .../modmenu/gui/widget/DescriptionListWidget.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java index 480656fc..8f5ecc77 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java @@ -306,8 +306,9 @@ public void renderList(DrawContext DrawContext, int mouseX, int mouseY, float de builtBuffer = bufferBuilder.end(); BufferRenderer.drawWithGlobalProgram(builtBuffer); builtBuffer.close(); + } catch (Exception e) { + // Ignored } - catch (Exception ignored) { } this.renderScrollBar(bufferBuilder, tessellator); RenderSystem.disableBlend(); From 149e369472180e6047efb84431bfcf47dcac7035 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Sun, 2 Jun 2024 00:15:58 -0400 Subject: [PATCH 11/15] Update src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> --- .../com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java index a35e4e76..a51c48e6 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/ModMenuOptionsScreen.java @@ -27,8 +27,7 @@ protected void init() { } @Override - protected void addOptions() - { + protected void addOptions() { // NO-OP } From 42742dbda309902eb4c7606427c7535a744bca7f Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Sun, 2 Jun 2024 00:16:08 -0400 Subject: [PATCH 12/15] Update src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> --- .../modmenu/gui/widget/DescriptionListWidget.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java index 8f5ecc77..28a802c5 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/DescriptionListWidget.java @@ -345,8 +345,9 @@ public void renderScrollBar(BufferBuilder bufferBuilder, Tessellator tessellator builtBuffer = bufferBuilder.end(); BufferRenderer.drawWithGlobalProgram(builtBuffer); builtBuffer.close(); + } catch (Exception e) { + // Ignored } - catch (Exception ignored) { } } } From e5ed71e650b51026c6aa86c9fcd9cb1135dce567 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Sun, 2 Jun 2024 00:16:15 -0400 Subject: [PATCH 13/15] Update src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> --- .../terraformersmc/modmenu/gui/widget/ModListWidget.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java index b1d8eab0..e9889d01 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java @@ -220,13 +220,13 @@ protected void renderList(DrawContext DrawContext, int mouseX, int mouseY, float buffer.vertex(matrix, selectionRight, entryTop + entryHeight + 2, 0.0F); buffer.vertex(matrix, selectionRight, entryTop - 2, 0.0F); buffer.vertex(matrix, entryLeft, entryTop - 2, 0.0F); - try - { + try { builtBuffer = buffer.end(); BufferRenderer.drawWithGlobalProgram(builtBuffer); builtBuffer.close(); + } catch (Exception e) { + // Ignored } - catch (Exception ignored) {} RenderSystem.setShader(GameRenderer::getPositionProgram); RenderSystem.setShaderColor(0.0F, 0.0F, 0.0F, 1.0F); buffer = tessellator.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION); From bbc31cf5ab65f3f9f090efdc4a39bcadd40dabff Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Sun, 2 Jun 2024 00:16:21 -0400 Subject: [PATCH 14/15] Update src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> --- .../terraformersmc/modmenu/gui/widget/ModListWidget.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java b/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java index e9889d01..c6e809e7 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/widget/ModListWidget.java @@ -234,13 +234,13 @@ protected void renderList(DrawContext DrawContext, int mouseX, int mouseY, float buffer.vertex(matrix, selectionRight - 1, entryTop + entryHeight + 1, 0.0F); buffer.vertex(matrix, selectionRight - 1, entryTop - 1, 0.0F); buffer.vertex(matrix, entryLeft + 1, entryTop - 1, 0.0F); - try - { + try { builtBuffer = buffer.end(); BufferRenderer.drawWithGlobalProgram(builtBuffer); builtBuffer.close(); + } catch (Exception e) { + // Ignored } - catch (Exception ignored) {} } entryLeft = this.getRowLeft(); From 9866fa0f3b804c6488e963f1796acd3614b057a4 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Sun, 2 Jun 2024 00:25:43 -0400 Subject: [PATCH 15/15] BUMP to 1.21-pre2 --- gradle.properties | 8 ++++---- src/main/resources/fabric.mod.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1ebc9085..d4bb2c8f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,10 @@ org.gradle.jvmargs=-Xmx1G maven_group=com.terraformersmc archive_name=modmenu -minecraft_version=1.21-pre1 -yarn_mappings=1.21-pre1+build.2 +minecraft_version=1.21-pre2 +yarn_mappings=1.21-pre2+build.2 loader_version=0.15.11 -fabric_version=0.99.2+1.21 +fabric_version=0.99.4+1.21 quilt_loader_version=0.17.7 # Project Metadata @@ -20,7 +20,7 @@ default_release_type=stable # Modrinth Metadata modrinth_slug=modmenu modrinth_id=mOgUt4GM -modrinth_game_versions=1.21-pre1 +modrinth_game_versions=1.21-pre2 modrinth_mod_loaders=fabric, quilt # CurseForge Metadata diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 2b05d38e..e5c7997f 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -25,7 +25,7 @@ "fabric-key-binding-api-v1": "*", "fabric-lifecycle-events-v1": "*", "fabricloader": ">=0.15.10", - "minecraft": ">=1.21-beta.1" + "minecraft": ">=1.21-beta.2" }, "authors": [ "Prospector",