Delivery Location Registry
S1API.Map.DeliveryLocation surfaces customer drop-off points with friendly lookups.
Instances are registered when ScheduleOne.Economy.DeliveryLocation.Awake executes and
cleared during scene unload by the lifecycle cleaner. The recommended way to access a
location is through the typed identifier helpers in S1API.Map.DeliveryLocations so you
can browse the namespace for valid targets.
DeliveryLocation Model
Key properties exposed by each entry:
Name: Display name used by the game.Description: UI-friendly description string.GUID: Persistent identifier generated by the base game.CustomerStandPoint: Transform where customers stand during deliveries.TeleportPoint: Optional transform used for teleporting the player nearby.
Lookup Helpers
// Enumerate all registered delivery points
foreach (var location in DeliveryLocation.GetAll())
{
MelonLogger.Msg($"DeliveryLocation: {location.Name} ({location.GUID})");
}
// Find a delivery location by it's typed identifier
var northApts = DeliveryLocation.Get<BasketballCourt>();
Typed Identifiers (Recommended)
Typed identifiers annotated with [DeliveryLocations.DeliveryLocationName("...")] are the
preferred access pattern. Browsing S1API.Map.DeliveryLocations shows the full catalogue of
drop-off points available in the base game.
[DeliveryLocationName("Basketball court")]
public sealed class BasketballCourt : IDeliveryLocationIdentifier { }