package mekanism.common.network;
import io.netty.buffer.ByteBuf;
import mekanism.common.Mekanism;
import mekanism.common.PacketHandler;
import mekanism.common.network.PacketFlamethrowerActive.FlamethrowerActiveMessage;
import net.minecraft.entity.player.EntityPlayer;
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 PacketFlamethrowerActive implements IMessageHandler<FlamethrowerActiveMessage, IMessage>
{
@Override
public IMessage onMessage(FlamethrowerActiveMessage message, MessageContext context)
{
EntityPlayer player = PacketHandler.getPlayer(context);
if(message.value)
{
Mekanism.flamethrowerActive.add(message.username);
}
else {
Mekanism.flamethrowerActive.remove(message.username);
}
if(!player.worldObj.isRemote)
{
Mekanism.packetHandler.sendToDimension(new FlamethrowerActiveMessage(message.username, message.value), player.worldObj.provider.dimensionId);
}
return null;
}
public static class FlamethrowerActiveMessage implements IMessage
{
public String username;
public boolean value;
public FlamethrowerActiveMessage() {}
public FlamethrowerActiveMessage(String name, boolean state)
{
username = name;
value = state;
}
@Override
public void toBytes(ByteBuf dataStream)
{
PacketHandler.writeString(dataStream, username);
dataStream.writeBoolean(value);
}
@Override
public void fromBytes(ByteBuf dataStream)
{
username = PacketHandler.readString(dataStream);
value = dataStream.readBoolean();
}
}
}