Modding:JSON/Variables/Objects

From Starbounder - Starbound Wiki
Jump to: navigation, search
Mining Hazard Sign.png
Work In Progress!
Mining Hazard Sign.png

This article or section is currently in the process of an expansion or major restructuring.
You are welcome to assist in its construction by editing it as well.

Last edited by INVADA on 2025-03-22 16:09:53.

These variables are defined in an object's .object file, found in the assets/object folder. Default parameters are defined in defaultcategories.config and defaultparameters.config.

This table is a list of all parameters found in in-game object files. Modders can add parameters to a .object file, but be aware that overwriting one of these parameters may cause problems.

Parameter Name Variable Type Description
objectName string Internal name of the object. Used by 'spawnItem' as well as other commands, also used to reference the object in other json files, such as recipes.
objectType string Includes: container, loungeable, wire, farmable, teleporter, physics
Defaults to 'object'
category string The Object's category. Default categories are: decorative, trap, storage, other, door, light, furniture, wire, crafting, spawner, pot, tools, farmable, --todo--, teleporter, sapling
Defaults to '--todo--'.
description string Long description of the object. Used both for the tooltip and as the default scan inspection dialog if a race does not have a custom one.
orientations list Parameters for displaying the object. These include:
direction, anchors, image, imagePosition, spaces, flipImages, spaceScan, frames, animationCycle, projectileDirection, animationPosition, projectilePosition, animationParts, imageLayers, bgAnchors, lightPosition, collisionSpaces, detectArea, collision, dualImage, fgAnchors, fullbright, touchDamage, sitPosition, sitCoverImage, beamAngle, leftImage, rightImage, particleEmitter, requireTilledAnchors, directions, platformMoveTime, platformEnd, platformStart, requireSoilAnchors, mouthPosition, baseOffset
printable bool If set to true when scanned this object can be printed at the Pixel Printer.
price int Price of the object when sold, printed, bought, etc.
rarity string Includes: Common, Uncommon, Rare, Legendary
inventoryIcon string Image shown when the object is in the player's inventory.
shortdescription string Name shown for the object in pop up windows and dialog
speciesDescription string Gives the specified race dialog for scanning this object. Valid format uses the species's "kind" value before "Description". For example, apexDescription Is valid while ApexDescription is not.
race string Specifies which races are able to see the recipes for this object i.e. 'hylotl', Defaults to 'none'. 'generic' recipes are potentially available to any character.
fireTimeVariance float How much time to +/- to the fireTime.
animation string Path to the JSON .animation file.
scriptDelta int Frequency of calls to update(dt) function in the appropriate lua, 60 is one second.
soundEffect string Plays a sound continuously. Use with caution, as every object of that type will play it.
projectile string The projectile name.
fireTime float The firing rate, lower is faster.
autoCloseCooldown int How long to wait before closing a GUI if the player is out of bounds.
tooltipKind string The kind of tooltip that pops up when the object is hovered over in the inventory.
frameCooldown int description
slotCount int used in containers to define the number of item slots. This variable is required if "objectType" is set to "container"
smashOnBreak bool The object creates particles when smashed. Uses smashParticles
interactAction string Available interaction responses include: "OpenTeleportDialog", "OpenCockpitInterface", "SitDown", "OpenCraftingInterface", "OpenCookingInterface", "OpenTechInterface", "Teleport", "OpenStreamingVideoInterface", "PlayCinematic", "OpenSongbookInterface", "OpenNpcInterface", "OpenNpcCraftingInterface", "OpenTech3DPrinterDialog", "ShowPopup", "ScriptConsole", "ScriptPane", "OpenMerchantInterface", "OpenNpcBountyInterface", "OpenAiInterface"

custom ScriptCanvases use "ScriptConsole" | custom Widget Panes use "ScriptPane"

