From ce9288d4e3a09e5c8fcc8d8eeebd9388f0c45cfa Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 11 Dec 2022 23:58:11 +0100 Subject: [PATCH] [Changes] Simplified and streamlined some aspects of `BCLBiomeRegistry`` --- src/main/java/org/betterx/bclib/BCLib.java | 2 +- .../api/v2/generator/BCLibEndBiomeSource.java | 30 +++---------- .../bclib/api/v2/levelgen/LevelGenUtil.java | 2 +- .../api/v2/levelgen/biomes/BCLBiome.java | 3 +- .../v2/levelgen/biomes/BCLBiomeRegistry.java | 36 ++++++++-------- .../api/v3/datagen/RegistrySupplier.java | 11 +++-- .../mixin/common/BuiltinRegistriesMixin.java | 43 ------------------- .../mixin/common/RegistryDataLoaderMixin.java | 1 + .../datagen/bclib/BCLRegistrySupplier.java | 7 ++- .../betterx/datagen/bclib/BCLibDatagen.java | 3 -- .../bclib/preset/WorldPresetDataProvider.java | 2 - .../VanillaBCLBiomesDataProvider.java | 42 ++++++------------ .../together/levelgen/WorldGenUtil.java | 8 +--- .../mixin/common/VanillaRegistriesMixin.java | 6 +++ .../together/worldPreset/WorldPresets.java | 4 -- src/main/resources/bclib.mixins.common.json | 1 - 16 files changed, 63 insertions(+), 138 deletions(-) delete mode 100644 src/main/java/org/betterx/bclib/mixin/common/BuiltinRegistriesMixin.java diff --git a/src/main/java/org/betterx/bclib/BCLib.java b/src/main/java/org/betterx/bclib/BCLib.java index 32d63ed2..976a995f 100644 --- a/src/main/java/org/betterx/bclib/BCLib.java +++ b/src/main/java/org/betterx/bclib/BCLib.java @@ -53,7 +53,7 @@ public class BCLib implements ModInitializer { PresetsRegistry.register(); LevelGenEvents.register(); BlockPredicates.ensureStaticInitialization(); - BCLBiomeRegistry.ensureStaticallyLoaded(); + BCLBiomeRegistry.register(); BaseRegistry.register(); GeneratorOptions.init(); BaseBlockEntities.register(); diff --git a/src/main/java/org/betterx/bclib/api/v2/generator/BCLibEndBiomeSource.java b/src/main/java/org/betterx/bclib/api/v2/generator/BCLibEndBiomeSource.java index ff5d40d5..1de6223b 100644 --- a/src/main/java/org/betterx/bclib/api/v2/generator/BCLibEndBiomeSource.java +++ b/src/main/java/org/betterx/bclib/api/v2/generator/BCLibEndBiomeSource.java @@ -3,7 +3,6 @@ package org.betterx.bclib.api.v2.generator; import org.betterx.bclib.BCLib; import org.betterx.bclib.api.v2.generator.config.BCLEndBiomeSourceConfig; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry; import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; import org.betterx.bclib.config.Configs; import org.betterx.bclib.interfaces.BiomeMap; @@ -11,10 +10,11 @@ import org.betterx.worlds.together.biomesource.BiomeSourceWithConfig; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import net.minecraft.core.*; +import net.minecraft.core.Holder; +import net.minecraft.core.QuartPos; +import net.minecraft.core.Registry; +import net.minecraft.core.SectionPos; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.core.registries.Registries; -import net.minecraft.resources.RegistryOps; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BiomeTags; @@ -34,8 +34,6 @@ public class BCLibEndBiomeSource extends BCLBiomeSource implements BiomeSourceWi public static Codec CODEC = RecordCodecBuilder.create((instance) -> instance .group( - RegistryOps.retrieveGetter(Registries.BIOME), - RegistryOps.retrieveGetter(BCLBiomeRegistry.BCL_BIOMES_REGISTRY), Codec .LONG .fieldOf("seed") @@ -67,36 +65,20 @@ public class BCLibEndBiomeSource extends BCLBiomeSource implements BiomeSourceWi private BCLEndBiomeSourceConfig config; private BCLibEndBiomeSource( - HolderGetter biomeRegistry, - HolderGetter bclBiomeRegistry, long seed, BCLEndBiomeSourceConfig config ) { - this(biomeRegistry, bclBiomeRegistry, seed, config, true); + this(seed, config, true); } public BCLibEndBiomeSource( - HolderGetter biomeRegistry, - HolderGetter bclBiomeRegistry, BCLEndBiomeSourceConfig config ) { - this(biomeRegistry, bclBiomeRegistry, 0, config, false); + this(0, config, false); } - private BCLibEndBiomeSource( - HolderGetter biomeRegistry, - HolderGetter bclBiomeRegistry, - long seed, - BCLEndBiomeSourceConfig config, - boolean initMaps - ) { - this(biomeRegistry, bclBiomeRegistry, null, seed, config, initMaps); - } private BCLibEndBiomeSource( - HolderGetter biomeRegistry, - HolderGetter bclBiomeRegistry, - List> list, long seed, BCLEndBiomeSourceConfig config, boolean initMaps diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/LevelGenUtil.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/LevelGenUtil.java index d062c096..7bb833ac 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/LevelGenUtil.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/LevelGenUtil.java @@ -49,7 +49,7 @@ public class LevelGenUtil { } public static LevelStem getBCLEndLevelStem(WorldGenUtil.Context context, BCLEndBiomeSourceConfig config) { - BCLibEndBiomeSource endSource = new BCLibEndBiomeSource(context.biomes, context.bclBiomes, config); + BCLibEndBiomeSource endSource = new BCLibEndBiomeSource(config); return new LevelStem( context.dimension, new BCLChunkGenerator( diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiome.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiome.java index 8873d44b..339799de 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiome.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiome.java @@ -320,7 +320,8 @@ public class BCLBiome implements BiomeData { subbiomes.add(this, 1.0f); if (acc == null) return subbiomes; - Registry reg = acc.registryOrThrow(BCLBiomeRegistry.BCL_BIOMES_REGISTRY); + Registry reg = acc.registry(BCLBiomeRegistry.BCL_BIOMES_REGISTRY).orElse(null); + if (reg == null) reg = BCLBiomeRegistry.BUILTIN_BCL_BIOMES; for (Map.Entry, BCLBiome> entry : reg.entrySet()) { BCLBiome b = entry.getValue(); diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeRegistry.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeRegistry.java index ba8e8bc0..46ff187d 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeRegistry.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeRegistry.java @@ -1,7 +1,6 @@ package org.betterx.bclib.api.v2.levelgen.biomes; import org.betterx.bclib.BCLib; -import org.betterx.datagen.bclib.worldgen.VanillaBCLBiomesDataProvider; import org.betterx.worlds.together.WorldsTogether; import org.betterx.worlds.together.world.event.WorldBootstrap; @@ -10,14 +9,18 @@ import com.mojang.serialization.Lifecycle; import net.minecraft.core.MappedRegistry; import net.minecraft.core.Registry; import net.minecraft.core.RegistryAccess; -import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.data.worldgen.BootstapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.KeyDispatchDataCodec; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biomes; +import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder; +import net.fabricmc.fabric.api.event.registry.RegistryAttribute; + import java.util.HashSet; +import java.util.Map; import java.util.Set; import java.util.stream.Stream; import org.jetbrains.annotations.ApiStatus; @@ -30,11 +33,11 @@ public class BCLBiomeRegistry { public static final ResourceKey>> BCL_BIOME_CODEC_REGISTRY = createRegistryKey(WorldsTogether.makeID("worldgen/betterx/biome_codec")); - public static Registry> BIOME_CODECS = BuiltInRegistries.registerSimple( - BCL_BIOME_CODEC_REGISTRY, - BCLBiomeRegistry::bootstrapCodecs - ); - public static Registry BUILTIN_BCL_BIOMES = new MappedRegistry<>( + public static Registry> BIOME_CODECS = FabricRegistryBuilder + .from(new MappedRegistry<>(BCL_BIOME_CODEC_REGISTRY, Lifecycle.stable())) + .attribute(RegistryAttribute.MODDED) + .buildAndRegister(); + public static MappedRegistry BUILTIN_BCL_BIOMES = new MappedRegistry<>( BCL_BIOMES_REGISTRY, Lifecycle.stable() ); @@ -185,17 +188,16 @@ public class BCLBiomeRegistry { } } - public static void ensureStaticallyLoaded() { - + @ApiStatus.Internal + public static void register() { + bootstrapCodecs(BIOME_CODECS); } - public static void prepareForDatagen() { - if (didCreate) return; - didCreate = true; - - BUILTIN_BCL_BIOMES = BuiltInRegistries.registerSimple( - BCL_BIOMES_REGISTRY, - VanillaBCLBiomesDataProvider::bootstrap - ); + @ApiStatus.Internal + public static void bootstrap(BootstapContext ctx) { + //copy from builtin + for (Map.Entry, BCLBiome> e : BUILTIN_BCL_BIOMES.entrySet()) { + ctx.register(e.getKey(), e.getValue()); + } } } diff --git a/src/main/java/org/betterx/bclib/api/v3/datagen/RegistrySupplier.java b/src/main/java/org/betterx/bclib/api/v3/datagen/RegistrySupplier.java index 5c6c93b6..26d5f23f 100644 --- a/src/main/java/org/betterx/bclib/api/v3/datagen/RegistrySupplier.java +++ b/src/main/java/org/betterx/bclib/api/v3/datagen/RegistrySupplier.java @@ -1,5 +1,7 @@ package org.betterx.bclib.api.v3.datagen; +import org.betterx.bclib.BCLib; + import com.mojang.serialization.Codec; import net.minecraft.core.Holder; import net.minecraft.core.HolderLookup; @@ -38,9 +40,7 @@ public abstract class RegistrySupplier { public void bootstrapRegistries(RegistrySetBuilder registryBuilder) { for (RegistrySupplier.RegistryInfo nfo : allRegistries) { - if (nfo.registryBootstrap != null) { - nfo.add(registryBuilder, BOOTSTRAP_LOCK); - } + nfo.add(registryBuilder, BOOTSTRAP_LOCK); } BOOTSTRAP_LOCK.release(); } @@ -213,8 +213,11 @@ public abstract class RegistrySupplier { } catch (InterruptedException e) { throw new RuntimeException(e); } + BCLib.LOGGER.info("Adding:" + key()); registryBuilder.add(key(), (BootstapContext ctx) -> { - registryBootstrap.run(ctx); + if (registryBootstrap != null) { + registryBootstrap.run(ctx); + } LOCK_BOOSTRAP.release(); }); } diff --git a/src/main/java/org/betterx/bclib/mixin/common/BuiltinRegistriesMixin.java b/src/main/java/org/betterx/bclib/mixin/common/BuiltinRegistriesMixin.java deleted file mode 100644 index e40cce99..00000000 --- a/src/main/java/org/betterx/bclib/mixin/common/BuiltinRegistriesMixin.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.betterx.bclib.mixin.common; - -import org.betterx.bclib.BCLib; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry; - -import com.mojang.serialization.Lifecycle; -import net.minecraft.core.Registry; -import net.minecraft.core.WritableRegistry; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceKey; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(BuiltInRegistries.class) -public abstract class BuiltinRegistriesMixin { - @Shadow - private static > R internalRegister( - ResourceKey> resourceKey, - R writableRegistry, - BuiltInRegistries.RegistryBootstrap registryBootstrap, - Lifecycle lifecycle - ) { - throw new RuntimeException("Shadowed"); - } - - //this needs to be added BEFORE the WORLD_PRESET-Registry. Otherwise decoding will fail! - @Inject(method = "", at = @At(value = "INVOKE", ordinal = 0, target = "Lnet/minecraft/core/registries/BuiltInRegistries;registerSimple(Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/core/registries/BuiltInRegistries$RegistryBootstrap;)Lnet/minecraft/core/Registry;")) - private static void bcl_registerBuiltin(CallbackInfo ci) { - BCLBiomeRegistry.ensureStaticallyLoaded(); - if (BCLib.isDatagen()) { -// BCLBiomeRegistry.BUILTIN_BCL_BIOMES = internalRegister( -// BCLBiomeRegistry.BCL_BIOMES_REGISTRY, -// BCLBiomeRegistry.BUILTIN_BCL_BIOMES, -// BCLBiomeRegistry::bootstrap, -// Lifecycle.stable() -// ); - } - } -} diff --git a/src/main/java/org/betterx/bclib/mixin/common/RegistryDataLoaderMixin.java b/src/main/java/org/betterx/bclib/mixin/common/RegistryDataLoaderMixin.java index d1be6b53..90ae3e8b 100644 --- a/src/main/java/org/betterx/bclib/mixin/common/RegistryDataLoaderMixin.java +++ b/src/main/java/org/betterx/bclib/mixin/common/RegistryDataLoaderMixin.java @@ -25,6 +25,7 @@ public class RegistryDataLoaderMixin { @Inject(method = "", at = @At("TAIL")) private static void wt_init(CallbackInfo ci) { + //we need this to ensure, that the BCL-Biome Registry is loaded at the correct time List> enhanced = new ArrayList(RegistryDataLoader.WORLDGEN_REGISTRIES.size() + 1); enhanced.addAll(RegistryDataLoader.WORLDGEN_REGISTRIES); enhanced.add(new RegistryDataLoader.RegistryData<>( diff --git a/src/main/java/org/betterx/datagen/bclib/BCLRegistrySupplier.java b/src/main/java/org/betterx/datagen/bclib/BCLRegistrySupplier.java index 8bd6956c..a5718ac5 100644 --- a/src/main/java/org/betterx/datagen/bclib/BCLRegistrySupplier.java +++ b/src/main/java/org/betterx/datagen/bclib/BCLRegistrySupplier.java @@ -10,6 +10,7 @@ import org.betterx.datagen.bclib.tests.TestConfiguredFeatures; import org.betterx.datagen.bclib.tests.TestPlacedFeatures; import org.betterx.datagen.bclib.tests.TestStructure; import org.betterx.datagen.bclib.worldgen.NoiseTypesDataProvider; +import org.betterx.datagen.bclib.worldgen.VanillaBCLBiomesDataProvider; import org.betterx.worlds.together.WorldsTogether; import org.betterx.worlds.together.surfaceRules.AssignedSurfaceRule; import org.betterx.worlds.together.surfaceRules.SurfaceRuleRegistry; @@ -40,7 +41,11 @@ public class BCLRegistrySupplier extends RegistrySupplier { protected List> initializeRegistryList(@Nullable List modIDs) { InfoList registries = new InfoList(); - registries.addUnfiltered(BCLBiomeRegistry.BCL_BIOMES_REGISTRY, BiomeData.CODEC); + registries.addUnfiltered( + BCLBiomeRegistry.BCL_BIOMES_REGISTRY, + BiomeData.CODEC, + VanillaBCLBiomesDataProvider::bootstrap + ); registries.addUnfiltered(SurfaceRuleRegistry.SURFACE_RULES_REGISTRY, AssignedSurfaceRule.CODEC); if (BCLibDatagen.ADD_TESTS) { diff --git a/src/main/java/org/betterx/datagen/bclib/BCLibDatagen.java b/src/main/java/org/betterx/datagen/bclib/BCLibDatagen.java index 04ebd520..7a8eed1f 100644 --- a/src/main/java/org/betterx/datagen/bclib/BCLibDatagen.java +++ b/src/main/java/org/betterx/datagen/bclib/BCLibDatagen.java @@ -6,7 +6,6 @@ import org.betterx.datagen.bclib.preset.WorldPresetDataProvider; import org.betterx.datagen.bclib.tests.TestBiomes; import org.betterx.datagen.bclib.tests.TestWorldgenProvider; import org.betterx.datagen.bclib.worldgen.BCLibRegistriesDataProvider; -import org.betterx.datagen.bclib.worldgen.VanillaBCLBiomesDataProvider; import net.minecraft.core.RegistrySetBuilder; @@ -19,8 +18,6 @@ public class BCLibDatagen implements DataGeneratorEntrypoint { @Override public void onInitializeDataGenerator(FabricDataGenerator dataGenerator) { BCLib.LOGGER.info("Bootstrap onInitializeDataGenerator"); - VanillaBCLBiomesDataProvider.create(); - final FabricDataGenerator.Pack pack = dataGenerator.createPack(); if (ADD_TESTS) { diff --git a/src/main/java/org/betterx/datagen/bclib/preset/WorldPresetDataProvider.java b/src/main/java/org/betterx/datagen/bclib/preset/WorldPresetDataProvider.java index 880f4a5e..1150c49b 100644 --- a/src/main/java/org/betterx/datagen/bclib/preset/WorldPresetDataProvider.java +++ b/src/main/java/org/betterx/datagen/bclib/preset/WorldPresetDataProvider.java @@ -66,8 +66,6 @@ public class WorldPresetDataProvider extends FabricTagProvider { .getOrThrow(NoiseGeneratorSettings.AMPLIFIED); WorldGenUtil.Context amplifiedNetherContext = new WorldGenUtil.Context( - ctx.netherContext.biomes, - ctx.netherContext.bclBiomes, ctx.netherContext.dimension, ctx.netherContext.structureSets, ctx.noiseSettings.getOrThrow(BCLChunkGenerator.AMPLIFIED_NETHER) diff --git a/src/main/java/org/betterx/datagen/bclib/worldgen/VanillaBCLBiomesDataProvider.java b/src/main/java/org/betterx/datagen/bclib/worldgen/VanillaBCLBiomesDataProvider.java index 62397579..b18b362d 100644 --- a/src/main/java/org/betterx/datagen/bclib/worldgen/VanillaBCLBiomesDataProvider.java +++ b/src/main/java/org/betterx/datagen/bclib/worldgen/VanillaBCLBiomesDataProvider.java @@ -4,51 +4,35 @@ import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry; import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import net.minecraft.core.Registry; +import net.minecraft.data.worldgen.BootstapContext; public class VanillaBCLBiomesDataProvider { - private static boolean didBootstrap = false; - - public static void create() { - BCLBiomeRegistry.prepareForDatagen(); - bootstrap(BCLBiomeRegistry.BUILTIN_BCL_BIOMES); - } - - public static BCLBiome bootstrap(Registry reg) { - if (didBootstrap) return BCLBiomeRegistry.EMPTY_BIOME; - didBootstrap = true; - - - Registry.register(reg, BiomeAPI.SMALL_END_ISLANDS.getBCLBiomeKey(), BiomeAPI.SMALL_END_ISLANDS); - Registry.register(reg, BiomeAPI.END_BARRENS.getBCLBiomeKey(), BiomeAPI.END_BARRENS); - Registry.register(reg, BiomeAPI.END_HIGHLANDS.getBCLBiomeKey(), BiomeAPI.END_HIGHLANDS); - Registry.register(reg, BiomeAPI.END_MIDLANDS.getBCLBiomeKey(), BiomeAPI.END_MIDLANDS); - Registry.register(reg, BiomeAPI.THE_END.getBCLBiomeKey(), BiomeAPI.THE_END); - Registry.register( - reg, + public static void bootstrap(BootstapContext ctx) { + ctx.register(BiomeAPI.SMALL_END_ISLANDS.getBCLBiomeKey(), BiomeAPI.SMALL_END_ISLANDS); + ctx.register(BiomeAPI.END_BARRENS.getBCLBiomeKey(), BiomeAPI.END_BARRENS); + ctx.register(BiomeAPI.END_HIGHLANDS.getBCLBiomeKey(), BiomeAPI.END_HIGHLANDS); + ctx.register(BiomeAPI.END_MIDLANDS.getBCLBiomeKey(), BiomeAPI.END_MIDLANDS); + ctx.register(BiomeAPI.THE_END.getBCLBiomeKey(), BiomeAPI.THE_END); + ctx.register( BiomeAPI.BASALT_DELTAS_BIOME.getBCLBiomeKey(), BiomeAPI.BASALT_DELTAS_BIOME ); - Registry.register( - reg, + ctx.register( BiomeAPI.SOUL_SAND_VALLEY_BIOME.getBCLBiomeKey(), BiomeAPI.SOUL_SAND_VALLEY_BIOME ); - Registry.register( - reg, + ctx.register( BiomeAPI.WARPED_FOREST_BIOME.getBCLBiomeKey(), BiomeAPI.WARPED_FOREST_BIOME ); - Registry.register( - reg, + ctx.register( BiomeAPI.CRIMSON_FOREST_BIOME.getBCLBiomeKey(), BiomeAPI.CRIMSON_FOREST_BIOME ); - Registry.register( - reg, + ctx.register( BiomeAPI.NETHER_WASTES_BIOME.getBCLBiomeKey(), BiomeAPI.NETHER_WASTES_BIOME ); - return Registry.register(reg, BCLBiomeRegistry.EMPTY_BIOME.getBCLBiomeKey(), BCLBiomeRegistry.EMPTY_BIOME); + ctx.register(BCLBiomeRegistry.EMPTY_BIOME.getBCLBiomeKey(), BCLBiomeRegistry.EMPTY_BIOME); } } diff --git a/src/main/java/org/betterx/worlds/together/levelgen/WorldGenUtil.java b/src/main/java/org/betterx/worlds/together/levelgen/WorldGenUtil.java index a59b80af..ae787752 100644 --- a/src/main/java/org/betterx/worlds/together/levelgen/WorldGenUtil.java +++ b/src/main/java/org/betterx/worlds/together/levelgen/WorldGenUtil.java @@ -1,6 +1,5 @@ package org.betterx.worlds.together.levelgen; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; import org.betterx.worlds.together.WorldsTogether; import org.betterx.worlds.together.biomesource.BiomeSourceWithConfig; import org.betterx.worlds.together.biomesource.ReloadableBiomeSource; @@ -100,19 +99,14 @@ public class WorldGenUtil { } public static class Context extends StemContext { - public final HolderGetter biomes; - public final HolderGetter bclBiomes; + public Context( - HolderGetter biomes, - HolderGetter bclBiomes, Holder dimension, HolderGetter structureSets, Holder generatorSettings ) { super(dimension, structureSets, generatorSettings); - this.biomes = biomes; - this.bclBiomes = bclBiomes; } } diff --git a/src/main/java/org/betterx/worlds/together/mixin/common/VanillaRegistriesMixin.java b/src/main/java/org/betterx/worlds/together/mixin/common/VanillaRegistriesMixin.java index 9ebacc7b..f4e11677 100644 --- a/src/main/java/org/betterx/worlds/together/mixin/common/VanillaRegistriesMixin.java +++ b/src/main/java/org/betterx/worlds/together/mixin/common/VanillaRegistriesMixin.java @@ -1,5 +1,6 @@ package org.betterx.worlds.together.mixin.common; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry; import org.betterx.worlds.together.surfaceRules.SurfaceRuleRegistry; import net.minecraft.core.RegistrySetBuilder; @@ -20,6 +21,11 @@ public class VanillaRegistriesMixin { @Inject(method = "", at = @At(value = "TAIL")) private static void together_registerSurface(CallbackInfo ci) { + BUILDER.add( + BCLBiomeRegistry.BCL_BIOMES_REGISTRY, + BCLBiomeRegistry::bootstrap + ); + BUILDER.add( SurfaceRuleRegistry.SURFACE_RULES_REGISTRY, SurfaceRuleRegistry::bootstrap diff --git a/src/main/java/org/betterx/worlds/together/worldPreset/WorldPresets.java b/src/main/java/org/betterx/worlds/together/worldPreset/WorldPresets.java index fb418da6..08e68141 100644 --- a/src/main/java/org/betterx/worlds/together/worldPreset/WorldPresets.java +++ b/src/main/java/org/betterx/worlds/together/worldPreset/WorldPresets.java @@ -115,16 +115,12 @@ public class WorldPresets { HolderGetter bclBiomes = bootstapContext.lookup(BCLBiomeRegistry.BCL_BIOMES_REGISTRY); this.netherContext = new WorldGenUtil.Context( - this.biomes, - bclBiomes, this.netherStem.type(), this.structureSets, netherSettings ); this.endContext = new WorldGenUtil.Context( - this.biomes, - bclBiomes, this.endStem.type(), this.structureSets, endSettings diff --git a/src/main/resources/bclib.mixins.common.json b/src/main/resources/bclib.mixins.common.json index 36ce354f..0f893020 100644 --- a/src/main/resources/bclib.mixins.common.json +++ b/src/main/resources/bclib.mixins.common.json @@ -10,7 +10,6 @@ "BiomeMixin", "BiomeSourceMixin", "BoneMealItemMixin", - "BuiltinRegistriesMixin", "ChunkGeneratorAccessor", "ChunkGeneratorMixin", "ChunkGeneratorsMixin",