test code for blockstates of pattern storage
This commit is contained in:
parent
778d1310b9
commit
8a6e51d804
@ -2,10 +2,14 @@ package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.EntityBlock;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
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.phys.shapes.CollisionContext;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
import ru.dbotthepony.mc.otm.block.entity.BlockEntityPatternStorage;
|
||||
@ -15,12 +19,40 @@ import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
|
||||
public class BlockPatternStorage extends BlockMatteryRotatable implements EntityBlock {
|
||||
public static final BooleanProperty[] PATTERN_STORAGE_DISKS_PROPS = new BooleanProperty[] {
|
||||
BooleanProperty.create("disk_0"),
|
||||
BooleanProperty.create("disk_1"),
|
||||
BooleanProperty.create("disk_2"),
|
||||
BooleanProperty.create("disk_3"),
|
||||
BooleanProperty.create("disk_4"),
|
||||
BooleanProperty.create("disk_5"),
|
||||
BooleanProperty.create("disk_6"),
|
||||
BooleanProperty.create("disk_7"),
|
||||
};
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) {
|
||||
return new BlockEntityPatternStorage(blockPos, blockState);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
|
||||
builder.add(PATTERN_STORAGE_DISKS_PROPS);
|
||||
super.createBlockStateDefinition(builder);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public BlockState getStateForPlacement(BlockPlaceContext context) {
|
||||
var state = super.getStateForPlacement(context);
|
||||
|
||||
for (var prop : PATTERN_STORAGE_DISKS_PROPS)
|
||||
state.setValue(prop, Math.random() > 0.5);
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
private static final List<VoxelShape> SHAPES;
|
||||
|
||||
static {
|
||||
|
Loading…
Reference in New Issue
Block a user