package net.glowstone.block.blocktype;
import net.glowstone.block.GlowBlock;
import net.glowstone.block.GlowBlockState;
import org.bukkit.block.BlockFace;
public abstract class BlockClimbable extends BlockType {
@Override
public boolean canPlaceAt(GlowBlock block, BlockFace against) {
return against != BlockFace.DOWN && against != BlockFace.UP && isTargetOccluding(block, against.getOppositeFace());
}
protected boolean isTargetOccluding(GlowBlockState state, BlockFace face) {
return isTargetOccluding(state.getBlock(), face);
}
protected boolean isTargetOccluding(GlowBlock block, BlockFace face) {
return block.getRelative(face).getType().isOccluding();
}
}