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

namespace Eco.Mods.TechTree
{
    using Eco.Shared.Serialization;
    using Eco.Gameplay.Objects;
    using Eco.World;
    using Eco.World.Blocks;
    using Eco.Core.Items;

    [BecomesRubble(typeof(CopperOreRubbleSet1Chunk1Object), typeof(CopperOreRubbleSet1Chunk2Object), typeof(CopperOreRubbleSet1Chunk3Object))]
    [BecomesRubble(typeof(CopperOreRubbleSet2Chunk1Object), typeof(CopperOreRubbleSet2Chunk2Object), typeof(CopperOreRubbleSet2Chunk3Object), typeof(CopperOreRubbleSet2Chunk4Object))]
    [BecomesRubble(typeof(CopperOreRubbleSet3Chunk1Object), typeof(CopperOreRubbleSet3Chunk2Object), typeof(CopperOreRubbleSet3Chunk3Object))]
    [BecomesRubble(typeof(CopperOreRubbleSet4Chunk1Object), typeof(CopperOreRubbleSet4Chunk2Object), typeof(CopperOreRubbleSet4Chunk3Object))]
    [Tag("Minable")]
    public partial class CopperOreBlock : Block { }

    [Serialized, Tag("FastPickupable")] public partial class CopperOreRubbleSet1Chunk1Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable")] public partial class CopperOreRubbleSet1Chunk2Object : RubbleObject<CopperOreItem> { }

    [BecomesRubble(typeof(CopperOreRubbleSet1Chunk3Split1Object), typeof(CopperOreRubbleSet1Chunk3Split2Object)), Tag("MinableRubble")]
    [Serialized] public partial class CopperOreRubbleSet1Chunk3Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet1Chunk3Split1Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet1Chunk3Split2Object : RubbleObject<CopperOreItem> { }

    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet2Chunk1Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet2Chunk2Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet2Chunk3Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet2Chunk4Object : RubbleObject<CopperOreItem> { }

    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet3Chunk1Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet3Chunk2Object : RubbleObject<CopperOreItem> { }
    [BecomesRubble(typeof(CopperOreRubbleSet3Chunk3Split1Object), typeof(CopperOreRubbleSet3Chunk3Split2Object))]
    [Serialized, Tag("MinableRubble")]    public partial class CopperOreRubbleSet3Chunk3Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet3Chunk3Split1Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet3Chunk3Split2Object : RubbleObject<CopperOreItem> { }

    [BecomesRubble(typeof(CopperOreRubbleSet4Chunk1Split1Object), typeof(CopperOreRubbleSet4Chunk1Split2Object))]
    [Serialized, Tag("MinableRubble")]    public partial class CopperOreRubbleSet4Chunk1Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet4Chunk1Split1Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet4Chunk1Split2Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet4Chunk2Object : RubbleObject<CopperOreItem> { }
    [Serialized, Tag("FastPickupable"), Tag("Pickupable")] public partial class CopperOreRubbleSet4Chunk3Object : RubbleObject<CopperOreItem> { }
}
