47 lines
1.7 KiB
Java
47 lines
1.7 KiB
Java
package org.betterx.betterend.blocks;
|
|
|
|
import org.betterx.bclib.blocks.BaseBlock;
|
|
import org.betterx.bclib.util.BlocksHelper;
|
|
import org.betterx.betterend.registry.EndBlocks;
|
|
|
|
import net.minecraft.core.BlockPos;
|
|
import net.minecraft.server.level.ServerLevel;
|
|
import net.minecraft.util.RandomSource;
|
|
import net.minecraft.world.level.block.Block;
|
|
import net.minecraft.world.level.block.Blocks;
|
|
import net.minecraft.world.level.block.state.BlockState;
|
|
import net.minecraft.world.level.block.state.StateDefinition;
|
|
import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
|
import net.minecraft.world.level.material.MapColor;
|
|
|
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
|
|
|
public class UmbrellaTreeClusterEmptyBlock extends BaseBlock {
|
|
public static final BooleanProperty NATURAL = EndBlockProperties.NATURAL;
|
|
|
|
public UmbrellaTreeClusterEmptyBlock() {
|
|
super(FabricBlockSettings
|
|
.copyOf(Blocks.NETHER_WART_BLOCK)
|
|
.mapColor(MapColor.COLOR_PURPLE)
|
|
.randomTicks()
|
|
);
|
|
registerDefaultState(stateDefinition.any().setValue(NATURAL, false));
|
|
}
|
|
|
|
@Override
|
|
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> stateManager) {
|
|
stateManager.add(NATURAL);
|
|
}
|
|
|
|
@Override
|
|
@SuppressWarnings("deprecation")
|
|
public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
|
|
if (state.getValue(NATURAL) && random.nextInt(16) == 0) {
|
|
BlocksHelper.setWithUpdate(
|
|
world,
|
|
pos,
|
|
EndBlocks.UMBRELLA_TREE_CLUSTER.defaultBlockState().setValue(UmbrellaTreeClusterBlock.NATURAL, true)
|
|
);
|
|
}
|
|
}
|
|
}
|