Skip to content
modair edited this page Jul 2, 2020 · 61 revisions

This is a list of all available component configs, there's a couple that may not work without us updating the code but most of the should work fine!

A component config broken? Stick an issue up!

AgentFloorPortal (POConfig_AgentFloorPortal)

(tested and works )

A portal from one floor to another (i. e. stairs and escalators)

Default markers:

[
  {
    "receiverType": 3,
    "position": {
      "x": 0.8235779,
      "y": -0.187988281
    },
    "orientation": {
      "x": 0.0,
      "y": 0.0
    },
    "tag": "pt1",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 3,
    "position": {
      "x": 1.01937866,
      "y": 2.93
    },
    "orientation": {
      "x": 0.0,
      "y": 0.0
    },
    "tag": "pt2",
    "blocksConstruction": false,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 3,
    "position": {
      "x": 1.05114746,
      "y": 0.33
    },
    "orientation": {
      "x": 0.0,
      "y": 0.0
    },
    "tag": "pt3",
    "blocksConstruction": false,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 3,
    "position": {
      "x": 0.784729,
      "y": 3.19647217
    },
    "orientation": {
      "x": 0.0,
      "y": 0.0
    },
    "tag": "pt4",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 1
  }
]
{
  "$type": "POConfig_AgentFloorPortal, Assembly-CSharp",
  "isBidirectional": false,
  "ComponentConfig": null,
  "PLACEMENT_OFFSET": 0
}

AircraftGate (POConfig_AircraftGate)

(tested and works , but there are still some bugs in)

A normal aircraft gate with no stairs but a jetway.

{
  "$type": "POConfig_AircraftGate, Assembly-CSharp",
  "validatedLevel": 1
}

You need for AircraftGates a lot of markers: center , taxi1 , taxi2 , connector , pax_spawn , door , text , inside , offgate1 , BaggageSpot , fuelSpot

The Sprites for the jetbride : "JetBridgeAirportConnect" - the part at the airport that doesn't move "JetBridgeArm" - the arm "JetBridgePlaneConnect" - the small thing at the end that actually connects to the airplane

spawn => inside with this markers you can create the walking way of the pax

You need 2 sprites for a Gate (1. gate + 2. that what is to see on the taxiway)

AircraftGateSmall (POConfig_AircraftGateSmall)

(tested and works , but there are still some bugs in)

A small aircraft gate with stairs only.

{
  "$type": "POConfig_AircraftGateSmall, Assembly-CSharp",
  "validatedLevel": 0
}

You need for AircraftGates a lot of markers: center , taxi1 , taxi2 , connector , pax_spawn , door , text , inside , offgate1 , stairsMin , stairsMax , BaggageSpot , fuelSpot

spawn => paxbottomstairs => inside with this markers you can create the walking way of the pax

You need 2 sprites for a Gate (1. gate + 2. that what is to see on the taxiway)

ArcadeGameUtility (POConfig_ArcadeGameUtility)

(tested and works, but with a Bug: only is not accepted alone in the arcade zone)

Makes your placeable an arcade so pax can have fun!

