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 /src/main/java/net | |
| parent | 623f55b87eb4199ad025d7aa0830ff94b111c5cf (diff) | |
make it work on 1.21.4
Diffstat (limited to '')
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(); +} |
