package joshie.harvest.town.packet; import io.netty.buffer.ByteBuf; import joshie.harvest.core.HFTrackers; import joshie.harvest.core.network.PenguinPacket; import joshie.harvest.town.data.TownDataClient; import joshie.harvest.town.tracker.TownTrackerClient; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.fml.common.network.ByteBufUtils; import java.util.UUID; public abstract class PacketSyncTown extends PenguinPacket { private UUID town; @SuppressWarnings("unused") public PacketSyncTown(){} public PacketSyncTown(UUID town) { this.town = town; } @Override public void toBytes(ByteBuf buf) { ByteBufUtils.writeUTF8String(buf, town.toString()); } @Override public void fromBytes(ByteBuf buf) { town = UUID.fromString(ByteBufUtils.readUTF8String(buf)); } @Override public void handlePacket(EntityPlayer player) { TownDataClient townData = HFTrackers.<TownTrackerClient>getTowns(player.worldObj).getTownByID(town); if (townData != null) { handlePacket(townData); } } public abstract void handlePacket(TownDataClient townData); }