Search in sources :

Example 1 with NodeFreezer

use of com.ferreusveritas.dynamictrees.systems.nodemappers.NodeFreezer in project DynamicTrees by DynamicTreesTeam.

the class SubstanceFreeze method apply.

@Override
public Result apply(World world, BlockPos rootPos, BlockPos hitPos) {
    IBlockState rootyState = world.getBlockState(rootPos);
    BlockRooty dirt = TreeHelper.getRooty(rootyState);
    Species species = dirt.getSpecies(rootyState, world, rootPos);
    if (species != Species.NULLSPECIES && dirt != null) {
        if (world.isRemote) {
            TreeHelper.treeParticles(world, rootPos, EnumParticleTypes.FIREWORKS_SPARK, 8);
        } else {
            dirt.startAnalysis(world, rootPos, new MapSignal(new NodeFreezer(species)));
            // destroy the soil life so it can no longer grow
            dirt.fertilize(world, rootPos, -15);
        }
        return Result.successful();
    }
    return Result.failure();
}
Also used : IBlockState(net.minecraft.block.state.IBlockState) BlockRooty(com.ferreusveritas.dynamictrees.blocks.BlockRooty) Species(com.ferreusveritas.dynamictrees.trees.Species) NodeFreezer(com.ferreusveritas.dynamictrees.systems.nodemappers.NodeFreezer) MapSignal(com.ferreusveritas.dynamictrees.api.network.MapSignal)

Aggregations

MapSignal (com.ferreusveritas.dynamictrees.api.network.MapSignal)1 BlockRooty (com.ferreusveritas.dynamictrees.blocks.BlockRooty)1 NodeFreezer (com.ferreusveritas.dynamictrees.systems.nodemappers.NodeFreezer)1 Species (com.ferreusveritas.dynamictrees.trees.Species)1 IBlockState (net.minecraft.block.state.IBlockState)1