This should make wireless grids work again

This commit is contained in:
Raoul Van den Berge
2016-04-04 16:11:13 +02:00
parent 9e954a1df2
commit 55f8ad0ffb
15 changed files with 309 additions and 125 deletions

View File

@@ -8,6 +8,7 @@ import refinedstorage.block.EnumGridType;
import refinedstorage.container.slot.SlotGridCraftingResult;
import refinedstorage.tile.grid.IGrid;
import refinedstorage.tile.grid.TileGrid;
import refinedstorage.tile.grid.WirelessGrid;
import java.util.ArrayList;
import java.util.List;
@@ -79,9 +80,8 @@ public class ContainerGrid extends ContainerBase {
public void onContainerClosed(EntityPlayer player) {
super.onContainerClosed(player);
// @TODO: Fix
/*if (grid instanceof WirelessGrid && ((WirelessGrid) grid).getBoundTile() instanceof TileController) {
grid.getController().onCloseWirelessGrid(player);
}*/
if (!player.worldObj.isRemote && grid instanceof WirelessGrid) {
((WirelessGrid) grid).onClose(player);
}
}
}

View File

@@ -15,9 +15,9 @@ import refinedstorage.gui.sidebutton.SideButtonGridSortingDirection;
import refinedstorage.gui.sidebutton.SideButtonGridSortingType;
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.jei.PluginRefinedStorage;
import refinedstorage.network.GridPullFlags;
import refinedstorage.network.MessageGridCraftingClear;
import refinedstorage.network.MessageGridCraftingPush;
import refinedstorage.network.MessageGridStoragePull;
import refinedstorage.storage.ItemGroup;
import refinedstorage.tile.grid.IGrid;
import refinedstorage.tile.grid.TileGrid;
@@ -260,15 +260,15 @@ public class GuiGrid extends GuiBase {
int flags = 0;
if (clickedButton == 1) {
flags |= MessageGridStoragePull.PULL_HALF;
flags |= GridPullFlags.PULL_HALF;
}
if (GuiScreen.isShiftKeyDown()) {
flags |= MessageGridStoragePull.PULL_SHIFT;
flags |= GridPullFlags.PULL_SHIFT;
}
if (clickedButton == 2) {
flags |= MessageGridStoragePull.PULL_ONE;
flags |= GridPullFlags.PULL_ONE;
}
grid.onItemPull(hoveringItemId, flags);

View File

@@ -49,24 +49,24 @@ public class GuiHandler implements IGuiHandler {
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
if (ID == RefinedStorageGui.WIRELESS_GRID) {
return getWirelessGridContainer(world, player, x);
return getWirelessGridContainer(player, x);
}
return getContainer(ID, player, world.getTileEntity(new BlockPos(x, y, z)));
}
private WirelessGrid getWirelessGrid(World world, EntityPlayer player, int hand) {
return new WirelessGrid(player.getHeldItem(HandUtils.getHandById(hand)), HandUtils.getHandById(hand), world);
private WirelessGrid getWirelessGrid(EntityPlayer player, int hand) {
return new WirelessGrid(player.getHeldItem(HandUtils.getHandById(hand)), HandUtils.getHandById(hand));
}
private ContainerGrid getWirelessGridContainer(World world, EntityPlayer player, int hand) {
WirelessGrid wirelessGrid = getWirelessGrid(world, player, hand);
private ContainerGrid getWirelessGridContainer(EntityPlayer player, int hand) {
WirelessGrid wirelessGrid = getWirelessGrid(player, hand);
return new ContainerGrid(player, wirelessGrid);
}
private GuiGrid getWirelessGridGui(World world, EntityPlayer player, int hand) {
WirelessGrid wirelessGrid = getWirelessGrid(world, player, hand);
private GuiGrid getWirelessGridGui(EntityPlayer player, int hand) {
WirelessGrid wirelessGrid = getWirelessGrid(player, hand);
return new GuiGrid(new ContainerGrid(player, wirelessGrid), wirelessGrid);
}
@@ -81,7 +81,7 @@ public class GuiHandler implements IGuiHandler {
case RefinedStorageGui.GRID:
return new GuiGrid((ContainerGrid) getContainer(ID, player, tile), (TileGrid) tile);
case RefinedStorageGui.WIRELESS_GRID:
return getWirelessGridGui(world, player, x);
return getWirelessGridGui(player, x);
case RefinedStorageGui.DISK_DRIVE:
return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile, "gui/disk_drive.png");
case RefinedStorageGui.IMPORTER:

View File

@@ -0,0 +1,19 @@
package refinedstorage.network;
public class GridPullFlags {
public static final int PULL_HALF = 1;
public static final int PULL_ONE = 2;
public static final int PULL_SHIFT = 4;
public static boolean isPullingHalf(int flags) {
return (flags & PULL_HALF) == PULL_HALF;
}
public static boolean isPullingOne(int flags) {
return (flags & PULL_ONE) == PULL_ONE;
}
public static boolean isPullingWithShift(int flags) {
return (flags & PULL_SHIFT) == PULL_SHIFT;
}
}

View File

@@ -2,20 +2,13 @@ package refinedstorage.network;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import refinedstorage.item.ItemWirelessGrid;
import refinedstorage.storage.ItemGroup;
import refinedstorage.tile.TileController;
import refinedstorage.tile.grid.TileGrid;
public class MessageGridStoragePull extends MessageHandlerPlayerToServer<MessageGridStoragePull> implements IMessage {
public static final int PULL_HALF = 1;
public static final int PULL_ONE = 2;
public static final int PULL_SHIFT = 4;
private int gridX;
private int gridY;
private int gridZ;
@@ -51,18 +44,6 @@ public class MessageGridStoragePull extends MessageHandlerPlayerToServer<Message
buf.writeInt(flags);
}
public boolean isPullingHalf() {
return (flags & PULL_HALF) == PULL_HALF;
}
public boolean isPullingOne() {
return (flags & PULL_ONE) == PULL_ONE;
}
public boolean isPullingWithShift() {
return (flags & PULL_SHIFT) == PULL_SHIFT;
}
@Override
public void handle(MessageGridStoragePull message, EntityPlayerMP player) {
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.gridX, message.gridY, message.gridZ));
@@ -71,40 +52,7 @@ public class MessageGridStoragePull extends MessageHandlerPlayerToServer<Message
TileController controller = ((TileGrid) tile).getController();
if (message.id < controller.getItemGroups().size()) {
ItemGroup group = controller.getItemGroups().get(message.id);
int quantity = 64;
if (message.isPullingHalf() && group.getQuantity() > 1) {
quantity = group.getQuantity() / 2;
if (quantity > 32) {
quantity = 32;
}
} else if (message.isPullingOne()) {
quantity = 1;
} else if (message.isPullingWithShift()) {
// NO OP, the quantity already set (64) is needed for shift
}
if (quantity > group.getType().getItemStackLimit(group.toItemStack())) {
quantity = group.getType().getItemStackLimit(group.toItemStack());
}
ItemStack took = controller.take(group.copy(quantity).toItemStack());
if (took != null) {
if (message.isPullingWithShift()) {
if (!player.inventory.addItemStackToInventory(took.copy())) {
controller.push(took);
}
} else {
player.inventory.setItemStack(took);
player.updateHeldItem();
}
controller.drainEnergyFromWirelessGrid(player, ItemWirelessGrid.USAGE_PULL);
}
controller.handleStoragePull(message.id, message.flags, player);
}
}
}

View File

@@ -2,12 +2,9 @@ package refinedstorage.network;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import refinedstorage.item.ItemWirelessGrid;
import refinedstorage.tile.TileController;
import refinedstorage.tile.grid.TileGrid;
public class MessageGridStoragePush extends MessageHandlerPlayerToServer<MessageGridStoragePush> implements IMessage {
@@ -51,43 +48,7 @@ public class MessageGridStoragePush extends MessageHandlerPlayerToServer<Message
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.gridX, message.gridY, message.gridZ));
if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) {
TileController controller = ((TileGrid) tile).getController();
ItemStack stack;
if (message.playerSlot == -1) {
stack = player.inventory.getItemStack().copy();
if (message.one) {
stack.stackSize = 1;
}
} else {
stack = player.inventory.getStackInSlot(message.playerSlot);
}
if (stack != null) {
boolean success = controller.push(stack);
if (success) {
if (message.playerSlot == -1) {
if (message.one) {
player.inventory.getItemStack().stackSize--;
if (player.inventory.getItemStack().stackSize == 0) {
player.inventory.setItemStack(null);
}
} else {
player.inventory.setItemStack(null);
}
player.updateHeldItem();
} else {
player.inventory.setInventorySlotContents(message.playerSlot, null);
}
}
controller.drainEnergyFromWirelessGrid(player, ItemWirelessGrid.USAGE_PUSH);
}
((TileGrid) tile).getController().handleStoragePush(message.playerSlot, message.one, player);
}
}
}

