// 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(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelFloorBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(CubeFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelCubeBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofCubeFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelRoofCubeBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FlatRoofFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelFlatRoofBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WallFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelWallBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelRoofBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(ColumnFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelColumnBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WindowFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelWindowBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WindowCornersFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelWindowCornersBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(ThinColumnFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelThinColumnBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(DoubleWindowFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelDoubleWindowBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofPeakSetFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelRoofPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderPeakSetFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelUnderPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(PeakSetFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FenceFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelFenceBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(FlatSteelItem); } }
    }





    [RotatedVariants(typeof(FlatSteelLadderBlock), typeof(FlatSteelLadder90Block), typeof(FlatSteelLadder180Block), typeof(FlatSteelLadder270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(LadderFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelLadderBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelLadder270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelRoofSideBlock), typeof(FlatSteelRoofSide90Block), typeof(FlatSteelRoofSide180Block), typeof(FlatSteelRoofSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofSideFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelRoofSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelRoofSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelRoofTurnBlock), typeof(FlatSteelRoofTurn90Block), typeof(FlatSteelRoofTurn180Block), typeof(FlatSteelRoofTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofTurnFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelRoofTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelRoofTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelRoofCornerBlock), typeof(FlatSteelRoofCorner90Block), typeof(FlatSteelRoofCorner180Block), typeof(FlatSteelRoofCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofCornerFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelRoofCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelRoofCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelRoofPeakBlock), typeof(FlatSteelRoofPeak90Block), typeof(FlatSteelRoofPeak180Block), typeof(FlatSteelRoofPeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofPeakFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelRoofPeakBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelRoofPeak270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelBasicSlopeSideBlock), typeof(FlatSteelBasicSlopeSide90Block), typeof(FlatSteelBasicSlopeSide180Block), typeof(FlatSteelBasicSlopeSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopeSideFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelBasicSlopeSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelBasicSlopeSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelBasicSlopeCornerBlock), typeof(FlatSteelBasicSlopeCorner90Block), typeof(FlatSteelBasicSlopeCorner180Block), typeof(FlatSteelBasicSlopeCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopeCornerFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelBasicSlopeCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelBasicSlopeCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelBasicSlopeTurnBlock), typeof(FlatSteelBasicSlopeTurn90Block), typeof(FlatSteelBasicSlopeTurn180Block), typeof(FlatSteelBasicSlopeTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopeTurnFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelBasicSlopeTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelBasicSlopeTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelBasicSlopePointBlock), typeof(FlatSteelBasicSlopePoint90Block), typeof(FlatSteelBasicSlopePoint180Block), typeof(FlatSteelBasicSlopePoint270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopePointFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelBasicSlopePointBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelBasicSlopePoint270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelUnderSlopeSideBlock), typeof(FlatSteelUnderSlopeSide90Block), typeof(FlatSteelUnderSlopeSide180Block), typeof(FlatSteelUnderSlopeSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopeSideFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelUnderSlopeSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelUnderSlopeSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelUnderSlopeCornerBlock), typeof(FlatSteelUnderSlopeCorner90Block), typeof(FlatSteelUnderSlopeCorner180Block), typeof(FlatSteelUnderSlopeCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopeCornerFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelUnderSlopeCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelUnderSlopeCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelUnderSlopeTurnBlock), typeof(FlatSteelUnderSlopeTurn90Block), typeof(FlatSteelUnderSlopeTurn180Block), typeof(FlatSteelUnderSlopeTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopeTurnFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelUnderSlopeTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelUnderSlopeTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelUnderSlopePeakBlock), typeof(FlatSteelUnderSlopePeak90Block), typeof(FlatSteelUnderSlopePeak180Block), typeof(FlatSteelUnderSlopePeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopePeakFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelUnderSlopePeakBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelUnderSlopePeak270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelUnderInnerPeakBlock), typeof(FlatSteelUnderInnerPeak90Block), typeof(FlatSteelUnderInnerPeak180Block), typeof(FlatSteelUnderInnerPeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderInnerPeakFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelUnderInnerPeakBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelUnderInnerPeak270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelFloatStairsCornerBlock), typeof(FlatSteelFloatStairsCorner90Block), typeof(FlatSteelFloatStairsCorner180Block), typeof(FlatSteelFloatStairsCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloatStairsCornerFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelFloatStairsCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelFloatStairsCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelFloatStairsTurnBlock), typeof(FlatSteelFloatStairsTurn90Block), typeof(FlatSteelFloatStairsTurn180Block), typeof(FlatSteelFloatStairsTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloatStairsTurnFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelFloatStairsTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class FlatSteelFloatStairsTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(FlatSteelFloatStairsBlock), typeof(FlatSteelFloatStairs90Block), typeof(FlatSteelFloatStairs180Block), typeof(FlatSteelFloatStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloatStairsFormType), typeof(FlatSteelItem))]
    [Tag("Constructable")]
    public partial class FlatSteelFloatStairsBlock : Block, IWaterLoggedBlock
    { }

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

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

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

}