From 3bc201833380c06cfdc8bbe709126db9a9813d74 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 25 May 2022 14:03:04 +0200 Subject: [PATCH] Moved memeber --- .../bclib/api/worldgen/SurfaceRuleUtil.java | 14 ++++++++++++++ .../betterx/bclib/api/worldgen/WorldGenUtil.java | 16 ---------------- .../presets/worldgen/BCLWorldPresetSettings.java | 3 ++- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/betterx/bclib/api/worldgen/SurfaceRuleUtil.java b/src/main/java/org/betterx/bclib/api/worldgen/SurfaceRuleUtil.java index 4fa1f75b..ef12fd41 100644 --- a/src/main/java/org/betterx/bclib/api/worldgen/SurfaceRuleUtil.java +++ b/src/main/java/org/betterx/bclib/api/worldgen/SurfaceRuleUtil.java @@ -8,6 +8,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.BiomeSource; +import net.minecraft.world.level.levelgen.SurfaceRules; import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource; import org.betterx.bclib.api.biomes.BiomeAPI; import org.betterx.bclib.mixin.common.NoiseGeneratorSettingsMixin; @@ -73,4 +74,17 @@ public class SurfaceRuleUtil { SURFACE_RULES.put(biomeID, source); //NOISE_GENERATOR_SETTINGS.forEach(BiomeAPI::changeSurfaceRulesForGenerator); } + + public static RuleSource addRulesForBiomeSource(RuleSource org, BiomeSource biomeSource) { + List additionalRules = getRuleSources(biomeSource); + if (org instanceof SurfaceRules.SequenceRuleSource sequenceRule) { + List existingSequence = sequenceRule.sequence(); + additionalRules = additionalRules.stream().filter(r -> existingSequence.indexOf(r) < 0).collect(Collectors.toList()); + additionalRules.addAll(sequenceRule.sequence()); + } else { + additionalRules.add(org); + } + + return SurfaceRules.sequence(additionalRules.toArray(new RuleSource[additionalRules.size()])); + } } diff --git a/src/main/java/org/betterx/bclib/api/worldgen/WorldGenUtil.java b/src/main/java/org/betterx/bclib/api/worldgen/WorldGenUtil.java index 45eb8e37..061ff5ff 100644 --- a/src/main/java/org/betterx/bclib/api/worldgen/WorldGenUtil.java +++ b/src/main/java/org/betterx/bclib/api/worldgen/WorldGenUtil.java @@ -16,8 +16,6 @@ import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.dimension.DimensionType; import net.minecraft.world.level.dimension.LevelStem; import net.minecraft.world.level.levelgen.NoiseGeneratorSettings; -import net.minecraft.world.level.levelgen.SurfaceRules; -import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource; import net.minecraft.world.level.levelgen.WorldGenSettings; import net.minecraft.world.level.levelgen.presets.WorldPreset; import net.minecraft.world.level.levelgen.structure.StructureSet; @@ -37,10 +35,8 @@ import org.betterx.bclib.world.generator.BCLBiomeSource; import org.betterx.bclib.world.generator.BCLibEndBiomeSource; import org.betterx.bclib.world.generator.BCLibNetherBiomeSource; -import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.stream.Collectors; import org.jetbrains.annotations.NotNull; @@ -388,16 +384,4 @@ public class WorldGenUtil { } } - public static RuleSource addRulesForBiomeSource(RuleSource org, BiomeSource biomeSource) { - List additionalRules = SurfaceRuleUtil.getRuleSources(biomeSource); - if (org instanceof SurfaceRules.SequenceRuleSource sequenceRule) { - List existingSequence = sequenceRule.sequence(); - additionalRules = additionalRules.stream().filter(r -> existingSequence.indexOf(r) < 0).collect(Collectors.toList()); - additionalRules.addAll(sequenceRule.sequence()); - } else { - additionalRules.add(org); - } - - return SurfaceRules.sequence(additionalRules.toArray(new RuleSource[additionalRules.size()])); - } } 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 c90c6bee..825fc633 100644 --- a/src/main/java/org/betterx/bclib/presets/worldgen/BCLWorldPresetSettings.java +++ b/src/main/java/org/betterx/bclib/presets/worldgen/BCLWorldPresetSettings.java @@ -16,6 +16,7 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import org.betterx.bclib.BCLib; import org.betterx.bclib.api.worldgen.BCLChunkGenerator; +import org.betterx.bclib.api.worldgen.SurfaceRuleUtil; import org.betterx.bclib.api.worldgen.WorldGenUtil; import org.betterx.bclib.interfaces.ChunkGeneratorAccessor; import org.betterx.bclib.interfaces.NoiseGeneratorSettingsProvider; @@ -114,7 +115,7 @@ public class BCLWorldPresetSettings extends WorldPresetSettings { old.defaultBlock(), old.defaultFluid(), old.noiseRouter(), - WorldGenUtil.addRulesForBiomeSource(old.surfaceRule(), biomeSource), + SurfaceRuleUtil.addRulesForBiomeSource(old.surfaceRule(), biomeSource), old.spawnTarget(), old.seaLevel(), old.disableMobGeneration(),