interactData string/dict All the data necessary for an object to function properly when someone interacts with it. This is really only necessary for those who use ScriptCanvases, or are modifying an internal Pane (ex: merchant pane). Use a string to provide a filepath to a scriptcanvas .config directory, use a table to provide overrides to internal panes. For custom widget panes, use "uiConfig".
uiConfig string Path to the JSON .config file describing the UI of a widget pane. This is only used if the object is a container, or has the "interactAction" variable set to "ScriptPane" without adding script to the object itself ("scripts" is undefined).
interactive bool No longer used as a general object parameter. To make an object interactive, either set 'interactAction' or call 'object.setInteractive(true)' in the lua code. Some specific scripts like 'door.lua' and 'light.lua' still uses this.
flickerPeriod float The base time required for flickering to go through an entire cycle.
flickerPeriodVariance float The amount by which the flicker period can deviate from the base value in either direction.
flickerMinIntensity float Minimum flicker intensity.
flickerIntensityVariance float How much intensity to +/- to the flicker.
flickerMaxIntensity int Maximum flicker intensity
maximumLiquidLevel float The highest water level allowed (measured in tiles) before the object automatically breaks.
vanishTime int The time (in seconds) that must elapse before this object despawns.
health int The amount of damage the object can take before it is destroyed.
returnDoor bool Used only by challenge room return doors.
sitFlipDirection bool If true, sitting characters can have their orientation flipped depending on the orientation of the object. (?)
fullbright bool If true the object's sprite ignores lighting, always appearing as though it is fully illuminated.
sitAngle int The angle to rotate the use of an object while interacting with it.
sitOrientation string Currently only accepts "lay", used for beds.
sitEmote string Defines the emote used by the Player and NPCs when interacting with the object.
pointLight bool Whether the object acts as a point source of light.
beamAmbience float 0 - 1. Amount of light emmited outside the beam of light on a pointLight object. With 0, the beam is the only source of light, with 1 the light emited to the ambience is the same as the light of the beam.
pointBeam float Aperture of the light beam. The bigger the number, the narrower beam is.
recipeGroup string Determines what item recipies will appear when opening a crafting window.
openFrameIndex int The frame number the object opens from.
sitCoverImage string Filepath of the .png file the object uses when the Player or a NPC sits on it. Often used by bed type objects to look like the character is under the sheets when sleeping.
spawnCooldownTime float The cooldown time between spawns.
closeTime float Time in frames to close the object.
spawnTime float Time in frames for the object to spawn.
rotationPauseTime float The time between consecutive rotations.
maxLaserLength int Length in tiles of the laser. Used by Apex turrets and security cameras.
rotationTime float The time taken for rotation to complete.
targetHoldTime int description
fireCooldown float The time that the object must wait before it can fire again.
smashDropPool string What Treasurepool the object will draw drops from when smashed.
smashable bool If true the object can be broken with weapon attacks.
breakDropPool string Treasure pool for when the object breaks rather than being smashed.
genericDescription string Description when inspected by a race with no "speciesDescription" for the object. Redundant with "description".
detectDuration float Determines the duration of the signal of a pressure plate, proximity sensor, etc.
soundEffectRadius int Radius in which a sound effect can be heard.
minimumLiquidLevel float The lowest allowable water level (in tiles) before the object automatically breaks.
detectThresholdHigh int The upper threshold of detection.
detectThresholdLow int The lower threshold of detection.
largeImage string The large image which shows up in the tooltip when the object is hovered over in inventory. (?)
subtitle string Used in GUI panes for crafting stations. This is the subtitle.
maxImmersion float The maximum depth of water the object allows.
hasObjectItem bool Whether the object has an item associated with it.
minImmersion float The minimum depth of water the object allows.
consumeSoilMoisture bool Whether the object can convert wet tilled soil to dry tilled soil.
explosionProjectile string The type of projectile created when the object explodes (explosions are a special type of projectile).
explodeOnSmash bool Whether the object creates an explosion on being smashed.
unbreakable bool Whether the object is impossible to break.
frameCount int The number of frames that the object's animation uses.
activationTime int How long before the object reactivates.
retainObjectParametersInItem bool Whether the object's parameters are retained after the object is picked up after being placed down. (side-note: This cannot be overwritten by spawnItem commands, not sure about placeObject)
monsterType string The type of monster. Only monster file names are valid arguments.
alarmSoundDuration int The length of time during which the alarm sounds.
maxSpawnedRobots int Only used by the disabled Robot Factory.
defaultSwitchState bool The switch's default state.
interval int The time between consecutive events.
flickerDistance float description
flickerTiming int description
flickerStrength float description
projectilePower int The base damage that a projectile deals to targets.
projectileType string The type of projectile being spawned. Only projectile file names are valid arguments.
signBacking string description
isWired bool Whether the object has input and/or output ports to which wires can be attached in Wire Mode. (?)
isContainer bool Whether the object is a container and can store objects.
chipRepairFactor float The proportion of max health which can be restored when an Auto Chip is consumed at Rob Repairo.
containerCallback string Default: "containerCallback". See Modding:Lua/Hooks/Object for more information.
hasWindowIcon bool description
shipPetType string The type of ship pet associated with the object.
detectRadius int description
timer int description
firstProjectile string description
secondProjectile string description
gates int description
duration int description
delay float description
alwaysLit bool description
minTargetRange float The minimum distance that the object must be from its target in order to successfully acquire the target.
targetCooldown float The time that this object must wait before they can acquire a new target or adjust their aim on an existing target.
targetAngleRange int The maximum angle above or below the horizontal within which this object can acquire or re-acquire a target
targetRange int The maximum distance in tiles within which this object can acquire or re-acquire a target.
maxTrackingYVel float The maximum vertical velocity which the target can have before this object can no longer track its target normally.
objectWidth int description
letGoCooldown float description
colonyTags list List of tags for determining what tenant will spawn when the object is in a valid room. ex : ["avian","commerce","temple"]. See Tag
inactiveLightColor list description
projectileConfig dict The parameters of a projectile being spawned in by the object.
inputNodes list list of the positions of inbound nodes (i.e. nodes that activate the object when triggered). ex: [[0,0],[2,3],[1,1]]
scripts list A list of Lua scripts associated with the object.
animationCustom dict description
activeLightColor list description
closeSounds list The sound(s) played when a container object's UI is closed.
openSounds list The sound(s) played when this container is opened.
smashParticles list The particles emitted when an object is smashed.
smashSounds list The sound(s) played when an object is smashed.
lightColor list The color of the light the object emits in RGB values.
animationParts dict description
animationPosition list description
outputNodes list list of the positions of outbound nodes (i.e. nodes that are triggered when the object is activated). ex: {[0,0],[2,3],[1,1]}
closedLight list description
statusEffects list The status effect(s) inflicted on targets by a projectile, weapon, etc.
particleEmitter dict description
sitEffectEmitters list description
sitStatusEffects list The status effect(s) given on interaction with the object. (examples include beds and chairs).
npcToy dict Parameters for NPCs to interact with the object.
sounds list List of sound files for this object.
spawnOffset list The coordinates of an object's spawn location relative to the center of the parent object.
tipOffset list description
rotationRange list description
baseOffset list description
fireOffsets list description
detectEntityTypes list description
lightPosition list description
sitPosition list description
breakDropOptions list This determines what items will drop when destroyed.
Format: [[[ <itemName>, <chance>, <unknown> ], [ <itemName>, <chance>, <unknown> ]]]
ex. this will drop one coalore 100% of the time and two coalore 50% of the time
{
   "breakDropOptions": [[
     [ "coalore", 1.0, { } ],
     [ "coalore", 0.5, { } ]
   ]]
}
smashDropOptions list description
learnBlueprintsOnPickup list A list of blueprints the Player learns when this object is picked up.
itemTags list The tags associated with a particular item.
deed dict Required for those who want to use the colony deed script onto other objects as it provides initial parameters.
stages list description
pickupQuestTemplates list The templates for quests which can be started at this object.
state dict description
detectArea list description
explosionOffset list description
projectileOptions list description
winningItem list description
particleEmitters list description
lightColors dict description
physicsCollisions dict description
repairbotSpawnOffset list only used by the disabled Robot Factory
serpentdroidSpawnOffset list only used by the disabled Robot Factory
cleaningbotSpawnOffset list only used by the disabled Robot Factory
turnInQuests list The quests which are turned in to this object for completion.
damageTeam dict The "allegiance" of an object for the purposes of determining whether it takes damage from a certain damage source.
projectileOffset list The offset of a spawned projectile.
touchDamage dict The base damage dealt to targets touched by the object.
teleporterFootPosition list The position of a teleporting object's feet when it arrives relative to the center of the teleporter.
autofillContents list description
frameColors list description
storeInventory dict The list of items sold at a particular merchant as well as their prices.
mouthPosition list The position relative to the center of the object of an object's "mouth". If this point enters a region with no air and does not benefit from breath protection, the object will begin to suffocate/drown after a time.
questIndicatorPosition list The position of the quest indicator icon relative to the center of the quest-giving object.
chatOptions list description
offeredQuests list A list of quests that are offered by this object.
engineOnOrientations list description
spawner dict Required if you want to use the retired spawner script on other objects as it provides the script with spawn parameters.
physicsForces dict description
truthtable list description
energy dict Data relating to the energy possessed by this object. Energy is consumed by some weapons, certain techs, and the Deadly Chill status effect.
targetOffset list description

Quick Navigation