package mods.eln.node; import mods.eln.Eln; import mods.eln.misc.UtilsClient; import net.minecraft.tileentity.TileEntity; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; public class NodeEntityClientSender { private TileEntity e; private String nodeUuid; public NodeEntityClientSender(TileEntity e, String nodeUuid) { this.e = e; this.nodeUuid = nodeUuid; } public void preparePacketForServer(DataOutputStream stream) { try { stream.writeByte(Eln.packetPublishForNode); stream.writeInt(e.xCoord); stream.writeInt(e.yCoord); stream.writeInt(e.zCoord); stream.writeByte(e.getWorldObj().provider.dimensionId); stream.writeUTF(nodeUuid); } catch (IOException e) { e.printStackTrace(); } } public void sendPacketToServer(ByteArrayOutputStream bos) { UtilsClient.sendPacketToServer(bos); } public void clientSendBoolean(Byte id, boolean value) { try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream stream = new DataOutputStream(bos); preparePacketForServer(stream); stream.writeByte(id); stream.writeByte(value ? 1 : 0); sendPacketToServer(bos); } catch (IOException e) { e.printStackTrace(); } } public void clientSendId(Byte id) { try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream stream = new DataOutputStream(bos); preparePacketForServer(stream); stream.writeByte(id); sendPacketToServer(bos); } catch (IOException e) { e.printStackTrace(); } } public void clientSendString(Byte id, String str) { try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream stream = new DataOutputStream(bos); preparePacketForServer(stream); stream.writeByte(id); stream.writeUTF(str); sendPacketToServer(bos); } catch (IOException e) { e.printStackTrace(); } } public void clientSendFloat(Byte id, float str) { try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream stream = new DataOutputStream(bos); preparePacketForServer(stream); stream.writeByte(id); stream.writeFloat(str); sendPacketToServer(bos); } catch (IOException e) { e.printStackTrace(); } } public void clientSendInt(Byte id, int str) { try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream stream = new DataOutputStream(bos); preparePacketForServer(stream); stream.writeByte(id); stream.writeInt(str); sendPacketToServer(bos); } catch (IOException e) { e.printStackTrace(); } } }