public static bool isBuildable(BlockProperties blockProperties, bool includeAlternates = false)
        {
            if (!excludeNames.IsMatch(blockProperties.getName())
                || (includeAlternates && alternateBlockIds.Contains(blockProperties.getID())))
            {
                return true;
            }

            return false;
        }
        private void updateControlPlayerBlockProperties(BlockProperties properties, IBlock block = null)
        {
            controlPlayer.buildingMaterial = properties;
            controlPlayer.buildTile = properties.getID();
            controlPlayer.buildingVariations = properties.getVariations();
            controlPlayer.buildingVariationIndex = ModUtils.getVariationIndex(block);

            if (block != null && (tempBlockDataTextureVariant = block.getMeta<BlockDataTextureVariant>()) != null)
            {
                controlPlayer.buildingPillarless = tempBlockDataTextureVariant.checkVariant(TextureVariant.Pillar);
                controlPlayer.buildingTrimless = tempBlockDataTextureVariant.checkVariant(TextureVariant.Trimless);
            }
            else
            {
                controlPlayer.buildingPillarless = false;
                controlPlayer.buildingTrimless = false;
            }
        }