Further un-stupified the routing GUI.
This commit is contained in:
parent
413b150142
commit
3e7187610a
6 changed files with 99 additions and 29 deletions
|
@ -18,19 +18,20 @@ import net.minecraft.item.ItemStack;
|
|||
public class ContainerItemRoutingNode extends Container
|
||||
{
|
||||
private final IInventory tileItemRoutingNode;
|
||||
private final ItemInventory itemInventory;
|
||||
// private final ItemInventory itemInventory;
|
||||
private int slotsOccupied;
|
||||
|
||||
private final TileFilteredRoutingNode inventory;
|
||||
|
||||
public int lastGhostSlotClicked = -1;
|
||||
|
||||
public ContainerItemRoutingNode(InventoryPlayer inventoryPlayer, IInventory tileItemRoutingNode)
|
||||
{
|
||||
this.tileItemRoutingNode = tileItemRoutingNode;
|
||||
inventory = (TileFilteredRoutingNode) tileItemRoutingNode;
|
||||
|
||||
this.addSlotToContainer(new SlotItemFilter(this, tileItemRoutingNode, 0, 8, 33));
|
||||
ItemStack masterStack = tileItemRoutingNode.getStackInSlot(inventory.currentActiveSlot);
|
||||
itemInventory = new ItemInventory(masterStack, 9, "");
|
||||
ItemInventory itemInventory = inventory.itemInventory;
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
|
@ -58,7 +59,7 @@ public class ContainerItemRoutingNode extends Container
|
|||
|
||||
public void resetItemInventory(ItemStack masterStack)
|
||||
{
|
||||
itemInventory.initializeInventory(masterStack);
|
||||
inventory.itemInventory.initializeInventory(masterStack);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -76,6 +77,9 @@ public class ContainerItemRoutingNode extends Container
|
|||
|
||||
if (slot instanceof SlotGhostItem) //TODO: make the slot clicking work!
|
||||
{
|
||||
lastGhostSlotClicked = slot.getSlotIndex();
|
||||
// System.out.println(lastGhostSlotClicked);
|
||||
|
||||
if ((dragType == 0 || dragType == 1) && (clickTypeIn == ClickType.PICKUP || clickTypeIn == ClickType.QUICK_MOVE))
|
||||
{
|
||||
ItemStack slotStack = slot.getStack();
|
||||
|
|
|
@ -7,12 +7,15 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.item.inventory.ItemInventory;
|
||||
|
||||
public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedInventory
|
||||
{
|
||||
public int currentActiveSlot = 0;
|
||||
public int[] priorities = new int[6];
|
||||
|
||||
public ItemInventory itemInventory = new ItemInventory(null, 9, "");
|
||||
|
||||
public TileFilteredRoutingNode(int size, String name)
|
||||
{
|
||||
super(size, name);
|
||||
|
@ -63,6 +66,8 @@ public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedIn
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
itemInventory = new ItemInventory(getStackInSlot(currentActiveSlot), 9, "");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -78,6 +83,7 @@ public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedIn
|
|||
public void swapFilters(int requestedSlot)
|
||||
{
|
||||
currentActiveSlot = requestedSlot;
|
||||
itemInventory.initializeInventory(getStackInSlot(currentActiveSlot));
|
||||
this.markDirty();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,22 +1,20 @@
|
|||
package WayofTime.bloodmagic.tile.routing;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import WayofTime.bloodmagic.item.routing.IItemFilterProvider;
|
||||
import WayofTime.bloodmagic.routing.DefaultItemFilter;
|
||||
import WayofTime.bloodmagic.routing.IInputItemRoutingNode;
|
||||
import WayofTime.bloodmagic.routing.IItemFilter;
|
||||
import WayofTime.bloodmagic.util.Utils;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
|
||||
public class TileInputRoutingNode extends TileFilteredRoutingNode implements IInputItemRoutingNode
|
||||
{
|
||||
public TileInputRoutingNode()
|
||||
{
|
||||
super(7, "inputNode");
|
||||
super(6, "inputNode");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,22 +1,20 @@
|
|||
package WayofTime.bloodmagic.tile.routing;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import WayofTime.bloodmagic.item.routing.IItemFilterProvider;
|
||||
import WayofTime.bloodmagic.routing.DefaultItemFilter;
|
||||
import WayofTime.bloodmagic.routing.IItemFilter;
|
||||
import WayofTime.bloodmagic.routing.IOutputItemRoutingNode;
|
||||
import WayofTime.bloodmagic.util.Utils;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
|
||||
public class TileOutputRoutingNode extends TileFilteredRoutingNode implements IOutputItemRoutingNode
|
||||
{
|
||||
public TileOutputRoutingNode()
|
||||
{
|
||||
super(7, "outputNode");
|
||||
super(6, "outputNode");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue