Чаще всего все обновляют значения в клиенте через detectAndSendChanges и updateProgressbar и т.д.
Я захотел сделать это через кастомные пакеты, так вроде понятней, что происходит. Если с тем, как создать пакет, зарегистрировать и собственно отправить этот пакет с сервера на клиент, все понятно, то с тем, что нужно делать в обработчике когда приходит пакет. Тоесть как именно мне нужно обновить значение на клиенте?
Если понадобиться больше инфы, то допишу.
Я захотел сделать это через кастомные пакеты, так вроде понятней, что происходит. Если с тем, как создать пакет, зарегистрировать и собственно отправить этот пакет с сервера на клиент, все понятно, то с тем, что нужно делать в обработчике когда приходит пакет. Тоесть как именно мне нужно обновить значение на клиенте?
Если понадобиться больше инфы, то допишу.
Java:
public class EnergyMessage implements IMessage{
private int energy_to_send;
//Позиция TileEntity
private int x;
private int y;
private int z;
public EnergyMessage(int energy, BlockPos pos) {
this.energy_to_send = energy;
this.x = pos.getX();
this.y = pos.getY();
this.z = pos.getZ();
}
@Override
public void fromBytes(ByteBuf buf) {
buf.writeInt(energy_to_send);
buf.writeInt(x);
buf.writeInt(y);
buf.writeInt(z);
}
@Override
public void toBytes(ByteBuf buf) {
energy_to_send = buf.readInt();
x = buf.readInt();
y = buf.readInt();
z = buf.readInt();
}
public static class Handler implements IMessageHandler<EnergyMessage, IMessage> {
@Override
public IMessage onMessage(EnergyMessage message, MessageContext ctx) {
//Что нужно сделать здесь?
return null;
}
}
}