// 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;

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloorFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFloorBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FullWallFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFullWallBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FlatRoofFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFlatRoofBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofCubeFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofCubeBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(CubeFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberCubeBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WindowWallFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberWindowWallBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(CladWallFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberCladWallBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WallFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberWallBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WallTrimFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberWallTrimBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(ColumnFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberColumnBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(ThinColumnFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberThinColumnBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WindowFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberWindowBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WindowGrillesFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberWindowGrillesBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(DoubleWindowFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberDoubleWindowBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FenceFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFenceBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(SideFenceFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberSideFenceBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderPeakSetFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(PeakSetFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofPeakSetFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(CompositeBirchLumberItem); } }
    }





    [RotatedVariants(typeof(CompositeBirchLumberRampABlock), typeof(CompositeBirchLumberRampA90Block), typeof(CompositeBirchLumberRampA180Block), typeof(CompositeBirchLumberRampA270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RampAFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRampABlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRampA270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberRampBBlock), typeof(CompositeBirchLumberRampB90Block), typeof(CompositeBirchLumberRampB180Block), typeof(CompositeBirchLumberRampB270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RampBFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRampBBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRampB270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberRampCBlock), typeof(CompositeBirchLumberRampC90Block), typeof(CompositeBirchLumberRampC180Block), typeof(CompositeBirchLumberRampC270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RampCFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRampCBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRampC270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberRampDBlock), typeof(CompositeBirchLumberRampD90Block), typeof(CompositeBirchLumberRampD180Block), typeof(CompositeBirchLumberRampD270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RampDFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRampDBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRampD270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberLadderBlock), typeof(CompositeBirchLumberLadder90Block), typeof(CompositeBirchLumberLadder180Block), typeof(CompositeBirchLumberLadder270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(LadderFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberLadderBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberLadder270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberStairsBlock), typeof(CompositeBirchLumberStairs90Block), typeof(CompositeBirchLumberStairs180Block), typeof(CompositeBirchLumberStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(StairsFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberStairsBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberStairs270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberUnderStairsBlock), typeof(CompositeBirchLumberUnderStairs90Block), typeof(CompositeBirchLumberUnderStairs180Block), typeof(CompositeBirchLumberUnderStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderStairsFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderStairsBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderStairs270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberFloatStairsBlock), typeof(CompositeBirchLumberFloatStairs90Block), typeof(CompositeBirchLumberFloatStairs180Block), typeof(CompositeBirchLumberFloatStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloatStairsFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFloatStairsBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFloatStairs270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberBraceBlock), typeof(CompositeBirchLumberBrace90Block), typeof(CompositeBirchLumberBrace180Block), typeof(CompositeBirchLumberBrace270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BraceFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBraceBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBrace270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberUnderBraceBlock), typeof(CompositeBirchLumberUnderBrace90Block), typeof(CompositeBirchLumberUnderBrace180Block), typeof(CompositeBirchLumberUnderBrace270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderBraceFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderBraceBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderBrace270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberSideBraceBlock), typeof(CompositeBirchLumberSideBrace90Block), typeof(CompositeBirchLumberSideBrace180Block), typeof(CompositeBirchLumberSideBrace270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(SideBraceFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberSideBraceBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberSideBrace270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberBasicSlopeSideBlock), typeof(CompositeBirchLumberBasicSlopeSide90Block), typeof(CompositeBirchLumberBasicSlopeSide180Block), typeof(CompositeBirchLumberBasicSlopeSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopeSideFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBasicSlopeSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBasicSlopeSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberBasicSlopeCornerBlock), typeof(CompositeBirchLumberBasicSlopeCorner90Block), typeof(CompositeBirchLumberBasicSlopeCorner180Block), typeof(CompositeBirchLumberBasicSlopeCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopeCornerFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBasicSlopeCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBasicSlopeCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberBasicSlopeTurnBlock), typeof(CompositeBirchLumberBasicSlopeTurn90Block), typeof(CompositeBirchLumberBasicSlopeTurn180Block), typeof(CompositeBirchLumberBasicSlopeTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopeTurnFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBasicSlopeTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBasicSlopeTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberBasicSlopePointBlock), typeof(CompositeBirchLumberBasicSlopePoint90Block), typeof(CompositeBirchLumberBasicSlopePoint180Block), typeof(CompositeBirchLumberBasicSlopePoint270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopePointFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBasicSlopePointBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberBasicSlopePoint270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberFloatStairsCornerBlock), typeof(CompositeBirchLumberFloatStairsCorner90Block), typeof(CompositeBirchLumberFloatStairsCorner180Block), typeof(CompositeBirchLumberFloatStairsCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloatStairsCornerFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFloatStairsCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFloatStairsCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberFloatStairsTurnBlock), typeof(CompositeBirchLumberFloatStairsTurn90Block), typeof(CompositeBirchLumberFloatStairsTurn180Block), typeof(CompositeBirchLumberFloatStairsTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloatStairsTurnFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFloatStairsTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberFloatStairsTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberStairsCornerBlock), typeof(CompositeBirchLumberStairsCorner90Block), typeof(CompositeBirchLumberStairsCorner180Block), typeof(CompositeBirchLumberStairsCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(StairsCornerFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberStairsCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberStairsCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberStairsTurnBlock), typeof(CompositeBirchLumberStairsTurn90Block), typeof(CompositeBirchLumberStairsTurn180Block), typeof(CompositeBirchLumberStairsTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(StairsTurnFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberStairsTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberStairsTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberUnderSlopeSideBlock), typeof(CompositeBirchLumberUnderSlopeSide90Block), typeof(CompositeBirchLumberUnderSlopeSide180Block), typeof(CompositeBirchLumberUnderSlopeSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopeSideFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderSlopeSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderSlopeSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberUnderSlopeCornerBlock), typeof(CompositeBirchLumberUnderSlopeCorner90Block), typeof(CompositeBirchLumberUnderSlopeCorner180Block), typeof(CompositeBirchLumberUnderSlopeCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopeCornerFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderSlopeCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderSlopeCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberUnderSlopeTurnBlock), typeof(CompositeBirchLumberUnderSlopeTurn90Block), typeof(CompositeBirchLumberUnderSlopeTurn180Block), typeof(CompositeBirchLumberUnderSlopeTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopeTurnFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderSlopeTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderSlopeTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberUnderSlopePeakBlock), typeof(CompositeBirchLumberUnderSlopePeak90Block), typeof(CompositeBirchLumberUnderSlopePeak180Block), typeof(CompositeBirchLumberUnderSlopePeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopePeakFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderSlopePeakBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderSlopePeak270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberRoofSideBlock), typeof(CompositeBirchLumberRoofSide90Block), typeof(CompositeBirchLumberRoofSide180Block), typeof(CompositeBirchLumberRoofSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofSideFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberRoofTurnBlock), typeof(CompositeBirchLumberRoofTurn90Block), typeof(CompositeBirchLumberRoofTurn180Block), typeof(CompositeBirchLumberRoofTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofTurnFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberRoofCornerBlock), typeof(CompositeBirchLumberRoofCorner90Block), typeof(CompositeBirchLumberRoofCorner180Block), typeof(CompositeBirchLumberRoofCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofCornerFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberRoofPeakBlock), typeof(CompositeBirchLumberRoofPeak90Block), typeof(CompositeBirchLumberRoofPeak180Block), typeof(CompositeBirchLumberRoofPeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofPeakFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofPeakBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberRoofPeak270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(CompositeBirchLumberUnderInnerPeakBlock), typeof(CompositeBirchLumberUnderInnerPeak90Block), typeof(CompositeBirchLumberUnderInnerPeak180Block), typeof(CompositeBirchLumberUnderInnerPeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderInnerPeakFormType), typeof(CompositeBirchLumberItem))]
    [Tag("Constructable")]
    public partial class CompositeBirchLumberUnderInnerPeakBlock : Block, IWaterLoggedBlock
    { }

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

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

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

}