diff options
| author | Rosa <rosaontheweb@proton.me> | 2026-03-24 12:53:17 -0400 |
|---|---|---|
| committer | Rosa <rosaontheweb@proton.me> | 2026-03-24 12:53:17 -0400 |
| commit | 8fa1a2a708aecf6a83ce15943ff27fec35aae72c (patch) | |
| tree | 53b070cc55dedf8a4cd5258dd6ee797d17bc37e2 | |
| parent | 20704435e57418a8f8498087548e3d755e66791f (diff) | |
migrate to mojmap
| -rw-r--r-- | build.gradle.kts | 2 | ||||
| -rw-r--r-- | src/main/java/net/inyourwalls/frank/Frank.java | 6 | ||||
| -rw-r--r-- | src/main/java/net/inyourwalls/frank/ScreenEventHandler.java | 80 | ||||
| -rw-r--r-- | src/main/java/net/inyourwalls/frank/config/ConfigScreen.java | 139 | ||||
| -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.java | 12 | ||||
| -rw-r--r-- | src/main/java/net/inyourwalls/frank/mixin/RecipeBookScreenAccessor.java | 13 | ||||
| -rw-r--r-- | src/main/resources/frank.mixins.json | 4 |
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 |
