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.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
|
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||||
import net.minecraft.world.level.BlockGetter;
|
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.EntityBlock;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
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.CollisionContext;
|
||||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||||
import ru.dbotthepony.mc.otm.block.entity.BlockEntityPatternStorage;
|
import ru.dbotthepony.mc.otm.block.entity.BlockEntityPatternStorage;
|
||||||
@ -15,12 +19,40 @@ import javax.annotation.Nullable;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class BlockPatternStorage extends BlockMatteryRotatable implements EntityBlock {
|
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
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) {
|
public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) {
|
||||||
return new BlockEntityPatternStorage(blockPos, 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;
|
private static final List<VoxelShape> SHAPES;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
Loading…
Reference in New Issue
Block a user