package sourcecoded.quantum.network; 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; import io.netty.buffer.ByteBuf; import sourcecoded.quantum.api.discovery.DiscoveryManager; public class MessageDiscoveryItem implements IMessage, IMessageHandler<MessageDiscoveryItem, IMessage> { String name; boolean force; int type = 0; public MessageDiscoveryItem() {} public MessageDiscoveryItem(String name) { this.name = name; this.force = false; } public MessageDiscoveryItem(String name, boolean force) { this.name = name; this.force = force; } public MessageDiscoveryItem setTypeUnlock() { this.type = 0; return this; } public MessageDiscoveryItem setTypeHidden() { this.type = 1; return this; } @Override public void fromBytes(ByteBuf buf) { name = ByteBufUtils.readUTF8String(buf); force = buf.readBoolean(); } @Override public void toBytes(ByteBuf buf) { ByteBufUtils.writeUTF8String(buf, name); buf.writeBoolean(force); } @Override public IMessage onMessage(MessageDiscoveryItem message, MessageContext ctx) { if (message.type == 0) DiscoveryManager.unlockItem(message.name, ctx.getServerHandler().playerEntity, message.force); else if (message.type == 1) DiscoveryManager.revealItem(message.name, ctx.getServerHandler().playerEntity); return null; } }