From b6a3c4b2299ff941f7664cdc50fc7ef57c6d9a01 Mon Sep 17 00:00:00 2001 From: matthewperiut Date: Thu, 10 Oct 2024 17:54:38 -0400 Subject: [PATCH] Update to latest biny --- build.gradle | 8 +++----- gradle.properties | 2 +- .../io/github/prospector/modmenu/ModMenu.java | 5 ++--- .../prospector/modmenu/gui/ModListEntry.java | 18 +++++++++++------- .../gui/ModMenuTexturedButtonWidget.java | 2 +- .../modmenu/mixin/MixinGameMenuScreen.java | 8 ++++---- .../modmenu/mixin/MixinTexturePacks.java | 8 ++++---- .../modmenu/mixin/MixinTitleScreen.java | 2 +- 8 files changed, 27 insertions(+), 26 deletions(-) diff --git a/build.gradle b/build.gradle index 6875bc86..f38afb17 100644 --- a/build.gradle +++ b/build.gradle @@ -1,18 +1,16 @@ plugins { - id 'fabric-loom' version '1.7.2' - id 'babric-loom-extension' version '1.7.3' + id 'fabric-loom' version '1.7.3' + id 'babric-loom-extension' version '1.7.4' id 'maven-publish' } -sourceCompatibility = JavaVersion.VERSION_1_8 -targetCompatibility = JavaVersion.VERSION_1_8 +sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 archivesBaseName = project.archives_base_name version = project.mod_version group = project.maven_group repositories { - // Add repositories to retrieve artifacts from in here. // You should only use this when depending on other mods because // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. diff --git a/gradle.properties b/gradle.properties index cc637014..1c19fbb0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,5 +7,5 @@ maven_group=net.glasslauncher.mods archives_base_name=modmenu minecraft_version=b1.7.3 -yarn_mappings=b1.7.3+cbcfb39 +yarn_mappings=b1.7.3+d90abe9 loader_version=0.14.24-babric.1 diff --git a/src/main/java/io/github/prospector/modmenu/ModMenu.java b/src/main/java/io/github/prospector/modmenu/ModMenu.java index 1d2c2209..5de50244 100644 --- a/src/main/java/io/github/prospector/modmenu/ModMenu.java +++ b/src/main/java/io/github/prospector/modmenu/ModMenu.java @@ -13,11 +13,10 @@ import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.CustomValue; import net.fabricmc.loader.api.metadata.ModMetadata; -import net.minecraft.class_285; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.option.OptionsScreen; - +import net.minecraft.client.resource.pack.TexturePack; import java.text.NumberFormat; import java.util.*; import java.util.function.Function; @@ -33,7 +32,7 @@ public class ModMenu implements ClientModInitializer { public static final LinkedListMultimap PARENT_MAP = LinkedListMultimap.create(); private static ImmutableMap> configScreenFactories = ImmutableMap.of(); private static int libraryCount = 0; - public static class_285 currentTexturePack; + public static TexturePack currentTexturePack; public static boolean hasConfigScreenFactory(String modid) { return configScreenFactories.containsKey(modid); diff --git a/src/main/java/io/github/prospector/modmenu/gui/ModListEntry.java b/src/main/java/io/github/prospector/modmenu/gui/ModListEntry.java index 3f4f3b8e..7a16b322 100644 --- a/src/main/java/io/github/prospector/modmenu/gui/ModListEntry.java +++ b/src/main/java/io/github/prospector/modmenu/gui/ModListEntry.java @@ -120,15 +120,19 @@ public ModMetadata getMetadata() { } public void bindIconTexture() { - if (this.iconLocation == null) { - BufferedImage icon = this.createIcon(); - if (icon != null) { - this.iconLocation = this.client.textureManager.method_1088(icon); - } else { - this.iconLocation = this.client.textureManager.getTextureId(UNKNOWN_ICON); + try { + if (this.iconLocation == null) { + BufferedImage icon = this.createIcon(); + if (icon != null) { + this.iconLocation = this.client.textureManager.load(icon); + } else { + this.iconLocation = this.client.textureManager.getTextureId(UNKNOWN_ICON); + } } + this.client.textureManager.bindTexture(this.iconLocation); + } catch (Exception e) { + System.out.println(e.getMessage()); } - this.client.textureManager.bindTexture(this.iconLocation); } public void deleteTexture() { diff --git a/src/main/java/io/github/prospector/modmenu/gui/ModMenuTexturedButtonWidget.java b/src/main/java/io/github/prospector/modmenu/gui/ModMenuTexturedButtonWidget.java index 0af0335b..aaf77d2c 100644 --- a/src/main/java/io/github/prospector/modmenu/gui/ModMenuTexturedButtonWidget.java +++ b/src/main/java/io/github/prospector/modmenu/gui/ModMenuTexturedButtonWidget.java @@ -63,7 +63,7 @@ public void render(Minecraft mc, int mouseX, int mouseY) { tess.vertex(x, y, this.zOffset, (float) u * uScale, (float) adjustedV * vScale); tess.draw(); - this.method_1188(mc, mouseX, mouseY); + this.renderBackground(mc, mouseX, mouseY); if (!this.active) { this.drawCenteredTextWithShadow(font, this.text, this.x + this.width / 2, this.y + (this.height - 8) / 2, 0xffa0a0a0); } else if (hovered) { diff --git a/src/main/java/io/github/prospector/modmenu/mixin/MixinGameMenuScreen.java b/src/main/java/io/github/prospector/modmenu/mixin/MixinGameMenuScreen.java index 96a91210..1cb6de1c 100644 --- a/src/main/java/io/github/prospector/modmenu/mixin/MixinGameMenuScreen.java +++ b/src/main/java/io/github/prospector/modmenu/mixin/MixinGameMenuScreen.java @@ -31,16 +31,16 @@ public void drawMenuButton(CallbackInfo info) { this.buttons.add(new ModMenuButtonWidget(101, this.width / 2 + 2, this.height / 4 + 72 - 16, 98, 20, "Mods (" + ModMenu.getFormattedModCount() + " loaded)")); } - if (ModMenu.currentTexturePack != this.minecraft.field_2768.field_1175) { - ModMenu.currentTexturePack = this.minecraft.field_2768.field_1175; - this.minecraft.worldRenderer.method_1537(); + if (ModMenu.currentTexturePack != this.minecraft.texturePacks.selected) { + ModMenu.currentTexturePack = this.minecraft.texturePacks.selected; + this.minecraft.worldRenderer.reload(); } } @Inject(method = "buttonClicked", at = @At("HEAD")) private void onActionPerformed(ButtonWidget button, CallbackInfo ci) { if (button.id == 100) { - ModMenu.currentTexturePack = this.minecraft.field_2768.field_1175; + ModMenu.currentTexturePack = this.minecraft.texturePacks.selected; minecraft.setScreen(new PackScreen(this)); } if (button.id == 101) { diff --git a/src/main/java/io/github/prospector/modmenu/mixin/MixinTexturePacks.java b/src/main/java/io/github/prospector/modmenu/mixin/MixinTexturePacks.java index c7d042cc..c131b338 100644 --- a/src/main/java/io/github/prospector/modmenu/mixin/MixinTexturePacks.java +++ b/src/main/java/io/github/prospector/modmenu/mixin/MixinTexturePacks.java @@ -1,19 +1,19 @@ package io.github.prospector.modmenu.mixin; import io.github.prospector.modmenu.ModMenu; +import net.minecraft.client.resource.pack.TexturePack; +import net.minecraft.client.resource.pack.ZippedTexturePack; 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; import java.io.InputStream; -import net.minecraft.class_285; -import net.minecraft.class_592; -@Mixin({class_285.class, class_592.class}) +@Mixin({TexturePack.class, ZippedTexturePack.class}) public class MixinTexturePacks { - @Inject(method = "method_976", at = @At(value = "INVOKE", target = "Ljava/lang/Class;getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;", remap = false), cancellable = true) + @Inject(method = "getResource", at = @At(value = "INVOKE", target = "Ljava/lang/Class;getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;", remap = false), cancellable = true) private void onGetResource(String resource, CallbackInfoReturnable ci) { InputStream in = ModMenu.class.getClassLoader().getResourceAsStream(resource); if (in != null) diff --git a/src/main/java/io/github/prospector/modmenu/mixin/MixinTitleScreen.java b/src/main/java/io/github/prospector/modmenu/mixin/MixinTitleScreen.java index 9800c4c9..3d056d39 100644 --- a/src/main/java/io/github/prospector/modmenu/mixin/MixinTitleScreen.java +++ b/src/main/java/io/github/prospector/modmenu/mixin/MixinTitleScreen.java @@ -39,7 +39,7 @@ public void drawMenuButton(CallbackInfo info) { @Inject(method = "buttonClicked", at = @At("HEAD")) private void onActionPerformed(ButtonWidget button, CallbackInfo ci) { if (button.id == 1 || button.id == 2) { - ModMenu.currentTexturePack = this.minecraft.field_2768.field_1175; + ModMenu.currentTexturePack = this.minecraft.texturePacks.selected; } if (button.id == 100) { minecraft.setScreen(new ModListScreen(this));