From 2b1a353f5bc7f1551cd343009ed15c07683c08f0 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Oct 2024 16:51:28 -0300 Subject: [PATCH] port to 1.21.2 --- .github/workflows/mod-publish.yml | 19 ------------------- build.gradle | 2 +- common/build.gradle | 4 +++- .../gui/MufflerScreen.java | 15 ++++++++------- .../gui/buttons/InvButton.java | 3 ++- .../gui/buttons/MuffledSlider.java | 9 +++++---- .../interfaces/IColorsGui.java | 10 +++++----- .../mixins/CreativeInventoryScreenMixin.java | 4 ++-- .../mixins/InventoryScreenMixin.java | 12 +++++++----- gradle.properties | 14 +++++++------- neoforge/build.gradle | 4 +++- .../SoundMufflerNeoForge.java | 2 +- settings.gradle | 2 +- 13 files changed, 45 insertions(+), 55 deletions(-) diff --git a/.github/workflows/mod-publish.yml b/.github/workflows/mod-publish.yml index e65993d..8a52aa8 100644 --- a/.github/workflows/mod-publish.yml +++ b/.github/workflows/mod-publish.yml @@ -53,25 +53,6 @@ jobs: modrinth-featured: false changelog-file: CHANGELOG.md - - name: Publish Minecraft Mods Forge Edition - uses: Kir-Antipov/mc-publish@v3.3 - with: - files: forge/build/libs/!(*-@(dev|sources|javadoc)).jar - - modrinth-id: 5IIKsxiL - modrinth-token: ${{ secrets.MODRINTH_TOKEN }} - - curseforge-id: 363363 - curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} - - name: Extreme sound muffler ${{env.MOD_VERSION}} - Forge ${{github.ref_name}} - loaders: forge - game-versions: ${{github.ref_name}} - version: ${{env.MOD_VERSION}}-${{github.ref_name}} - java: Java 21 - modrinth-featured: false - changelog-file: CHANGELOG.md - - name: Publish Minecraft Mods Fabric Edition uses: Kir-Antipov/mc-publish@v3.3 with: diff --git a/build.gradle b/build.gradle index 5b7a2c5..84243fa 100644 --- a/build.gradle +++ b/build.gradle @@ -2,5 +2,5 @@ plugins { // see https://fabricmc.net/develop/ for new versions id 'fabric-loom' version '1.7-SNAPSHOT' apply false // see https://projects.neoforged.net/neoforged/moddevgradle for new versions - id 'net.neoforged.moddev' version '0.1.110' apply false + id 'net.neoforged.moddev' version '2.0.40-beta' apply false } \ No newline at end of file diff --git a/common/build.gradle b/common/build.gradle index e3a2619..a894ecc 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -8,7 +8,9 @@ neoForge { // Automatically enable AccessTransformers if the file exists def at = file('src/main/resources/META-INF/accesstransformer.cfg') if (at.exists()) { - accessTransformers.add(at.absolutePath) + accessTransformers { + at + } } parchment { minecraftVersion = parchment_minecraft diff --git a/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/MufflerScreen.java b/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/MufflerScreen.java index 6aadbae..de724e8 100644 --- a/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/MufflerScreen.java +++ b/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/MufflerScreen.java @@ -16,6 +16,7 @@ import net.minecraft.client.gui.components.EditBox; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.screens.Screen; +import net.minecraft.client.renderer.RenderType; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; @@ -65,7 +66,7 @@ protected void init() { @Override public void render(@NotNull GuiGraphics stack, int mouseX, int mouseY, float partialTicks) { renderGui(); - stack.blit(getTextureRL(), getX(), getY(), 0, 0, xSize, ySize); //Main screen bounds + stack.blit(RenderType::guiTextured, getTextureRL(), getX(), getY(), 0, 0, xSize, ySize, 256, 256); //Main screen bounds renderSideScreen(stack); //render side screen buttons, need to be rendered before all the other things super.render(stack, mouseX, mouseY, partialTicks); //--------------- My Renders ---------------// @@ -281,7 +282,7 @@ private void addSoundListButtons() { soundsList.addAll(recentSoundsList); Collections.reverse(soundsList); //makes the recent sounds sort in chronological order } else if (Component.translatable("main_screen.btn.csl.all").equals(component)) { - BuiltInRegistries.SOUND_EVENT.forEach(k -> soundsList.add(k.getLocation())); + BuiltInRegistries.SOUND_EVENT.forEach(k -> soundsList.add(k.location())); Collections.sort(soundsList); //makes the All sounds list sort in alphabetically order } else { soundsList.addAll(this.anchor == null ? muffledSounds.keySet() : this.anchor.getMuffledSounds().keySet()); @@ -348,7 +349,7 @@ private void renderButtons(GuiGraphics stack, int mouseX, int mouseY) { //--------------- Toggle Muffle sounds button ---------------// //draws a "/" over the muffle button texture if muffling if (isMuffling) { - stack.blit(getTextureRL(), btnTMS.getX() + 1, btnTMS.getY(), 54F, 202F, 15, 15, xSize, 256); + stack.blit(RenderType::guiTextured, getTextureRL(), btnTMS.getX() + 1, btnTMS.getY(), 54F, 202F, 15, 15, xSize, 256); } message = isMuffling ? Component.translatable("main_screen.btn.tms.stop") : Component.translatable("main_screen.btn.tms.start"); @@ -361,7 +362,7 @@ private void renderButtons(GuiGraphics stack, int mouseX, int mouseY) { //show texture for the deletion of the recent sounds list if (hasShiftDown()) { - stack.blit(getTextureRL(), btnDelete.getX() + 2, btnDelete.getY() + 1, 54F, 217F, 13, 13, xSize, 256); + stack.blit(RenderType::guiTextured, getTextureRL(), btnDelete.getX() + 2, btnDelete.getY() + 1, 54F, 217F, 13, 13, xSize, 256); message = Component.translatable("main_screen.btn.delete.list"); } //draw tooltip @@ -425,7 +426,7 @@ private void renderButtons(GuiGraphics stack, int mouseX, int mouseY) { String color = anchorList.get(Integer.parseInt(btn.getMessage().getString())).getAnchorPos() != null ? "green" : "white"; setFGColor(btn, color); if (anchor != null && btn.getMessage().getString().equals(String.valueOf(anchor.getAnchorId()))) { - stack.blit(getTextureRL(), btn.getX() - 5, btn.getY() - 2, 71F, 202F, 27, 22, xSize, 256); //fancy selected Anchor indicator + stack.blit(RenderType::guiTextured, getTextureRL(), btn.getX() - 5, btn.getY() - 2, 71F, 202F, 27, 22, xSize, 256); //fancy selected Anchor indicator } } } @@ -471,11 +472,11 @@ private void renderSideScreen(GuiGraphics stack) { stack.drawString(font, Component.translatable("main_screen.side_screen.radius", radius), x + 1, y - 20, whiteText); stack.drawString(font, Component.translatable("main_screen.side_screen.dimension", dimensionName), x + 1, y - 10, whiteText); renderGui(); - stack.blit(getTextureRL(), x, y, 0, 69.45F, 11, 11, 88, 88); //set coordinates button + stack.blit(RenderType::guiTextured, getTextureRL(), x, y, 0, 69.45F, 11, 11, 88, 88); //set coordinates button if (anchor.getAnchorPos() != null) { btnEditAnchor.active = true; - stack.blit(getTextureRL(), btnEditAnchor.getX(), btnEditAnchor.getY(), 32F, 213F, 11, 11, xSize, 256); //set edit anchor button texture + stack.blit(RenderType::guiTextured, getTextureRL(), btnEditAnchor.getX(), btnEditAnchor.getY(), 32F, 213F, 11, 11, xSize, 256); //set edit anchor button texture } else { btnEditAnchor.active = false; } diff --git a/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/buttons/InvButton.java b/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/buttons/InvButton.java index 70e576d..40e3e97 100644 --- a/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/buttons/InvButton.java +++ b/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/buttons/InvButton.java @@ -7,6 +7,7 @@ import net.minecraft.client.gui.components.AbstractButton; import net.minecraft.client.gui.narration.NarratedElementType; import net.minecraft.client.gui.narration.NarrationElementOutput; +import net.minecraft.client.renderer.RenderType; import net.minecraft.network.chat.Component; import static com.leobeliik.extremesoundmuffler.SoundMufflerCommon.getTextureRL; @@ -28,7 +29,7 @@ public void onPress() { public void renderScrollingString(GuiGraphics render, Font font, int mouseX, int mouseY) { if (this.visible) { SoundMufflerCommon.renderGui(); - render.blit(getTextureRL(), getX(), getY(), 43f, 202f, 11, 11, 256, 256); //button texure + render.blit(RenderType::guiTextured, getTextureRL(), getX(), getY(), 43f, 202f, 11, 11, 256, 256); //button texure if (isMouseOver(mouseX, mouseY) && !hold) { render.drawCenteredString(font, Component.translatable("inventory.btn"), getX() + 5, getY() + this.height + 1, whiteText); } diff --git a/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/buttons/MuffledSlider.java b/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/buttons/MuffledSlider.java index 8227cf1..469e91d 100644 --- a/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/buttons/MuffledSlider.java +++ b/common/src/main/java/com/leobeliik/extremesoundmuffler/gui/buttons/MuffledSlider.java @@ -13,6 +13,7 @@ import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.narration.NarratedElementType; import net.minecraft.client.gui.narration.NarrationElementOutput; +import net.minecraft.client.renderer.RenderType; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; @@ -56,8 +57,8 @@ public void renderWidget(@NotNull GuiGraphics stack, int mouseX, int mouseY, flo drawGradient(stack); float v = isMuffling ? 202F : 213F; //--------------- Render buttons BG ---------------// - stack.blit(getTextureRL(), btnToggleSound.getX(), btnToggleSound.getY(), 43F, v, 11, 11, 256, 256); //muffle button bg - stack.blit(getTextureRL(), btnPlaySound.getX(), btnPlaySound.getY(), 32F, 202F, 11, 11, 256, 256); //play button bg + stack.blit(RenderType::guiTextured, getTextureRL(), btnToggleSound.getX(), btnToggleSound.getY(), 43F, v, 11, 11, 256, 256); //muffle button bg + stack.blit(RenderType::guiTextured, getTextureRL(), btnPlaySound.getX(), btnPlaySound.getY(), 32F, 202F, 11, 11, 256, 256); //play button bg //--------------- Render Tooltips ---------------// if (btnToggleSound.isMouseOver(mouseX, mouseY)) { @@ -102,9 +103,9 @@ private void drawMessage(GuiGraphics stack) { //draws the "rainbow" gradient in the background private void drawGradient(GuiGraphics stack) { if (isMuffling) { - stack.blit(getTextureRL(), getX(), getY() - 1, 0, 234, (int) (sliderValue * (width - 6)) + 5, height + 1, 256, 256); //draw bg + stack.blit(RenderType::guiTextured, getTextureRL(), getX(), getY() - 1, 0, 234, (int) (sliderValue * (width - 6)) + 5, height + 1, 256, 256); //draw bg if (this.isHovered) { - stack.blit(getTextureRL(), getX() + (int) (sliderValue * (width - 6)) + 1, getY() + 1, 32F, 224F, 5, 9, 256, 256); //Slider + stack.blit(RenderType::guiTextured, getTextureRL(), getX() + (int) (sliderValue * (width - 6)) + 1, getY() + 1, 32F, 224F, 5, 9, 256, 256); //Slider } } } diff --git a/common/src/main/java/com/leobeliik/extremesoundmuffler/interfaces/IColorsGui.java b/common/src/main/java/com/leobeliik/extremesoundmuffler/interfaces/IColorsGui.java index 2dcdc2f..b568de5 100644 --- a/common/src/main/java/com/leobeliik/extremesoundmuffler/interfaces/IColorsGui.java +++ b/common/src/main/java/com/leobeliik/extremesoundmuffler/interfaces/IColorsGui.java @@ -3,7 +3,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.network.chat.MutableComponent; -import net.minecraft.util.FastColor; +import net.minecraft.util.ARGB; import java.util.Locale; public interface IColorsGui { @@ -12,10 +12,10 @@ public interface IColorsGui { int aquaText = 0x00ffff; int greenText = 0x00ff00; int grayText = 0x080808; - int darkBG = FastColor.ARGB32.color(255, 0, 0, 0); - int brightBG = FastColor.ARGB32.color(200, 50, 50, 50); - int goldBG = FastColor.ARGB32.color(100, 255, 215, 0); - int whiteBG = FastColor.ARGB32.color(255, 255, 255, 255); + int darkBG = ARGB.color(255, 0, 0, 0); + int brightBG = ARGB.color(200, 50, 50, 50); + int goldBG = ARGB.color(100, 255, 215, 0); + int whiteBG = ARGB.color(255, 255, 255, 255); default void setFGColor(AbstractWidget button, String color) { MutableComponent message = button.getMessage().copy(); diff --git a/common/src/main/java/com/leobeliik/extremesoundmuffler/mixins/CreativeInventoryScreenMixin.java b/common/src/main/java/com/leobeliik/extremesoundmuffler/mixins/CreativeInventoryScreenMixin.java index 24187b0..38d72d9 100644 --- a/common/src/main/java/com/leobeliik/extremesoundmuffler/mixins/CreativeInventoryScreenMixin.java +++ b/common/src/main/java/com/leobeliik/extremesoundmuffler/mixins/CreativeInventoryScreenMixin.java @@ -3,8 +3,8 @@ import com.leobeliik.extremesoundmuffler.CommonConfig; import com.leobeliik.extremesoundmuffler.gui.buttons.InvButton; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen; -import net.minecraft.client.gui.screens.inventory.EffectRenderingInventoryScreen; import net.minecraft.network.chat.CommonComponents; import net.minecraft.world.entity.player.Player; import net.minecraft.world.flag.FeatureFlagSet; @@ -18,7 +18,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(CreativeModeInventoryScreen.class) -public abstract class CreativeInventoryScreenMixin extends EffectRenderingInventoryScreen { +public abstract class CreativeInventoryScreenMixin extends AbstractContainerScreen { @Shadow private static CreativeModeTab selectedTab; diff --git a/common/src/main/java/com/leobeliik/extremesoundmuffler/mixins/InventoryScreenMixin.java b/common/src/main/java/com/leobeliik/extremesoundmuffler/mixins/InventoryScreenMixin.java index 98a3fbf..c03c668 100644 --- a/common/src/main/java/com/leobeliik/extremesoundmuffler/mixins/InventoryScreenMixin.java +++ b/common/src/main/java/com/leobeliik/extremesoundmuffler/mixins/InventoryScreenMixin.java @@ -3,10 +3,12 @@ import com.leobeliik.extremesoundmuffler.CommonConfig; import com.leobeliik.extremesoundmuffler.gui.buttons.InvButton; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.gui.screens.inventory.EffectRenderingInventoryScreen; +import net.minecraft.client.gui.screens.inventory.AbstractRecipeBookScreen; import net.minecraft.client.gui.screens.inventory.InventoryScreen; +import net.minecraft.client.gui.screens.recipebook.CraftingRecipeBookComponent; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.InventoryMenu; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; @@ -16,17 +18,17 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(InventoryScreen.class) -public abstract class InventoryScreenMixin extends EffectRenderingInventoryScreen { +public abstract class InventoryScreenMixin extends AbstractRecipeBookScreen { @Unique private InvButton esm_invButton = new InvButton(esm_getIBX(), esm_getIBY()); - public InventoryScreenMixin(InventoryMenu inventoryMenu, Inventory inventory, Component component) { - super(inventoryMenu, inventory, component); + public InventoryScreenMixin(Player player) { + super(player.inventoryMenu, new CraftingRecipeBookComponent(player.inventoryMenu), player.getInventory(), Component.translatable("container.crafting")); } //Renders the inventory button if enabled in config - @Inject(method = "Lnet/minecraft/client/gui/screens/inventory/InventoryScreen;init()V", at = @At("TAIL")) + @Inject(method = "Lnet/minecraft/client/gui/screens/inventory/InventoryScreen;init()V", at = @At("HEAD")) private void esm_inventoryScreenInit(CallbackInfo CI) { if (!CommonConfig.get().disableInventoryButton().get()) { this.addRenderableWidget(esm_invButton); diff --git a/gradle.properties b/gradle.properties index b75f7e6..2e623cd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ group=com.leobeliik.extremesoundmuffler java_version=21 # Common -minecraft_version=1.21 +minecraft_version=1.21.2 mod_name=Extreme Sound Muffler mod_author=LeoBeliik mod_id=extremesoundmuffler @@ -17,14 +17,13 @@ description=This mod allows you to muffle (almost) any sound selectively,\n\ allowing you to choose the volume of the sound you want between mute and 90%.\n\ This mod also works Clientside only. -minecraft_version_range=[1.21, 1.21.1) -neo_form_version=1.21-20240613.152323 +minecraft_version_range=[1.21.2] parchment_minecraft=1.21 -parchment_version=2024.06.23 +parchment_version=2024.07.28 # Fabric -fabric_version=0.100.1+1.21 -fabric_loader_version=0.15.11 +fabric_loader_version=0.16.7 +fabric_version=0.106.1+1.21.2 fiber_version=0.23.+ # Forge @@ -32,8 +31,9 @@ forge_version=51.0.17 forge_loader_version_range=[51,) # NeoForge -neoforge_version=21.0.143 +neoforge_version=21.2.0-beta neoforge_loader_version_range=[4,) +neo_form_version=1.21.2-20241022.151510 # Gradle org.gradle.jvmargs=-Xmx3G diff --git a/neoforge/build.gradle b/neoforge/build.gradle index a85e8c5..ff707a3 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -8,7 +8,9 @@ neoForge { // Automatically enable neoforge AccessTransformers if the file exists def at = project(':common').file('src/main/resources/META-INF/accesstransformer.cfg') if (at.exists()) { - accessTransformers.add(at.absolutePath) + accessTransformers { + at + } } parchment { minecraftVersion = parchment_minecraft diff --git a/neoforge/src/main/java/com/leobeliik/extremesoundmuffler/SoundMufflerNeoForge.java b/neoforge/src/main/java/com/leobeliik/extremesoundmuffler/SoundMufflerNeoForge.java index 3bb334e..61d9f7c 100644 --- a/neoforge/src/main/java/com/leobeliik/extremesoundmuffler/SoundMufflerNeoForge.java +++ b/neoforge/src/main/java/com/leobeliik/extremesoundmuffler/SoundMufflerNeoForge.java @@ -16,9 +16,9 @@ import net.neoforged.neoforge.client.event.InputEvent; import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent; import net.neoforged.neoforge.client.event.ScreenEvent; -import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.client.gui.ConfigurationScreen; import net.neoforged.neoforge.client.gui.IConfigScreenFactory; +import net.neoforged.neoforge.common.NeoForge; import static com.leobeliik.extremesoundmuffler.Constants.soundMufflerKey; @Mod(Constants.MOD_ID) diff --git a/settings.gradle b/settings.gradle index 32e5b37..cc14770 100644 --- a/settings.gradle +++ b/settings.gradle @@ -48,4 +48,4 @@ rootProject.name = 'ExtremeSoundMuffler' include('common') include('fabric') include('neoforge') -include('forge') \ No newline at end of file +//include('forge') //forge will update someday \ No newline at end of file