package hunternif.mc.atlas.network.server; import hunternif.mc.atlas.ext.ExtTileIdMap; import hunternif.mc.atlas.network.AbstractMessage.AbstractServerMessage; import hunternif.mc.atlas.network.PacketDispatcher; import hunternif.mc.atlas.network.client.TileNameIDPacket; import java.io.IOException; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.network.PacketBuffer; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.relauncher.Side; /** * Sent from client to server to register a new * (unique tile name)-(pseudo-biome ID) pair. * @author Hunternif */ public class RegisterTileIdPacket extends AbstractServerMessage<RegisterTileIdPacket> { private String name; public RegisterTileIdPacket() {} public RegisterTileIdPacket(String uniqueTileName) { this.name = uniqueTileName; } @Override protected void read(PacketBuffer buffer) throws IOException { name = ByteBufUtils.readUTF8String(buffer); } @Override protected void write(PacketBuffer buffer) throws IOException { ByteBufUtils.writeUTF8String(buffer, name); } @Override protected void process(EntityPlayer player, Side side) { // Register the new tile id: int biomeID = ExtTileIdMap.instance().getOrCreatePseudoBiomeID(name); // Send it to all clients: TileNameIDPacket packet = new TileNameIDPacket(); packet.put(name, biomeID); PacketDispatcher.sendToAll(packet); } }