View File

@@ -9,16 +9,16 @@ import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import refinedstorage.tile.INetworkTile;
public class MessageContainerUpdate implements IMessage, IMessageHandler<MessageContainerUpdate, IMessage> {
public class MessageTileContainerUpdate implements IMessage, IMessageHandler<MessageTileContainerUpdate, IMessage> {
private TileEntity tile;
private int x;
private int y;
private int z;
public MessageContainerUpdate() {
public MessageTileContainerUpdate() {
}
public MessageContainerUpdate(TileEntity tile) {
public MessageTileContainerUpdate(TileEntity tile) {
this.tile = tile;
}
@@ -49,7 +49,7 @@ public class MessageContainerUpdate implements IMessage, IMessageHandler<Message
}
@Override
public IMessage onMessage(MessageContainerUpdate message, MessageContext ctx) {
public IMessage onMessage(MessageTileContainerUpdate message, MessageContext ctx) {
return null;
}
}

View File

@@ -0,0 +1,48 @@
package refinedstorage.network;
import io.netty.buffer.ByteBuf;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import refinedstorage.storage.ItemGroup;
import refinedstorage.tile.grid.WirelessGrid;
import java.util.List;
public class MessageWirelessGridItems implements IMessage, IMessageHandler<MessageWirelessGridItems, IMessage> {
private List<ItemGroup> itemGroups;
public MessageWirelessGridItems() {
}
public MessageWirelessGridItems(List<ItemGroup> itemGroups) {
this.itemGroups = itemGroups;
}
@Override
public void fromBytes(ByteBuf buf) {
int size = buf.readInt();
WirelessGrid.ITEM_GROUPS.clear();
WirelessGrid.LAST_ITEM_GROUP_UPDATE = System.currentTimeMillis();
for (int i = 0; i < size; ++i) {
WirelessGrid.ITEM_GROUPS.add(new ItemGroup(buf));
}
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(itemGroups.size());
for (ItemGroup group : itemGroups) {
group.toBytes(buf, itemGroups.indexOf(group));
}
}
@Override
public IMessage onMessage(MessageWirelessGridItems message, MessageContext ctx) {
return null;
}
}

View File

@@ -0,0 +1,58 @@
package refinedstorage.network;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import refinedstorage.tile.TileController;
public class MessageWirelessGridStoragePull extends MessageHandlerPlayerToServer<MessageWirelessGridStoragePull> implements IMessage {
private int controllerX;
private int controllerY;
private int controllerZ;
private int id;
private int flags;
public MessageWirelessGridStoragePull() {
}
public MessageWirelessGridStoragePull(int controllerX, int controllerY, int controllerZ, int id, int flags) {
this.controllerX = controllerX;
this.controllerY = controllerY;
this.controllerZ = controllerZ;
this.id = id;
this.flags = flags;
}
@Override
public void fromBytes(ByteBuf buf) {
controllerX = buf.readInt();
controllerY = buf.readInt();
controllerZ = buf.readInt();
id = buf.readInt();
flags = buf.readInt();
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(controllerX);
buf.writeInt(controllerY);
buf.writeInt(controllerZ);
buf.writeInt(id);
buf.writeInt(flags);
}
@Override
public void handle(MessageWirelessGridStoragePull message, EntityPlayerMP player) {
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.controllerX, message.controllerY, message.controllerZ));
if (tile instanceof TileController && ((TileController) tile).isActive()) {
TileController controller = (TileController) tile;
if (message.id < controller.getItemGroups().size()) {
controller.handleStoragePull(message.id, message.flags, player);
}
}
}
}

View File

@@ -0,0 +1,54 @@
package refinedstorage.network;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import refinedstorage.tile.TileController;
public class MessageWirelessGridStoragePush extends MessageHandlerPlayerToServer<MessageWirelessGridStoragePush> implements IMessage {
private int controllerX;
private int controllerY;
private int controllerZ;
private int playerSlot;
private boolean one;
public MessageWirelessGridStoragePush() {
}
public MessageWirelessGridStoragePush(int controllerX, int controllerY, int controllerZ, int playerSlot, boolean one) {
this.controllerX = controllerX;
this.controllerY = controllerY;
this.controllerZ = controllerZ;
this.playerSlot = playerSlot;
this.one = one;
}
@Override
public void fromBytes(ByteBuf buf) {
controllerX = buf.readInt();
controllerY = buf.readInt();
controllerZ = buf.readInt();
playerSlot = buf.readInt();
one = buf.readBoolean();
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(controllerX);
buf.writeInt(controllerY);
buf.writeInt(controllerZ);
buf.writeInt(playerSlot);
buf.writeBoolean(one);
}
@Override
public void handle(MessageWirelessGridStoragePush message, EntityPlayerMP player) {
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.controllerX, message.controllerY, message.controllerZ));
if (tile instanceof TileController && ((TileController) tile).isActive()) {
((TileController) tile).handleStoragePush(message.playerSlot, message.one, player);
}
}
}

