// Copyright (c) Strange Loop Games. All rights reserved.
// See LICENSE file in the project root for full license information.
// <auto-generated from FormsTemplate.tt/>

namespace Eco.Mods.TechTree
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using Eco.Gameplay.Blocks;
    using Eco.Gameplay.Components;
    using Eco.Gameplay.DynamicValues;
    using Eco.Gameplay.Items;
    using Eco.Gameplay.Objects;
    using Eco.Gameplay.Players;
    using Eco.Gameplay.Skills;
    using Eco.Gameplay.Systems.TextLinks;
    using Eco.Shared.Serialization;
    using Eco.Shared.Utils;
    using Eco.World;
    using Eco.World.Water;
    using Eco.World.Blocks;
    using Eco.Gameplay.Pipes;
    using Tag = Eco.Core.Items.TagAttribute;
    using Eco.World.Color;

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(FloorFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloorBlock :
        Block, IRepresentsItem, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(FullWallFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFullWallBlock :
        Block, IRepresentsItem, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(FlatRoofFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFlatRoofBlock :
        Block, IRepresentsItem, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RoofCubeFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofCubeBlock :
        Block, IRepresentsItem, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(CubeFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberCubeBlock :
        Block, IRepresentsItem, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(WindowWallFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberWindowWallBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(CladWallFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberCladWallBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(WallFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberWallBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(WallTrimFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberWallTrimBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(ColumnFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberColumnBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(ThinColumnFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberThinColumnBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(WindowFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberWindowBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(WindowGrillesFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberWindowGrillesBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(DoubleWindowFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberDoubleWindowBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(FenceFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFenceBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(SideFenceFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberSideFenceBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(UnderPeakSetFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(PeakSetFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RoofPeakSetFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeSaguaroLumberItem); } }
    }





    [RotatedVariants(typeof(CompositeSaguaroLumberRampABlock), typeof(CompositeSaguaroLumberRampA90Block), typeof(CompositeSaguaroLumberRampA180Block), typeof(CompositeSaguaroLumberRampA270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RampAFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampABlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampA90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampA180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampA270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberRampBBlock), typeof(CompositeSaguaroLumberRampB90Block), typeof(CompositeSaguaroLumberRampB180Block), typeof(CompositeSaguaroLumberRampB270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RampBFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampBBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampB90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampB180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampB270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberRampCBlock), typeof(CompositeSaguaroLumberRampC90Block), typeof(CompositeSaguaroLumberRampC180Block), typeof(CompositeSaguaroLumberRampC270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RampCFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampCBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampC90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampC180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampC270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberRampDBlock), typeof(CompositeSaguaroLumberRampD90Block), typeof(CompositeSaguaroLumberRampD180Block), typeof(CompositeSaguaroLumberRampD270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RampDFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampDBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampD90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampD180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRampD270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberLadderBlock), typeof(CompositeSaguaroLumberLadder90Block), typeof(CompositeSaguaroLumberLadder180Block), typeof(CompositeSaguaroLumberLadder270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(LadderFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberLadderBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberLadder90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberLadder180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberLadder270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberStairsBlock), typeof(CompositeSaguaroLumberStairs90Block), typeof(CompositeSaguaroLumberStairs180Block), typeof(CompositeSaguaroLumberStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(StairsFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairsBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairs90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairs180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairs270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberUnderStairsBlock), typeof(CompositeSaguaroLumberUnderStairs90Block), typeof(CompositeSaguaroLumberUnderStairs180Block), typeof(CompositeSaguaroLumberUnderStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(UnderStairsFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderStairsBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderStairs90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderStairs180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderStairs270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberFloatStairsBlock), typeof(CompositeSaguaroLumberFloatStairs90Block), typeof(CompositeSaguaroLumberFloatStairs180Block), typeof(CompositeSaguaroLumberFloatStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(FloatStairsFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairsBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairs90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairs180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairs270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberBraceBlock), typeof(CompositeSaguaroLumberBrace90Block), typeof(CompositeSaguaroLumberBrace180Block), typeof(CompositeSaguaroLumberBrace270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(BraceFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBraceBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBrace90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBrace180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBrace270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberUnderBraceBlock), typeof(CompositeSaguaroLumberUnderBrace90Block), typeof(CompositeSaguaroLumberUnderBrace180Block), typeof(CompositeSaguaroLumberUnderBrace270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(UnderBraceFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderBraceBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderBrace90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderBrace180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderBrace270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberSideBraceBlock), typeof(CompositeSaguaroLumberSideBrace90Block), typeof(CompositeSaguaroLumberSideBrace180Block), typeof(CompositeSaguaroLumberSideBrace270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(SideBraceFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberSideBraceBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberSideBrace90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberSideBrace180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberSideBrace270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberBasicSlopeSideBlock), typeof(CompositeSaguaroLumberBasicSlopeSide90Block), typeof(CompositeSaguaroLumberBasicSlopeSide180Block), typeof(CompositeSaguaroLumberBasicSlopeSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(BasicSlopeSideFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeSideBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeSide90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeSide180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeSide270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberBasicSlopeCornerBlock), typeof(CompositeSaguaroLumberBasicSlopeCorner90Block), typeof(CompositeSaguaroLumberBasicSlopeCorner180Block), typeof(CompositeSaguaroLumberBasicSlopeCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(BasicSlopeCornerFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeCornerBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeCorner90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeCorner180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeCorner270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberBasicSlopeTurnBlock), typeof(CompositeSaguaroLumberBasicSlopeTurn90Block), typeof(CompositeSaguaroLumberBasicSlopeTurn180Block), typeof(CompositeSaguaroLumberBasicSlopeTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(BasicSlopeTurnFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeTurnBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeTurn90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeTurn180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopeTurn270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberBasicSlopePointBlock), typeof(CompositeSaguaroLumberBasicSlopePoint90Block), typeof(CompositeSaguaroLumberBasicSlopePoint180Block), typeof(CompositeSaguaroLumberBasicSlopePoint270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(BasicSlopePointFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopePointBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopePoint90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopePoint180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberBasicSlopePoint270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberFloatStairsCornerBlock), typeof(CompositeSaguaroLumberFloatStairsCorner90Block), typeof(CompositeSaguaroLumberFloatStairsCorner180Block), typeof(CompositeSaguaroLumberFloatStairsCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(FloatStairsCornerFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairsCornerBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairsCorner90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairsCorner180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairsCorner270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberFloatStairsTurnBlock), typeof(CompositeSaguaroLumberFloatStairsTurn90Block), typeof(CompositeSaguaroLumberFloatStairsTurn180Block), typeof(CompositeSaguaroLumberFloatStairsTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(FloatStairsTurnFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairsTurnBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairsTurn90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairsTurn180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberFloatStairsTurn270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberStairsCornerBlock), typeof(CompositeSaguaroLumberStairsCorner90Block), typeof(CompositeSaguaroLumberStairsCorner180Block), typeof(CompositeSaguaroLumberStairsCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(StairsCornerFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairsCornerBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairsCorner90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairsCorner180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairsCorner270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberStairsTurnBlock), typeof(CompositeSaguaroLumberStairsTurn90Block), typeof(CompositeSaguaroLumberStairsTurn180Block), typeof(CompositeSaguaroLumberStairsTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(StairsTurnFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairsTurnBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairsTurn90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairsTurn180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberStairsTurn270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberUnderSlopeSideBlock), typeof(CompositeSaguaroLumberUnderSlopeSide90Block), typeof(CompositeSaguaroLumberUnderSlopeSide180Block), typeof(CompositeSaguaroLumberUnderSlopeSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(UnderSlopeSideFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeSideBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeSide90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeSide180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeSide270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberUnderSlopeCornerBlock), typeof(CompositeSaguaroLumberUnderSlopeCorner90Block), typeof(CompositeSaguaroLumberUnderSlopeCorner180Block), typeof(CompositeSaguaroLumberUnderSlopeCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(UnderSlopeCornerFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeCornerBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeCorner90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeCorner180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeCorner270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberUnderSlopeTurnBlock), typeof(CompositeSaguaroLumberUnderSlopeTurn90Block), typeof(CompositeSaguaroLumberUnderSlopeTurn180Block), typeof(CompositeSaguaroLumberUnderSlopeTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(UnderSlopeTurnFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeTurnBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeTurn90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeTurn180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopeTurn270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberUnderSlopePeakBlock), typeof(CompositeSaguaroLumberUnderSlopePeak90Block), typeof(CompositeSaguaroLumberUnderSlopePeak180Block), typeof(CompositeSaguaroLumberUnderSlopePeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(UnderSlopePeakFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopePeakBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopePeak90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopePeak180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderSlopePeak270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberRoofSideBlock), typeof(CompositeSaguaroLumberRoofSide90Block), typeof(CompositeSaguaroLumberRoofSide180Block), typeof(CompositeSaguaroLumberRoofSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RoofSideFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofSideBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofSide90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofSide180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofSide270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberRoofTurnBlock), typeof(CompositeSaguaroLumberRoofTurn90Block), typeof(CompositeSaguaroLumberRoofTurn180Block), typeof(CompositeSaguaroLumberRoofTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RoofTurnFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofTurnBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofTurn90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofTurn180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofTurn270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberRoofCornerBlock), typeof(CompositeSaguaroLumberRoofCorner90Block), typeof(CompositeSaguaroLumberRoofCorner180Block), typeof(CompositeSaguaroLumberRoofCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RoofCornerFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofCornerBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofCorner90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofCorner180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofCorner270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberRoofPeakBlock), typeof(CompositeSaguaroLumberRoofPeak90Block), typeof(CompositeSaguaroLumberRoofPeak180Block), typeof(CompositeSaguaroLumberRoofPeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(RoofPeakFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofPeakBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofPeak90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofPeak180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberRoofPeak270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(CompositeSaguaroLumberUnderInnerPeakBlock), typeof(CompositeSaguaroLumberUnderInnerPeak90Block), typeof(CompositeSaguaroLumberUnderInnerPeak180Block), typeof(CompositeSaguaroLumberUnderInnerPeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [IsForm(typeof(UnderInnerPeakFormType), typeof(CompositeSaguaroLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderInnerPeakBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderInnerPeak90Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderInnerPeak180Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(5)]
    [Tag("Constructable")]
    public partial class CompositeSaguaroLumberUnderInnerPeak270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }

}