tcr/java/src/game/worldgen/foliage/WorldGenFlowers.java
2025-03-12 18:13:11 +01:00

40 lines
1.3 KiB
Java
Executable file

package game.worldgen.foliage;
import game.block.BlockFlower;
import game.rng.Random;
import game.world.BlockPos;
import game.world.State;
import game.world.WorldServer;
import game.worldgen.FeatureGenerator;
public class WorldGenFlowers extends FeatureGenerator
{
private BlockFlower flower;
private State field_175915_b;
public WorldGenFlowers(BlockFlower p_i45632_1_, BlockFlower.EnumFlowerType p_i45632_2_)
{
this.setGeneratedBlock(p_i45632_1_, p_i45632_2_);
}
public void setGeneratedBlock(BlockFlower p_175914_1_, BlockFlower.EnumFlowerType p_175914_2_)
{
this.flower = p_175914_1_;
this.field_175915_b = p_175914_1_.getState().withProperty(p_175914_1_.getTypeProperty(), p_175914_2_);
}
public boolean generate(WorldServer worldIn, Random rand, BlockPos position)
{
for (int i = 0; i < 64; ++i)
{
BlockPos blockpos = position.add(rand.zrange(8) - rand.zrange(8), rand.zrange(4) - rand.zrange(4), rand.zrange(8) - rand.zrange(8));
if (worldIn.isAirBlock(blockpos) && (!worldIn.dimension.hasNoLight() || blockpos.getY() < 511) && this.flower.canBlockStay(worldIn, blockpos, this.field_175915_b))
{
worldIn.setState(blockpos, this.field_175915_b, 2);
}
}
return true;
}
}