View File

@@ -34,6 +34,7 @@ import static refinedstorage.RefinedStorage.ID;
public class CommonProxy {
public void preInit(FMLPreInitializationEvent e) {
RefinedStorage.NETWORK.registerMessage(MessageTileUpdate.class, MessageTileUpdate.class, 0, Side.CLIENT);
RefinedStorage.NETWORK.registerMessage(MessageTileContainerUpdate.class, MessageTileContainerUpdate.class, 15, Side.CLIENT);
RefinedStorage.NETWORK.registerMessage(MessageRedstoneModeUpdate.class, MessageRedstoneModeUpdate.class, 1, Side.SERVER);
RefinedStorage.NETWORK.registerMessage(MessageGridStoragePush.class, MessageGridStoragePush.class, 2, Side.SERVER);
RefinedStorage.NETWORK.registerMessage(MessageGridStoragePull.class, MessageGridStoragePull.class, 3, Side.SERVER);
@@ -47,7 +48,9 @@ public class CommonProxy {
RefinedStorage.NETWORK.registerMessage(MessageGridCraftingPush.class, MessageGridCraftingPush.class, 12, Side.SERVER);
RefinedStorage.NETWORK.registerMessage(MessageGridCraftingTransfer.class, MessageGridCraftingTransfer.class, 13, Side.SERVER);
RefinedStorage.NETWORK.registerMessage(MessageWirelessGridSettingsUpdate.class, MessageWirelessGridSettingsUpdate.class, 14, Side.SERVER);
RefinedStorage.NETWORK.registerMessage(MessageContainerUpdate.class, MessageContainerUpdate.class, 15, Side.CLIENT);
RefinedStorage.NETWORK.registerMessage(MessageWirelessGridItems.class, MessageWirelessGridItems.class, 16, Side.CLIENT);
RefinedStorage.NETWORK.registerMessage(MessageWirelessGridStoragePush.class, MessageWirelessGridStoragePush.class, 17, Side.SERVER);
RefinedStorage.NETWORK.registerMessage(MessageWirelessGridStoragePull.class, MessageWirelessGridStoragePull.class, 18, Side.SERVER);
NetworkRegistry.INSTANCE.registerGuiHandler(RefinedStorage.INSTANCE, new GuiHandler());

View File

@@ -15,7 +15,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
import refinedstorage.RefinedStorage;
import refinedstorage.network.MessageContainerUpdate;
import refinedstorage.network.MessageTileContainerUpdate;
import refinedstorage.network.MessageTileUpdate;
public abstract class TileBase extends TileEntity implements ITickable {
@@ -39,7 +39,7 @@ public abstract class TileBase extends TileEntity implements ITickable {
for (EntityPlayer player : worldObj.playerEntities) {
if (((INetworkTile) this).getContainer() == player.openContainer.getClass()) {
RefinedStorage.NETWORK.sendTo(new MessageContainerUpdate(this), (EntityPlayerMP) player);
RefinedStorage.NETWORK.sendTo(new MessageTileContainerUpdate(this), (EntityPlayerMP) player);
}
}
}

View File

@@ -4,6 +4,7 @@ import cofh.api.energy.EnergyStorage;
import cofh.api.energy.IEnergyReceiver;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.Container;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -21,6 +22,8 @@ import refinedstorage.block.BlockController;
import refinedstorage.block.EnumControllerType;
import refinedstorage.container.ContainerController;
import refinedstorage.item.ItemWirelessGrid;
import refinedstorage.network.GridPullFlags;
import refinedstorage.network.MessageWirelessGridItems;
import refinedstorage.storage.IStorage;
import refinedstorage.storage.IStorageProvider;
import refinedstorage.storage.ItemGroup;
@@ -132,6 +135,8 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
if (!InventoryUtils.compareStack(consumer.getWirelessGrid(), consumer.getPlayer().getHeldItem(consumer.getHand()))) {
onCloseWirelessGrid(consumer.getPlayer());
consumer.getPlayer().closeScreen();
} else {
RefinedStorage.NETWORK.sendTo(new MessageWirelessGridItems(itemGroups), (EntityPlayerMP) consumer.getPlayer());
}
}
@@ -458,4 +463,79 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
public Class<? extends Container> getContainer() {
return ContainerController.class;
}
public void handleStoragePull(int id, int flags, EntityPlayerMP player) {
ItemGroup group = itemGroups.get(id);
int quantity = 64;
if (GridPullFlags.isPullingHalf(flags) && group.getQuantity() > 1) {
quantity = group.getQuantity() / 2;
if (quantity > 32) {
quantity = 32;
}
} else if (GridPullFlags.isPullingOne(flags)) {
quantity = 1;
} else if (GridPullFlags.isPullingWithShift(flags)) {
// NO OP, the quantity already set (64) is needed for shift
}
if (quantity > group.getType().getItemStackLimit(group.toItemStack())) {
quantity = group.getType().getItemStackLimit(group.toItemStack());
}
ItemStack took = take(group.copy(quantity).toItemStack());
if (took != null) {
if (GridPullFlags.isPullingWithShift(flags)) {
if (!player.inventory.addItemStackToInventory(took.copy())) {
push(took);
}
} else {
player.inventory.setItemStack(took);
player.updateHeldItem();
}
drainEnergyFromWirelessGrid(player, ItemWirelessGrid.USAGE_PULL);
}
}
public void handleStoragePush(int playerSlot, boolean one, EntityPlayerMP player) {
ItemStack stack;
if (playerSlot == -1) {
stack = player.inventory.getItemStack().copy();
if (one) {
stack.stackSize = 1;
}
} else {
stack = player.inventory.getStackInSlot(playerSlot);
}
if (stack != null) {
boolean success = push(stack);
if (success) {
if (playerSlot == -1) {
if (one) {
player.inventory.getItemStack().stackSize--;
if (player.inventory.getItemStack().stackSize == 0) {
player.inventory.setItemStack(null);
}
} else {
player.inventory.setItemStack(null);
}
player.updateHeldItem();
} else {
player.inventory.setInventorySlotContents(playerSlot, null);
}
}
drainEnergyFromWirelessGrid(player, ItemWirelessGrid.USAGE_PUSH);
}
}
}

View File

@@ -87,7 +87,6 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
connected = buf.readBoolean();
if (lastConnected != connected) {
// @TODO: Am I using the correct flags?
worldObj.notifyBlockUpdate(pos, worldObj.getBlockState(pos), worldObj.getBlockState(pos), 2 | 4);
}
}

View File

@@ -1,31 +1,37 @@
package refinedstorage.tile.grid;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumHand;
import net.minecraft.world.World;
import net.minecraft.util.math.BlockPos;
import refinedstorage.RefinedStorage;
import refinedstorage.block.EnumGridType;
import refinedstorage.item.ItemWirelessGrid;
import refinedstorage.network.MessageWirelessGridSettingsUpdate;
import refinedstorage.network.MessageWirelessGridStoragePull;
import refinedstorage.network.MessageWirelessGridStoragePush;
import refinedstorage.storage.ItemGroup;
import refinedstorage.tile.TileController;
import refinedstorage.tile.config.IRedstoneModeConfig;
import refinedstorage.util.HandUtils;
import java.util.ArrayList;
import java.util.List;
// @TODO: Fix this as well
public class WirelessGrid implements IGrid {
public static long LAST_ITEM_GROUP_UPDATE = 0;
public static List<ItemGroup> ITEM_GROUPS = new ArrayList<ItemGroup>();
private ItemStack stack;
private EnumHand hand;
private World world;
private int sortingType;
private int sortingDirection;
private int searchBoxMode;
public WirelessGrid(ItemStack stack, EnumHand hand, World world) {
public WirelessGrid(ItemStack stack, EnumHand hand) {
this.stack = stack;
this.hand = hand;
this.world = world;
this.sortingType = ItemWirelessGrid.getSortingType(stack);
this.sortingDirection = ItemWirelessGrid.getSortingDirection(stack);
this.searchBoxMode = ItemWirelessGrid.getSearchBoxMode(stack);
@@ -38,17 +44,25 @@ public class WirelessGrid implements IGrid {
@Override
public List<ItemGroup> getItemGroups() {
return null;
return ITEM_GROUPS;
}
@Override
public void onItemPush(int playerSlot, boolean one) {
RefinedStorage.NETWORK.sendToServer(new MessageWirelessGridStoragePush(ItemWirelessGrid.getX(stack), ItemWirelessGrid.getY(stack), ItemWirelessGrid.getZ(stack), playerSlot, one));
}
@Override
public void onItemPull(int id, int flags) {
RefinedStorage.NETWORK.sendToServer(new MessageWirelessGridStoragePull(ItemWirelessGrid.getX(stack), ItemWirelessGrid.getY(stack), ItemWirelessGrid.getZ(stack), id, flags));
}
public void onClose(EntityPlayer player) {
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(ItemWirelessGrid.getX(stack), ItemWirelessGrid.getY(stack), ItemWirelessGrid.getZ(stack)));
if (tile instanceof TileController) {
((TileController) tile).onCloseWirelessGrid(player);
}
}
@Override
@@ -94,6 +108,6 @@ public class WirelessGrid implements IGrid {
@Override
public boolean isConnected() {
return false;
return System.currentTimeMillis() - LAST_ITEM_GROUP_UPDATE < 1000;
}
}