package crazypants.enderio.machine.invpanel;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.tileentity.TileEntity;
import com.enderio.core.common.network.MessageTileEntity;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class PacketGuiSettings extends MessageTileEntity<TileInventoryPanel> implements IMessageHandler<PacketGuiSettings, IMessage> {
private int sortMode;
private String filterString;
private boolean sync;
public PacketGuiSettings() {
filterString = "";
}
public PacketGuiSettings(TileInventoryPanel tile, int sortMode, String filterString, boolean sync) {
super(tile);
this.sortMode = sortMode;
this.filterString = filterString;
this.sync = sync;
}
@Override
public void fromBytes(ByteBuf buf) {
super.fromBytes(buf);
sortMode = buf.readInt();
filterString = ByteBufUtils.readUTF8String(buf);
sync = buf.readBoolean();
}
@Override
public void toBytes(ByteBuf buf) {
super.toBytes(buf);
buf.writeInt(sortMode);
ByteBufUtils.writeUTF8String(buf, filterString);
buf.writeBoolean(sync);
}
@Override
public IMessage onMessage(PacketGuiSettings message, MessageContext ctx) {
EntityPlayerMP player = ctx.getServerHandler().playerEntity;
TileEntity te = player.worldObj.getTileEntity(message.x, message.y, message.z);
if(te instanceof TileInventoryPanel) {
TileInventoryPanel teInvPanel = (TileInventoryPanel) te;
teInvPanel.setGuiParameter(message.sortMode, message.filterString, message.sync);
}
return null;
}
}