# Avorion Script API Documentation

Home Functions Search
Search:

Plan Plan
Properties
accumulatingHealth
boundingBox
boundingSphere
centerOfMass
collisionDamage
convex
durability
entity
entityId
mass
numBlocks
processingPower
radius
root
rootIndex
singleBlockDestructionEnabled
size
volume
Member Functions
addBlock
addPlan
addPlanDisplaced
damage
deleteSubTree
destroy
empty
exists
get
getBlock
getBlockIndices
getBlocksByType
getMoneyValue
getMove
getNthBlock
getNthIndex
getNumBlocks
getRemoved
getResourceValue
getStats
getUndamagedMoneyValue
getUndamagedResourceValue
heal
move
removeBlock
set
setBlockColor
setBlockDamageFactor
setBlockType
setBlockTypeDamageFactor
setColor
setMaterial
setSecondaryBlockColor

# Plan

function Plan(var id)

Parameters

id The id of the entity this component belongs to, or the entity itself, must be an id of an existing entity or nil for the entity in the current script context

Returns

A new instance of Plan

property bool accumulatingHealth |

property Box boundingBox | [read-only]

property Sphere boundingSphere | [read-only]

property vec3 centerOfMass | [read-only]

property bool collisionDamage |

property bool convex |

property double durability | [read-only]

property Entity entity | [read-only]

property uuid entityId | [read-only]

property double mass | [read-only]

property int numBlocks | [read-only]

property double processingPower | [read-only]

property float radius | [read-only]

property BlockPlanBlock root | [read-only]

property var rootIndex | [read-only]

property bool singleBlockDestructionEnabled |

property int size | [read-only]

property float volume | [read-only]

function int addBlock(vec3 position, vec3 size, int parentIndex, int index, Color color, Material material, Matrix orientation, int blockIndex, var secondaryColor)

Add a new block to an existing plan.

Parameters

position The position of the new
size The size of the new block
parentIndex The parent index of the block the new block will be attached to. This parameter will be ignored when there are no blocks in the plan.
index The index of the new block. Use -1 to assign an index automatically (recommended)
color The color of the new block
material The material of the new block
orientation The orientation of the new block
blockIndex The type of the new block, must be a valid block type. See enum BlockType
secondaryColor The secondaryColor of the new block. If nil, ColorNone() will be used

Returns

Returns the index of the new block on success, nil otherwise.

function int addPlan(int parentIndex, BlockPlan other, int otherBlock)

function int addPlanDisplaced(int parentIndex, BlockPlan other, int otherBlock, vec3 delta)

function var damage(float damage, int block, vec3 location, Uuid inflictingEntity, var damageSource, var damageType)

Returns

nothing

function var deleteSubTree(int index)

Returns

nothing

function var destroy()

Returns

nothing

function bool empty()

function bool exists(int index)

function BlockPlan get()

Returns the plan of the entity. This copies the entire plan, keep that in mind when using plans with large block counts.

Returns

A copy of the plan of the entity

function BlockPlanBlock getBlock(int index)

function int... getBlockIndices()

function int... getBlocksByType(int index)

function double getMoneyValue()

function BlockPlan getMove()

Returns the plan of the entity. This function will move the plan out of the entity, and replace the entity's plan with a single block. This operation is independent of the size of the plan, use it when you have to get large plans with lots of blocks.

Returns

The plan of the entity

function BlockPlanBlock getNthBlock(int n)

function var getNthIndex(int n)

function int getNumBlocks(int blockIndex)

function int... getRemoved(int index)

function double... getResourceValue()

function BlockStatistics getStats()

function double getUndamagedMoneyValue()

function double... getUndamagedResourceValue()

function var heal(float damage, int block, vec3 location, Uuid inflictingEntity)

Returns

nothing

function var move(BlockPlan plan)

Set the new plan of the entity. The entity will get deleted if the plan is empty. This moves all the data out of the plan that is used as the first argument. The content of the plan given as argument is then undefined, but still valid. It might be empty, it might contain the previous plan. This operation is independent of the size of the plan, use it when you have to set large plans with lots of blocks.

Parameters

plan The new BlockPlan of the entity

Returns

nothing

function var removeBlock(int index)

Returns

nothing

function var set(BlockPlan plan)

Set the new plan of the entity. The entity will get deleted if the plan is empty. This copies the entire plan that is given as argument, keep that in mind when setting plans with large block counts.

Parameters

plan The new BlockPlan of the entity

Returns

nothing

function var setBlockColor(int index, Color color)

Returns

nothing

function var setBlockDamageFactor(int blockIndex, float factor)

Returns

nothing

function var setBlockType(int index, int type)

Returns

nothing

function var setBlockTypeDamageFactor(int blockType, float factor)

Returns

nothing

function var setColor(Color color, var secondaryColor)

Set all blocks of plan to the same color (and secondary color)

Parameters

color The new primary color
secondaryColor The new secondary color. If nil, ColorNone() will be used

Returns

nothing

function var setMaterial(Material material)

Returns

nothing

function var setSecondaryBlockColor(int index, Color color)

Returns

nothing

