package com.austinv11.peripheralsplusplus.network;
import com.austinv11.peripheralsplusplus.tiles.TileEntityAntenna;
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 dan200.computercraft.api.peripheral.IComputerAccess;
import io.netty.buffer.ByteBuf;
import net.minecraft.nbt.NBTTagCompound;
import java.util.UUID;
public class TextFieldInputEventPacket implements IMessage {
public UUID uuid;
public String event, player, text, key;
public TextFieldInputEventPacket() {}
public TextFieldInputEventPacket(UUID uuid, String key, String text, String event, String player) {
this.uuid = uuid;
this.key = key;
this.text = text;
this.event = event;
this.player = player;
}
@Override
public void fromBytes(ByteBuf buf) {
NBTTagCompound tag = ByteBufUtils.readTag(buf);
uuid = UUID.fromString(tag.getString("uuid"));
key = tag.getString("key");
event = tag.getString("event");
player = tag.getString("player");
text = tag.getString("text");
}
@Override
public void toBytes(ByteBuf buf) {
NBTTagCompound tag = new NBTTagCompound();
tag.setString("uuid", uuid.toString());
tag.setString("key", key);
tag.setString("event", event);
tag.setString("player", player);
tag.setString("text", text);
ByteBufUtils.writeTag(buf, tag);
}
public static class TextFieldInputEventPacketHandler implements IMessageHandler<TextFieldInputEventPacket, IMessage> {
@Override
public IMessage onMessage(TextFieldInputEventPacket message, MessageContext ctx) {
TileEntityAntenna antenna = TileEntityAntenna.antenna_registry.get(message.uuid);
if (antenna != null) {
for (IComputerAccess computer : antenna.computers.keySet())
computer.queueEvent(message.event, new Object[]{message.player, message.key, message.text});
}
return null;
}
}
}