late init biomes

This commit is contained in:
dfsek 2021-06-15 01:37:28 -07:00
parent ef8a5b1453
commit afdb4fbfa2
2 changed files with 8 additions and 4 deletions

View File

@ -43,7 +43,6 @@ import com.dfsek.terra.fabric.generation.PopulatorFeature;
import com.dfsek.terra.fabric.generation.TerraBiomeSource;
import com.dfsek.terra.fabric.handle.FabricItemHandle;
import com.dfsek.terra.fabric.handle.FabricWorldHandle;
import com.dfsek.terra.fabric.util.FabricUtil;
import com.dfsek.terra.profiler.Profiler;
import com.dfsek.terra.profiler.ProfilerImpl;
import com.dfsek.terra.registry.exception.DuplicateEntryException;
@ -176,6 +175,10 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
return LangUtil.getLanguage();
}
public FabricAddon getFabricAddon() {
return fabricAddon;
}
@Override
public CheckedRegistry<ConfigPack> getConfigRegistry() {
return checkedRegistry;
@ -240,9 +243,6 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
public void packInit() {
logger.info("Loading config packs...");
registry.loadAll(this);
registry.forEach(pack -> pack.getBiomeRegistry().forEach((id, biome) -> Registry.register(BuiltinRegistries.BIOME, new Identifier("terra", FabricUtil.createBiomeID(pack, id)), FabricUtil.createBiome(fabricAddon, biome, pack)))); // Register all Terra biomes.
logger.info("Loaded packs.");
}

View File

@ -1,7 +1,10 @@
package com.dfsek.terra.fabric.generation;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.util.FabricUtil;
import net.minecraft.client.world.GeneratorType;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.gen.chunk.ChunkGenerator;
@ -17,6 +20,7 @@ public class TerraGeneratorType extends GeneratorType {
@Override
protected ChunkGenerator getChunkGenerator(Registry<Biome> biomeRegistry, Registry<ChunkGeneratorSettings> chunkGeneratorSettingsRegistry, long seed) {
TerraFabricPlugin.getInstance().getConfigRegistry().forEach(pack -> pack.getBiomeRegistry().forEach((id, biome) -> Registry.register(biomeRegistry, new Identifier("terra", FabricUtil.createBiomeID(pack, id)), FabricUtil.createBiome(TerraFabricPlugin.getInstance().getFabricAddon(), biome, pack)))); // Register all Terra biomes.
return new FabricChunkGeneratorWrapper(new TerraBiomeSource(biomeRegistry, seed, pack), seed, pack);
}
}