Move black hole spawn chance to placedfeature
This commit is contained in:
parent
b12b25c68f
commit
13c9e93d31
@ -65,7 +65,7 @@ fun registerConfiguredFeatures(context: BootstrapContext<ConfiguredFeature<*, *>
|
||||
|
||||
context.register(ConfiguredFeatures.BLACK_HOLE, ConfiguredFeature(
|
||||
MWorldGenFeatures.BLACK_HOLE_PLACER,
|
||||
BlackHolePlacerFeature.Config(0.001f, Decimal("0.25"), Decimal(1))))
|
||||
BlackHolePlacerFeature.Config(Decimal("0.25"), Decimal(1))))
|
||||
}
|
||||
|
||||
private object PlacedFeatures {
|
||||
@ -152,6 +152,7 @@ fun registerPlacedFeatures(context: BootstrapContext<PlacedFeature>) {
|
||||
context.register(PlacedFeatures.BLACK_HOLE, PlacedFeature(
|
||||
blackHole,
|
||||
listOf(
|
||||
RarityFilter.onAverageOnceEvery(1000),
|
||||
InSquarePlacement.spread(),
|
||||
HeightRangePlacement.uniform(VerticalAnchor.absolute(64), VerticalAnchor.absolute(128))
|
||||
)
|
||||
|
@ -15,13 +15,12 @@ import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
object BlackHolePlacerFeature : Feature<BlackHolePlacerFeature.Config>(
|
||||
RecordCodecBuilder.create {
|
||||
it.group(
|
||||
Codec.floatRange(0.0F, 1.0F).fieldOf("chance").forGetter(Config::chance),
|
||||
DecimalCodec.fieldOf("matter_min").forGetter(Config::minMatter),
|
||||
DecimalCodec.fieldOf("matter_max").forGetter(Config::maxMatter)
|
||||
).apply(it, ::Config)
|
||||
}
|
||||
) {
|
||||
data class Config(val chance: Float, val minMatter: Decimal, val maxMatter: Decimal) : FeatureConfiguration
|
||||
data class Config(val minMatter: Decimal, val maxMatter: Decimal) : FeatureConfiguration
|
||||
|
||||
override fun place(context: FeaturePlaceContext<Config>): Boolean {
|
||||
val random = context.random()
|
||||
@ -30,7 +29,7 @@ object BlackHolePlacerFeature : Feature<BlackHolePlacerFeature.Config>(
|
||||
|
||||
val config = context.config()
|
||||
|
||||
if (level.getBlockState(pos).isAir && random.nextDouble() < config.chance.toDouble()) {
|
||||
if (level.getBlockState(pos).isAir) {
|
||||
if (level.setBlock(pos, MBlocks.BLACK_HOLE.defaultBlockState(), 2)) {
|
||||
val entity = level.getBlockEntity(pos)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user