diff --git a/src/main/java/appeng/client/gui/implementations/GuiCraftConfirm.java b/src/main/java/appeng/client/gui/implementations/GuiCraftConfirm.java index d60bbf623..cf8b716cb 100644 --- a/src/main/java/appeng/client/gui/implementations/GuiCraftConfirm.java +++ b/src/main/java/appeng/client/gui/implementations/GuiCraftConfirm.java @@ -83,8 +83,8 @@ public class GuiCraftConfirm extends AEBaseGui { this.ccc = (ContainerCraftConfirm) this.inventorySlots; this.ccc.setGui(this); - if (te instanceof WirelessTerminalGuiObject) { - this.OriginalGui = GuiBridge.GUI_WIRELESS_TERM; + if (te instanceof IWirelessTermHandler) { + this.OriginalGui = (GuiBridge) ((IWirelessTermHandler)te).getGuiHandler(((WirelessTerminalGuiObject)te).getItemStack())); } if (te instanceof PartTerminal) { diff --git a/src/main/java/appeng/container/implementations/ContainerMEPortableCell.java b/src/main/java/appeng/container/implementations/ContainerMEPortableCell.java index b546c6065..26d3dae19 100644 --- a/src/main/java/appeng/container/implementations/ContainerMEPortableCell.java +++ b/src/main/java/appeng/container/implementations/ContainerMEPortableCell.java @@ -44,7 +44,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.items.IItemHandler; -public class ContainerMEPortableCell extends ContainerMEMonitorable implements IUpgradeableCellContainer, IAEAppEngInventory { +public class ContainerMEPortableCell extends ContainerMEMonitorable implements IUpgradeableCellContainer, IAEAppEngInventory, IInventorySlotAware { protected final WirelessTerminalGuiObject wirelessTerminalGUIObject; private final int slot; @@ -68,10 +68,6 @@ public class ContainerMEPortableCell extends ContainerMEMonitorable implements I this.wirelessTerminalGUIObject = monitorable; this.upgrades = new StackUpgradeInventory(wirelessTerminalGUIObject.getItemStack(), this, 2); this.loadFromNBT(); - - if (bindInventory) { - this.bindPlayerInventory(ip, 0, 0); - } this.setupUpgrades(); } @@ -172,4 +168,14 @@ public class ContainerMEPortableCell extends ContainerMEMonitorable implements I public void onChangeInventory(IItemHandler inv, int slot, InvOperation mc, ItemStack removedStack, ItemStack newStack) { } + + @Override + public int getInventorySlot() { + return wirelessTerminalGUIObject.getInventorySlot(); + } + + @Override + public boolean isBaubleSlot() { + return wirelessTerminalGUIObject.isBaubleSlot(); + } } diff --git a/src/main/java/appeng/container/implementations/ContainerWirelessCraftingTerminal.java b/src/main/java/appeng/container/implementations/ContainerWirelessCraftingTerminal.java index bdab4d39b..3c3ee8feb 100644 --- a/src/main/java/appeng/container/implementations/ContainerWirelessCraftingTerminal.java +++ b/src/main/java/appeng/container/implementations/ContainerWirelessCraftingTerminal.java @@ -69,8 +69,6 @@ public class ContainerWirelessCraftingTerminal extends ContainerMEPortableCell i this.addSlotToContainer(this.outputSlot = new SlotCraftingTerm(this.getPlayerInv().player, this.getActionSource(), this .getPowerSource(), this.wirelessTerminalGUIObject, crafting, crafting, this.output, 131, -72 + 18, this)); - this.bindPlayerInventory(ip, 0, 0); - this.onCraftMatrixChanged(new WrapperInvItemHandler(crafting)); } diff --git a/src/main/java/appeng/core/sync/GuiBridge.java b/src/main/java/appeng/core/sync/GuiBridge.java index 748f27532..4b3d5d4ca 100644 --- a/src/main/java/appeng/core/sync/GuiBridge.java +++ b/src/main/java/appeng/core/sync/GuiBridge.java @@ -241,7 +241,14 @@ public enum GuiBridge implements IGuiHandler { it = player.inventory.getStackInSlot(x); } } else { - it = BaublesApi.getBaublesHandler(player).getStackInSlot(x); + if (stem) { + if (player.openContainer instanceof IInventorySlotAware) { + int slot = ((IInventorySlotAware)player.openContainer).getInventorySlot(); + it = BaublesApi.getBaublesHandler(player).getStackInSlot(slot); + } + }else { + it = BaublesApi.getBaublesHandler(player).getStackInSlot(x); + } } final Object myItem = this.getGuiObject(it, player, w, x, y, z); if (myItem != null && ID.CorrectTileOrPart(myItem)) { diff --git a/src/main/java/appeng/fluids/container/ContainerMEPortableFluidCell.java b/src/main/java/appeng/fluids/container/ContainerMEPortableFluidCell.java index 785db70e8..b13824efa 100644 --- a/src/main/java/appeng/fluids/container/ContainerMEPortableFluidCell.java +++ b/src/main/java/appeng/fluids/container/ContainerMEPortableFluidCell.java @@ -544,7 +544,7 @@ public class ContainerMEPortableFluidCell extends AEBaseContainer implements IAE @Override public int availableUpgrades() { - return 2; + return 1; } @Override diff --git a/src/main/java/appeng/util/Platform.java b/src/main/java/appeng/util/Platform.java index 7992bb4ba..186174f1e 100644 --- a/src/main/java/appeng/util/Platform.java +++ b/src/main/java/appeng/util/Platform.java @@ -45,6 +45,7 @@ import appeng.api.storage.data.IItemList; import appeng.api.util.AEColor; import appeng.api.util.AEPartLocation; import appeng.api.util.DimensionalCoord; +import appeng.container.interfaces.IInventorySlotAware; import appeng.core.AEConfig; import appeng.core.AELog; import appeng.core.AppEng; @@ -322,18 +323,25 @@ public class Platform { return; } - int x = (int) p.posX; + int x; int y = (int) p.posY; int z = (int) p.posZ; if (tile != null) { x = tile.getPos().getX(); y = tile.getPos().getY(); z = tile.getPos().getZ(); + } else { + if (p.openContainer instanceof IInventorySlotAware) { + x = ((IInventorySlotAware) p.openContainer).getInventorySlot(); + y = ((IInventorySlotAware)p.openContainer).isBaubleSlot() ? 1 : 0; + } else { + x = p.inventory.currentItem; + } } if ((type.getType().isItem() && tile == null) || type.hasPermissions(tile, x, y, z, side, p)) { if (tile == null && type.getType() == GuiHostType.ITEM) { - p.openGui(AppEng.instance(), type.ordinal() << 4, p.getEntityWorld(), p.inventory.currentItem, 0, 0); + p.openGui(AppEng.instance(), type.ordinal() << 4, p.getEntityWorld(), x, 0, 0); } else if (tile == null || type.getType() == GuiHostType.ITEM) { p.openGui(AppEng.instance(), type.ordinal() << 4 | (1 << 3), p.getEntityWorld(), x, y, z); } else {