summaryrefslogtreecommitdiff
path: root/src/main/java/net/inyourwalls
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 /src/main/java/net/inyourwalls
parent623f55b87eb4199ad025d7aa0830ff94b111c5cf (diff)
make it work on 1.21.4
Diffstat (limited to 'src/main/java/net/inyourwalls')
-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
3 files changed, 29 insertions, 6 deletions
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();
+}