if (!clickedBlock.getMaterial().isPlacementObstacle() && BlockFaces.NESW.contains(clickedFace)) {
clickedAgainst = BlockFace.BOTTOM;
} else {
clickedAgainst = clickedFace.getOpposite();
}
if (toPlace.canPlace(clickedBlock, placedData, clickedAgainst, message.getFace(), true, cause)) {
placedBlock = clickedBlock;
placedAgainst = clickedAgainst;
placedIsClicked = true;
} else {
placedBlock = clickedBlock.translate(clickedFace);