package hunternif.mc.atlas.ext;
import net.minecraftforge.event.world.WorldEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
public class ExtBiomeDataHandler {
private static final String DATA_KEY = "aAtlasExtTiles";
private ExtBiomeData data;
@SubscribeEvent(priority=EventPriority.HIGHEST)
public void onWorldLoad(WorldEvent.Load event) {
if (!event.getWorld().isRemote) {
data = (ExtBiomeData) event.getWorld().loadData(ExtBiomeData.class, DATA_KEY);
if (data == null) {
data = new ExtBiomeData(DATA_KEY);
data.markDirty();
event.getWorld().setData(DATA_KEY, data);
}
}
}
public ExtBiomeData getData() {
if (data == null) { // This will happen on the client
data = new ExtBiomeData(DATA_KEY);
}
return data;
}
@SubscribeEvent
public void onPlayerLogin(PlayerLoggedInEvent event) {
ExtTileIdMap.instance().syncOnPlayer(event.player);
data.syncOnPlayer(event.player);
}
}