Minor changes for BetterEnd
This commit is contained in:
parent
b6875f2c11
commit
38800dd38b
2 changed files with 39 additions and 12 deletions
|
@ -1,5 +1,10 @@
|
|||
package ru.bclib.api.biomes;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
|
||||
import net.minecraft.core.particles.ParticleOptions;
|
||||
import net.minecraft.data.BuiltinRegistries;
|
||||
|
@ -34,11 +39,6 @@ import ru.bclib.world.biomes.BCLBiome;
|
|||
import ru.bclib.world.features.BCLFeature;
|
||||
import ru.bclib.world.structures.BCLStructureFeature;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class BCLBiomeBuilder {
|
||||
private static final BCLBiomeBuilder INSTANCE = new BCLBiomeBuilder();
|
||||
private static final SurfaceRules.ConditionSource SURFACE_NOISE = SurfaceRules.noiseCondition(Noises.SOUL_SAND_LAYER, -0.012);
|
||||
|
@ -53,6 +53,7 @@ public class BCLBiomeBuilder {
|
|||
private BiomeCategory category;
|
||||
private float temperature;
|
||||
private float fogDensity;
|
||||
private float genChance;
|
||||
private float downfall;
|
||||
|
||||
/**
|
||||
|
@ -71,6 +72,7 @@ public class BCLBiomeBuilder {
|
|||
INSTANCE.temperature = 1.0F;
|
||||
INSTANCE.fogDensity = 1.0F;
|
||||
INSTANCE.downfall = 1.0F;
|
||||
INSTANCE.genChance = 1.0F;
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
|
@ -195,6 +197,16 @@ public class BCLBiomeBuilder {
|
|||
this.fogDensity = density;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets generation chance for this biome.
|
||||
* @param genChance
|
||||
* @return same {@link BCLBiomeBuilder}.
|
||||
*/
|
||||
public BCLBiomeBuilder genChance(float genChance) {
|
||||
this.genChance = genChance;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets water color for the biome. Color is in ARGB int format.
|
||||
|
@ -510,6 +522,18 @@ public class BCLBiomeBuilder {
|
|||
.subsurface(subterrainBlock.defaultBlockState(), depth)
|
||||
.build());
|
||||
}
|
||||
|
||||
public BCLBiomeBuilder chancedSurface(SurfaceRules.RuleSource surfaceBlockA, SurfaceRules.RuleSource surfaceBlockB, SurfaceRules.RuleSource underBlock){
|
||||
return surface(SurfaceRules.sequence(
|
||||
SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR,
|
||||
SurfaceRules.sequence(
|
||||
SurfaceRules.ifTrue(SurfaceRules.noiseCondition(Noises.SURFACE, -0.1818, 0.1818), surfaceBlockA),
|
||||
surfaceBlockB
|
||||
)
|
||||
),
|
||||
underBlock
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds surface rule to this biome.
|
||||
|
@ -541,7 +565,7 @@ public class BCLBiomeBuilder {
|
|||
.temperature(temperature)
|
||||
.downfall(downfall);
|
||||
|
||||
if (spawnSettings != null) {
|
||||
if (getSpawns() != null) {
|
||||
builder.mobSpawnSettings(spawnSettings.build());
|
||||
}
|
||||
|
||||
|
@ -557,6 +581,7 @@ public class BCLBiomeBuilder {
|
|||
res.attachStructures(structures);
|
||||
res.setSurface(surfaceRule);
|
||||
res.setFogDensity(fogDensity);
|
||||
res.setGenChance(genChance);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,15 @@
|
|||
package ru.bclib.world.biomes;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.data.BuiltinRegistries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
|
@ -10,15 +18,9 @@ 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;
|
||||
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();
|
||||
private final WeightedList<BCLBiome> subbiomes = new WeightedList<>();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue