fix wireless terminals not opening again
This commit is contained in:
@@ -363,7 +363,7 @@ public enum GuiBridge implements IGuiHandler {
|
|||||||
} else if (x >= 0 && x < player.inventory.mainInventory.size()) {
|
} else if (x >= 0 && x < player.inventory.mainInventory.size()) {
|
||||||
it = player.inventory.getStackInSlot(x);
|
it = player.inventory.getStackInSlot(x);
|
||||||
}
|
}
|
||||||
} else if (y == 1 && z == 0) {
|
} else if (y == 1 && z == Integer.MIN_VALUE) {
|
||||||
if (stem) {
|
if (stem) {
|
||||||
if (player.openContainer instanceof IInventorySlotAware) {
|
if (player.openContainer instanceof IInventorySlotAware) {
|
||||||
int slot = ((IInventorySlotAware) player.openContainer).getInventorySlot();
|
int slot = ((IInventorySlotAware) player.openContainer).getInventorySlot();
|
||||||
|
|||||||
@@ -32,16 +32,17 @@ public class PacketTerminalUse extends AppEngPacket {
|
|||||||
@Override
|
@Override
|
||||||
public void serverPacketData(INetworkInfo manager, AppEngPacket packet, EntityPlayer player) {
|
public void serverPacketData(INetworkInfo manager, AppEngPacket packet, EntityPlayer player) {
|
||||||
NonNullList<ItemStack> mainInventory = player.inventory.mainInventory;
|
NonNullList<ItemStack> mainInventory = player.inventory.mainInventory;
|
||||||
for (ItemStack is : mainInventory) {
|
for (int i = 0; i < mainInventory.size(); i++) {
|
||||||
|
ItemStack is = mainInventory.get(i);
|
||||||
if (terminal.getItemDefinition().isSameAs(is)) {
|
if (terminal.getItemDefinition().isSameAs(is)) {
|
||||||
Platform.openGUI(player, null, AEPartLocation.INTERNAL, terminal.getBridge());
|
Platform.openGUI(player, i, terminal.getBridge(), false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i = 0; i < BaublesApi.getBaublesHandler(player).getSlots(); i++) {
|
for (int i = 0; i < BaublesApi.getBaublesHandler(player).getSlots(); i++) {
|
||||||
ItemStack is = BaublesApi.getBaublesHandler(player).getStackInSlot(i);
|
ItemStack is = BaublesApi.getBaublesHandler(player).getStackInSlot(i);
|
||||||
if (terminal.getItemDefinition().isSameAs(is)) {
|
if (terminal.getItemDefinition().isSameAs(is)) {
|
||||||
Platform.openGUI(player, null, AEPartLocation.INTERNAL, terminal.getBridge());
|
Platform.openGUI(player, i, terminal.getBridge(), true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -323,28 +323,19 @@ public class Platform {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int x;
|
int x = 0;
|
||||||
int y;
|
int y = 0;
|
||||||
int z;
|
int z = Integer.MIN_VALUE;
|
||||||
|
|
||||||
if (tile != null) {
|
if (tile != null) {
|
||||||
x = tile.getPos().getX();
|
x = tile.getPos().getX();
|
||||||
y = tile.getPos().getY();
|
y = tile.getPos().getY();
|
||||||
z = tile.getPos().getZ();
|
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;
|
|
||||||
y = 0;
|
|
||||||
}
|
|
||||||
z = Integer.MIN_VALUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((type.getType().isItem() && tile == null) || type.hasPermissions(tile, x, y, z, side, p)) {
|
if ((type.getType().isItem() && tile == null) || type.hasPermissions(tile, x, y, z, side, p)) {
|
||||||
if (tile == null && type.getType() == GuiHostType.ITEM) {
|
if (tile == null && type.getType() == GuiHostType.ITEM) {
|
||||||
p.openGui(AppEng.instance(), type.ordinal() << 4, p.getEntityWorld(), x, 0, 0);
|
p.openGui(AppEng.instance(), type.ordinal() << 4, p.getEntityWorld(), x, y, z);
|
||||||
} else if (tile == null || type.getType() == GuiHostType.ITEM) {
|
} else if (tile == null || type.getType() == GuiHostType.ITEM) {
|
||||||
p.openGui(AppEng.instance(), type.ordinal() << 4 | (1 << 3), p.getEntityWorld(), x, y, z);
|
p.openGui(AppEng.instance(), type.ordinal() << 4 | (1 << 3), p.getEntityWorld(), x, y, z);
|
||||||
} else {
|
} else {
|
||||||
@@ -353,6 +344,19 @@ public class Platform {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void openGUI(@Nonnull final EntityPlayer p, int slot, @Nonnull final GuiBridge type, boolean isBauble) {
|
||||||
|
if (isClient()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type.getType().isItem()) {
|
||||||
|
if (type.getType() == GuiHostType.ITEM) {
|
||||||
|
p.openGui(AppEng.instance(), type.ordinal() << 4, p.getEntityWorld(), slot, isBauble ? 1 : 0, Integer.MIN_VALUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* returns true if the code is on the client.
|
* returns true if the code is on the client.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user