package advancedsystemsmanager.flow.elements; import advancedsystemsmanager.api.network.IPacketProvider; import advancedsystemsmanager.api.network.IPacketSync; import advancedsystemsmanager.api.network.IPacketWriter; import advancedsystemsmanager.network.ASMPacket; public abstract class UpdateElement implements IPacketSync, IPacketWriter { protected IPacketProvider packetProvider; private int id; protected UpdateElement(IPacketProvider packetProvider) { this.packetProvider = packetProvider; packetProvider.registerSyncable(this); } public void setId(int id) { this.id = id; } public void onUpdate() { sendSyncPacket(); } public void sendSyncPacket() { ASMPacket packet = packetProvider.getSyncPacket(); packet.writeByte(id); if (writeData(packet)) packetProvider.sendPacketToServer(packet); } }