Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib

This commit is contained in:
Frank 2021-12-04 13:36:52 +01:00
commit 1841bad98f
3 changed files with 11 additions and 11 deletions

View file

@ -8,6 +8,7 @@ import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.levelgen.SurfaceRules;
import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource;
import net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature;
import org.jetbrains.annotations.Nullable;
import ru.bclib.api.biomes.BiomeAPI;
@ -16,6 +17,7 @@ import ru.bclib.util.WeightedList;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.function.Consumer;
public class BCLBiome {
private final List<ConfiguredStructureFeature> structures = Lists.newArrayList();
@ -24,7 +26,7 @@ public class BCLBiome {
private final ResourceLocation biomeID;
private final Biome biome;
private SurfaceRules.RuleSource surface;
private Consumer<Biome> surfaceInit;
private BCLBiome biomeParent;
private Biome actualBiome;
private BCLBiome edge;
@ -229,9 +231,8 @@ public class BCLBiome {
structures.forEach(s -> BiomeAPI.addBiomeStructure(BiomeAPI.getBiomeKey(actualBiome), s));
}
if (this.surface!=null){
ResourceKey key = BiomeAPI.getBiomeKey(actualBiome);
BiomeAPI.addSurfaceRule(biomeID, SurfaceRules.ifTrue(SurfaceRules.isBiome(key), surface));
if (this.surfaceInit != null) {
surfaceInit.accept(actualBiome);
}
}
@ -317,7 +318,10 @@ public class BCLBiome {
* Sets biome surface rule.
* @param surface {@link SurfaceRules.RuleSource} rule.
*/
public void setSurface(SurfaceRules.RuleSource surface) {
this.surface = surface;
public void setSurface(RuleSource surface) {
this.surfaceInit = (actualBiome) -> {
ResourceKey key = BiomeAPI.getBiomeKey(actualBiome);
BiomeAPI.addSurfaceRule(biomeID, SurfaceRules.ifTrue(SurfaceRules.isBiome(key), surface));
};
}
}