# Avorion Script API Documentation

Home Functions Search
Search:

PlanGenerationStage PlanGenerationStage
Properties
additionalFeatures
allrounderBlockIndex
arrangementSeed
fixedParts
fixedPartSeed
forbiddenFeatures
ignoreSelfSymmetry
maxAmount
maxRepetitions
minAmount
minRepetitions
mirrorBreakChance
onlyFeatures
repetitionFavorChance
requiredFeatures
settings
subdivideChance
upscaleThreshold
variations
volumeWeight
Member Functions
setAttachmentWeights

# PlanGenerationStage

This is a single generation stage of a PlanStyle.
Volume weight: A stage has a certain volume weight, which is based on the total volume available for the generation of the plan.
Repeating: A stage can define repetition counters (decided randomly for each part: from, to), which is, say, X. Parts with VisualFeature.Repeating enabled will then have a higher chance (repetitionFavorChance) of being chosen over other parts and placed X times in a row, if possible.
Upscaling: A stage can decide to scale parts up instead of placing many parts.

function PlanGenerationStage()

Returns

A new instance of PlanGenerationStage

property int... additionalFeatures |

Features that are optionally enabled by this stage, if possible

property var allrounderBlockIndex |

Block type that is used for allrounder blocks

property string arrangementSeed |

property float fixedParts |

Amount of parts that are always fixed, based on a seed

property string fixedPartSeed |

property int... forbiddenFeatures |

Features forbidden by this stage

property bool ignoreSelfSymmetry |

Allow placed parts to ignore the self-symmetry rule, that they can only be placed on connectors where they would be mirrored onto themselves, when they have a symmetry feature

property int maxAmount |

Maximum amount of parts to be used from this stage.

property int maxRepetitions |

Maximum times a part can repeat. Default: 4

property int minAmount |

Minimum amount of parts to be used from this stage. May lead to Volume limit bein exceeded, which may result in a scale-down of the finished plan.

property int minRepetitions |

Minimum times a part can repeat. Default: 2

property float mirrorBreakChance |

Chance per connector, that when this stage is started, its mirroring feature is removed. Default: 0

property int... onlyFeatures |

Only features of this stage, overrides all other settings

property float repetitionFavorChance |

Chance that when repeating, a part from an open repetition is chosen over another part. Default: 0.5

property int... requiredFeatures |

Features required by this stage

property var settings |

Settings table of the stage that is integrated into style settings and then passed to generated parts

property float subdivideChance |

Chance that when this stage is started, a part's connectors are subdivided. Default: 0

property var upscaleThreshold |

Amount of parts that would have to be placed before an upscale takes place. Default: nil

property int variations |

Amount of different parts there should be in this stage. Default: 1

property float volumeWeight |

weight of volume from the total volume pool that is available for this stage. Default: 1

function var setAttachmentWeights(table[dir -> value] weights)

Sets the weights for directions that should be used in this stage to attach new parts. When the weights in a certain direction are large, then the ship will be mostly developed in those direction during the stage.

Parameters

weights A table containing the weights that are to be used. Example: { px = 0.1, nx = 0.1, py = 1, ny = 1, pz = 0.1, nz = 0.1, }). Note: 0 is a valid option, values greater than 1 are, too, negative values aren't.

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