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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(0)]
    [IsForm(typeof(CubeFormType), typeof(ZenGardenItem))]
    [Tag("Constructable")]
    public partial class ZenGardenCubeBlock :
        Block, IRepresentsItem, IColoredBlock
    {
        public Type RepresentedItemType { get { return typeof(ZenGardenItem); } }
    }






    [RotatedVariants(typeof(ZenGardenDecorationABlock), typeof(ZenGardenDecorationA90Block), typeof(ZenGardenDecorationA180Block), typeof(ZenGardenDecorationA270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(0)]
    [IsForm(typeof(DecorationAFormType), typeof(ZenGardenItem))]
    [Tag("Constructable")]
    public partial class ZenGardenDecorationABlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(0)]
    [Tag("Constructable")]
    public partial class ZenGardenDecorationA270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(ZenGardenDecorationBBlock), typeof(ZenGardenDecorationB90Block), typeof(ZenGardenDecorationB180Block), typeof(ZenGardenDecorationB270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(0)]
    [IsForm(typeof(DecorationBFormType), typeof(ZenGardenItem))]
    [Tag("Constructable")]
    public partial class ZenGardenDecorationBBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(0)]
    [Tag("Constructable")]
    public partial class ZenGardenDecorationB270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(ZenGardenDecorationCBlock), typeof(ZenGardenDecorationC90Block), typeof(ZenGardenDecorationC180Block), typeof(ZenGardenDecorationC270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(0)]
    [IsForm(typeof(DecorationCFormType), typeof(ZenGardenItem))]
    [Tag("Constructable")]
    public partial class ZenGardenDecorationCBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

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

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

    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(0)]
    [Tag("Constructable")]
    public partial class ZenGardenDecorationC270Block : Block, IWaterLoggedBlock, IColoredBlock
    { }
    [RotatedVariants(typeof(ZenGardenDecorationDBlock), typeof(ZenGardenDecorationD90Block), typeof(ZenGardenDecorationD180Block), typeof(ZenGardenDecorationD270Block))]
    [Serialized]
    [Wall, Constructed, Solid, BuildRoomMaterialOption]
    [BlockTier(0)]
    [IsForm(typeof(DecorationDFormType), typeof(ZenGardenItem))]
    [Tag("Constructable")]
    public partial class ZenGardenDecorationDBlock : Block, IWaterLoggedBlock, IColoredBlock
    { }

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

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

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

}