# Avorion Script API Documentation

Home Functions Search
Search:

BlockPlan BlockPlan
Properties
accumulatingHealth
centerOfMass
convex
durability
mass
numBlocks
processingPower
radius
root
rootIndex
volume
Member Functions
addBlock
addPlan
addPlanDisplaced
center
deleteSubTree
displace
divide
empty
exists
forceMaterial
getBlock
getBlockIndices
getBlockType
getBoundingBox
getBoundingSphere
getMoneyValue
getNthBlock
getNthIndex
getResourceValue
getStats
getUndamagedMoneyValue
getUndamagedResourceValue
mirror
propertiesEqual
reassignParents
removeBlock
resetDurability
rotate
scale
setBlockColor
setBlockType
setColor
setMaterial
setMaterialTier
setSecondaryBlockColor

# BlockPlan

function BlockPlan()

This is the default constructor of BlockPlan. No further arguments are required.

Returns

A new instance of BlockPlan

property bool accumulatingHealth |

property vec3 centerOfMass | [read-only]

property bool convex |

property double durability | [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 double 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

Returns

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

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

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

function var center()

Returns

nothing

function var deleteSubTree(int index)

Returns

nothing

function var displace(vec3 displacement)

Returns

nothing

function BlockPlan... divide(int blockIndex)

function bool empty()

function bool exists(int index)

function var forceMaterial(Material material)

Changes the material of all blocks to the given material. Blocks with an invalid block type for the material get changed to blank hull.

Parameters

material The new material

Returns

nothing

function BlockPlanBlock getBlock(int index)

function int... getBlockIndices()

function int getBlockType(int index)

function Box getBoundingBox()

function Sphere getBoundingSphere()

function double getMoneyValue()

function BlockPlanBlock getNthBlock(int n)

function var getNthIndex(int n)

function double... getResourceValue()

function BlockStatistics getStats()

function double getUndamagedMoneyValue()

function double... getUndamagedResourceValue()

function var mirror(vec3 axis, vec3 mirrorCenter)

Returns

nothing

function bool propertiesEqual(BlockPlan other)

function var reassignParents(var This)

Reassigns parents of blocks depending on their overlap Use this after sloppily creating a blockplan (ie. when you attached all blocks to the root block, even though they don't overlap)

Parameters

This function prints errors if it failed. You can pass an ID for the error, that will printed out so you can identify it.

Returns

nothing

function var removeBlock(int index)

Removes a block from the plan. This function will try to reassign parents where possible to ensure that the tree doesn't break in positions where blocks still intersect with each other.

Parameters

index The index of the block that is to be removed

Returns

nothing

function var resetDurability()

Returns

nothing

function var rotate(vec3 axis, int dir)

Returns

nothing

function var scale(vec3 factor)

Returns

nothing

function var setBlockColor(int index, Color color)

Returns

nothing

function var setBlockType(int index, int blockTypeIndex)

Returns

nothing

function var setColor(Color in)

Returns

nothing

function var setMaterial(Material material)

Changes the material of all blocks to the given material if the new combination of block type and material is allowed. Blocks that don't exist in the given material are left unchanged.

Parameters

material The new material

Returns

nothing

function var setMaterialTier(Material material)

Changes the material of all blocks to the given material if the new combination of block type and material is allowed. The remaining blocks get changed to either the highest allowed material below the given one or the lowest one above.

Parameters

material The new 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