// 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(1)]
    [IsForm(typeof(FloorFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogFloorBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(CubeFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogCubeBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(RoofCubeFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofCubeBlock :
        Block, IRepresentsItem
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(WallFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogWallBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(RoofFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(ColumnFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogColumnBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(WindowGrillesFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogWindowGrillesBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(RoofPeakSetFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofPeakSetBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksFenceIntersectionFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceIntersectionBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksColumnFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksColumnBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPillarBeamXFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamXBlock :
        Block, IRepresentsItem, IWaterLoggedBlock
    {
        public Type RepresentedItemType { get { return typeof(HardwoodHewnLogItem); } }
    }





    [RotatedVariants(typeof(HardwoodHewnLogStairsBlock), typeof(HardwoodHewnLogStairs90Block), typeof(HardwoodHewnLogStairs180Block), typeof(HardwoodHewnLogStairs270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(StairsFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogStairsBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogStairs270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogLadderBlock), typeof(HardwoodHewnLogLadder90Block), typeof(HardwoodHewnLogLadder180Block), typeof(HardwoodHewnLogLadder270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(LadderFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogLadderBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogLadder270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogRoofSideBlock), typeof(HardwoodHewnLogRoofSide90Block), typeof(HardwoodHewnLogRoofSide180Block), typeof(HardwoodHewnLogRoofSide270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(RoofSideFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofSideBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofSide270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogRoofTurnBlock), typeof(HardwoodHewnLogRoofTurn90Block), typeof(HardwoodHewnLogRoofTurn180Block), typeof(HardwoodHewnLogRoofTurn270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(RoofTurnFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofTurnBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofTurn270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogRoofCornerBlock), typeof(HardwoodHewnLogRoofCorner90Block), typeof(HardwoodHewnLogRoofCorner180Block), typeof(HardwoodHewnLogRoofCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(RoofCornerFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogRoofPeakBlock), typeof(HardwoodHewnLogRoofPeak90Block), typeof(HardwoodHewnLogRoofPeak180Block), typeof(HardwoodHewnLogRoofPeak270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(RoofPeakFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofPeakBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogRoofPeak270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksPillarBlock), typeof(HardwoodHewnLogDocksPillar90Block), typeof(HardwoodHewnLogDocksPillar180Block), typeof(HardwoodHewnLogDocksPillar270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPillarFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillar270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksRampsBlock), typeof(HardwoodHewnLogDocksRamps90Block), typeof(HardwoodHewnLogDocksRamps180Block), typeof(HardwoodHewnLogDocksRamps270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksRampsFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampsBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRamps270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksPlatformBlock), typeof(HardwoodHewnLogDocksPlatform90Block), typeof(HardwoodHewnLogDocksPlatform180Block), typeof(HardwoodHewnLogDocksPlatform270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPlatformFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPlatformBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPlatform270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksPlatformFillBlock), typeof(HardwoodHewnLogDocksPlatformFill90Block), typeof(HardwoodHewnLogDocksPlatformFill180Block), typeof(HardwoodHewnLogDocksPlatformFill270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPlatformFillFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPlatformFillBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPlatformFill270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksPillarBeamBlock), typeof(HardwoodHewnLogDocksPillarBeam90Block), typeof(HardwoodHewnLogDocksPillarBeam180Block), typeof(HardwoodHewnLogDocksPillarBeam270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPillarBeamFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeam270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksFenceCornerBlock), typeof(HardwoodHewnLogDocksFenceCorner90Block), typeof(HardwoodHewnLogDocksFenceCorner180Block), typeof(HardwoodHewnLogDocksFenceCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksFenceCornerFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksFenceMidBlock), typeof(HardwoodHewnLogDocksFenceMid90Block), typeof(HardwoodHewnLogDocksFenceMid180Block), typeof(HardwoodHewnLogDocksFenceMid270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksFenceMidFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceMidBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceMid270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksFenceTIntersectionBlock), typeof(HardwoodHewnLogDocksFenceTIntersection90Block), typeof(HardwoodHewnLogDocksFenceTIntersection180Block), typeof(HardwoodHewnLogDocksFenceTIntersection270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksFenceTIntersectionFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceTIntersectionBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceTIntersection270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksPillarBeamEndBlock), typeof(HardwoodHewnLogDocksPillarBeamEnd90Block), typeof(HardwoodHewnLogDocksPillarBeamEnd180Block), typeof(HardwoodHewnLogDocksPillarBeamEnd270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPillarBeamEndFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamEndBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamEnd270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksPillarBeamEndAltBlock), typeof(HardwoodHewnLogDocksPillarBeamEndAlt90Block), typeof(HardwoodHewnLogDocksPillarBeamEndAlt180Block), typeof(HardwoodHewnLogDocksPillarBeamEndAlt270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPillarBeamEndAltFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamEndAltBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamEndAlt270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksPillarBeamJunctionBlock), typeof(HardwoodHewnLogDocksPillarBeamJunction90Block), typeof(HardwoodHewnLogDocksPillarBeamJunction180Block), typeof(HardwoodHewnLogDocksPillarBeamJunction270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPillarBeamJunctionFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamJunctionBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamJunction270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksBarrelPlatformBlock), typeof(HardwoodHewnLogDocksBarrelPlatform90Block), typeof(HardwoodHewnLogDocksBarrelPlatform180Block), typeof(HardwoodHewnLogDocksBarrelPlatform270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksBarrelPlatformFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksBarrelPlatformBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksBarrelPlatform270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksRampABlock), typeof(HardwoodHewnLogDocksRampA90Block), typeof(HardwoodHewnLogDocksRampA180Block), typeof(HardwoodHewnLogDocksRampA270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksRampAFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampABlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampA270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksRampBBlock), typeof(HardwoodHewnLogDocksRampB90Block), typeof(HardwoodHewnLogDocksRampB180Block), typeof(HardwoodHewnLogDocksRampB270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksRampBFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampBBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampB270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksRampCBlock), typeof(HardwoodHewnLogDocksRampC90Block), typeof(HardwoodHewnLogDocksRampC180Block), typeof(HardwoodHewnLogDocksRampC270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksRampCFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampCBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampC270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksRampDBlock), typeof(HardwoodHewnLogDocksRampD90Block), typeof(HardwoodHewnLogDocksRampD180Block), typeof(HardwoodHewnLogDocksRampD270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksRampDFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampDBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampD270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksFenceSoloBlock), typeof(HardwoodHewnLogDocksFenceSolo90Block), typeof(HardwoodHewnLogDocksFenceSolo180Block), typeof(HardwoodHewnLogDocksFenceSolo270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksFenceSoloFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceSoloBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceSolo270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksFenceEndCapBlock), typeof(HardwoodHewnLogDocksFenceEndCap90Block), typeof(HardwoodHewnLogDocksFenceEndCap180Block), typeof(HardwoodHewnLogDocksFenceEndCap270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksFenceEndCapFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceEndCapBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceEndCap270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksRampsCornerBlock), typeof(HardwoodHewnLogDocksRampsCorner90Block), typeof(HardwoodHewnLogDocksRampsCorner180Block), typeof(HardwoodHewnLogDocksRampsCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksRampsCornerFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampsCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampsCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksRampsCornerInvertedBlock), typeof(HardwoodHewnLogDocksRampsCornerInverted90Block), typeof(HardwoodHewnLogDocksRampsCornerInverted180Block), typeof(HardwoodHewnLogDocksRampsCornerInverted270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksRampsCornerInvertedFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampsCornerInvertedBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksRampsCornerInverted270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksFenceEndCapDoubleBlock), typeof(HardwoodHewnLogDocksFenceEndCapDouble90Block), typeof(HardwoodHewnLogDocksFenceEndCapDouble180Block), typeof(HardwoodHewnLogDocksFenceEndCapDouble270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksFenceEndCapDoubleFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceEndCapDoubleBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksFenceEndCapDouble270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksPillarBeamCornerBlock), typeof(HardwoodHewnLogDocksPillarBeamCorner90Block), typeof(HardwoodHewnLogDocksPillarBeamCorner180Block), typeof(HardwoodHewnLogDocksPillarBeamCorner270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPillarBeamCornerFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamCornerBlock : Block, IWaterLoggedBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamCorner270Block : Block, IWaterLoggedBlock
    { }
    [RotatedVariants(typeof(HardwoodHewnLogDocksPillarBeamTBlock), typeof(HardwoodHewnLogDocksPillarBeamT90Block), typeof(HardwoodHewnLogDocksPillarBeamT180Block), typeof(HardwoodHewnLogDocksPillarBeamT270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(1)]
    [IsForm(typeof(DocksPillarBeamTFormType), typeof(HardwoodHewnLogItem))]
    [Tag("Constructable")]
    public partial class HardwoodHewnLogDocksPillarBeamTBlock : Block, IWaterLoggedBlock
    { }

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

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

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

}