From 514847a10dddeefa59aadab3068cf44e5c1eda0f Mon Sep 17 00:00:00 2001 From: Bernhard Bonigl Date: Wed, 22 Oct 2014 20:31:35 +0200 Subject: [PATCH] NEI Support for right side of stencil table --- .../tconstruct/tools/gui/StencilTableGui.java | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/main/java/tconstruct/tools/gui/StencilTableGui.java b/src/main/java/tconstruct/tools/gui/StencilTableGui.java index 31b4384ada3..e74ee65fced 100644 --- a/src/main/java/tconstruct/tools/gui/StencilTableGui.java +++ b/src/main/java/tconstruct/tools/gui/StencilTableGui.java @@ -1,5 +1,9 @@ package tconstruct.tools.gui; +import codechicken.nei.VisiblityData; +import codechicken.nei.api.INEIGuiHandler; +import codechicken.nei.api.TaggedInventoryArea; +import cpw.mods.fml.common.Optional; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; @@ -14,7 +18,11 @@ import tconstruct.tools.logic.StencilTableLogic; import tconstruct.util.network.PatternTablePacket; -public class StencilTableGui extends GuiContainer +import java.util.Collections; +import java.util.List; + +@Optional.Interface(iface = "codechicken.nei.api.INEIGuiHandler", modid = "NotEnoughItems") +public class StencilTableGui extends GuiContainer implements INEIGuiHandler { StencilTableLogic logic; int activeButton; @@ -135,4 +143,34 @@ void updateServer (ItemStack stack) { TConstruct.packetPipeline.sendToServer(new PatternTablePacket(logic.xCoord, logic.yCoord, logic.zCoord, stack)); } + + @Override + public VisiblityData modifyVisiblity(GuiContainer guiContainer, VisiblityData visiblityData) { + return visiblityData; + } + + @Override + public Iterable getItemSpawnSlots(GuiContainer guiContainer, ItemStack itemStack) { + return null; + } + + @Override + public List getInventoryAreas(GuiContainer guiContainer) { + return Collections.emptyList(); + } + + @Override + public boolean handleDragNDrop(GuiContainer guiContainer, int i, int i2, ItemStack itemStack, int i3) { + return false; + } + + @Override + public boolean hideItemPanelSlot(GuiContainer guiContainer, int x, int y, int w, int h) { + // is it in the horizontal column of the right buttons? + if(x > this.guiLeft + this.xSize + 4 && x < this.guiLeft + this.xSize + 4 + 22*3 + 16) + if(y > this.guiTop + 2 && y < this.guiTop + 2 + 22*(TConstructClientRegistry.stencilButtons2.size()-1)/4) + return true; + + return false; + } } \ No newline at end of file