diff --git a/src/main/java/org/betterx/bclib/mixin/common/MinecraftServerMixinLate.java b/src/main/java/org/betterx/bclib/mixin/common/MinecraftServerMixinLate.java index 2d9dab7b..4c18a1b9 100644 --- a/src/main/java/org/betterx/bclib/mixin/common/MinecraftServerMixinLate.java +++ b/src/main/java/org/betterx/bclib/mixin/common/MinecraftServerMixinLate.java @@ -20,7 +20,7 @@ import java.net.Proxy; @Mixin(value = MinecraftServer.class, priority = 2000) public class MinecraftServerMixinLate { @Inject(at = @At("RETURN"), method = "") - private void appendGlobalFeatures( + private void bcl_restoreBiomeSource( Thread thread, LevelStorageSource.LevelStorageAccess levelStorageAccess, PackRepository packRepository, diff --git a/src/main/java/org/betterx/bclib/presets/worldgen/BCLWorldPresetSettings.java b/src/main/java/org/betterx/bclib/presets/worldgen/BCLWorldPresetSettings.java index 2ccbb307..a9b5c435 100644 --- a/src/main/java/org/betterx/bclib/presets/worldgen/BCLWorldPresetSettings.java +++ b/src/main/java/org/betterx/bclib/presets/worldgen/BCLWorldPresetSettings.java @@ -8,10 +8,9 @@ import org.betterx.bclib.api.v2.levelgen.LevelGenUtil; import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI; import org.betterx.bclib.interfaces.ChunkGeneratorAccessor; import org.betterx.bclib.interfaces.NoiseGeneratorSettingsProvider; -import org.betterx.worlds.together.surfaceRules.SurfaceRuleRegistry; -import org.betterx.worlds.together.surfaceRules.SurfaceRuleUtil; import org.betterx.worlds.together.world.WorldGenUtil; import org.betterx.worlds.together.worldPreset.TogetherWorldPreset; +import org.betterx.worlds.together.worldPreset.settings.VanillaWorldPresetSettings; import org.betterx.worlds.together.worldPreset.settings.WorldPresetSettings; import com.mojang.serialization.Codec; @@ -135,16 +134,15 @@ public class BCLWorldPresetSettings extends WorldPresetSettings { @Override public void injectSurfaceRules(RegistryAccess registryAccess, WorldGenSettings settings) { - //END and NETHER are handled in #repairSettingsOnLoad - SurfaceRuleUtil.injectSurfaceRules(settings, SurfaceRuleRegistry.NON_MANAGED_DIMENSIONS); + VanillaWorldPresetSettings.DEFAULT.injectSurfaceRules(registryAccess, settings); } - private static Holder injectSurfaceRules( + private static Holder buildGeneratorSettings( Holder reference, Holder settings, BiomeSource biomeSource ) { - SurfaceRuleUtil.injectSurfaceRules(settings.value(), biomeSource); + //SurfaceRuleUtil.injectSurfaceRules(settings.value(), biomeSource); return settings; // NoiseGeneratorSettings old = settings.value(); // NoiseGeneratorSettings noise = new NoiseGeneratorSettings( @@ -216,7 +214,7 @@ public class BCLWorldPresetSettings extends WorldPresetSettings { generator.bclib_getStructureSetsRegistry(), noiseProvider.bclib_getNoises(), bs, - injectSurfaceRules( + buildGeneratorSettings( referenceProvider.bclib_getNoiseGeneratorSettingHolders(), noiseProvider.bclib_getNoiseGeneratorSettingHolders(), bs @@ -233,9 +231,9 @@ public class BCLWorldPresetSettings extends WorldPresetSettings { settings, referenceGenerator ); - } else { + }/* else { SurfaceRuleUtil.injectSurfaceRules(dimensionKey, loadedChunkGenerator); - } + }*/ return settings; } diff --git a/src/main/java/org/betterx/worlds/together/mixin/common/MinecraftServerMixin.java b/src/main/java/org/betterx/worlds/together/mixin/common/MinecraftServerMixin.java index 3d51e5b7..4db83afe 100644 --- a/src/main/java/org/betterx/worlds/together/mixin/common/MinecraftServerMixin.java +++ b/src/main/java/org/betterx/worlds/together/mixin/common/MinecraftServerMixin.java @@ -18,7 +18,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * We need a hook here to alter surface rules after Fabric did add its biomes * in {@link net.fabricmc.fabric.mixin.biome.MixinMinecraftServer} */ -@Mixin(value = MinecraftServer.class, priority = 500) +@Mixin(value = MinecraftServer.class, priority = 2000) public class MinecraftServerMixin { @Shadow @Final @@ -27,7 +27,7 @@ public class MinecraftServerMixin { @Final protected WorldData worldData; - @Inject(method = "createLevels", at = @At("HEAD")) + @Inject(method = "createLevels", at = @At(value = "HEAD")) private void together_addSurfaceRules(ChunkProgressListener worldGenerationProgressListener, CallbackInfo ci) { WorldGenUtil.getWorldSettings().injectSurfaceRules(registryHolder, this.worldData.worldGenSettings()); } diff --git a/src/main/resources/together.mixins.common.json b/src/main/resources/together.mixins.common.json index f01d0312..2fdb1e7c 100644 --- a/src/main/resources/together.mixins.common.json +++ b/src/main/resources/together.mixins.common.json @@ -7,6 +7,7 @@ "BuiltinRegistriesMixin", "DiggerItemAccessor", "MainMixin", + "MinecraftServerMixin", "NoiseGeneratorSettingsMixin", "PrimaryLevelDataMixin", "RegistryAccessMixin",