}
@Override
public boolean canPlace(Block block, short data, BlockFace against, Vector3f clickedPos, boolean isClickedBlock, Cause<?> cause) {
if (against == BlockFace.BOTTOM && super.canPlace(block, data, against, clickedPos, isClickedBlock, cause)) {
Block below = block.translate(BlockFace.BOTTOM);
BlockMaterial material = below.getMaterial();
Block headBlock = block.translate(PlayerUtil.getFacing(cause));
if (!VanillaMaterials.AIR.equals(headBlock)) {
return false;
}
if (material instanceof VanillaBlockMaterial) {
return ((VanillaBlockMaterial) material).canSupport(this, BlockFace.TOP);