61 lines
No EOL
1.5 KiB
Java
61 lines
No EOL
1.5 KiB
Java
package com.gildedgames.the_aether.blocks;
|
|
|
|
import java.util.Random;
|
|
|
|
import net.minecraft.block.IGrowable;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.world.World;
|
|
import net.minecraft.world.gen.feature.WorldGenerator;
|
|
|
|
import com.gildedgames.the_aether.blocks.natural.BlockAetherFlower;
|
|
|
|
public class BlockAetherSapling extends BlockAetherFlower implements IGrowable {
|
|
|
|
public WorldGenerator treeGenObject = null;
|
|
|
|
public BlockAetherSapling(WorldGenerator treeGen) {
|
|
super();
|
|
|
|
float f = 0.4F;
|
|
this.treeGenObject = treeGen;
|
|
this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f);
|
|
}
|
|
|
|
@Override
|
|
public void updateTick(World world, int x, int y, int z, Random random) {
|
|
if (!world.isRemote) {
|
|
super.updateTick(world, x, y, z, random);
|
|
|
|
if (world.getBlockLightValue(x, y + 1, z) >= 9 && random.nextInt(30) == 0) {
|
|
this.growTree(world, x, y, z, random);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void growTree(World world, int x, int y, int z, Random rand) {
|
|
world.setBlock(x, y, z, Blocks.air);
|
|
|
|
if (!this.treeGenObject.generate(world, world.rand, x, y, z)) {
|
|
world.setBlock(x, y, z, this);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public boolean func_149851_a(World worldIn, int x, int y, int z, boolean isClient) {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean func_149852_a(World worldIn, Random rand, int x, int y, int z) {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public void func_149853_b(World worldIn, Random rand, int x, int y, int z) {
|
|
if (worldIn.rand.nextFloat() < 0.45D) {
|
|
this.growTree(worldIn, x, y, z, rand);
|
|
}
|
|
|
|
}
|
|
|
|
} |