// 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(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltFloorBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FullWallFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltFullWallBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FlatRoofFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltFlatRoofBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(CubeFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltCubeBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofCubeFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofCubeBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(ChimneyFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltChimneyBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WallFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltWallBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(ColumnFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltColumnBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(WindowFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltWindowBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FenceFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltFenceBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(DoubleWindowFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltDoubleWindowBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderPeakSetFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(PeakSetFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofPeakSetFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(AshlarBasaltItem); } }
    }





    [RotatedVariants(typeof(AshlarBasaltRampABlock), typeof(AshlarBasaltRampA90Block), typeof(AshlarBasaltRampA180Block), typeof(AshlarBasaltRampA270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RampAFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRampABlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltRampA270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltRampBBlock), typeof(AshlarBasaltRampB90Block), typeof(AshlarBasaltRampB180Block), typeof(AshlarBasaltRampB270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RampBFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRampBBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltRampB270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltRampCBlock), typeof(AshlarBasaltRampC90Block), typeof(AshlarBasaltRampC180Block), typeof(AshlarBasaltRampC270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RampCFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRampCBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltRampC270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltRampDBlock), typeof(AshlarBasaltRampD90Block), typeof(AshlarBasaltRampD180Block), typeof(AshlarBasaltRampD270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RampDFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRampDBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltRampD270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltLadderBlock), typeof(AshlarBasaltLadder90Block), typeof(AshlarBasaltLadder180Block), typeof(AshlarBasaltLadder270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(LadderFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltLadderBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltLadder270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltStairsBlock), typeof(AshlarBasaltStairs90Block), typeof(AshlarBasaltStairs180Block), typeof(AshlarBasaltStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(StairsFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltStairsBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltStairs270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltUnderStairsBlock), typeof(AshlarBasaltUnderStairs90Block), typeof(AshlarBasaltUnderStairs180Block), typeof(AshlarBasaltUnderStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderStairsFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderStairsBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderStairs270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltFloatStairsBlock), typeof(AshlarBasaltFloatStairs90Block), typeof(AshlarBasaltFloatStairs180Block), typeof(AshlarBasaltFloatStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloatStairsFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltFloatStairsBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltFloatStairs270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltBraceBlock), typeof(AshlarBasaltBrace90Block), typeof(AshlarBasaltBrace180Block), typeof(AshlarBasaltBrace270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BraceFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltBraceBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltBrace270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltUnderBraceBlock), typeof(AshlarBasaltUnderBrace90Block), typeof(AshlarBasaltUnderBrace180Block), typeof(AshlarBasaltUnderBrace270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderBraceFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderBraceBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderBrace270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltSideBraceBlock), typeof(AshlarBasaltSideBrace90Block), typeof(AshlarBasaltSideBrace180Block), typeof(AshlarBasaltSideBrace270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(SideBraceFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltSideBraceBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltSideBrace270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltBasicSlopeSideBlock), typeof(AshlarBasaltBasicSlopeSide90Block), typeof(AshlarBasaltBasicSlopeSide180Block), typeof(AshlarBasaltBasicSlopeSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopeSideFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltBasicSlopeSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltBasicSlopeSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltBasicSlopeCornerBlock), typeof(AshlarBasaltBasicSlopeCorner90Block), typeof(AshlarBasaltBasicSlopeCorner180Block), typeof(AshlarBasaltBasicSlopeCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopeCornerFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltBasicSlopeCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltBasicSlopeCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltBasicSlopeTurnBlock), typeof(AshlarBasaltBasicSlopeTurn90Block), typeof(AshlarBasaltBasicSlopeTurn180Block), typeof(AshlarBasaltBasicSlopeTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopeTurnFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltBasicSlopeTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltBasicSlopeTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltBasicSlopePointBlock), typeof(AshlarBasaltBasicSlopePoint90Block), typeof(AshlarBasaltBasicSlopePoint180Block), typeof(AshlarBasaltBasicSlopePoint270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BasicSlopePointFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltBasicSlopePointBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltBasicSlopePoint270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltFloatStairsCornerBlock), typeof(AshlarBasaltFloatStairsCorner90Block), typeof(AshlarBasaltFloatStairsCorner180Block), typeof(AshlarBasaltFloatStairsCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloatStairsCornerFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltFloatStairsCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltFloatStairsCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltFloatStairsTurnBlock), typeof(AshlarBasaltFloatStairsTurn90Block), typeof(AshlarBasaltFloatStairsTurn180Block), typeof(AshlarBasaltFloatStairsTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(FloatStairsTurnFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltFloatStairsTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltFloatStairsTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltStairsCornerBlock), typeof(AshlarBasaltStairsCorner90Block), typeof(AshlarBasaltStairsCorner180Block), typeof(AshlarBasaltStairsCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(StairsCornerFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltStairsCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltStairsCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltStairsTurnBlock), typeof(AshlarBasaltStairsTurn90Block), typeof(AshlarBasaltStairsTurn180Block), typeof(AshlarBasaltStairsTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(StairsTurnFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltStairsTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltStairsTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltUnderBraceCornerBlock), typeof(AshlarBasaltUnderBraceCorner90Block), typeof(AshlarBasaltUnderBraceCorner180Block), typeof(AshlarBasaltUnderBraceCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderBraceCornerFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderBraceCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderBraceCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltBraceCornerBlock), typeof(AshlarBasaltBraceCorner90Block), typeof(AshlarBasaltBraceCorner180Block), typeof(AshlarBasaltBraceCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BraceCornerFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltBraceCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltBraceCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltUnderSlopeSideBlock), typeof(AshlarBasaltUnderSlopeSide90Block), typeof(AshlarBasaltUnderSlopeSide180Block), typeof(AshlarBasaltUnderSlopeSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopeSideFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderSlopeSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderSlopeSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltUnderSlopeCornerBlock), typeof(AshlarBasaltUnderSlopeCorner90Block), typeof(AshlarBasaltUnderSlopeCorner180Block), typeof(AshlarBasaltUnderSlopeCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopeCornerFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderSlopeCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderSlopeCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltUnderSlopeTurnBlock), typeof(AshlarBasaltUnderSlopeTurn90Block), typeof(AshlarBasaltUnderSlopeTurn180Block), typeof(AshlarBasaltUnderSlopeTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopeTurnFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderSlopeTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderSlopeTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltUnderSlopePeakBlock), typeof(AshlarBasaltUnderSlopePeak90Block), typeof(AshlarBasaltUnderSlopePeak180Block), typeof(AshlarBasaltUnderSlopePeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderSlopePeakFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderSlopePeakBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderSlopePeak270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltRoofSideBlock), typeof(AshlarBasaltRoofSide90Block), typeof(AshlarBasaltRoofSide180Block), typeof(AshlarBasaltRoofSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofSideFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltRoofTurnBlock), typeof(AshlarBasaltRoofTurn90Block), typeof(AshlarBasaltRoofTurn180Block), typeof(AshlarBasaltRoofTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofTurnFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltRoofCornerBlock), typeof(AshlarBasaltRoofCorner90Block), typeof(AshlarBasaltRoofCorner180Block), typeof(AshlarBasaltRoofCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofCornerFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltRoofPeakBlock), typeof(AshlarBasaltRoofPeak90Block), typeof(AshlarBasaltRoofPeak180Block), typeof(AshlarBasaltRoofPeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(RoofPeakFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofPeakBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltRoofPeak270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltUnderInnerPeakBlock), typeof(AshlarBasaltUnderInnerPeak90Block), typeof(AshlarBasaltUnderInnerPeak180Block), typeof(AshlarBasaltUnderInnerPeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderInnerPeakFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderInnerPeakBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderInnerPeak270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltBraceTurnBlock), typeof(AshlarBasaltBraceTurn90Block), typeof(AshlarBasaltBraceTurn180Block), typeof(AshlarBasaltBraceTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(BraceTurnFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltBraceTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltBraceTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltUnderBraceTurnBlock), typeof(AshlarBasaltUnderBraceTurn90Block), typeof(AshlarBasaltUnderBraceTurn180Block), typeof(AshlarBasaltUnderBraceTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(UnderBraceTurnFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderBraceTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltUnderBraceTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltHalfSlopeABlock), typeof(AshlarBasaltHalfSlopeA90Block), typeof(AshlarBasaltHalfSlopeA180Block), typeof(AshlarBasaltHalfSlopeA270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(HalfSlopeAFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltHalfSlopeABlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [Tag("Constructable")]
    public partial class AshlarBasaltHalfSlopeA270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(AshlarBasaltHalfSlopeBBlock), typeof(AshlarBasaltHalfSlopeB90Block), typeof(AshlarBasaltHalfSlopeB180Block), typeof(AshlarBasaltHalfSlopeB270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(4)]
    [IsForm(typeof(HalfSlopeBFormType), typeof(AshlarBasaltItem))]
    [Tag("Constructable")]
    public partial class AshlarBasaltHalfSlopeBBlock : Block, IWaterLoggedBlock
    { }

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

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

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

}