From e047ec18de468ccd8be7edc21c3fa258ea8a15f6 Mon Sep 17 00:00:00 2001 From: Andrei Laiff Date: Tue, 17 Oct 2023 13:40:48 +0300 Subject: [PATCH] Fix rendering numbers bigger than 2.1G through `aeRenderItem` --- dependencies.gradle | 2 +- .../github/client/gui/GuiLevelMaintainer.java | 5 ++++- .../glodblock/github/client/gui/GuiLevelTerminal.java | 10 +++++++--- .../client/gui/container/ContainerLevelMaintainer.java | 10 ++++++++-- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 5bc837c2..25fa32aa 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ dependencies { api('com.github.GTNewHorizons:NotEnoughItems:2.4.3-GTNH:dev') - api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-266-GTNH-pre:dev') + api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-268-GTNH-pre:dev') api('curse.maven:cofh-core-69162:2388751') api('com.github.GTNewHorizons:waila:1.6.0:dev') api("com.github.GTNewHorizons:WirelessCraftingTerminal:1.10.0:dev") diff --git a/src/main/java/com/glodblock/github/client/gui/GuiLevelMaintainer.java b/src/main/java/com/glodblock/github/client/gui/GuiLevelMaintainer.java index 16a7cb0b..7f3ec896 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiLevelMaintainer.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiLevelMaintainer.java @@ -225,6 +225,7 @@ public class GuiLevelMaintainer extends AEBaseGui implements INEIGuiHandler { fake.setStackSize(0); } GL11.glTranslatef(0.0f, 0.0f, 200.0f); + aeRenderItem.setAeStack(fake); aeRenderItem.renderItemOverlayIntoGUI( fontRendererObj, mc.getTextureManager(), @@ -344,9 +345,11 @@ public class GuiLevelMaintainer extends AEBaseGui implements INEIGuiHandler { @Override public boolean handleDragNDrop(GuiContainer gui, int mouseX, int mouseY, ItemStack draggedStack, int button) { - for (SlotFluidConvertingFake slot : this.cont.getRequestSlots()) { + for (int i = 0; i < this.cont.getRequestSlots().length; i++) { + SlotFluidConvertingFake slot = this.cont.getRequestSlots()[i]; if (getSlotArea(slot).contains(mouseX, mouseY)) { ItemStack itemStack = createLevelValues(draggedStack.copy()); + itemStack.getTagCompound().setInteger(TLMTags.Index.tagName, i); slot.putStack(itemStack); NetworkHandler.instance.sendToServer(new PacketNEIDragClick(itemStack, slot.getSlotIndex())); this.updateAmount(slot.getSlotIndex(), itemStack.stackSize); diff --git a/src/main/java/com/glodblock/github/client/gui/GuiLevelTerminal.java b/src/main/java/com/glodblock/github/client/gui/GuiLevelTerminal.java index 98db8ce3..023e0aa1 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiLevelTerminal.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiLevelTerminal.java @@ -569,6 +569,7 @@ public class GuiLevelTerminal extends FCBaseMEGui implements IDropToFillTextFiel && relMouseY < Math.min(viewY + rowYBot, viewHeight); if (stack != null) { + AEItemStack aeItemStack = AEItemStack.create(stack); NBTTagCompound data = stack.getTagCompound(); ItemStack itemStack = data.hasKey(TLMTags.Stack.tagName) ? ItemStack.loadItemStackFromNBT(data.getCompoundTag(TLMTags.Stack.tagName)) @@ -582,15 +583,18 @@ public class GuiLevelTerminal extends FCBaseMEGui implements IDropToFillTextFiel GL11.glTranslatef(colLeft, viewY + rowYTop + 1, ITEM_STACK_Z); GL11.glEnable(GL12.GL_RESCALE_NORMAL); RenderHelper.enableGUIStandardItemLighting(); - aeRenderItem.setAeStack(null); + aeItemStack.setStackSize(1); + aeRenderItem.setAeStack(aeItemStack); aeRenderItem.zLevel = 3.0f - 50.0f; aeRenderItem.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), itemStack, 0, 0); aeRenderItem.zLevel = 0.0f; GL11.glTranslatef(0.0f, 0.0f, ITEM_STACK_OVERLAY_Z - ITEM_STACK_Z); - itemStack.stackSize = (int) quantity; + aeItemStack.setStackSize(quantity); + aeRenderItem.setAeStack(aeItemStack); aeRenderItem.renderItemOverlayIntoGUI(fontRendererObj, mc.getTextureManager(), itemStack, 0, 0); if (batch > 0) { - itemStack.stackSize = (int) batch; + aeItemStack.setStackSize(batch); + aeRenderItem.setAeStack(aeItemStack); aeRenderItem .renderItemOverlayIntoGUI(fontRendererObj, mc.getTextureManager(), itemStack, 0, -11); } diff --git a/src/main/java/com/glodblock/github/client/gui/container/ContainerLevelMaintainer.java b/src/main/java/com/glodblock/github/client/gui/container/ContainerLevelMaintainer.java index 030d68a5..9e3962d9 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/ContainerLevelMaintainer.java +++ b/src/main/java/com/glodblock/github/client/gui/container/ContainerLevelMaintainer.java @@ -105,10 +105,13 @@ public class ContainerLevelMaintainer extends AEBaseContainer { return null; } - for (SlotFluidConvertingFake slot : this.getRequestSlots()) { + for (int i = 0; i < this.getRequestSlots().length; i++) { + SlotFluidConvertingFake slot = this.getRequestSlots()[i]; if (!slot.getHasStack()) { ItemStack itemStack = ((Slot) this.inventorySlots.get(idx)).getStack(); - slot.putConvertedStack(createLevelValues(itemStack.copy())); + ItemStack configuration = createLevelValues(itemStack.copy()); + configuration.getTagCompound().setInteger(TLMTags.Index.tagName, i); + slot.putConvertedStack(configuration); break; } } @@ -140,6 +143,9 @@ public class ContainerLevelMaintainer extends AEBaseContainer { if (!data.hasKey(TLMTags.Enable.tagName)) { data.setBoolean(TLMTags.Enable.tagName, false); } + if (data.hasKey(TLMTags.Index.tagName)) { + data.removeTag(TLMTags.Index.tagName); + } data.setInteger(TLMTags.State.tagName, State.None.ordinal()); itemStack.setTagCompound(data);