Network packet improvements
This commit is contained in:
@@ -44,10 +44,10 @@ public class MessageCraftingMonitorCancel extends MessageHandlerPlayerToServer<M
|
|||||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||||
|
|
||||||
if (tile instanceof TileCraftingMonitor) {
|
if (tile instanceof TileCraftingMonitor) {
|
||||||
TileCraftingMonitor craftingMonitor = (TileCraftingMonitor) tile;
|
TileCraftingMonitor monitor = (TileCraftingMonitor) tile;
|
||||||
|
|
||||||
if (craftingMonitor.isConnected()) {
|
if (monitor.isConnected()) {
|
||||||
craftingMonitor.getController().getStorageHandler().handleCraftingCancel(message.id);
|
monitor.getController().getStorageHandler().handleCraftingCancel(message.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -48,7 +48,7 @@ public class MessageGridCraftingPush extends MessageHandlerPlayerToServer<Messag
|
|||||||
if (tile instanceof TileGrid) {
|
if (tile instanceof TileGrid) {
|
||||||
TileGrid grid = (TileGrid) tile;
|
TileGrid grid = (TileGrid) tile;
|
||||||
|
|
||||||
if (grid.isConnected() && grid.getType() == EnumGridType.CRAFTING && message.craftingSlot < grid.getMatrix().getSizeInventory()) {
|
if (grid.isConnected() && grid.getType() == EnumGridType.CRAFTING && message.craftingSlot >= 0 && message.craftingSlot < grid.getMatrix().getSizeInventory()) {
|
||||||
ItemStack stack = grid.getMatrix().getStackInSlot(message.craftingSlot);
|
ItemStack stack = grid.getMatrix().getStackInSlot(message.craftingSlot);
|
||||||
|
|
||||||
if (stack != null) {
|
if (stack != null) {
|
||||||
|
@@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
|||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
import refinedstorage.block.EnumGridType;
|
|
||||||
import refinedstorage.container.ContainerGrid;
|
import refinedstorage.container.ContainerGrid;
|
||||||
import refinedstorage.tile.grid.TileGrid;
|
import refinedstorage.tile.grid.TileGrid;
|
||||||
|
|
||||||
@@ -41,8 +40,12 @@ public class MessageGridCraftingShift extends MessageHandlerPlayerToServer<Messa
|
|||||||
public void handle(MessageGridCraftingShift message, EntityPlayerMP player) {
|
public void handle(MessageGridCraftingShift message, EntityPlayerMP player) {
|
||||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||||
|
|
||||||
if (tile instanceof TileGrid && ((TileGrid) tile).getType() == EnumGridType.CRAFTING && player.openContainer instanceof ContainerGrid) {
|
if (tile instanceof TileGrid) {
|
||||||
((TileGrid) ((ContainerGrid) player.openContainer).getGrid()).onCraftedShift((ContainerGrid) player.openContainer, player);
|
TileGrid grid = (TileGrid) tile;
|
||||||
|
|
||||||
|
if (grid.isConnected() && player.openContainer instanceof ContainerGrid) {
|
||||||
|
grid.onCraftedShift((ContainerGrid) player.openContainer, player);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -8,44 +8,44 @@ import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
|||||||
import refinedstorage.tile.grid.TileGrid;
|
import refinedstorage.tile.grid.TileGrid;
|
||||||
|
|
||||||
public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<MessageGridCraftingStart> implements IMessage {
|
public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<MessageGridCraftingStart> implements IMessage {
|
||||||
private int gridX;
|
private int x;
|
||||||
private int gridY;
|
private int y;
|
||||||
private int gridZ;
|
private int z;
|
||||||
private int id;
|
private int id;
|
||||||
private int quantity;
|
private int quantity;
|
||||||
|
|
||||||
public MessageGridCraftingStart() {
|
public MessageGridCraftingStart() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public MessageGridCraftingStart(int gridX, int gridY, int gridZ, int id, int quantity) {
|
public MessageGridCraftingStart(int x, int y, int z, int id, int quantity) {
|
||||||
this.gridX = gridX;
|
this.x = x;
|
||||||
this.gridY = gridY;
|
this.y = z;
|
||||||
this.gridZ = gridZ;
|
this.z = z;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.quantity = quantity;
|
this.quantity = quantity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void fromBytes(ByteBuf buf) {
|
public void fromBytes(ByteBuf buf) {
|
||||||
gridX = buf.readInt();
|
x = buf.readInt();
|
||||||
gridY = buf.readInt();
|
y = buf.readInt();
|
||||||
gridZ = buf.readInt();
|
z = buf.readInt();
|
||||||
id = buf.readInt();
|
id = buf.readInt();
|
||||||
quantity = buf.readInt();
|
quantity = buf.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void toBytes(ByteBuf buf) {
|
public void toBytes(ByteBuf buf) {
|
||||||
buf.writeInt(gridX);
|
buf.writeInt(x);
|
||||||
buf.writeInt(gridY);
|
buf.writeInt(y);
|
||||||
buf.writeInt(gridZ);
|
buf.writeInt(z);
|
||||||
buf.writeInt(id);
|
buf.writeInt(id);
|
||||||
buf.writeInt(quantity);
|
buf.writeInt(quantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(MessageGridCraftingStart message, EntityPlayerMP player) {
|
public void handle(MessageGridCraftingStart message, EntityPlayerMP player) {
|
||||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.gridX, message.gridY, message.gridZ));
|
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||||
|
|
||||||
if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) {
|
if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) {
|
||||||
((TileGrid) tile).getController().getStorageHandler().handleCraftingRequest(message.id, message.quantity);
|
((TileGrid) tile).getController().getStorageHandler().handleCraftingRequest(message.id, message.quantity);
|
||||||
|
@@ -31,14 +31,10 @@ public class MessageGridItems implements IMessage, IMessageHandler<MessageGridIt
|
|||||||
int size = buf.readInt();
|
int size = buf.readInt();
|
||||||
|
|
||||||
for (int i = 0; i < size; ++i) {
|
for (int i = 0; i < size; ++i) {
|
||||||
int id = buf.readInt();
|
|
||||||
|
|
||||||
int quantity = buf.readInt();
|
int quantity = buf.readInt();
|
||||||
|
|
||||||
ItemStack stack = ByteBufUtils.readItemStack(buf);
|
ItemStack stack = ByteBufUtils.readItemStack(buf);
|
||||||
stack.stackSize = quantity;
|
stack.stackSize = quantity;
|
||||||
|
groups.add(new ClientItemGroup(i, stack));
|
||||||
groups.add(new ClientItemGroup(id, stack));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +43,6 @@ public class MessageGridItems implements IMessage, IMessageHandler<MessageGridIt
|
|||||||
buf.writeInt(controller.getItemGroups().size());
|
buf.writeInt(controller.getItemGroups().size());
|
||||||
|
|
||||||
for (int i = 0; i < controller.getItemGroups().size(); ++i) {
|
for (int i = 0; i < controller.getItemGroups().size(); ++i) {
|
||||||
buf.writeInt(i);
|
|
||||||
buf.writeInt(controller.getItemGroups().get(i).getQuantity());
|
buf.writeInt(controller.getItemGroups().get(i).getQuantity());
|
||||||
ByteBufUtils.writeItemStack(buf, controller.getItemGroups().get(i).toStack());
|
ByteBufUtils.writeItemStack(buf, controller.getItemGroups().get(i).toStack());
|
||||||
}
|
}
|
||||||
|
@@ -8,44 +8,44 @@ import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
|||||||
import refinedstorage.tile.grid.TileGrid;
|
import refinedstorage.tile.grid.TileGrid;
|
||||||
|
|
||||||
public class MessageGridStoragePull extends MessageHandlerPlayerToServer<MessageGridStoragePull> implements IMessage {
|
public class MessageGridStoragePull extends MessageHandlerPlayerToServer<MessageGridStoragePull> implements IMessage {
|
||||||
private int gridX;
|
private int x;
|
||||||
private int gridY;
|
private int y;
|
||||||
private int gridZ;
|
private int z;
|
||||||
private int id;
|
private int id;
|
||||||
private int flags;
|
private int flags;
|
||||||
|
|
||||||
public MessageGridStoragePull() {
|
public MessageGridStoragePull() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public MessageGridStoragePull(int gridX, int gridY, int gridZ, int id, int flags) {
|
public MessageGridStoragePull(int x, int y, int z, int id, int flags) {
|
||||||
this.gridX = gridX;
|
this.x = x;
|
||||||
this.gridY = gridY;
|
this.y = y;
|
||||||
this.gridZ = gridZ;
|
this.z = z;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.flags = flags;
|
this.flags = flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void fromBytes(ByteBuf buf) {
|
public void fromBytes(ByteBuf buf) {
|
||||||
gridX = buf.readInt();
|
x = buf.readInt();
|
||||||
gridY = buf.readInt();
|
y = buf.readInt();
|
||||||
gridZ = buf.readInt();
|
z = buf.readInt();
|
||||||
id = buf.readInt();
|
id = buf.readInt();
|
||||||
flags = buf.readInt();
|
flags = buf.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void toBytes(ByteBuf buf) {
|
public void toBytes(ByteBuf buf) {
|
||||||
buf.writeInt(gridX);
|
buf.writeInt(x);
|
||||||
buf.writeInt(gridY);
|
buf.writeInt(y);
|
||||||
buf.writeInt(gridZ);
|
buf.writeInt(z);
|
||||||
buf.writeInt(id);
|
buf.writeInt(id);
|
||||||
buf.writeInt(flags);
|
buf.writeInt(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(MessageGridStoragePull message, EntityPlayerMP player) {
|
public void handle(MessageGridStoragePull message, EntityPlayerMP player) {
|
||||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.gridX, message.gridY, message.gridZ));
|
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||||
|
|
||||||
if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) {
|
if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) {
|
||||||
((TileGrid) tile).getController().getStorageHandler().handlePull(message.id, message.flags, player);
|
((TileGrid) tile).getController().getStorageHandler().handlePull(message.id, message.flags, player);
|
||||||
|
@@ -8,44 +8,44 @@ import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
|||||||
import refinedstorage.tile.grid.TileGrid;
|
import refinedstorage.tile.grid.TileGrid;
|
||||||
|
|
||||||
public class MessageGridStoragePush extends MessageHandlerPlayerToServer<MessageGridStoragePush> implements IMessage {
|
public class MessageGridStoragePush extends MessageHandlerPlayerToServer<MessageGridStoragePush> implements IMessage {
|
||||||
private int gridX;
|
private int x;
|
||||||
private int gridY;
|
private int y;
|
||||||
private int gridZ;
|
private int z;
|
||||||
private int playerSlot;
|
private int playerSlot;
|
||||||
private boolean one;
|
private boolean one;
|
||||||
|
|
||||||
public MessageGridStoragePush() {
|
public MessageGridStoragePush() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public MessageGridStoragePush(int gridX, int gridY, int gridZ, int playerSlot, boolean one) {
|
public MessageGridStoragePush(int x, int y, int z, int playerSlot, boolean one) {
|
||||||
this.gridX = gridX;
|
this.x = x;
|
||||||
this.gridY = gridY;
|
this.y = y;
|
||||||
this.gridZ = gridZ;
|
this.z = z;
|
||||||
this.playerSlot = playerSlot;
|
this.playerSlot = playerSlot;
|
||||||
this.one = one;
|
this.one = one;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void fromBytes(ByteBuf buf) {
|
public void fromBytes(ByteBuf buf) {
|
||||||
gridX = buf.readInt();
|
x = buf.readInt();
|
||||||
gridY = buf.readInt();
|
y = buf.readInt();
|
||||||
gridZ = buf.readInt();
|
z = buf.readInt();
|
||||||
playerSlot = buf.readInt();
|
playerSlot = buf.readInt();
|
||||||
one = buf.readBoolean();
|
one = buf.readBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void toBytes(ByteBuf buf) {
|
public void toBytes(ByteBuf buf) {
|
||||||
buf.writeInt(gridX);
|
buf.writeInt(x);
|
||||||
buf.writeInt(gridY);
|
buf.writeInt(y);
|
||||||
buf.writeInt(gridZ);
|
buf.writeInt(z);
|
||||||
buf.writeInt(playerSlot);
|
buf.writeInt(playerSlot);
|
||||||
buf.writeBoolean(one);
|
buf.writeBoolean(one);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(MessageGridStoragePush message, EntityPlayerMP player) {
|
public void handle(MessageGridStoragePush message, EntityPlayerMP player) {
|
||||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.gridX, message.gridY, message.gridZ));
|
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||||
|
|
||||||
if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) {
|
if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) {
|
||||||
((TileGrid) tile).getController().getStorageHandler().handlePush(message.playerSlot, message.one, player);
|
((TileGrid) tile).getController().getStorageHandler().handlePush(message.playerSlot, message.one, player);
|
||||||
|
Reference in New Issue
Block a user