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;
|
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.fabricmc.fabric.api.biome.v1.BiomeModifications;
|
||||||
import net.minecraft.core.particles.ParticleOptions;
|
import net.minecraft.core.particles.ParticleOptions;
|
||||||
import net.minecraft.data.BuiltinRegistries;
|
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.features.BCLFeature;
|
||||||
import ru.bclib.world.structures.BCLStructureFeature;
|
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 {
|
public class BCLBiomeBuilder {
|
||||||
private static final BCLBiomeBuilder INSTANCE = new BCLBiomeBuilder();
|
private static final BCLBiomeBuilder INSTANCE = new BCLBiomeBuilder();
|
||||||
private static final SurfaceRules.ConditionSource SURFACE_NOISE = SurfaceRules.noiseCondition(Noises.SOUL_SAND_LAYER, -0.012);
|
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 BiomeCategory category;
|
||||||
private float temperature;
|
private float temperature;
|
||||||
private float fogDensity;
|
private float fogDensity;
|
||||||
|
private float genChance;
|
||||||
private float downfall;
|
private float downfall;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -71,6 +72,7 @@ public class BCLBiomeBuilder {
|
||||||
INSTANCE.temperature = 1.0F;
|
INSTANCE.temperature = 1.0F;
|
||||||
INSTANCE.fogDensity = 1.0F;
|
INSTANCE.fogDensity = 1.0F;
|
||||||
INSTANCE.downfall = 1.0F;
|
INSTANCE.downfall = 1.0F;
|
||||||
|
INSTANCE.genChance = 1.0F;
|
||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,6 +197,16 @@ public class BCLBiomeBuilder {
|
||||||
this.fogDensity = density;
|
this.fogDensity = density;
|
||||||
return this;
|
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.
|
* Sets water color for the biome. Color is in ARGB int format.
|
||||||
|
@ -510,6 +522,18 @@ public class BCLBiomeBuilder {
|
||||||
.subsurface(subterrainBlock.defaultBlockState(), depth)
|
.subsurface(subterrainBlock.defaultBlockState(), depth)
|
||||||
.build());
|
.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.
|
* Adds surface rule to this biome.
|
||||||
|
@ -541,7 +565,7 @@ public class BCLBiomeBuilder {
|
||||||
.temperature(temperature)
|
.temperature(temperature)
|
||||||
.downfall(downfall);
|
.downfall(downfall);
|
||||||
|
|
||||||
if (spawnSettings != null) {
|
if (getSpawns() != null) {
|
||||||
builder.mobSpawnSettings(spawnSettings.build());
|
builder.mobSpawnSettings(spawnSettings.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -557,6 +581,7 @@ public class BCLBiomeBuilder {
|
||||||
res.attachStructures(structures);
|
res.attachStructures(structures);
|
||||||
res.setSurface(surfaceRule);
|
res.setSurface(surfaceRule);
|
||||||
res.setFogDensity(fogDensity);
|
res.setFogDensity(fogDensity);
|
||||||
|
res.setGenChance(genChance);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,15 @@
|
||||||
package ru.bclib.world.biomes;
|
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.Lists;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
|
|
||||||
import net.minecraft.core.Registry;
|
import net.minecraft.core.Registry;
|
||||||
import net.minecraft.data.BuiltinRegistries;
|
import net.minecraft.data.BuiltinRegistries;
|
||||||
import net.minecraft.resources.ResourceKey;
|
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;
|
||||||
import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource;
|
import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource;
|
||||||
import net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature;
|
import net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
import ru.bclib.api.biomes.BiomeAPI;
|
import ru.bclib.api.biomes.BiomeAPI;
|
||||||
import ru.bclib.util.WeightedList;
|
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 {
|
public class BCLBiome {
|
||||||
private final List<ConfiguredStructureFeature> structures = Lists.newArrayList();
|
private final List<ConfiguredStructureFeature> structures = Lists.newArrayList();
|
||||||
private final WeightedList<BCLBiome> subbiomes = new WeightedList<>();
|
private final WeightedList<BCLBiome> subbiomes = new WeightedList<>();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue