package mekanism.common.network;
import mekanism.api.MekanismAPI;
import mekanism.api.util.BlockInfo;
import mekanism.common.Mekanism;
import mekanism.common.network.PacketBoxBlacklist.BoxBlacklistMessage;
import net.minecraft.block.Block;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import io.netty.buffer.ByteBuf;
public class PacketBoxBlacklist implements IMessageHandler<BoxBlacklistMessage, IMessage>
{
@Override
public IMessage onMessage(BoxBlacklistMessage message, MessageContext context)
{
return null;
}
public static class BoxBlacklistMessage implements IMessage
{
public BoxBlacklistMessage() {}
@Override
public void toBytes(ByteBuf dataStream)
{
dataStream.writeInt(MekanismAPI.getBoxIgnore().size());
for(BlockInfo info : MekanismAPI.getBoxIgnore())
{
dataStream.writeInt(Block.getIdFromBlock(info.block));
dataStream.writeInt(info.meta);
}
}
@Override
public void fromBytes(ByteBuf dataStream)
{
MekanismAPI.getBoxIgnore().clear();
int amount = dataStream.readInt();
for(int i = 0; i < amount; i++)
{
MekanismAPI.addBoxBlacklist(Block.getBlockById(dataStream.readInt()), dataStream.readInt());
}
Mekanism.logger.info("Received Cardboard Box blacklist entries from server (" + amount + " total)");
}
}
}