diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c32392a..ce03a4b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1 +1,2 @@ - Updated Simplified Chinese localization (#315) +- fix restock amount also displaying in stacks in JEI (#318) diff --git a/src/main/java/de/mari_023/ae2wtlib/mixin/RestockRender.java b/src/main/java/de/mari_023/ae2wtlib/mixin/GuiMixin.java similarity index 50% rename from src/main/java/de/mari_023/ae2wtlib/mixin/RestockRender.java rename to src/main/java/de/mari_023/ae2wtlib/mixin/GuiMixin.java index a796b7d6..2b988928 100644 --- a/src/main/java/de/mari_023/ae2wtlib/mixin/RestockRender.java +++ b/src/main/java/de/mari_023/ae2wtlib/mixin/GuiMixin.java @@ -1,36 +1,35 @@ package de.mari_023.ae2wtlib.mixin; -import javax.annotation.Nullable; - +import appeng.util.ReadableNumberConverter; +import de.mari_023.ae2wtlib.wct.CraftingTerminalHandler; +import net.minecraft.client.DeltaTracker; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.world.item.ItemStack; - -import appeng.util.ReadableNumberConverter; - -import de.mari_023.ae2wtlib.wct.CraftingTerminalHandler; - -@Mixin(value = GuiGraphics.class, remap = false) -public abstract class RestockRender { +@Mixin(Gui.class) +public class GuiMixin { + @Final @Shadow - public abstract void renderItemDecorations(Font pFont, ItemStack pStack, int pX, int pY, @Nullable String pText); + private Minecraft minecraft; - @Inject(method = "renderItemDecorations(Lnet/minecraft/client/gui/Font;Lnet/minecraft/world/item/ItemStack;II)V", at = @At(value = "HEAD"), cancellable = true) - public void renderGuiItemOverlay(Font font, ItemStack stack, int x, int y, CallbackInfo ci) { + @Inject(method = "renderSlot(Lnet/minecraft/client/gui/GuiGraphics;IILnet/minecraft/client/DeltaTracker;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;I)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;renderItemDecorations(Lnet/minecraft/client/gui/Font;Lnet/minecraft/world/item/ItemStack;II)V"), cancellable = true) + public void restockOverlay(GuiGraphics guiGraphics, int x, int y, DeltaTracker deltaTracker, Player player, ItemStack stack, int seed, CallbackInfo ci) { if (Minecraft.getInstance().player == null || Minecraft.getInstance().player.isCreative()) return; CraftingTerminalHandler handler = CraftingTerminalHandler .getCraftingTerminalHandler(Minecraft.getInstance().player); if (!handler.isRestockEnabled() || stack.getCount() == 1 || !handler.isRestockAble(stack)) return; - renderItemDecorations(font, stack, x, y, ReadableNumberConverter.format(handler.getAccessibleAmount(stack), 3)); + guiGraphics.renderItemDecorations(minecraft.font, stack, x, y, ReadableNumberConverter.format(handler.getAccessibleAmount(stack), 3)); ci.cancel(); } } diff --git a/src/main/resources/ae2wtlib.mixins.json b/src/main/resources/ae2wtlib.mixins.json index 1cba4737..4c5902c5 100644 --- a/src/main/resources/ae2wtlib.mixins.json +++ b/src/main/resources/ae2wtlib.mixins.json @@ -8,8 +8,8 @@ "ServerPlayerMixin" ], "client": [ - "MinecraftMixin", - "RestockRender" + "GuiMixin", + "MinecraftMixin" ], "injectors": { "defaultRequire": 1