using Content.Shared.EntityTable.EntitySelectors; using Content.Shared.Whitelist; namespace Content.Server.Gatherable.Components; [RegisterComponent] [Access(typeof(GatherableSystem))] public sealed partial class GatherableComponent : Component { /// /// Whitelist for specifying the kind of tools can be used on a resource /// Supports multiple tags. /// [DataField(required: true)] public EntityWhitelist? ToolWhitelist; /// /// YAML example below /// (Tag1, Tag2, LootTableID1, LootTableID2 are placeholders for example) /// -------------------- /// useMappedLoot: true /// toolWhitelist: /// tags: /// - Tag1 /// - Tag2 /// loot: /// Tag1: !type:NestedSelector /// tableId: LootTableID1 /// Tag2: !type:NestedSelector /// tableId: LootTableID2 /// [DataField] public Dictionary? Loot = new(); /// /// Random shift of the appearing entity during gathering /// [DataField] public float GatherOffset = 0.3f; }