package joshie.harvest.town.packet; import io.netty.buffer.ByteBuf; import joshie.harvest.api.calendar.Festival; import joshie.harvest.core.network.Packet; import joshie.harvest.core.network.Packet.Side; import joshie.harvest.town.data.TownDataClient; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.common.network.ByteBufUtils; import java.util.UUID; @Packet(Side.CLIENT) public class PacketSyncFestival extends PacketSyncTown { private Festival festival; private int days; @SuppressWarnings("unused") public PacketSyncFestival(){} public PacketSyncFestival(UUID town, Festival festival, int days) { super(town); this.festival = festival; this.days = days; } @Override public void toBytes(ByteBuf buf) { super.toBytes(buf); ByteBufUtils.writeUTF8String(buf, festival.getResource().toString()); buf.writeInt(days); } @Override public void fromBytes(ByteBuf buf) { super.fromBytes(buf); festival = Festival.REGISTRY.get(new ResourceLocation(ByteBufUtils.readUTF8String(buf))); days = buf.readInt(); } @Override public void handlePacket(TownDataClient town) { town.setFestival(festival, days); } }