{
  "$type": "POConfig_ArcadeGameUtility, Assembly-CSharp",
  "TimingDisplayCategory": 0,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

for arcade games you also need this Config: POConfig_VendingMachine

ATCTower (POConfig_ATCTower)

(tested and works)

ATCTower.

{
  "$type": "POConfig_ATCTower, Assembly-CSharp"
}

ATM (POConfig_ATM)

(tested and works)

ATM to get money from.

{
  "$type": "POConfig_ATM, Assembly-CSharp",
  "TimingDisplayCategory": 8,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

BaggageCarousel (POConfig_BaggageCarousel)

(not tested so far)

A baggage carousel, it'll auto detect which level is used based on the na.consumer.

{
  "$type": "POConfig_BaggageCarousel, Assembly-CSharp",
  "TimingDisplayCategory": 0,
  "acceptsQueueGeometry": false,
  "queueEnabled": false,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

you need this markers: path0 , path1 , path2 , path3 , path4 , path5 , fp.otherside.min , fp.otherside.max + na.consumer and it needs a second sprite(texture) for the level down , for the consumer

you also need this Config for a Baggage Mod: POConfig_UtilityNetwork

BaggageDepot (POConfig_BaggageDepot)

(tested and works)

The default baggage depot, only some things may be changed, it'll always use auto foundation on -1.

{
  "$type": "POConfig_BaggageDepot, Assembly-CSharp"
}

you also need this Config for a Baggage Mod: POConfig_UtilityNetwork

BaggageHub (POConfig_BaggageHub)

(tested and works , only at small Hubs the upgrade not works)

A baggage hub to sort baggage.

{
  "$type": "POConfig_BaggageHub, Assembly-CSharp"
}

you also need this Config for a Baggage Mod: POConfig_UtilityNetwork

BaggageHubUpgrade (POConfig_BaggageHubUpgrade)

(not works at moment)

An upgrade for the hub (may not be useful since there's no code for more upgrades atm).

{
  "$type": "POConfig_BaggageHubUpgrade, Assembly-CSharp"
}

BagScannerUtility (POConfig_BagScannerUtility)

(tested and works)

General bag scanner (this also automatically adds bins).

Bag scanners need some markers:

  • paxExit - The position pax pick up their stuff.
  • (tag) - This can be named anything, it's the "paxEntry" position, i.e. where pax drop their stuff on the belt.
  • waypoint1 .. waypoint4 - These 4 define where the bins run along. Note: waypoint2 and 3 are not used but may be re-added later, set them to 0, 0 if you don't intend to use them.

Default remote bag scanner markers for the front facing:

[
  {
    "receiverType": 3,
    "position": {
      "x": 1.54586756,
      "y": 4.99066162
    },
    "orientation": {
      "x": 0.0,
      "y": 1.0
    },
    "tag": "paxExit",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 2,
    "position": {
      "x": 1.43766046,
      "y": 1.28759766
    },
    "orientation": {
      "x": 0.0,
      "y": -1.0
    },
    "tag": "(tag)",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 3,
    "position": {
      "x": 0.6034968,
      "y": 1.21221924
    },
    "orientation": {
      "x": 1.0,
      "y": 0.0
    },
    "tag": "waypoint1",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 3,
    "position": {
      "x": 0.6188382,
      "y": 3.93890381
    },
    "orientation": {
      "x": 1.0,
      "y": 0.0
    },
    "tag": "waypoint2",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 3,
    "position": {
      "x": 0.561536252,
      "y": 5.128479
    },
    "orientation": {
      "x": 1.0,
      "y": 0.0
    },
    "tag": "waypoint3",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 3,
    "position": {
      "x": 0.590372741,
      "y": 6.383789
    },
    "orientation": {
      "x": 1.0,
      "y": 0.0
    },
    "tag": "waypoint4",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  }
]
{
  "$type": "POConfig_BagScannerUtility, Assembly-CSharp",
  "isRemote": false,
  "maskSprite": "myMaskName",
  "TimingDisplayCategory": 2,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 6,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

you also need a second sprite(texture) for the mask , that the texture is infront of the trays at the scanning part

BodyScannerUtility (POConfig_BodyScannerUtility)

(tested, and works as metal detector)(as bodyscanner it just works in edge))

Body scanner, also functions as a MetalDetector if "Metal" is in it's name.

{
  "$type": "POConfig_BodyScannerUtility, Assembly-CSharp",
  "TimingDisplayCategory": 2,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

Default markers:

[
  {
    "receiverType": 1,
    "position": {
      "x": 0.0,
      "y": -0.3
    },
    "orientation": {
      "x": 1.0,
      "y": 0.0
    },
    "tag": "(tag)",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 2,
    "position": {
      "x": 0.56,
      "y": 1.16
    },
    "orientation": {
      "x": 0.0,
      "y": -1.0
    },
    "tag": "(tag)",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 3,
    "position": {
      "x": 1.0,
      "y": -0.5
    },
    "orientation": {
      "x": 0.0,
      "y": -1.0
    },
    "tag": "exit",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 3,
    "position": {
      "x": 1.0,
      "y": 1.0
    },
    "orientation": {
      "x": 0.0,
      "y": -1.0
    },
    "tag": "entry",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  },
  {
    "receiverType": 2,
    "position": {
      "x": 1.44,
      "y": 1.16
    },
    "orientation": {
      "x": 0.0,
      "y": -1.0
    },
    "tag": "entry",
    "blocksConstruction": true,
    "rotateEnabled": false,
    "RelativeLevel": 0
  }
]

For Bodyscanners you also need the marker "scan"

ChristmasTreeLights (POConfig_ChristmasTreeLights)

(not tested so far)

Adds some christmas tree lights to your placeable (rather specific so may not be useful).

{
  "$type": "POConfig_ChristmasTreeLights, Assembly-CSharp"
}

ConveyorPortal (POConfig_ConveyorPortal)

(not tested so far)

A floor portal, like an AgentFloorPortal but for conveyors.

{
  "$type": "POConfig_ConveyorPortal, Assembly-CSharp",
  "isBidirectional": false,
  "PLACEMENT_OFFSET": -1
}

CookingStation (POConfig_CookingStation)

(not tested so far)

A place where a cook can cook (like an oven).

{
  "$type": "POConfig_CookingStation, Assembly-CSharp",
  "applianceType": 20
}

DigitalAdBoard (POConfig_DigitalAdBoard)

(tested and works , but still has some bugs(see isssue))

An advertisement board, rather specific on how it renders the ad, may be hard to customize.

Given are the position and scale for the default ad board, all numbers in normal world space (1 == 1 cell == 64 pixel).

{
  "$type": "POConfig_DigitalAdBoard, Assembly-CSharp",
  "positionX": 0.103,
  "positionY": 0.409,
  "scaleX": 0.787613,
  "scaleY": 0.6207502
}

Door (POConfig_Door)

(tested and works)

A door, can be anything you like and may be staff only.

{
  "$type": "POConfig_Door, Assembly-CSharp",
  "StaffOnly": false
}

If you want it as staff ddor , you also need this Config: POConfig_SecureAreaDivider

Dumpster (POConfig_Dumpster)

(not tested so far)

Dumpster, takes garbage and is cleared when the truck comes around for pickup.

{
  "$type": "POConfig_Dumpster, Assembly-CSharp"
}

EffectEmitter (POConfig_Emitter)

(tested and works)

Emits a need (like boredom or information) to the by-standing pax.

Effect types:

Environment = 0
Information = 1
{
  "$type": "POConfig_Emitter, Assembly-CSharp",
  "affects": 0,
  "intensity": 0.4,
  "distance": 3,
  "isExponential": true,
  "minAngle": 360.0,
  "maxAngle": 360.0,
  "dualDirection": true
}

ElectronicsVending (POConfig_ElectronicsVending)

(tested and works)

A special vending machine to sell electronics (you can sell anything, it'll lower pax boredom).

{
  "$type": "POConfig_ElectronicsVending, Assembly-CSharp",
  "TimingDisplayCategory": 7,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

you also need this Config: POConfig_VendingMachine

FoodDisplay (POConfig_FoodDisplay)

(tested and works)

      {
        "$type": "POConfig_FoodDisplay, Assembly-CSharp",
        "displayType": 2,
        "frontSprites": [
          "Buffet_Empty_Front",
          "Buffet_NearlyEmpty_Front",
          "Buffet_Half_Front",
          "Buffet_Full_Front"
        ],
        "leftSprites": [
          "Buffet_Empty_Left",
          "Buffet_NearlyEmpty_Left",
          "Buffet_Half_Left",
          "Buffet_Full_Left"
        ],
        "backSprites": [
          "Buffet_Empty_Back",
          "Buffet_NearlyEmpty_Back",
          "Buffet_Half_Back",
          "Buffet_Full_Back"
        ],
        "TimingDisplayCategory": 6,
        "acceptsQueueGeometry": false,
        "queueEnabled": false,
        "concurrency": 3,
        "staffLimit": -1,
        "workSortOrder": 100,
        "requiresStaffType": 0,
        "name": "Buffet",
        "hideFlags": 0
      }

displayType 1 = Cold Food Display , 2 = Hot Food Display

You need for this Config 4 textures (with 4 different fillings: full , half , nearly empty , empty)

FuelDepot (POConfig_FuelDepot)

(not tested so far)

The default fuel depot, used for receiving outside fuel.

{
  "$type": "POConfig_FuelDepot, Assembly-CSharp"
}

FuelingStation (POConfig_FuelingStation)

(not tested so far)

Refuel station for a fuel truck.

{
  "$type": "POConfig_FuelingStation, Assembly-CSharp"
}

FuelPort (POConfig_FuelPort)

(not tested so far)

Refuel port, also usually a gate upgrade.

{
  "$type": "POConfig_FuelPort, Assembly-CSharp"
}

FuelTank (POConfig_FuelTank)

(tested and works)

Any fuel tank, capacity is in ml!

{
  "$type": "POConfig_FuelTank, Assembly-CSharp",
  "m_Capacity": 90000000
}

GateAgentDesk (POConfig_GateAgentDesk)

(tested and works)

Lets pax use this placeable as a way to board a plane.

{
  "$type": "POConfig_GateAgentDesk, Assembly-CSharp",
  "TimingDisplayCategory": 5,
  "acceptsQueueGeometry": true,
  "queueEnabled": true,
  "concurrency": 2,
  "staffLimit": -1,
  "workSortOrder": 90,
  "requiresStaffType": 0
}

GateStairs (POConfig_GateStairs)

(not tested so far) Upgrade for small gates.

{
  "$type": "POConfig_GateStairs, Assembly-CSharp"
}

Hangar (POConfig_Hangar)

(tested and works)

A general hangar (vehicle will try to drive in front of it and then enter into it). May be used to store vehicles and maybe more but definitely vehicles!

Required markers:

  • "adjacent" - Where the hangar should looko for a road or taxiway which in turn is used for entering and exiting by vehicles.
{
  "$type": "POConfig_Hangar, Assembly-CSharp",
  "slots": 5
}

HungerUtility (POConfig_HungerUtility)

(tested and works)

Marks your placeable as viable for getting food, needs a VendingUtility to actually sell it.

The property "foodType" is a list of strings, you can add to it by adding food names with quotes and separated by commas. "foodType": ["Coke", "Pizza"].

Food types available in vanilla:

Avocado on Toast
Coffee
Coke
Crisps
Donut
Lemonade
Pizza
Sushi
{
  "$type": "POConfig_HungerUtility, Assembly-CSharp",
  "foodType": [],
  "TimingDisplayCategory": 6,
  "acceptsQueueGeometry": true,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

you also need this config : POConfig_VendingMachine

IDCheckStand (POConfig_IDCheckStand)

(tested and works)

The default ID Check stand.

{
  "$type": "POConfig_IDCheckStand, Assembly-CSharp",
  "TimingDisplayCategory": 2,
  "acceptsQueueGeometry": true,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

InformationUtility (POConfig_InformationUtility)

(tested and works)

Marks this object as viable for information gathering, does not actually give information need - see Effect emitter above.

{
  "$type": "POConfig_InformationUtility, Assembly-CSharp",
  "isUsedDirectly": false,
  "isXL": false,
  "TimingDisplayCategory": 7,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 5,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

LightRailPlatform (POConfig_LightRailPlatform)

(not tested so far)

The LRT Platform, may be hard to customize since it's build up from two sprites.

{
  "$type": "POConfig_LightRailPlatform, Assembly-CSharp"
}

Maintainable (POConfig_Maintainable)

(works)

Anything that may need maintenance, may only work with other components in combination.

{
  "$type": "POConfig_Maintainable, Assembly-CSharp",
  "pip": 0.01
}

MeetingChair (POConfig_MeetingChair)

(tested and works) A chair to sit on, but one that also qualifies for meetings.

{
  "$type": "POConfig_MeetingChair, Assembly-CSharp"
}

MovingWalkway (POConfig_MovingWalkway)

(not works at moment)

The one and only, this one may be hard to customize!

{
  "$type": "POConfig_MovingWalkway, Assembly-CSharp"
}

NetworkAttachable (POConfig_UtilityNetwork)

(tested and works)

The utility network component is used to add ports to your placeable like fuel and baggage.

To know where the port should be in the world the component will use the markers starting with na.. For a consumer you do na.consumer, producer is na.producer and h2h is na.h2h. For a fuel port use na.none and type = 1.

The marker that is used as endpoint also has to be changed to receiverType 3, otherwise it'll not count as endpoint!

Types of ports:

Baggage = 0
Fuel    = 1
All     = 2
{
  "$type": "POConfig_UtilityNetwork, Assembly-CSharp",
  "type": 0
}

NewsVending (POConfig_NewsVending)

(tested and works)

A small shop selling news (pretty much electronics vending but with a worker).

{
  "$type": "POConfig_NewsVending, Assembly-CSharp",
  "TimingDisplayCategory": 0,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

you also need here this config: POConfig_VendingMachine

PASystemAmplifier (POConfig_PASystemAmplifier)

(tested and works)

Handles PA Speakers, must be placed in electrical zone.

{
  "$type": "POConfig_PASystemAmplifier, Assembly-CSharp",
  "maxSpeakers": 4,
  "maxGates": 4
}

PASystemEmitter (POConfig_PASystemEmitter)

(tested and works)

Emits PA calls, can be connected to an amp in-game.

{
  "$type": "POConfig_PASystemEmitter, Assembly-CSharp",
  "affects": 0,
  "intensity": 0.8,
  "distance": 12,
  "isExponential": true,
  "minAngle": 360.0,
  "maxAngle": 360.0,
  "dualDirection": false
}

PhoneChargingUtility (POConfig_PhoneChargingUtility)

(tested and works)

The master of boredom removal!

{
  "$type": "POConfig_PhoneChargingUtility, Assembly-CSharp",
  "TimingDisplayCategory": 10,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 2,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

PoleLight (POConfig_PoleLight)

(tested , has still a bug (see isssue))

A small light source.

{
  "$type": "POConfig_PoleLight, Assembly-CSharp"
}

PotSink (POConfig_PotSink)

(not tested so far)

A sink, for a kitchen eh?

{
  "$type": "POConfig_PotSink, Assembly-CSharp"
}

PrepCart (POConfig_PrepCart)

(not tested so far)

A preparation cart, for a kitchen eh!

{
  "$type": "POConfig_PrepCart, Assembly-CSharp",
  "prepType": 1
}

ProductDisplay (POConfig_ProductDisplay)

(not works at moment) Base component for any store product display!

Requirements

This component requires a POConfig_RetailObject on the same placeable, the POConfig_RetailObject must be higher in the list of components than the POConfig_ProductDisplay!

{
  "$type": "POConfig_ProductDisplay, Assembly-CSharp",
  "TimingDisplayCategory": 10,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 3,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

ReceptionDesk (POConfig_ReceptionDesk)

(tested and works)

The special security zone keeper used.

{
  "$type": "POConfig_ReceptionDesk, Assembly-CSharp",
  "TimingDisplayCategory": 2,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

RemoteAircraftGate (POConfig_RemoteAircraftGate)

(not tested so far)

A default remote gate that is small.

{
  "$type": "POConfig_RemoteAircraftGate, Assembly-CSharp",
  "validatedLevel": 0
}

You need for AircraftGates a lot of markers: center , taxi1 , taxi2 , taxi3(maybe at bigger gates) , connector , pax_spawn , door , text , inside , offgate1 , stairsMin , stairsMax ,BaggageSpot , fuelSpot like at the normal gate + some more markers for the bus: busSpot1 , busSpot2 , busSpot3 , busSpot4 , busEntryPos , busExitPos

RemoteBusPickup (POConfig_RemoteBusPickup)

(tested and works)

The default bus pickup for remote buses.

{
  "$type": "POConfig_RemoteBusPickup, Assembly-CSharp"
}

RestUtility (POConfig_RestUtility)

(tested and works)

Marks the object as available for resting / sitting (e.g. a bench).

{
  "$type": "POConfig_RestUtility, Assembly-CSharp",
  "moveableChair": false,
  "TimingDisplayCategory": 0,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

RetailCashRegister (POConfig_RetailCashRegister)

(tested and works)

Used for checking out items bought in a shop or cafe.

{
  "$type": "POConfig_RetailCashRegister, Assembly-CSharp",
  "TimingDisplayCategory": 6,
  "acceptsQueueGeometry": true,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

RetailObject (POConfig_RetailObject)

(not works) N/A - needs some internal fixes first!

RetailOverlayDisplay (POConfig_RetailOverlayDisplay)

(not works)

Can be used to "mask" some spots of your sprite so that agents are rendered under it partially and above it on other parts. This will use the first sprite it can find for a given rotation!

{
  "$type": "POConfig_RetailOverlayDisplay, Assembly-CSharp"
}

RoadRamp (POConfig_RoadRamp)

(not tested so far)

A road ramp for vehicles.

{
  "$type": "POConfig_RoadRamp, Assembly-CSharp",
  "GoesUp": false,
  "POffset": 0
}

RunwayUpgrade (POConfig_RunwayUpgrade)

(not tested so far)

Sets your placeable as a runway upgrade that can be placed either exactly on the runway "requiresRunwayPlacement": true or off the runway with a distance of maxDistance and may be placed only once per runway if set to unique.

Note: If your placeable should be possible to build more than once per runway but only a limited amount you can also use the maxAllowed property of your placeable.

{
  "$type": "POConfig_RunwayUpgrade, Assembly-CSharp",
  "maxDistance": 15,
  "isUnique": true,
  "requiresRunwayPlacement": false
}

SecureAreaDivider (POConfig_SecureAreaDivider)

(tested and works , only has a small bug (see isssue))

Used for the security exit and does what the name suggests.

{
  "$type": "POConfig_SecureAreaDivider, Assembly-CSharp"
}

SecurityRemoteMonitoring (POConfig_SecurityRemoteMonitoring)

(tested and works , but only with staff)

Remote monitoring station, can be connected to remote bag scanners.

Any more than 5 remote scanners will slow down all of them!

{
  "$type": "POConfig_SecurityRemoteMonitoring, Assembly-CSharp",
  "TimingDisplayCategory": 0,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 105,
  "requiresStaffType": 0
}

SinkUtility (POConfig_SinkUtility)

(not tested so far , still needs some markers)

A normal bathroom sink (this will also spawn the little water splash when used).

{
  "$type": "POConfig_SinkUtility, Assembly-CSharp",
  "TimingDisplayCategory": 3,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

StorageShelf (POConfig_StorageShelf)

(not tested so far)

The normal storage shelf used in deliveries and storage.

{
  "$type": "POConfig_StorageShelf, Assembly-CSharp"
}

TicketingDesk (POConfig_TicketingDesk)

(tested and works)

This is an advanced version of the ticketing utility, it requires to have a UtilityNetwork component on the placeable!

{
  "$type": "POConfig_TicketingDesk, Assembly-CSharp",
  "TimingDisplayCategory": 1,
  "acceptsQueueGeometry": true,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

TicketingUtility (POConfig_TicketingUtility)

(tested and works)

Your object can give tickets to passengers, helpful for going to security.

{
  "$type": "POConfig_TicketingUtility, Assembly-CSharp",
  "TimingDisplayCategory": 1,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

ToiletUtility (POConfig_ToiletUtility)

(not tested so far)

You know, for that time, after pax visited the mexican restaurant and pooped their entire guts out?.

{
  "$type": "POConfig_ToiletUtility, Assembly-CSharp",
  "isUrinal": false,
  "TimingDisplayCategory": 3,
  "acceptsQueueGeometry": false,
  "queueEnabled": true,
  "concurrency": 1,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

and you need recivertype2 for the pax + the marker: "seat" with recivertype 3 , and for the door a extra sprite

ToolboxLocker (POConfig_ToolboxLocker)

(not tested so far)

Toolbox locker, containing toolboxes which are used by workman to fix stuff.

{
  "$type": "POConfig_ToolboxLocker, Assembly-CSharp",
  "quantity": 0
}

TrashContainer (POConfig_TrashContainer)

(not tested so far)

Marks your placeable to store trash, needed for garbage bins or dumpsters.

{
  "$type": "POConfig_TrashContainer, Assembly-CSharp"
}

TrashUtility (POConfig_TrashUtility)

(tested and works)

Marks your placeable as "drain" for trash, pax can dump stuff here.

{
  "$type": "POConfig_TrashUtility, Assembly-CSharp",
  "TimingDisplayCategory": 9,
  "acceptsQueueGeometry": false,
  "queueEnabled": false,
  "concurrency": 10,
  "staffLimit": -1,
  "workSortOrder": 100,
  "requiresStaffType": 0
}

VendingMachine (POConfig_VendingMachine)

(tested and works)

Adds the ability to sell stuff (drinks or food mainly).

{
  "$type": "POConfig_VendingMachine, Assembly-CSharp",
  "RevenuePerUsage": 5.0,
  "IsVendingMachine": false,
  "sellsDrinks": false
}

VendorObject (POConfig_VendorObject)

(not tested so far)

Additional info for a store that is a placeable and has workers.

{
      "$type": "POConfig_VendorObject, Assembly-CSharp",
      "WorkerName": "Bartender",
      "name": "VendorObject",
      "hideFlags": 0
    },

and you need this markers: workerMax , worker min and workerCR

it also needs this other configs: POConfig_VendingMachine , POConfig_Emitter , POConfig_HungerUtility a example is at closed issues at Nr. 68 (there all down)