package com.thebrokenrail.twine.util.block; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.DispenserBlock; import net.minecraft.item.ItemPlacementContext; import net.minecraft.state.StateManager; import net.minecraft.state.property.DirectionProperty; import net.minecraft.util.BlockMirror; import net.minecraft.util.BlockRotation; import net.minecraft.util.math.Direction; @SuppressWarnings("deprecation") public class DirectionalBlock extends Block { protected static final DirectionProperty FACING = DispenserBlock.FACING; public DirectionalBlock(Settings settings) { super(settings); setDefaultState(stateManager.getDefaultState().with(FACING, Direction.SOUTH)); } @Override protected void appendProperties(StateManager.Builder builder) { builder.add(FACING); } @Override public BlockState rotate(BlockState state, BlockRotation rotation) { return state.with(FACING, rotation.rotate(state.get(FACING))); } @Override public BlockState mirror(BlockState state, BlockMirror mirror) { return state.rotate(mirror.getRotation(state.get(FACING))); } @Override public BlockState getPlacementState(ItemPlacementContext ctx) { return getDefaultState().with(FACING, ctx.getSide()); } }