namespace Content.Server.Storage.Components; [RegisterComponent] public sealed class BluespaceLockerComponent : Component { /// /// Determines if gas will be transported. /// [DataField("transportGas"), ViewVariables(VVAccess.ReadWrite)] public bool TransportGas = true; /// /// Determines if entities will be transported. /// [DataField("transportEntities"), ViewVariables(VVAccess.ReadWrite)] public bool TransportEntities = true; /// /// Determines if entities with a Mind component will be transported. /// [DataField("allowSentient"), ViewVariables(VVAccess.ReadWrite)] public bool AllowSentient = true; /// /// If length > 0, when something is added to the storage, it will instead be teleported to a random storage /// from the list and the other storage will be opened. /// [DataField("bluespaceLinks"), ViewVariables(VVAccess.ReadOnly)] public HashSet BluespaceLinks = new(); /// /// Each time the system attempts to get a link, it will link additional lockers to ensure the minimum amount /// are linked. /// [DataField("minBluespaceLinks"), ViewVariables(VVAccess.ReadWrite)] public uint MinBluespaceLinks; /// /// Determines if links automatically added are restricted to the same map /// [DataField("pickLinksFromSameMap"), ViewVariables(VVAccess.ReadWrite)] public bool PickLinksFromSameMap; /// /// Determines if links automatically added must have ResistLockerComponent /// [DataField("pickLinksFromResistLockers"), ViewVariables(VVAccess.ReadWrite)] public bool PickLinksFromResistLockers = true; /// /// Determines if links automatically added are restricted to being on a station /// [DataField("pickLinksFromStationGrids"), ViewVariables(VVAccess.ReadWrite)] public bool PickLinksFromStationGrids = true; /// /// Determines if links automatically added are bidirectional /// [DataField("autoLinksBidirectional"), ViewVariables(VVAccess.ReadWrite)] public bool AutoLinksBidirectional; }