Overview
Home Functions Search
Search:
Callbacks
Callbacks Alliance [Client] Callbacks Alliance [Server] Callbacks Alliance [Server] Callbacks Entity Callbacks Galaxy Callbacks Player Callbacks Player [Client] Callbacks Sector Callbacks Server Callbacks
Predefined Functions & Example Scripts
Command Entity FactionDatabase PlanGenerator Player Sector Server UsableInventoryItem
Common Components
Boarding BspTree CargoBay CargoLoot ControlUnit CrewComponent DeletionTimer DirectFlightPhysics DockingClamps DockingParent DockingPositions Durability EnergySystem Engine FighterAI Hangar HyperspaceEngine InteractionText InventoryItemLoot Owner Physics Plan ReadOnlyBoarding ReadOnlyBspTree ReadOnlyCargoBay ReadOnlyControlUnit ReadOnlyCrew ReadOnlyDeletionTimer ReadOnlyEnergySystem ReadOnlyEngine ReadOnlyFighterAI ReadOnlyHangar ReadOnlyHyperspaceEngine ReadOnlyInteractionText ReadOnlyOwner ReadOnlyPhysics ReadOnlyPlan ReadOnlyShipAI ReadOnlyShipSystem ReadOnlyTorpedoAI [Server] [Client] [Server] [Client] ReadOnlyTorpedoAI [Server] [Client] [Server] [Client] ReadOnlyTorpedoLauncher ReadOnlyTurretBases ReadOnlyVelocity ReadOnlyWeapons ReadOnlyWormHole Shield ShipAI ShipSystem StructuralIntegrity SystemUpgradeLoot Thrusters Torpedo TorpedoAI TorpedoLauncher Turret TurretAI TurretBases Velocity Weapons WormHole
Common Objects
AllianceMember AllianceRank BlockPlan BlockPlanBlock BlockStatistics Box Captain Color ControlUnitSeat CraftDesign CraftStatsOverview Crew CrewMan CrewProfession DebugInfo dvec2 dvec3 dvec4 Entity EntityDescriptor FighterTemplate Format GameSettings Group HighResolutionTimer Inventory InventoryTurret ivec2 ivec3 ivec4 Language Mail Material Matrix ModManager NamedFormat PlanBspTree PlanetSpecifics PlanGenerationStage PlanPart PlanStyle PlayerId PluralForm Profiler QuadTree Random Rarity Ray ReadOnlyEntity Rect Relation Scenario SectorView Seed Sphere Squad SystemUpgradeTemplate Timer Tooltip TooltipLine TorpedoShaft TorpedoTemplate TradingGood TurretDesign TurretDesignPart TurretTemplate UsableInventoryItem Uuid VanillaInventoryItem vec2 vec3 vec4 Version Weapon
Client Components
EntityIcon EntityTooltip PlanMesh ReadOnlyIcon ReadOnlyPlanMesh ReadOnlyScriptUI ReadOnlyTooltip ScriptUI
Client Objects
Achievements Alliance [Client] CameraKeyFrame CaptainSelectionItem Client ClientSettings ColorSelectionItem CraftDesignSelectionItem Faction [Client] Galaxy [Client] GalaxyMap GameInput GlowFX IconSelectionItem InputWindow InventoryReferenceSelectionItem InventorySelectionItem Keyboard LaserFX Mouse Music PixelIconSelectionItem Planet Player [Client] PlayerWindow RefractionFX Sector [Client] SelectionItem ShipDatabaseEntry [Client] SoundSource StrategyState TargetIndicator TooltipRenderer TurretDesignSelectionItem
Client UI Objects
AllianceEmblem AllianceTab ArrowLine Button [Client] [Client] Button [Client] [Client] CaptainIcon CaptainProfile CheckBox ComboBox ContextMenu CraftPortrait CrewBar Frame Hud InventorySelection Label Line ListBox ListBoxEx MapArrowLine MapIcon MultiLineTextBox NumbersBar Picture PlanDisplayer ProgressBar SavedDesignsSelection ScrollFrame Selection ShipWindow Slider StatisticsBar Tab TabbedWindow TextBox TextField TooltipDisplayer Tree UIArbitraryHorizontalSplitter UIArbitraryVerticalSplitter UIContainer UIElement UIGridSplitter UIHorizontalLister UIHorizontalMultiSplitter UIHorizontalSplitter UIOrganizer UIRect UIRenderer UIVerticalLister UIVerticalMultiSplitter UIVerticalSplitter ValueComboBox Window
Server Components
EntityTransferrer FighterController Loot ReadOnlyEntityTransferrer ReadOnlyFighterController ReadOnlyLoot ReadOnlyTurretController ReadOnlyWreckageCreator TurretController WreckageCreator
Server Objects
Alliance [Server] Faction [Server] Galaxy [Server] Player [Server] ReadOnlySector Sector [Server] Server ShipDatabaseEntry [Server]
Enums
AIState AlliancePrivilege BeamShape BlockShading BlockStructure BlockType BlockType2 BoxType BuildError CaptainGenderId ChatChannel ChatMessageType ComponentType ControlAction ControlActionBit ControlStyle CoolingType CraftStatsOverviewStat CrewProfessionType CrewRank DamageSource DamageType DeletionType Difficulty EntityArrivalType EntityType FighterOrders FighterStartError FighterType FontType ImpactParticles InventoryItemType JumpError KeyboardKey ListBoxEntryType MalusReason MaterialType MoonType MouseButton PlanetType PlanTypeFilter PlayerStateType ProjectileShape RarityType RelationStatus SavedDesignType ScenarioType SectorChangeType ShipAvailability SoundType StatsBonuses TargetIndicatorVisuals TransformationFeature TurretAutoFireMode TurretSlotType WeaponAppearance WeaponCategory

This is the official documentation for the scripting API of Avorion. This documentation is automatically generated and not necessarily complete. Depending on the context in which functions exist, some documentation such as descriptions, return values or variable names or types may be missing.

Work in Progress. Documentation of Avorion Version: 2.5.8 a0d3f0b5b065