package crazypants.enderio.item;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
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 PacketMagnetState implements IMessage, IMessageHandler<PacketMagnetState, IMessage> {
public enum SlotType {
INVENTORY,
ARMOR,
BAUBLES
}
public PacketMagnetState() {
}
private boolean isActive;
private SlotType type;
private int slot;
public PacketMagnetState(SlotType slottype, int slot, boolean isActive) {
this.type = slottype;
this.slot = slot;
this.isActive = isActive;
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeShort(type.ordinal());
buf.writeInt(slot);
buf.writeBoolean(isActive);
}
@Override
public void fromBytes(ByteBuf buf) {
type = SlotType.values()[buf.readShort()];
slot = buf.readInt();
isActive = buf.readBoolean();
}
@Override
public IMessage onMessage(PacketMagnetState message, MessageContext ctx) {
EntityPlayerMP player = ctx.getServerHandler().playerEntity;
MagnetController.setMagnetActive(player, message.type, message.slot, message.isActive);
return null;
}
}