diff --git a/src/main/java/ru/bclib/api/biomes/BCLBiomeBuilder.java b/src/main/java/ru/bclib/api/biomes/BCLBiomeBuilder.java index 5caab751..87b18ddc 100644 --- a/src/main/java/ru/bclib/api/biomes/BCLBiomeBuilder.java +++ b/src/main/java/ru/bclib/api/biomes/BCLBiomeBuilder.java @@ -688,24 +688,7 @@ public class BCLBiomeBuilder { builder.mobSpawnSettings(getSpawns().build()); builder.specialEffects(getEffects().build()); - Map>> defferedFeatures = Maps.newHashMap(); - BiomeGenerationSettingsAccessor acc = BiomeGenerationSettingsAccessor.class.cast(getGeneration().build()); - if (acc != null) { - builder.generationSettings(fixGenerationSettings(new BiomeGenerationSettings.Builder().build())); - List> decorations = acc.bclib_getFeatures(); - for (Decoration d : Decoration.values()) { - int i = d.ordinal(); - if (i>=0 && i features = decorations.get(i); - defferedFeatures.put(d, features.stream().collect(Collectors.toList())); - } else { - defferedFeatures.put(d, Lists.newArrayList()); - } - - } - } else { - builder.generationSettings(fixGenerationSettings(getGeneration().build())); - } + builder.generationSettings(fixGenerationSettings(getGeneration().build())); BCLBiomeSettings settings = BCLBiomeSettings.createBCL() .setTerrainHeight(height) @@ -720,7 +703,6 @@ public class BCLBiomeBuilder { final T res = biomeConstructor.apply(biomeID, biome, settings); res.attachStructures(structureTags); res.setSurface(surfaceRule); - res.setFeatures(defferedFeatures); //carvers.forEach(cfg -> BiomeAPI.addBiomeCarver(biome, cfg.second, cfg.first)); return res; diff --git a/src/main/java/ru/bclib/api/biomes/BiomeAPI.java b/src/main/java/ru/bclib/api/biomes/BiomeAPI.java index 878e414a..9303d4a5 100644 --- a/src/main/java/ru/bclib/api/biomes/BiomeAPI.java +++ b/src/main/java/ru/bclib/api/biomes/BiomeAPI.java @@ -504,9 +504,9 @@ public class BiomeAPI { final BiomeSource source = chunkGenerator.getBiomeSource(); final Set> biomes = source.possibleBiomes(); - //TODO: 1.18.2 Is this stilla valid way to determine the correct noiseGeneratorSettings for the level? - - final Registry structureSetRegistry; + if (chunkGenerator instanceof NoiseGeneratorSettingsProvider gen) + noiseGeneratorSettings = gen.bclib_getNoiseGeneratorSettings(); + /*final Registry structureSetRegistry; if (chunkGenerator instanceof ChunkGeneratorAccessor acc) { structureSetRegistry = acc.bclib_getStructureSetsRegistry(); } else { @@ -524,7 +524,7 @@ public class BiomeAPI { .filter(gen-> structureSetRegistry!=null && (gen instanceof NoiseGeneratorSettingsProvider) && (gen instanceof ChunkGeneratorAccessor) && ((ChunkGeneratorAccessor)gen).bclib_getStructureSetsRegistry()==structureSetRegistry) .map(gen->((NoiseGeneratorSettingsProvider)gen).bclib_getNoiseGeneratorSettings()) .findFirst() - .orElse(null); + .orElse(null);*/ // Datapacks (like Amplified Nether)will change the GeneratorSettings upon load, so we will @@ -568,11 +568,6 @@ public class BiomeAPI { }); } - final BCLBiome bclBiome = BiomeAPI.getBiome(biome); - if (bclBiome != null) { - addStepFeaturesToBiome(biome, bclBiome.getFeatures()); - } - sortBiomeFeatures(biome); } @@ -675,20 +670,6 @@ public class BiomeAPI { accessor.bclib_setFlowerFeatures(flowerFeatures); } - /** - * For internal use only! - * - * Adds new features to existing biome. Called from {@link #applyModificationsAndUpdateFeatures(List, Holder)}} when the Biome is - * present in any {@link BiomeSource} - * @param biome {@link Biome} to add features in. - * @param featureMap Map of {@link ConfiguredFeature} to add. - */ - private static void addStepFeaturesToBiome(Holder biome, Map>> featureMap) { - for (Decoration step: featureMap.keySet()) { - addBiomeFeature(biome, step, featureMap.get(step)); - } - } - /** * Adds new carver into existing biome. * @param biome {@link Biome} to add carver in. diff --git a/src/main/java/ru/bclib/mixin/common/NoiseGeneratorSettingsMixin.java b/src/main/java/ru/bclib/mixin/common/NoiseGeneratorSettingsMixin.java index da9a6a4a..ad9d921d 100644 --- a/src/main/java/ru/bclib/mixin/common/NoiseGeneratorSettingsMixin.java +++ b/src/main/java/ru/bclib/mixin/common/NoiseGeneratorSettingsMixin.java @@ -26,14 +26,14 @@ public class NoiseGeneratorSettingsMixin implements SurfaceRuleProvider { private SurfaceRules.RuleSource bclib_originalSurfaceRule; private Set bclib_biomeSources = new HashSet<>(); - private void bclib_updateCutomRules(){ + private void bclib_updateCustomRules(){ bclib_setCustomRules(BiomeAPI.getRuleSources(bclib_biomeSources)); } @Override public void bclib_addBiomeSource(BiomeSource source) { bclib_biomeSources.add(source); - bclib_updateCutomRules(); + bclib_updateCustomRules(); } @Override diff --git a/src/main/java/ru/bclib/world/biomes/BCLBiome.java b/src/main/java/ru/bclib/world/biomes/BCLBiome.java index 1100c561..840c6888 100644 --- a/src/main/java/ru/bclib/world/biomes/BCLBiome.java +++ b/src/main/java/ru/bclib/world/biomes/BCLBiome.java @@ -306,25 +306,7 @@ public class BCLBiome extends BCLBiomeSettings { } }; } - - private Map>> features = Maps.newHashMap(); - - /** - * Sets the biome features. - * @param features the feature list. - */ - public void setFeatures(Map>> features) { - this.features = features; - } - - /** - * Returns the built-in set of Features for this biome (as they were set with {@link #setFeatures(Map)}) - * @return List of all features - */ - public Map>> getFeatures(){ - return features; - } - + /** * Returns the group used in the config Files for this biome *