use of com.ferreusveritas.dynamictrees.api.worldgen.IBiomeDataBasePopulator in project DynamicTrees by DynamicTreesTeam.
the class WorldGenRegistry method populateDataBase.
public static void populateDataBase() {
if (WorldGenRegistry.isWorldGenEnabled()) {
BiomeDataBaseJsonCapabilityRegistryEvent capabilityEvent = new BiomeDataBaseJsonCapabilityRegistryEvent();
// Register the main Json capabilities
BiomeDataBasePopulatorJson.registerJsonCapabilities(capabilityEvent);
// Send out an event asking for Json Capabilities to be registered
MinecraftForge.EVENT_BUS.post(capabilityEvent);
// Prep the databases by clearing them out
TreeGenerator.getTreeGenerator().clearAllBiomeDataBases();
BiomeDataBase database = TreeGenerator.getTreeGenerator().getDefaultBiomeDataBase();
// This collects all available populators and returns an aggregate populator for the lot
IBiomeDataBasePopulator biomePopulator = collectDataBasePopulators();
// This is where the main population occurs
biomePopulator.populate(database);
// Send out an event after the database has been populated
MinecraftForge.EVENT_BUS.post(new PopulateDataBaseEvent(database, biomePopulator));
// Populate custom dimensions if available
loadMultiDimensionalPopulator(biomePopulator);
// Blacklist certain dimensions according to the base config
ModConfigs.dimensionBlacklist.forEach(d -> TreeGenerator.getTreeGenerator().BlackListDimension(d));
// Cleanup all of the unused static objects
BiomeDataBasePopulatorJson.cleanup();
}
}
Aggregations