// Unsupported/unknown Block
return false;
}
public static boolean isSupported(Block block) {
BlockFace attachedFace = BlockUtil.getAttachedFace(block);
Block attached = block.getRelative(attachedFace);
if (MaterialUtil.ISSIGN.get(block)) {
// Only check the 'isBuildable' state of the Material
Object attachedHandle = Conversion.toBlockHandle.convert(attached);
if (attachedHandle == null) {
return false;
}
Object material = blockMaterial.get(attachedHandle);
if (material == null) {
return false;
}
return materialBuildable.invoke(material);
}
// For all other cases, check whether the side is properly supported
return isSupportedFace(attached, attachedFace.getOppositeFace());
}