/// <summary>
 ///     Get mesh data for a crop plant.
 /// </summary>
 public static BlockMeshData CropPlant(int textureIndex, TintColor tint, bool isLowered, bool isUpper)
 {
     return(new BlockMeshData(
                vertexCount: 0,
                textureIndex: textureIndex,
                tint: tint,
                hasUpper: false,
                isLowered: isLowered,
                isUpper: isUpper,
                isDoubleCropPlant: false));
 }
 /// <summary>
 ///     Get mesh data for a cross plant.
 /// </summary>
 public static BlockMeshData CrossPlant(int textureIndex, TintColor tint, bool hasUpper, bool isLowered,
                                        bool isUpper)
 {
     return(new BlockMeshData(
                vertexCount: 8,
                textureIndex: textureIndex,
                tint: tint,
                hasUpper: hasUpper,
                isLowered: isLowered,
                isUpper: isUpper));
 }
 /// <summary>
 ///     Get a modified version of this mesh data.
 /// </summary>
 public BlockMeshData Modified(TintColor tint, bool isAnimated)
 {
     return(new BlockMeshData(
                VertexCount,
                vertices,
                textureIndices,
                indices,
                TextureIndex,
                IsTextureRotated,
                tint,
                isAnimated,
                HasUpper,
                IsLowered,
                IsUpper,
                IsDoubleCropPlant));
 }
 /// <summary>
 ///     Get mesh data for a varying height block.
 /// </summary>
 public static BlockMeshData VaryingHeight(int textureIndex, TintColor tint)
 {
     return(new BlockMeshData(vertexCount: 4, textureIndex: textureIndex, tint: tint));
 }