using System.Collections.Generic; using Content.Shared.Damage; using Content.Shared.Sound; using Robust.Shared.GameObjects; using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Server.Mining.Components { [RegisterComponent] public sealed class PickaxeComponent : Component { [DataField("sound")] public SoundSpecifier MiningSound { get; set; } = new SoundPathSpecifier("/Audio/Items/Mining/pickaxe.ogg"); [DataField("timeMultiplier")] public float MiningTimeMultiplier { get; set; } = 1f; /// /// What damage should be given to objects when /// mined using a pickaxe? /// [DataField("damage", required: true)] public DamageSpecifier Damage { get; set; } = default!; /// /// How many entities can this pickaxe mine at once? /// [DataField("maxEntities")] public int MaxMiningEntities = 1; public HashSet MiningEntities = new(); } }