aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosa <rosaontheweb@proton.me>2026-03-24 12:53:17 -0400
committerRosa <rosaontheweb@proton.me>2026-03-24 12:53:17 -0400
commit8fa1a2a708aecf6a83ce15943ff27fec35aae72c (patch)
tree53b070cc55dedf8a4cd5258dd6ee797d17bc37e2
parent20704435e57418a8f8498087548e3d755e66791f (diff)
migrate to mojmap
-rw-r--r--build.gradle.kts2
-rw-r--r--src/main/java/net/inyourwalls/frank/Frank.java6
-rw-r--r--src/main/java/net/inyourwalls/frank/ScreenEventHandler.java80
-rw-r--r--src/main/java/net/inyourwalls/frank/config/ConfigScreen.java139
-rw-r--r--src/main/java/net/inyourwalls/frank/mixin/AbstractFurnaceMenuMixin.java (renamed from src/main/java/net/inyourwalls/frank/mixin/AbstractFurnaceScreenHandlerMixin.java)18
-rw-r--r--src/main/java/net/inyourwalls/frank/mixin/AbstractRecipeBookScreenAccessor.java12
-rw-r--r--src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java13
-rw-r--r--src/main/resources/frank.mixins.json4
8 files changed, 136 insertions, 138 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index 224c9c2..92c3c31 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -16,7 +16,7 @@ dependencies {
// Fabric/Minecraft dependencies.
val yarnBuild = "4"
minecraft("com.mojang:minecraft:$minecraftVersion")
- mappings("net.fabricmc:yarn:$minecraftVersion+build.$yarnBuild:v2")
+ mappings(loom.officialMojangMappings())
modImplementation("net.fabricmc:fabric-loader:0.18.4")
modImplementation("net.fabricmc.fabric-api:fabric-api:0.141.3+$minecraftVersion")
diff --git a/src/main/java/net/inyourwalls/frank/Frank.java b/src/main/java/net/inyourwalls/frank/Frank.java
index 079785c..811545d 100644
--- a/src/main/java/net/inyourwalls/frank/Frank.java
+++ b/src/main/java/net/inyourwalls/frank/Frank.java
@@ -5,8 +5,8 @@ import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.inyourwalls.frank.config.FrankConfig;
-import net.minecraft.client.gui.screen.ingame.AbstractFurnaceScreen;
-import net.minecraft.screen.AbstractFurnaceScreenHandler;
+import net.minecraft.client.gui.screens.inventory.AbstractFurnaceScreen;
+import net.minecraft.world.inventory.AbstractFurnaceMenu;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,7 +29,7 @@ public class Frank implements ClientModInitializer {
ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
if (screen instanceof AbstractFurnaceScreen furnace) {
- AbstractFurnaceScreenHandler screenHandler = (AbstractFurnaceScreenHandler) furnace.getScreenHandler();
+ AbstractFurnaceMenu screenHandler = (AbstractFurnaceMenu) furnace.getMenu();
ScreenEventHandler handler = new ScreenEventHandler(furnace, screenHandler, client, config);
ScreenEvents.afterRender(screen).register(handler);
ScreenEvents.afterTick(screen).register(handler);
diff --git a/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java b/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java
index e639a1e..c8d4c0a 100644
--- a/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java
+++ b/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java
@@ -2,29 +2,29 @@ package net.inyourwalls.frank;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.inyourwalls.frank.config.FrankConfig;
-import net.inyourwalls.frank.mixin.RecipeBookScreenAccessor;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.gui.screen.ingame.AbstractFurnaceScreen;
-import net.minecraft.item.ItemStack;
-import net.minecraft.screen.AbstractFurnaceScreenHandler;
-import net.minecraft.text.Text;
+import net.inyourwalls.frank.mixin.AbstractRecipeBookScreenAccessor;
+import net.minecraft.client.gui.GuiGraphics;
+import net.minecraft.client.gui.screens.inventory.AbstractFurnaceScreen;
+import net.minecraft.client.gui.screens.Screen;
+import net.minecraft.client.Minecraft;
+import net.minecraft.network.chat.Component;
+import net.minecraft.world.inventory.AbstractFurnaceMenu;
+import net.minecraft.world.item.ItemStack;
public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvents.AfterTick {
private static final int CRAFTING_SLOT_INDEX = 0;
private static final int FUEL_SLOT_INDEX = 1;
private final AbstractFurnaceScreen<?> screen;
- private final AbstractFurnaceScreenHandler screenHandler;
- private final MinecraftClient client;
+ private final AbstractFurnaceMenu screenHandler;
+ private final Minecraft client;
private final FrankConfig config;
private int ticksLeft = 0;
private int itemsSmeltable = 0;
public ScreenEventHandler(
AbstractFurnaceScreen<?> screen,
- AbstractFurnaceScreenHandler screenHandler,
- MinecraftClient client,
+ AbstractFurnaceMenu screenHandler,
+ Minecraft client,
FrankConfig config
) {
this.screen = screen;
@@ -34,9 +34,9 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent
}
@Override
- public void afterRender(Screen screen, DrawContext drawContext, int mouseX, int mouseY, float tickDelta) {
+ public void afterRender(Screen screen, GuiGraphics drawContext, int mouseX, int mouseY, float tickDelta) {
int secondsLeft = this.ticksLeft / 20;
- int x = this.screen.width / 2 + (((RecipeBookScreenAccessor) this.screen).getRecipeBook().isOpen() ? 167 : 90);
+ int x = this.screen.width / 2 + (((AbstractRecipeBookScreenAccessor) this.screen).getRecipeBookComponent().isVisible() ? 167 : 90);
int y = this.screen.height / 2 - 80;
switch (this.config.getDisplayMode()) {
case TIME_LEFT_FIRST -> {
@@ -60,58 +60,58 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent
case DISABLED -> {}
}
- if (this.client.getDebugHud().shouldShowDebugHud()) {
+ if (this.client.getDebugOverlay().showDebugScreen()) {
renderDebugValues(drawContext, x, y + 166 - 45);
}
}
- private void renderTimeLeft(DrawContext drawContext, int secondsLeft, int x, int y) {
+ private void renderTimeLeft(GuiGraphics drawContext, int secondsLeft, int x, int y) {
int minutesLeft = secondsLeft / 60;
secondsLeft %= 60;
- drawContext.drawTextWithShadow(
- this.client.textRenderer,
- Text.translatable("ui.frank.time_left", minutesLeft, secondsLeft),
+ drawContext.drawString(
+ this.client.font,
+ Component.translatable("ui.frank.time_left", minutesLeft, secondsLeft),
x,
y,
0xff000000 | this.config.getTextColour()
);
}
- private void renderItemsSmeltable(DrawContext drawContext, int x, int y) {
- drawContext.drawTextWithShadow(
- this.client.textRenderer,
- Text.translatable("ui.frank.smeltable", itemsSmeltable),
+ private void renderItemsSmeltable(GuiGraphics drawContext, int x, int y) {
+ drawContext.drawString(
+ this.client.font,
+ Component.translatable("ui.frank.smeltable", itemsSmeltable),
x,
y,
0xff000000 | this.config.getTextColour()
);
}
- private void renderDebugValues(DrawContext drawContext, int x, int y) {
- drawContext.drawTextWithShadow(
- this.client.textRenderer,
- Text.literal("remainingFuelTicks: " + screenHandler.getRemainingFuelTicks()),
+ private void renderDebugValues(GuiGraphics drawContext, int x, int y) {
+ drawContext.drawString(
+ this.client.font,
+ Component.literal("remainingFuelTicks: " + screenHandler.getRemainingFuelTicks()),
x,
y,
0xffffffff
);
- drawContext.drawTextWithShadow(
- this.client.textRenderer,
- Text.literal("totalFuelTicks: " + screenHandler.getTotalFuelTicks()),
+ drawContext.drawString(
+ this.client.font,
+ Component.literal("totalFuelTicks: " + screenHandler.getTotalFuelTicks()),
x,
y + 10,
0xffffffff
);
- drawContext.drawTextWithShadow(
- this.client.textRenderer,
- Text.literal("currentCookingTicks: " + screenHandler.getCurrentCookingTicks()),
+ drawContext.drawString(
+ this.client.font,
+ Component.literal("currentCookingTicks: " + screenHandler.getCurrentCookingTicks()),
x,
y + 20,
0xffffffff
);
- drawContext.drawTextWithShadow(
- this.client.textRenderer,
- Text.literal("totalCookingTicks: " + screenHandler.getTotalCookingTicks()),
+ drawContext.drawString(
+ this.client.font,
+ Component.literal("totalCookingTicks: " + screenHandler.getTotalCookingTicks()),
x,
y + 30,
0xffffffff
@@ -120,13 +120,13 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent
@Override
public void afterTick(Screen screen) {
- ItemStack fuel = this.screenHandler.getSlot(FUEL_SLOT_INDEX).getStack();
- int availableFuelTicks = this.client.world.getFuelRegistry().getFuelTicks(fuel);
+ ItemStack fuel = this.screenHandler.getSlot(FUEL_SLOT_INDEX).getItem();
+ int availableFuelTicks = this.client.level.fuelValues().burnDuration(fuel);
availableFuelTicks *= fuel.getCount();
int itemsSmeltable = availableFuelTicks / 200;
- this.itemsSmeltable = itemsSmeltable + this.screenHandler.getRemainingFuelTicks() / (this.screenHandler.isBurning() ? this.screenHandler.getTotalCookingTicks() : 1);
+ this.itemsSmeltable = itemsSmeltable + this.screenHandler.getRemainingFuelTicks() / (this.screenHandler.isLit() ? this.screenHandler.getTotalCookingTicks() : 1);
int totalTicks =
- this.screenHandler.getSlot(CRAFTING_SLOT_INDEX).getStack().getCount() * this.screenHandler.getTotalCookingTicks();
+ this.screenHandler.getSlot(CRAFTING_SLOT_INDEX).getItem().getCount() * this.screenHandler.getTotalCookingTicks();
this.ticksLeft = totalTicks - this.screenHandler.getCurrentCookingTicks();
}
}
diff --git a/src/main/java/net/inyourwalls/frank/config/ConfigScreen.java b/src/main/java/net/inyourwalls/frank/config/ConfigScreen.java
index 46277c7..14f01ca 100644
--- a/src/main/java/net/inyourwalls/frank/config/ConfigScreen.java
+++ b/src/main/java/net/inyourwalls/frank/config/ConfigScreen.java
@@ -2,33 +2,32 @@
package net.inyourwalls.frank.config;
import net.inyourwalls.frank.Frank;
-import net.minecraft.client.font.TextRenderer;
-import net.minecraft.client.gl.RenderPipelines;
-import net.minecraft.client.gui.DrawContext;
-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.text.Text;
-import net.minecraft.util.Identifier;
-
+import net.minecraft.client.gui.Font;
+import net.minecraft.client.gui.GuiGraphics;
+import net.minecraft.client.gui.components.Button;
+import net.minecraft.client.gui.components.EditBox;
+import net.minecraft.client.gui.components.Tooltip;
+import net.minecraft.client.gui.screens.Screen;
+import net.minecraft.client.renderer.RenderPipelines;
+import net.minecraft.network.chat.Component;
+import net.minecraft.resources.Identifier;
import java.io.IOException;
-import static net.minecraft.client.gui.widget.ButtonWidget.DEFAULT_WIDTH;
-import static net.minecraft.client.gui.widget.ButtonWidget.DEFAULT_WIDTH_SMALL;
-import static net.minecraft.client.gui.widget.ButtonWidget.DEFAULT_HEIGHT;
+import static net.minecraft.client.gui.components.Button.DEFAULT_WIDTH;
+import static net.minecraft.client.gui.components.Button.SMALL_WIDTH;
+import static net.minecraft.client.gui.components.Button.DEFAULT_HEIGHT;
public class ConfigScreen extends Screen {
- private static final Identifier FURNACE_UI_TEXTURE = Identifier.ofVanilla("textures/gui/container/furnace.png");
+ private static final Identifier FURNACE_UI_TEXTURE = Identifier.withDefaultNamespace("textures/gui/container/furnace.png");
private static final int FURNACE_TEXTURE_WIDTH = 176;
private static final int FURNACE_TEXTURE_HEIGHT = 166;
- private static final Text DISPLAY_MODE_LABEL = Text.translatable("ui.frank.config.display_mode");
- private static final Text TEXT_COLOUR_LABEL = Text.translatable("ui.frank.config.text_colour");
+ private static final Component DISPLAY_MODE_LABEL = Component.translatable("ui.frank.config.display_mode");
+ private static final Component TEXT_COLOUR_LABEL = Component.translatable("ui.frank.config.text_colour");
private final FrankConfig modifiedConfig = new FrankConfig();
private final Screen previousScreen;
public ConfigScreen(Screen previous, FrankConfig currentConfig) {
- super(Text.translatable("ui.frank.config"));
+ super(Component.translatable("ui.frank.config"));
this.previousScreen = previous;
modifiedConfig.setDisplayMode(currentConfig.getDisplayMode());
modifiedConfig.setTextColour(currentConfig.getTextColour());
@@ -36,12 +35,12 @@ public class ConfigScreen extends Screen {
@Override
public void init() {
- ButtonWidget backButton = ButtonWidget.builder(Text.translatable("gui.back"), thisButton -> this.close())
+ Button backButton = Button.builder(Component.translatable("gui.back"), thisButton -> this.onClose())
.size(DEFAULT_WIDTH, DEFAULT_HEIGHT)
- .position(this.width / 2 - DEFAULT_WIDTH - 4, this.height - 28)
+ .pos(this.width / 2 - DEFAULT_WIDTH - 4, this.height - 28)
.build();
- ButtonWidget saveButton = ButtonWidget.builder(Text.translatable("selectWorld.edit.save"), thisButton -> {
+ Button saveButton = Button.builder(Component.translatable("selectWorld.edit.save"), thisButton -> {
try {
Frank.saveConfig(modifiedConfig);
Frank.LOGGER.debug("Configuration file was successfully saved.");
@@ -50,11 +49,11 @@ public class ConfigScreen extends Screen {
}
})
.size(DEFAULT_WIDTH, DEFAULT_HEIGHT)
- .position(this.width / 2 + 4, this.height - 28)
+ .pos(this.width / 2 + 4, this.height - 28)
.build();
- ButtonWidget modeToggleButton = ButtonWidget.builder(
- Text.translatable(modifiedConfig.getDisplayMode().translationKey()),
+ Button modeToggleButton = Button.builder(
+ Component.translatable(modifiedConfig.getDisplayMode().translationKey()),
thisButton -> {
int ordinal = modifiedConfig.getDisplayMode().ordinal();
FrankConfig.InfoDisplayMode[] infoDisplayModes = FrankConfig.InfoDisplayMode.values();
@@ -63,61 +62,61 @@ public class ConfigScreen extends Screen {
}
modifiedConfig.setDisplayMode(infoDisplayModes[ordinal]);
- thisButton.setMessage(Text.translatable(modifiedConfig.getDisplayMode().translationKey()));
+ thisButton.setMessage(Component.translatable(modifiedConfig.getDisplayMode().translationKey()));
}
)
- .size(DEFAULT_WIDTH_SMALL, DEFAULT_HEIGHT)
- .position(this.width / 2 + 4, 25)
+ .size(SMALL_WIDTH, DEFAULT_HEIGHT)
+ .pos(this.width / 2 + 4, 25)
.build();
- TextFieldWidget colourField = new TextFieldWidget(
- this.textRenderer,
+ EditBox colourField = new EditBox(
+ this.font,
this.width / 2 + 4,
55,
- DEFAULT_WIDTH_SMALL,
+ SMALL_WIDTH,
DEFAULT_HEIGHT,
TEXT_COLOUR_LABEL
);
- colourField.setChangedListener(input -> {
+ colourField.setResponder(input -> {
try {
int newColour = Integer.parseInt(input, 16);
modifiedConfig.setTextColour(newColour);
} catch (NumberFormatException ex) { /* how */ }
});
- colourField.setTextPredicate(text ->
+ colourField.setFilter(text ->
text.length() <= 6 && text.chars().allMatch(c ->
(c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F') || (c >= '0' && c <= '9')
)
);
- colourField.setText(String.format("%x", modifiedConfig.getTextColour()));
- colourField.setTooltip(Tooltip.of(Text.translatable("ui.frank.config.text_colour.tooltip")));
+ colourField.setValue(String.format("%x", modifiedConfig.getTextColour()));
+ colourField.setTooltip(Tooltip.create(Component.translatable("ui.frank.config.text_colour.tooltip")));
- this.addDrawableChild(backButton);
- this.addDrawableChild(saveButton);
- this.addDrawableChild(modeToggleButton);
- this.addDrawableChild(colourField);
+ this.addRenderableWidget(backButton);
+ this.addRenderableWidget(saveButton);
+ this.addRenderableWidget(modeToggleButton);
+ this.addRenderableWidget(colourField);
}
@Override
- public void close() {
- this.client.setScreen(this.previousScreen);
+ public void onClose() {
+ this.minecraft.setScreen(this.previousScreen);
}
@Override
- public void render(DrawContext context, int mouseX, int mouseY, float delta) {
+ public void render(GuiGraphics context, int mouseX, int mouseY, float delta) {
super.render(context, mouseX, mouseY, delta);
- context.drawCenteredTextWithShadow(this.textRenderer, Text.translatable("ui.frank.config"), this.width / 2, 5, 0xffffff);
+ context.drawCenteredString(this.font, Component.translatable("ui.frank.config"), this.width / 2, 5, 0xffffff);
- int labelX = this.width / 2 - Math.max(this.textRenderer.getWidth(DISPLAY_MODE_LABEL), this.textRenderer.getWidth(TEXT_COLOUR_LABEL)) - 4;
- context.drawTextWithShadow(
- this.textRenderer,
+ int labelX = this.width / 2 - Math.max(this.font.width(DISPLAY_MODE_LABEL), this.font.width(TEXT_COLOUR_LABEL)) - 4;
+ context.drawString(
+ this.font,
DISPLAY_MODE_LABEL,
labelX,
30,
0xffffffff
);
- context.drawTextWithShadow(
- this.textRenderer,
+ context.drawString(
+ this.font,
TEXT_COLOUR_LABEL,
labelX,
60,
@@ -127,8 +126,8 @@ public class ConfigScreen extends Screen {
renderPreview(context, this.width / 2 - FURNACE_TEXTURE_WIDTH / 2, this.height / 2 - FURNACE_TEXTURE_HEIGHT / 2);
}
- private void renderPreview(DrawContext context, int x, int y) {
- context.drawTexture(
+ private void renderPreview(GuiGraphics context, int x, int y) {
+ context.blit(
RenderPipelines.GUI_TEXTURED,
FURNACE_UI_TEXTURE,
x,
@@ -142,8 +141,8 @@ public class ConfigScreen extends Screen {
);
drawCenteredText(
context,
- this.textRenderer,
- Text.translatable("ui.frank.config.preview"),
+ this.font,
+ Component.translatable("ui.frank.config.preview"),
x + (FURNACE_TEXTURE_WIDTH / 2),
y + 6,
0xff404040
@@ -153,16 +152,16 @@ public class ConfigScreen extends Screen {
int infoY = y + 3;
switch (modifiedConfig.getDisplayMode()) {
case TIME_LEFT_FIRST -> {
- context.drawTextWithShadow(
- this.textRenderer,
- Text.translatable("ui.frank.time_left", 0, 0),
+ context.drawString(
+ this.font,
+ Component.translatable("ui.frank.time_left", 0, 0),
infoX,
infoY,
0xff000000 | modifiedConfig.getTextColour()
);
- context.drawTextWithShadow(
- this.textRenderer,
- Text.translatable("ui.frank.smeltable", 0),
+ context.drawString(
+ this.font,
+ Component.translatable("ui.frank.smeltable", 0),
infoX,
infoY + 10,
0xff000000 | modifiedConfig.getTextColour()
@@ -171,9 +170,9 @@ public class ConfigScreen extends Screen {
}
case TIME_LEFT_ONLY -> {
- context.drawTextWithShadow(
- this.textRenderer,
- Text.translatable("ui.frank.time_left", 0, 0),
+ context.drawString(
+ this.font,
+ Component.translatable("ui.frank.time_left", 0, 0),
infoX,
infoY,
0xff000000 | modifiedConfig.getTextColour()
@@ -182,16 +181,16 @@ public class ConfigScreen extends Screen {
}
case ITEMS_SMELTABLE_FIRST -> {
- context.drawTextWithShadow(
- this.textRenderer,
- Text.translatable("ui.frank.smeltable", 0),
+ context.drawString(
+ this.font,
+ Component.translatable("ui.frank.smeltable", 0),
infoX,
infoY,
0xff000000 | modifiedConfig.getTextColour()
);
- context.drawTextWithShadow(
- this.textRenderer,
- Text.translatable("ui.frank.time_left", 0, 0),
+ context.drawString(
+ this.font,
+ Component.translatable("ui.frank.time_left", 0, 0),
infoX,
infoY + 10,
0xff000000 | modifiedConfig.getTextColour()
@@ -200,9 +199,9 @@ public class ConfigScreen extends Screen {
}
case ITEMS_SMELTABLE_ONLY -> {
- context.drawTextWithShadow(
- this.textRenderer,
- Text.translatable("ui.frank.smeltable", 0),
+ context.drawString(
+ this.font,
+ Component.translatable("ui.frank.smeltable", 0),
infoX,
infoY,
0xff000000 | modifiedConfig.getTextColour()
@@ -214,7 +213,7 @@ public class ConfigScreen extends Screen {
}
}
- private void drawCenteredText(DrawContext context, TextRenderer renderer, Text text, int centerX, int y, int colour) {
- context.drawText(renderer, text, centerX - renderer.getWidth(text) / 2, y, colour, false);
+ private void drawCenteredText(GuiGraphics context, Font renderer, Component text, int centerX, int y, int colour) {
+ context.drawString(renderer, text, centerX - renderer.width(text) / 2, y, colour, false);
}
}
diff --git a/src/main/java/net/inyourwalls/frank/mixin/AbstractFurnaceScreenHandlerMixin.java b/src/main/java/net/inyourwalls/frank/mixin/AbstractFurnaceMenuMixin.java
index 30b68ee..669d640 100644
--- a/src/main/java/net/inyourwalls/frank/mixin/AbstractFurnaceScreenHandlerMixin.java
+++ b/src/main/java/net/inyourwalls/frank/mixin/AbstractFurnaceMenuMixin.java
@@ -1,35 +1,35 @@
package net.inyourwalls.frank.mixin;
import net.inyourwalls.frank.ScreenHandlerPropertyAccessor;
-import net.minecraft.screen.AbstractFurnaceScreenHandler;
-import net.minecraft.screen.PropertyDelegate;
+import net.minecraft.world.inventory.AbstractFurnaceMenu;
+import net.minecraft.world.inventory.ContainerData;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
-@Mixin(AbstractFurnaceScreenHandler.class)
-public abstract class AbstractFurnaceScreenHandlerMixin implements ScreenHandlerPropertyAccessor {
+@Mixin(AbstractFurnaceMenu.class)
+public abstract class AbstractFurnaceMenuMixin implements ScreenHandlerPropertyAccessor {
@Shadow
@Final
- private PropertyDelegate propertyDelegate;
+ private ContainerData data;
@Override
public int getRemainingFuelTicks() {
- return this.propertyDelegate.get(0);
+ return this.data.get(0);
}
@Override
public int getTotalFuelTicks() {
- return this.propertyDelegate.get(1);
+ return this.data.get(1);
}
@Override
public int getCurrentCookingTicks() {
- return this.propertyDelegate.get(2);
+ return this.data.get(2);
}
@Override
public int getTotalCookingTicks() {
- return this.propertyDelegate.get(3);
+ return this.data.get(3);
}
}
diff --git a/src/main/java/net/inyourwalls/frank/mixin/AbstractRecipeBookScreenAccessor.java b/src/main/java/net/inyourwalls/frank/mixin/AbstractRecipeBookScreenAccessor.java
new file mode 100644
index 0000000..94d15c6
--- /dev/null
+++ b/src/main/java/net/inyourwalls/frank/mixin/AbstractRecipeBookScreenAccessor.java
@@ -0,0 +1,12 @@
+package net.inyourwalls.frank.mixin;
+
+import net.minecraft.client.gui.screens.inventory.AbstractRecipeBookScreen;
+import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.gen.Accessor;
+
+@Mixin(AbstractRecipeBookScreen.class)
+public interface AbstractRecipeBookScreenAccessor {
+ @Accessor
+ RecipeBookComponent<?> getRecipeBookComponent();
+}
diff --git a/src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java b/src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java
deleted file mode 100644
index e5bec27..0000000
--- a/src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java
+++ /dev/null
@@ -1,13 +0,0 @@
-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/frank.mixins.json b/src/main/resources/frank.mixins.json
index b475405..272bf28 100644
--- a/src/main/resources/frank.mixins.json
+++ b/src/main/resources/frank.mixins.json
@@ -4,8 +4,8 @@
"compatibilityLevel": "JAVA_21",
"package": "net.inyourwalls.frank.mixin",
"client": [
- "AbstractFurnaceScreenHandlerMixin",
- "RecipeBookScreenAccessor"
+ "AbstractFurnaceMenuMixin",
+ "AbstractRecipeBookScreenAccessor"
],
"injectors": {
"defaultRequire": 1