aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorinyourwalls <inyourwalls@tutanota.com>2025-01-11 16:14:21 -0500
committerinyourwalls <inyourwalls@tutanota.com>2025-01-11 16:14:21 -0500
commit2b5b80670bf6c9450c4eb9f2bcf4dc5d75326b5f (patch)
tree39df4a63f4aec7c8e844b5d8fe1c7de08b2a0bea
parent623f55b87eb4199ad025d7aa0830ff94b111c5cf (diff)
make it work on 1.21.4
-rw-r--r--build.gradle.kts8
-rw-r--r--flake.lock6
-rw-r--r--gradle/wrapper/gradle-wrapper.jarbin43453 -> 43583 bytes
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
-rwxr-xr-xgradlew7
-rw-r--r--gradlew.bat2
-rw-r--r--src/main/java/net/inyourwalls/frank/ScreenEventHandler.java8
-rw-r--r--src/main/java/net/inyourwalls/frank/config/ConfigScreen.java14
-rw-r--r--src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java13
-rw-r--r--src/main/resources/fabric.mod.json4
-rw-r--r--src/main/resources/frank.mixins.json3
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")
}
diff --git a/flake.lock b/flake.lock
index 34acd63..90041fa 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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
index e644113..a4b76b9 100644
--- a/gradle/wrapper/gradle-wrapper.jar
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
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
diff --git a/gradlew b/gradlew
index 1aa94a4..f5feea6 100755
--- a/gradlew
+++ b/gradlew
@@ -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