diff options
| author | inyourwalls <inyourwalls@tutanota.com> | 2025-01-11 16:14:21 -0500 |
|---|---|---|
| committer | inyourwalls <inyourwalls@tutanota.com> | 2025-01-11 16:14:21 -0500 |
| commit | 2b5b80670bf6c9450c4eb9f2bcf4dc5d75326b5f (patch) | |
| tree | 39df4a63f4aec7c8e844b5d8fe1c7de08b2a0bea | |
| parent | 623f55b87eb4199ad025d7aa0830ff94b111c5cf (diff) | |
make it work on 1.21.4
| -rw-r--r-- | build.gradle.kts | 8 | ||||
| -rw-r--r-- | flake.lock | 6 | ||||
| -rw-r--r-- | gradle/wrapper/gradle-wrapper.jar | bin | 43453 -> 43583 bytes | |||
| -rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 2 | ||||
| -rwxr-xr-x | gradlew | 7 | ||||
| -rw-r--r-- | gradlew.bat | 2 | ||||
| -rw-r--r-- | src/main/java/net/inyourwalls/frank/ScreenEventHandler.java | 8 | ||||
| -rw-r--r-- | src/main/java/net/inyourwalls/frank/config/ConfigScreen.java | 14 | ||||
| -rw-r--r-- | src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java | 13 | ||||
| -rw-r--r-- | src/main/resources/fabric.mod.json | 4 | ||||
| -rw-r--r-- | src/main/resources/frank.mixins.json | 3 |
11 files changed, 48 insertions, 19 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index d06009b..67b8b82 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,9 +1,9 @@ plugins { java - id("fabric-loom") version "1.6-SNAPSHOT" + id("fabric-loom") version "1.9-SNAPSHOT" } -val minecraftVersion = "1.21" +val minecraftVersion = "1.21.4" version = "1.0.2+$minecraftVersion" group = "net.inyourwalls" @@ -14,11 +14,11 @@ repositories { dependencies { // Fabric/Minecraft dependencies. - val yarnBuild = "1" + val yarnBuild = "8" minecraft("com.mojang:minecraft:$minecraftVersion") mappings("net.fabricmc:yarn:$minecraftVersion+build.$yarnBuild:v2") modImplementation("net.fabricmc:fabric-loader:0.14.23") - modImplementation("net.fabricmc.fabric-api:fabric-api:0.100.1+$minecraftVersion") + modImplementation("net.fabricmc.fabric-api:fabric-api:0.114.2+$minecraftVersion") modImplementation("com.terraformersmc:modmenu:9.0.0") } @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1718160348, - "narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=", + "lastModified": 1736344531, + "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "57d6973abba7ea108bac64ae7629e7431e0199b6", + "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", "type": "github" }, "original": { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differindex e644113..a4b76b9 100644 --- a/gradle/wrapper/gradle-wrapper.jar +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b82aa23..cea7a79 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 7101f8e..9b42019 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
diff --git a/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java b/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java index f755d66..4c959aa 100644 --- a/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java +++ b/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java @@ -1,10 +1,9 @@ package net.inyourwalls.frank; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; -import net.fabricmc.fabric.api.registry.FuelRegistry; import net.inyourwalls.frank.config.FrankConfig; +import net.inyourwalls.frank.mixin.RecipeBookScreenAccessor; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.AbstractFurnaceScreen; @@ -37,7 +36,7 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent @Override public void afterRender(Screen screen, DrawContext drawContext, int mouseX, int mouseY, float tickDelta) { int secondsLeft = this.ticksLeft / 20; - int x = this.screen.width / 2 + (this.screen.recipeBook.isOpen() ? 167 : 90); + int x = this.screen.width / 2 + (((RecipeBookScreenAccessor) this.screen).getRecipeBook().isOpen() ? 167 : 90); int y = this.screen.height / 2 - 80; switch (this.config.getDisplayMode()) { case TIME_LEFT_FIRST -> { @@ -122,8 +121,7 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent @Override public void afterTick(Screen screen) { ItemStack fuel = this.screenHandler.getSlot(FUEL_SLOT_INDEX).getStack(); - Integer availableFuelTicks = FuelRegistry.INSTANCE.get(fuel.getItem()); - if (availableFuelTicks == null) availableFuelTicks = 0; + int availableFuelTicks = this.client.world.getFuelRegistry().getFuelTicks(fuel); availableFuelTicks *= fuel.getCount(); int remainingFuelTicks = availableFuelTicks + (this.screenHandler.isBurning() ? this.screenHandler.getRemainingFuelTicks() : 0); // forcibly divide by 200gt when not cooking to avoid wrong count diff --git a/src/main/java/net/inyourwalls/frank/config/ConfigScreen.java b/src/main/java/net/inyourwalls/frank/config/ConfigScreen.java index c67b478..f967842 100644 --- a/src/main/java/net/inyourwalls/frank/config/ConfigScreen.java +++ b/src/main/java/net/inyourwalls/frank/config/ConfigScreen.java @@ -8,6 +8,7 @@ import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.tooltip.Tooltip; import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.gui.widget.TextFieldWidget; +import net.minecraft.client.render.RenderLayer; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -129,7 +130,18 @@ public class ConfigScreen extends Screen { } private void renderPreview(DrawContext context, int x, int y) { - context.drawTexture(FURNACE_UI_TEXTURE, x, y, 0, 0, FURNACE_TEXTURE_WIDTH, FURNACE_TEXTURE_HEIGHT); + context.drawTexture( + ident -> RenderLayer.getGuiTextured(ident), + FURNACE_UI_TEXTURE, + x, + y, + 0, + 0, + FURNACE_TEXTURE_WIDTH, + FURNACE_TEXTURE_HEIGHT, + FURNACE_TEXTURE_WIDTH, + FURNACE_TEXTURE_HEIGHT + ); drawCenteredText( context, this.textRenderer, diff --git a/src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java b/src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java new file mode 100644 index 0000000..e5bec27 --- /dev/null +++ b/src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java @@ -0,0 +1,13 @@ +package net.inyourwalls.frank.mixin; + +import net.minecraft.client.gui.screen.ingame.RecipeBookScreen; +import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(RecipeBookScreen.class) +public interface RecipeBookScreenAccessor { + @Accessor + RecipeBookWidget<?> getRecipeBook(); +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 1163876..424a293 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -26,9 +26,9 @@ ], "depends": { "fabricloader": ">=0.14.22", - "fabric-screen-api-v1": ">=0.100.1+1.21", + "fabric-screen-api-v1": ">=0.114.2+1.21.4", "java": ">=17", - "minecraft": "~1.21" + "minecraft": "~1.21.4" }, "suggests": {}, "custom": { diff --git a/src/main/resources/frank.mixins.json b/src/main/resources/frank.mixins.json index 4d27370..b475405 100644 --- a/src/main/resources/frank.mixins.json +++ b/src/main/resources/frank.mixins.json @@ -4,7 +4,8 @@ "compatibilityLevel": "JAVA_21", "package": "net.inyourwalls.frank.mixin", "client": [ - "AbstractFurnaceScreenHandlerMixin" + "AbstractFurnaceScreenHandlerMixin", + "RecipeBookScreenAccessor" ], "injectors": { "defaultRequire": 1 |
