diff --git a/src/main/java/refinedstorage/gui/GuiHandler.java b/src/main/java/refinedstorage/gui/GuiHandler.java index be609c238..415f2f3a8 100755 --- a/src/main/java/refinedstorage/gui/GuiHandler.java +++ b/src/main/java/refinedstorage/gui/GuiHandler.java @@ -57,6 +57,18 @@ public class GuiHandler implements IGuiHandler { } } + private WirelessGrid getWirelessGrid(EntityPlayer player, int hand) { + return new WirelessGrid(player.worldObj, player.getHeldItem(EnumHand.values()[hand])); + } + + private ContainerGrid getWirelessGridContainer(EntityPlayer player, int hand) { + return new ContainerGrid(player, getWirelessGrid(player, hand)); + } + + private ContainerGridFilter getGridFilterContainer(EntityPlayer player, int hand) { + return new ContainerGridFilter(player, player.getHeldItem(EnumHand.values()[hand])); + } + @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if (ID == RefinedStorageGui.WIRELESS_GRID) { @@ -116,20 +128,6 @@ public class GuiHandler implements IGuiHandler { } } - private ContainerGridFilter getGridFilterContainer(EntityPlayer player, int hand) { - return new ContainerGridFilter(player, player.getHeldItem(EnumHand.values()[hand])); - } - - private WirelessGrid getWirelessGrid(EntityPlayer player, int hand) { - return new WirelessGrid(player.worldObj, player.getHeldItem(EnumHand.values()[hand]), EnumHand.values()[hand]); - } - - private ContainerGrid getWirelessGridContainer(EntityPlayer player, int hand) { - WirelessGrid wirelessGrid = getWirelessGrid(player, hand); - - return new ContainerGrid(player, wirelessGrid); - } - private GuiGrid getWirelessGridGui(EntityPlayer player, int hand) { WirelessGrid wirelessGrid = getWirelessGrid(player, hand); diff --git a/src/main/java/refinedstorage/network/MessageWirelessGridSettingsUpdate.java b/src/main/java/refinedstorage/network/MessageWirelessGridSettingsUpdate.java index aa3a1919d..2729a1795 100755 --- a/src/main/java/refinedstorage/network/MessageWirelessGridSettingsUpdate.java +++ b/src/main/java/refinedstorage/network/MessageWirelessGridSettingsUpdate.java @@ -3,13 +3,13 @@ package refinedstorage.network; import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumHand; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; -import refinedstorage.RefinedStorageItems; +import refinedstorage.container.ContainerGrid; +import refinedstorage.tile.grid.IGrid; import refinedstorage.tile.grid.TileGrid; +import refinedstorage.tile.grid.WirelessGrid; public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToServer implements IMessage { - private int hand; private int viewType; private int sortingDirection; private int sortingType; @@ -18,8 +18,7 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer public MessageWirelessGridSettingsUpdate() { } - public MessageWirelessGridSettingsUpdate(int hand, int viewType, int sortingDirection, int sortingType, int searchBoxMode) { - this.hand = hand; + public MessageWirelessGridSettingsUpdate(int viewType, int sortingDirection, int sortingType, int searchBoxMode) { this.viewType = viewType; this.sortingDirection = sortingDirection; this.sortingType = sortingType; @@ -28,7 +27,6 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer @Override public void fromBytes(ByteBuf buf) { - hand = buf.readInt(); viewType = buf.readInt(); sortingDirection = buf.readInt(); sortingType = buf.readInt(); @@ -37,7 +35,6 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer @Override public void toBytes(ByteBuf buf) { - buf.writeInt(hand); buf.writeInt(viewType); buf.writeInt(sortingDirection); buf.writeInt(sortingType); @@ -46,23 +43,27 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer @Override public void handle(MessageWirelessGridSettingsUpdate message, EntityPlayerMP player) { - ItemStack held = player.getHeldItem((message.hand < 0 || message.hand > EnumHand.values().length - 1) ? EnumHand.MAIN_HAND : EnumHand.values()[message.hand]); + if (player.openContainer instanceof ContainerGrid) { + IGrid grid = ((ContainerGrid) player.openContainer).getGrid(); - if (held != null && held.getItem() == RefinedStorageItems.WIRELESS_GRID && held.getTagCompound() != null) { - if (TileGrid.isValidViewType(message.viewType)) { - held.getTagCompound().setInteger(TileGrid.NBT_VIEW_TYPE, message.viewType); - } + if (grid instanceof WirelessGrid) { + ItemStack stack = ((WirelessGrid) grid).getStack(); - if (TileGrid.isValidSortingDirection(message.sortingDirection)) { - held.getTagCompound().setInteger(TileGrid.NBT_SORTING_DIRECTION, message.sortingDirection); - } + if (TileGrid.isValidViewType(message.viewType)) { + stack.getTagCompound().setInteger(TileGrid.NBT_VIEW_TYPE, message.viewType); + } - if (TileGrid.isValidSortingType(message.sortingType)) { - held.getTagCompound().setInteger(TileGrid.NBT_SORTING_TYPE, message.sortingType); - } + if (TileGrid.isValidSortingDirection(message.sortingDirection)) { + stack.getTagCompound().setInteger(TileGrid.NBT_SORTING_DIRECTION, message.sortingDirection); + } - if (TileGrid.isValidSearchBoxMode(message.searchBoxMode)) { - held.getTagCompound().setInteger(TileGrid.NBT_SEARCH_BOX_MODE, message.searchBoxMode); + if (TileGrid.isValidSortingType(message.sortingType)) { + stack.getTagCompound().setInteger(TileGrid.NBT_SORTING_TYPE, message.sortingType); + } + + if (TileGrid.isValidSearchBoxMode(message.searchBoxMode)) { + stack.getTagCompound().setInteger(TileGrid.NBT_SEARCH_BOX_MODE, message.searchBoxMode); + } } } } diff --git a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java index 3d10a0992..9751def66 100755 --- a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java +++ b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java @@ -4,7 +4,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import refinedstorage.RefinedStorage; @@ -24,7 +23,6 @@ import java.util.List; public class WirelessGrid implements IGrid { private World world; - private EnumHand hand; private ItemStack stack; private BlockPos controller; @@ -50,11 +48,10 @@ public class WirelessGrid implements IGrid { } }; - public WirelessGrid(World world, ItemStack stack, EnumHand hand) { + public WirelessGrid(World world, ItemStack stack) { this.world = world; this.stack = stack; - this.hand = hand; this.controller = new BlockPos(ItemWirelessGrid.getX(stack), ItemWirelessGrid.getY(stack), ItemWirelessGrid.getZ(stack)); @@ -70,6 +67,10 @@ public class WirelessGrid implements IGrid { } } + public ItemStack getStack() { + return stack; + } + @Override public EnumGridType getType() { return EnumGridType.NORMAL; @@ -109,28 +110,28 @@ public class WirelessGrid implements IGrid { @Override public void onViewTypeChanged(int type) { - RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(hand.ordinal(), type, getSortingDirection(), getSortingType(), getSearchBoxMode())); + RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(type, getSortingDirection(), getSortingType(), getSearchBoxMode())); this.viewType = type; } @Override public void onSortingTypeChanged(int type) { - RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(hand.ordinal(), getViewType(), getSortingDirection(), type, getSearchBoxMode())); + RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), type, getSearchBoxMode())); this.sortingType = type; } @Override public void onSortingDirectionChanged(int direction) { - RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(hand.ordinal(), getViewType(), direction, getSortingType(), getSearchBoxMode())); + RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), direction, getSortingType(), getSearchBoxMode())); this.sortingDirection = direction; } @Override public void onSearchBoxModeChanged(int searchBoxMode) { - RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(hand.ordinal(), getViewType(), getSortingDirection(), getSortingType(), searchBoxMode)); + RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), getSortingType(), searchBoxMode)); this.searchBoxMode = searchBoxMode; }