49 lines
2.1 KiB
Java
49 lines
2.1 KiB
Java
package com.dairymoose.modernlife.blocks;
|
|
|
|
import net.minecraft.core.BlockPos;
|
|
import net.minecraft.core.Direction;
|
|
import net.minecraft.world.item.context.BlockPlaceContext;
|
|
import net.minecraft.world.level.LevelReader;
|
|
import net.minecraft.world.level.block.Block;
|
|
import net.minecraft.world.level.block.FaceAttachedHorizontalDirectionalBlock;
|
|
import net.minecraft.world.level.block.Mirror;
|
|
import net.minecraft.world.level.block.Rotation;
|
|
import net.minecraft.world.level.block.state.BlockBehaviour;
|
|
import net.minecraft.world.level.block.state.BlockState;
|
|
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
|
import net.minecraft.world.level.block.state.properties.DirectionProperty;
|
|
|
|
/* loaded from: outputsrg.jar:com/dairymoose/modernlife/blocks/AbstractWallBlock.class */
|
|
public abstract class AbstractWallBlock extends Block {
|
|
public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING;
|
|
|
|
public BlockState rotate(BlockState state, Rotation rotation) {
|
|
return (BlockState) state.setValue(FACING, rotation.rotate(state.getValue(FACING)));
|
|
}
|
|
|
|
public BlockState mirror(BlockState state, Mirror mirror) {
|
|
return state.rotate(mirror.getRotation(state.getValue(FACING)));
|
|
}
|
|
|
|
public AbstractWallBlock(Properties p_i241196_1_) {
|
|
super(p_i241196_1_);
|
|
}
|
|
|
|
public boolean canSurvive(BlockState p_196260_1_, LevelReader p_196260_2_, BlockPos p_196260_3_) {
|
|
return FaceAttachedHorizontalDirectionalBlock.canAttach(p_196260_2_, p_196260_3_, p_196260_1_.getValue(FACING).getOpposite());
|
|
}
|
|
|
|
public BlockState getStateForPlacement(BlockPlaceContext context) {
|
|
Direction[] var2 = context.getNearestLookingDirections();
|
|
for (Direction lvt_5_1_ : var2) {
|
|
if (lvt_5_1_.getAxis() != Direction.Axis.Y) {
|
|
BlockState lvt_6_2_ = (BlockState) defaultBlockState().setValue(FACING, lvt_5_1_.getOpposite());
|
|
if (lvt_6_2_.canSurvive(context.getLevel(), context.getClickedPos())) {
|
|
return lvt_6_2_;
|
|
}
|
|
}
|
|
}
|
|
return defaultBlockState();
|
|
}
|
|
}
|