Module

From Kerbal Space Program Wiki
Revision as of 01:29, 24 December 2014 by Joshuadery (talk | contribs) (FXModuleLookAtConstraint)
Jump to: navigation, search

Modules define what specific parts can do. They are generally calls to C-coded or hard-coded functions that define what functionality these parts have in-game. If you are a new part designer, modder, engineer, or someone else who makes parts, please check the STOCK modules list before designing a new module. Each additional module increases the CPU workload and reduces FPS and Physics.

name names define the module in use and are a general indication of what the module subtype does. Specific variables are associated with each [module].[name]. For example, the Clamp-O-Tron Docking Port Sr. has the MODULE.name ModuleDockingNode and its' associates variables are [referenceAttachNode] and [nodeType]. Some [MODULE]s share variables with other modules, which can make deciphering their purpose difficult.

STOCK MODULES

explanation code examples

FlagDecal

variable example definition
textureQuadName
  • flagTransform
specifies whether there is a flag displayed on the exterior surface of the object.
MODULE
{
      name = FlagDecal
      textureQuadName = flagTransform
}

FXModuleAnimateThrottle

variable example definition
animationName
  • colorAnimation
specifies the animation to be used
depondOnEngineState
  • True
  • False
specifies whether the animation is dependent on the throttle
responseSpeed
  • 0.5
specifies the rate at which the animation reacts to the change in engine state
MODULE
{
      name = FXModuleAnimateThrottle
      animationName = colorAnimation
      dependOnEngineState = True
      responseSpeed = 0.5
}

FXModuleConstrainPosition

variable example definition
matchRotation
  • true
  • false
unknown
matchPosition
  • true
  • false
unknown
CONSTRAINFX {} unknown
targetName
  • Steering
  • steering
unknown
moversName
  • wheelCollider
  • steering
unknown
MODULE

{
	name = FXModuleConstrainPosition
	matchRotation = true
	matchPosition = false
	CONSTRAINFX
	{
		targetName = steering
		moversName = lateral
	}

}

FXModuleLookAtConstraint

variable example definition
CONSTRAINLOOKFX {}
targetName
  • susp2-1
No idea
rotatorsName
  • susp2-2
No idea
MODULE
{
 name = FXModuleLookAtConstraint
 CONSTRAINLOOKFX
 {
  targetName = susp2-1
  rotatorsName = susp2-2
 }
 CONSTRAINLOOKFX
 {
  targetName = susp2-2
  rotatorsName = susp2-1
 }
 CONSTRAINLOOKFX
 {
  targetName = susp1-2
  rotatorsName = susp1-1
 }
 CONSTRAINLOOKFX
 {
  targetName = susp1-1
  rotatorsName = susp1-2
 }
}

KerbalSeat

variable example definition
seatPivotName seatPivot Unknown
ejectDirection 0,1,0.2 specifies the direction from which your Kerbal will exit the vehicle. Try to line up with a hatch!
MODULE
{
 name = KerbalSeat
 seatPivotName = seatPivot  
 ejectDirection = 0, 1, 0.2
}

LaunchClamp

variable example definition
trf_towerPivot_name obj_girdercap specifies the model used for the pivot point
trf_towerStretch_name obj_girder specifies the model for the ground to pivot girder
trf_anchor_name obj_ground specifies the model for the ground mount point
trf_animationRoot_name launchclamp specifies the base animation
anim_decouple_name launchclamp specifies the animation for the release of the clamp
MODULE
{
    name = LaunchClamp
 
 trf_towerPivot_name = obj_girdercap
 trf_towerStretch_name = obj_girder
 trf_anchor_name = obj_ground
 
 trf_animationRoot_name = launchclamp
 anim_decouple_name = launchclamp
}

ModuleAlternator

Specifies that this part produced a resource, based on the percentage of thrust produced by the engine.

variable example
RESOURCE
variable example definition
name ElectricCharge name of the resource produced
rate 1.0 rate at which the resource is produced at 100% thrust, expressed in units/second
MODULE
{
 name = ModuleAlternator 
 RESOURCE
 {
  name = ElectricCharge
  rate = 5.0
 }
}

ModuleAnchoredDecoupler

variable example definition
anchorName anchor specifies the name of the anchored part
ejectionForce 450 dV applied to part upon separation
explosiveNodeID
  • srf
  • top
specifies the location of the explosion.
MODULE
{
    name = ModuleAnchoredDecoupler
    anchorName = anchor
    ejectionForce = 450
 explosiveNodeID = srf
}

ModuleAnimateGeneric

variable example definition
animationName
  • Deploy
  • CrewCabinLight
  • dish
  • dockingring
  • dockingporthull
specifies the name of the animation to be used
isOneShot
  • false
specifies whether the animation can occur only once
startEventGUIName Flavor text

to describe turning the animation to its 'On' State

endEventGUIName Flavor text

to describe turning the animation to its 'Off' State

actionGUIName Flavor text

to describe switching the animation between it's 'on' and 'off' states

allowManualControl
  • true
  • false
specifies whether the part can be manually animated
MODULE
{
   name = ModuleAnimateGeneric
   animationName = dish
   isOneShot = false
   
 startEventGUIName = Extend
 endEventGUIName = Retract
 actionGUIName = Toggle Antenna
}

ModuleAnimateHeat

variable example definition
ThermalAnim
  • HeatAnimationEmissiveLiquidEngine3
  • HeatAnimationEmissiveTurbofan
  • HeatAnimationEmissiveJet
  • overheat
animation for applying heat to an object
MODULE
{
      name = ModuleAnimateHeat
      ThermalAnim = HeatAnimatioEmissiveLiquidEngine3
}

ModuleAsteroid

no procedures or calls

MODULE
{
 name = ModuleAsteroid 
}

ModuleCommand

Applies Command to vessels

variable example definition
minimumCrew
  • 0
  • 1
  • 2
Specifies the minimum number of crew needed to operate this module.
RESOURCE
name ElectricCharge This is the name of that resource
rate 15.0 and the rate in units/second of resource consumed
If this Module requires a resource
MODULE
{
 name = ModuleCommand
 minimumCrew = 1
}

ModuleControlSurface

variable example definition
dragCoeff * 0.5

this value overrides the maximum_drag value

deflectionLiftCoeff * 0.7 specifies the Coefficient of lift for the part
ctrlSurfaceRange * 20 specifies the degrees of operation for the part
ctrlSurfaceArea * 0.95 specifies how much of the part affects lift
MODULE
{
 name = ModuleControlSurface
 dragCoeff = 0.5
 deflectionLiftCoeff = 0.7
 ctrlSurfaceRange = 20
 ctrlSurfaceArea = 0.95
}

ModuleDataTransmitter

variable example definition
packetInterval
  • 0.18
  • 0.4
  • 0.3
Mits per second
packetSize
  • 2
Mits per packet
packetResourceCost
  • 20
  • 10
  • 12.5
Resource per packet
requiredResource
  • ElectricCharge
Required resource (usually ElectricCharge)
DeployFxModules
  • 0
Deployment
ProgressFxModules
  • 1
Animations that play while transmitting
MODULE
{
 name = ModuleDataTransmitter
 
 packetInterval = 0.18
 packetSize = 2
 
 packetResourceCost = 20.0
 requiredResource = ElectricCharge
  
 DeployFxModules = 0
}

ModuleDecouple

variable sample definition
isOmniDecoupler
  • true
  • false
Specifies whether this decoupler separates on both ends or not. Defaults to false.
ejectionForce * 100 specifies the DeltaV with which the part separates
explosiveNodeID
  • top
  • srf
for non-OmniDecouplers, specifics the Node of separation
MODULE
{
 name = ModuleDecouple
 ejectionForce = 250
 explosiveNodeID = srf
}

ModuleDeployableSolarPanel

variable example definition
animationName
  • solarpanels
  • solarpanels2
  • solarpanels4
  • altsolarpanelbase
  • bigsolarpanel

unknown for sure. Assumed to refer to an animation describing part transformation from its closed state to its open state. known parameters are:

sunTracking
  • true
  • false
Assumed to indicate whether the animation will turn the panel towards the sun.
raycastTransformName
  • suncatcher
optional. unknown.
pivotName
  • suncatcher
optional. unknown.
isBreakable
  • true
  • false
Indicates whether the part will break on high-dynamic stress.
resourceName
  • ElectricCharge
The resource provided by this module. Any resource may be used, including resources not defined.
chargeRate
  • 10
Amount of resource provided per second at 100% output. Positive values only, please.
powerCurve

powerCurve is a special call consisting of subtypes called [key]. Each [key] uses four numbers to define what it will do at a specific distance from a source. In the case of solar panels, where powerCurve is typically used, there are typically 4 [key]s. [powerCurve] defines the rate at which resources are provided relative to the [chargeRate] and distance from the specified source (ie. Kerbol)

  • 206000000000 0.00 0 0
  • 013599840256 1.00 0 0
  • 068773560320 0.50 0 0
  • 000000000000 10.0 0 0
MODULE
{
 name = ModuleDeployableSolarPanel
 
 animationName = solarpanels2
 resourceName = ElectricCharge
 chargeRate = 2
 powerCurve
  {
  key = 206000000000 0 0 0
  key = 13599840256 1 0 0
  key = 68773560320 0.5 0 0
  key = 0 10 0 0
  }
}

ModuleDockingNode

A module for docking ports

variable example definition
referenceAttachNode
  • top
  • bottom

Specifies the node on the part that is used for the docking port, generally top or bottom

deployAnimationController
  • 1
  • 0
Boolean
nodeType
  • size1
  • size2
  • size0
Specifies the type of node for attachment. When perform docking operations, nodes must have the same value for nodeType in order to dock with one another.
controlTransformName
  • controlNode
apparently only used for docking nodes that have related animations, see dockingPortInline
MODULE
{
 name = ModuleDockingNode
 referenceAttachNode = top
 nodeType = size2
}

ModuleEngines

variable example definition
thrustVectorTransformName
  • thrustTransform
unknown purpose. Known arguments:
throttleLocked
  • True
  • False
Used to create engines without controllable thrust.
exhaustDamage
  • True
  • False
assumed to indicate whether the exhaust from this engine will damage other parts.
ignitionThreshold
  • 0.1
appears to not be used. Suggests a minimum thrust output value, below which the engine will no longer operate.
minThrust
  • 0
  • 10
  • 100
Minimum thrust value. Engines will be considered 'off' at or below this value.
maxThrust
  • 200
  • 215
  • 80
Just like the name implies, this is the maximum thrust a single unit of this module can produce. In order to create a more powerful engine, set this value higher.
heatProduction
  • 400
  • 900
a measure of the amount of heat energy produced per second. measured in degrees Kerbius (degrees Celsius)
fxOffset
  • 0,0,0
  • 0,0,1
3-dimensional vector coordinates specifying the location of thrust effects
useEngineResponseTime
  • True
  • False
engineAccelerationSpeed
  • 0.2
  • 0.12
engineDecelerationSpeed
  • 0.35
  • 0.21
allowShutdown
  • True
  • False
Specifies engines that cannot be turned off, regardless of whether their thrust can be controlled.
useVelocityCurve
  • True
  • False
PROPELLANT {} resource utilized in the operation of this part, generally a fuel or other propellant. Engines may use multiple propellant types.
name
  • LiquidFuel
  • Oxidizer
name of the resource consumed while this part is in operation
ratio
  • 0.9
  • 1.1
rate at which this resource is consumed, per second. Not to be confused with ratio relative to other propellants.
DrawGauge
  • true
  • false
Boolean value that indicates whether or not the 'fuel remaining' indicator in the staging selection is displayed or not.
atmosphereCurve {} specifies variances in operational efficiency
key

uses two values to specify engine efficiency relative to the depth of the atmosphere (based on Kerbin sea-level!) First number indicates the relative pressure (0 = vacuum, 1 Kerbin sea-level), second numer indicates ISP value). Translates directly to ISP. In order to make a more efficient engine, set the second number of this array higher.

velocityCurve

uncertain as to how exactly this works, but appears to control the degree of acceleration at particular velocities. uses a 4 part key, the first part of the key is definitely specific accelerations, the second part is percentage of velocities. { key = 0 0.5 0 0 key = 1000 1 0 0 key = 2000 0.5 0 0 key = 2400 0 0 0 } { key = 1000 0 0 0 key = 850 0.2 0 0 key = 0 1 0 0 }

MODULE
{	
name = ModuleEngines	
thrustVectorTransform
Name = thrustTransform	
throttleLocked = True	
exhaustDamage = True	
allowShutdown = False	
ignitionThreshold = 0.1	
minThrust = 0	
maxThrust = 18	
heatProduction = 550	
fxOffset = 0, 0, 0.02	
PROPELLANT	
{		
name = SolidFuel        
ratio = 1.0		
DrawGauge = True	
}	
atmosphereCurve 	
{   	 
key = 0 100  	 
key = 1 100 	
}	
}

ModuleEnginesFX

variable example definition
engineID
  • LES
  • KS25
Hidden name of the engine
runningEffectName
  • running_closed
state of the engine
thrustVectorTransformName
  • thrustTransform
  • obj_gimbal

unknown purpose.

exhaustDamage
  • True
  • False

Indicates whether the exhaust from this engine will damage other parts.

throttleLocked
  • True
  • False

Assumed to specify that solid Rocket Boosters cannot have their throttle adjusted while in flight.

ignitionThreshold
  • 0.1
  • 0.05
appears to not be used. Suggests a minimum thrust output value, below which the engine will no longer operate. Typical values are 0.1 (10%)
minThrust
  • 0
  • 10

Minimum thrust value. Engines will be considered 'off' at or below this value.

maxThrust
  • 200
  • 215

Just like the name implies, this is the maximum thrust a single unit of this module can produce.

heatProduction
  • 400
  • 600
a measure of the amount of heat energy produced per second. measured in degrees Kerbius (degrees Celsius)
fxOffset
  • 0,0,-1
  • 0,0,-0.5

3-dimensional vector coordinates specifying the location of thrust effects

PROPELLANT {} resource utilized in the operation of this part, generally a fuel or other propellant.
name
  • LiquidFuel
  • Oxidizer
  • XenonGas

name of the resource consumed while this part is in operation

ratio
  • 0.9
  • 1.1

rate at which this resource is consumed, per second. Not to be confused with ratio relative to other propellants.

DrawGauge
  • True
  • False

Boolean value that indicates whether or not the 'fuel remaining' indicator in the staging selection is displayed or not.

atmosphereCurve {} specifies variances in operational efficiency
key
  • 0 360
  • 0.5 320
  • 1 260

uses two values to specify engine efficiency relative to the depth of the atmosphere (based on Kerbin sea-level!) First number indicates the relative pressure (0 = vacuum, 1 Kerbin sea-level), second numer indicates ISP value).

MODULE
{
 name = ModuleEnginesFX
 thrustVectorTransformName = thrustTransform
 exhaustDamage = True
 ignitionThreshold = 0.1
 minThrust = 0
 maxThrust = 30
 heatProduction = 150
 fxOffset = 0, 0, 0.125
 PROPELLANT
 {
   name = LiquidFuel
  ratio = 0.9
  DrawGauge = True
 }
 PROPELLANT
 {
  name = Oxidizer
  ratio = 1.1
 }
 atmosphereCurve
  {
  key = 0 350
  key = 1 300
  }
}

ModuleEnviroSensor

variable example definition
sensorType
  • ACC
  • PRES
  • GRAV
  • TEMP
Type of experiment / sensor. Not sure of the utility of this definition, could be used in Science modules to determine what type of experiment was conducted. Could be used in contracts for determining contract requirements.
MODULE
{
 name = ModuleEnviroSensor
 sensorType = ACC
}

ModuleGenerator

variable example definition
isAlwaysActive
  • true
  • false

specifies whether this module is always active or not. true/false

OUTPUT_RESOURCE {}
name
  • ElectricCharge
  • LiquidFuel
  • XenonGas

specifies the name of the produced resource.

rate
  • 1
  • 5

specifies the rate of resource produced, expressed in units per second.

MODULE
{
 name = ModuleGenerator
 isAlwaysActive = true
 OUTPUT_RESOURCE
 {
    name = ElectricCharge
    rate = 0.75
 } 
}

ModuleGimbal

variable example definition
gimbalTransformName
  • thrustTransform

Uncertain.

gimbalRange
  • .20
  • .15
  • .10
  • .5
represents the maximum angle, in degrees, that gimballing is supported. Recommend keeping this number relatively low (under 20 for sure), as setting the number too high can have catastrophic effects on ship design.
MODULE
{
 name = ModuleGimbal
 gimbalTransformName = thrustTransform
 gimbalRange = 0.5
}

ModuleGrappleNode

variable sample definition
nodeTransformName
  • ArticulatedCap
Uncertain. Assumed to relate to animations used.
deployAnimationController
  • 1
Uncertain.
nodeType
  • size1
Size of the connection. Relates to Docking port sizes.
captureRange
  • 0.05
Maximum distance between grappler and target at which grappling can occur
captureMinFwdDot
  • 0.866
Unknown
captureMaxRvel
  • 1
Maximum speed, relative to target, at which target can be grappled
MODULE
{
 name = ModuleGrappleNode
 
 nodeTransformName = ArticulatedCap
 deployAnimationController = 1 
 nodeType = size1
 
 captureRange = 0.05 
 captureMinFwdDot = 0.866
 captureMaxRvel = 1
}

ModuleJettison

specifies that pieces of this craft are able to be jettisoned, what they are and how to jettison them

variable example definition
jettisonName
  • node_fairing_collider
  • fairingL
  • fairingR
  • fairing

Name of the part to be jettisoned

bottomNodeName
  • bottom

Name of the node from which the part will be jettisoned

isFairing
  • True
  • False

Specifies whether the ejected part is a fairing. Uncertain as to why this important. May have to do with debris tracking.

jettisonedObjectMass
  • 0.1

Specifies the mass of the jettisoned object. It is uncertain, yet, if this mass is removed from the total mass of the vehicle. It is also uncertain if, when a fairing is added in vehicle assembly, this mass is added to the parent object.

jettisonForce
  • 1
  • 2
  • 5

DeltaV with which the object is jettisoned from its parent object. Typically very low values, such as 1, 2 or 5

jettisonDirection
  • 0 0 1
  • 0 1 0

Three-dimensional array which specifies the direction of the jettisonForce relative to the original part, laterally is 0 0 1 and 0 0 -1, for example.

MODULE
{
       name = ModuleJettison
       jettisonName = fairing
       bottomNodeName = bottom
       isFairing = True
       jettisonedObjectMass = 0.1
       jettisonForce = 5
       jettisonDirection = 0 0 1
 
}

ModuleLandingGear

variable example definition
BrakeTorque 12 Amount of torque applied during breaking
BrakeSpeed 3 Reduction in speed over time, expressed in m/s
MODULE
{
 name = ModuleLandingGear
 
 BrakeTorque = 12
 BrakeSpeed = 3
}

ModuleLandingLeg

variable example definition
animationName
  • Deploy
  • newlandingleg
  • probeleg
specifies the animation to use
wheelColliderName
  • wheelCollider
suspensionTransformName
  • Piston
  • piston
  • leg
orientFootToGround
  • true
  • false
landingFootName
  • foot
alignFootUp
  • true
  • false
Aligns to up Axis instead of forward axis if true
suspensionUpperLimit
  • 0.60
  • 0.47
  • 0.65
unknown
impactTolerance
  • 300
  • 450
  • 150
specifies the dV in m/s before the part breaks
suspensionSpring
  • 1.25
  • 5
  • 1
specifies the maximum degree of compression in the part
suspensionDamper
  • 1
  • 2
Uncertain
suspensionOffset
  • 0
  • 0.02
Uncertain
MODULE
{
 
 name = ModuleLandingLeg
 animationName = Deploy
 wheelColliderName = wheelCollider
 suspensionTransformName = Piston
 orientFootToGround = true
 landingFootName = foot
 // Foot is aligned to up Axis instead of forward
 alignFootUp = true
 suspensionUpperLimit = 0.60
 impactTolerance = 300
 suspensionSpring = 1.25
 suspensionDamper = 1
 suspensionOffset = 0, 0.02,0
}

ModuleLight

variable example definition
lightName
  • spotlight
  • landinglight

Name of the light source

useAnimationDim
  • true
  • false
Uncertain. Assumed to specify an animation to dim the light
lightBrightenSpeed
  • 2.5
When you turn it off, how long it takes to turn off
lightDimSpeed
  • 2.5
Speed at which the light dims
resourceAmount
  • 0.4
rate of consumption (in units/second) of the needed resource
animationName
  • LightAnimation
useResources
  • true
  • false

specifies whether this light source requires resources

useAutoDim
  • true
  • false

Sets the autodim

MODULE
{
 name = ModuleLight
        lightName = spotlight
 useAnimationDim = true
 lightBrightenSpeed = 2.5
 lightDimSpeed = 2.5
 animationName = LightAnimation
 resourceAmount = 0.02
 useResources = true
}

ModuleParachute

variable example definition
semiDeployedAnimation
  • semiDeploySmall
specifies the animation to use in the semi-deployed state
fullyDeployedAnimation
  • fullyDeploySmall
specifies the animation to use in the fully deployed state
invertCanopy
  • true
  • false
unknown purpose.
autoCutSpeed 0.5 specifies the speed at which the parachute will be automatically cut, rendering it ineffective.
capName
  • cap
canopyName
  • canopy
stowedDrag 0.22 specifies the drag effect while the parachute is still stowed
semiDeployedDrag 1 specifies the drag effect while the parachute is in its semi-deployed state
fullyDeployedDrag 500 specifies the drag effect while the parachute is in its fully deployed state
minAirPressureToOpen 0.01 specifies the minimum Air pressure (or atmosphere) required for the parachute to enter its semi-deployed state
deployAltitude 500 configurable, sets the altitude above the planetary collision mesh at which the parachute will enter its fully deployed state
deploymentSpeed 1 specifies the speed at which the parachute will enter its fully deployed state
semiDeploymentSpeed 1 specifies the speed at which the parachute will enter its semi-deployed state
MODULE
{
 name = ModuleParachute
 semiDeployedAnimation = semiDeploySmall
 fullyDeployedAnimation = fullyDeploySmall
 invertCanopy = true
 autoCutSpeed = 0.5
 capName = cap
 canopyName = canopy
 stowedDrag = 0.22
 semiDeployedDrag = 1
 fullyDeployedDrag = 500
 minAirPressureToOpen = 0.01
 deployAltitude = 500
 deploymentSpeed = 1
 semiDeploymentSpeed = 1 
}

ModuleRCS

Note: ModuleRCS can use either a single resource, or a series of PROPELLANT calls.

variable example definition
thrusterTransformName
  • RCSthruster
thrusterPower
  • 10
  • 5
  • 20

This is the power that the RCS thrusters provide. To make stronger RCS, use a higher numer

resourceName -------- interchangeable with PROPELLANT calls

The name of the resource used by the RCS thruster, typically MonoPropellant

resourceFlowMode -- for resourceName only --
  • STAGE_PRIORITY_FLOW
  • STACK_PRIORITY_FLOW
  • ALL_VESSEL
  • NONE

Specifies the manner in which the resource is requested from the vessel

PROPELLANT

Introduced with the inclusion of the Vernor RCS, it is recommended to use PROPELLANT calls only when using multiple resources. It is expected that older RCS will be updated to the new convention prior to final release.

name
  • MonoPropellant
  • LiquidFuel
  • Oxidizer

name of the resource consumed

ratio
  • 1
  • 1.1
  • 0.9

ratio of the resource consumed

resourceFlowMode
  • STAGE_PRIORITY_FLOW
  • STACK_PRIORITY_FLOW
  • ALL_VESSEL
  • NONE
using the same pull method as a single resource, specifies how to pull the resource from the rest of the vessel
atmosphereCurve
  • 0 350
 1 250

Specifies the efficiency of the RCS thruster using 2-part keys 0 specifies the ISP in atmosphere 1 specifies the ISP at Kerbin Sea Level entries in between specify the ISP at specific percentages of Kerbin Sea Level (e.g: 0.5 = 1/2 Kerbin Atmosphere)

MODULE
{
 name = ModuleRCS
 thrusterTransformName = RCSthruster
 thrusterPower = 12
 resourceName = LiquidFuel
 resourceFlowMode = STAGE_PRIORITY_FLOW
 PROPELLANT
 {
  name = LiquidFuel
        ratio = 0.9
  DrawGauge = True
  resourceFlowMode = STAGE_PRIORITY_FLOW
 }
 PROPELLANT
 {
  name = Oxidizer
  ratio = 1.1
  resourceFlowMode = STAGE_PRIORITY_FLOW
 }
 atmosphereCurve
  {
     key = 0 260
    key = 1 140
  }
}

ModuleReactionWheel

variable example definition
PitchTorque

numerical value, denotes amount of change can be applied to pitch using reaction wheel power

YawTorque

numerical value, denotes amount of change can be applied to yaw using reaction wheel power

RollTorque

numerical value, denotes amount of change can be applied to roll using reaction wheel power

RESOURCE

The resource used by reaction wheels in order to affect the changes they can produce

name

name of the relevant resource, typically ElectricCharge

rate

Rate of consumption, expressed in units/second at full usage.

MODULE
{
 name = ModuleReactionWheel
 
 PitchTorque = 30
 YawTorque = 30
 RollTorque = 30
 
 RESOURCE
 {
  name = ElectricCharge
  rate = 0.6
 }
}

ModuleResourceIntake

Used to create a part that produces a resource.

variable example definition
resourceName

defines the type of resource produced by this module. Any resource may be used for this purpose, including those not defined at all

checkForOxygen

An optional method that specifies this module must check to see if oxygen/atmosphere is present whenever attempting to generate the requested resource. true/false

area

area is the amount of space used for determining how much resource to produce. The larger the number, the more of the resource is produced per second.

intakeSpeed

unknown. Assumed to be a minimum m/s measure to determine if this module operates or not.

intakeTransformName

unknown. known arguments are:

  • Intake
MODULE
{
  name = ModuleResourceIntake
  resourceName = IntakeAir
  checkForOxygen = true
  area = 0.006
  intakeSpeed = 10
  intakeTransformName = Intake  
}

ModuleSAS

no known parameters. Possibly used a reference to determine whether this part is activated by the SAS function of the interface. ie. when you turn on SAS, turn on this part. NOTE: [0.90] added SASServiceLevel (0-3)

MODULE
{
 name = ModuleSAS
 SASServiceLevel = 1
}

ModuleScienceContainer

variable example definition
reviewActionName

Flavor text for reviewing the data contained in a science container.

storeActionName

Flavor text for placing data into a science container.

collectActionName

Flavor text for removing data from a science container.

evaOnlyStorage

Boolean, True or False Specifies whether or not data storage is restricted to EVA activities.

storageRange

Distance, expressed in meters, a Kerbal must be within in order to interact with data and this container.

allowRepeatedSubjects

Boolean, True or False

MODULE
{
 name = ModuleScienceContainer
 
 reviewActionName = Review Stored Data
 storeActionName = Store Experiments
 evaOnlyStorage = True
 storageRange = 4.0
}

ModuleScienceExperiment

variable example definition
experimentID
  • atmosphereAnalysis
  • mysteryGoo
  • crewReport
  • seismicScan
  • barometerScan
experimentActionName

Flavor text for contextual menu to describe to the player what the part does when collecting data

resetActionName

Flavor text for contextual menu to describe to the player what the part does when collecting data

reviewActionName

Flavor text for contextual menu to describe to the player what the part does when collecting data

useStaging

Boolean True/False - speficies whether this module can be activated through the normal staging system

useActionGroups

Boolean True/False - specifies whether this module can be activated by an Action Group

hideUIwhenUnavailable

Boolean True/False - specifies whether this module will show its activation buttons through the contextual menu, even if it is not available

rerunnable

Boolean True/False. Defaults to false.

xmitDataScalar

0.35

FxModules

0 (gooExperiment)

dataIsCollectable

Boolean True/False

collectActionName

Flavor text

interactionRange

The range, expressed in meters, from which a Kerbal on EVA can interact with this module (for example to reset the experiment)

MODULE
{
 name = ModuleScienceExperiment 
 
 experimentID = atmosphereAnalysis
 
 experimentActionName = Run Atmosphere Analysis
 resetActionName = Discard Data
 reviewActionName = Review Data
 
 useStaging = False 
 useActionGroups = True
 hideUIwhenUnavailable = True 
 rerunnable = True
  
 xmitDataScalar = 0.35
  
 dataIsCollectable = True
 collectActionName = Download Data
 interactionRange = 1.2
}

ModuleScienceLab

variable example definition
containerModuleIndex

numerical, 0

dataTransmissionBoost

numerical, 1.5

crewsRequired

numerical, 2

canResetConnectedModules

Boolean, True or False

canResetNearbyModules

Boolean, True or False

interactRange

numerical, possible integers only, 5

REOURCE_PROCESS
name

names the resource required, e.g.: ElectricCharge

amount

specified, numerical, the number of units of the specified resource expended

MODULE
{
 name = ModuleScienceLab
 
 containerModuleIndex = 0 
 dataTransmissionBoost = 1.15 
 crewsRequired = 2
 
 canResetConnectedModules = True
 canResetNearbyModules = True
 interactionRange = 5
 
 RESOURCE_PROCESS
 {
  name = ElectricCharge
  amount = 10
 }
}

ModuleSteering

variable example definition
controlAxisType Forward Unsure. May have something to do with directional control
steeringAxis
  • 0, 0, 1
specifies the 3-dimensional axis of steering control.
steeringTransformName Steering unknown
steeringLocked
  • true
  • false
specifies whether the part's steering starts locked
steeringCurve
0 16
10 9
30 2
100 1
multi-array of keys,
MODULE
{
 name = ModuleSteering
 controlAxisType = Forward
 steeringAxis = 0, 0, 1
 steeringTransformName = Steering
 steeringLocked = true
 steeringCurve
  {
     key = 0 16
  key = 10 9
    key = 30 2
  key = 100 1
  }
}

ModuleTestSubject

Used for the contract system, determines atmospheric conditions under which this part may be considered for testing. Also specifies whether the part is able to be tested using the Staging process or must be manually selected and "Perform Test" used to satisfy contract requirements.

variable example definition
environments
  • 15
  • 1

A single numerical value, between 0 (nowhere) and 15 (anywhere), that specifies the atmospheric conditions the part may be tested under. Add numbers together to specify multiple environments

  • 0 = nowhere
  • 1 = the surface of; srf
  • 2 = the ocean of; ocean
  • 3 = the surface or ocean of; srf, ocean
  • 4 = the atmosphere of; atmo
  • 5 = the surface or atmosphere of; srf, atmo
  • 6 = the ocean or atmosphere of; ocean, atmo
  • 7 = the surface, ocean or atmosphere of; srf, ocean, atmo
  • 8 = the space above; space
  • 9 = the surface or space above; srf, space
  • 10 = the ocean or space of; srf, ocean, space
  • 11 = the surface, ocean or space of; srf, ocean, space
  • 12 = the space or atmosphere of; atmo, space
  • 13 = the surface, space or atmosphere of; srf, atmo, space
  • 14 = the ocean, space, or atmosphere of; ocean, atmo, space
  • 15 = anywhere; srf, ocean, atmo, space
useStaging
  • True
  • False
specifies whether the part can be tested using the Staging Process
useEvent
  • True
  • False
specifies whether the part can be tested using the "Perform Test" action.
MODULE
{	
name = ModuleTestSubject		
// nowhere: 0, srf: 1, ocean: 2, atmo: 4, space: 8	
environments = 15		
useStaging = False	
useEvent = True
}

ModuleWheel

variable example definition
hasMotor
  • true
  • false
specifies whether the wheel has a powered propulsion system
resourceName
  • ElectricCharge
specifies the resource(s) used by powered propulsion system
resourceConsumptionRate
  • 1.0
specifies the rate of consumption of resources for the powered propulsion system in units/second
canSteer
  • true
  • false
specifies whether this wheel is steerable
controlAxisType
  • Forward
If steerable, specifies the axis type
steeringModeType
  • AutomaticSteer
  • TankSteer
uncertain: may refer to rack-and-pinion versus Track-type steering
brakeTorque 300 the dV (in m/s) of torque applied when using the breaks
brakeSpeed 1.2 the dV (in m/s) that braking will slow the vehicle under optimum conditions
impactTolerance 2000 dV that this part can withstand before breaking
overSpeedDamage 60 uncertain. possibly reserved for future use, possible that this is the amount of dV of damage applied to this part whenever it exceeds it's rated speed
WHEEL
wheelName

wheel

wheelColliderName

wheelCollider

suspensionTransformName

suspensionTraverse

suspensionNeutralPointName

suspensionNeutralPoint

damagedObjectName

bustedwheel

rotateX

0

rotateY

1

rotateZ

0

steeringCurve

keys, 0 16 10 9 30 2

torqueCurve

keys 0 250 0 0 20 100 0 0 30 14 0 0 34 0 0 0

MODULE
{
	name = ModuleWheel
	hasMotor = true
	resourceName = ElectricCharge
        resourceConsumptionRate = 0.5
	canSteer = true
	controlAxisType = Forward
	steeringModeType = AutomaticSteer
	brakeTorque = 180
	brakeSpeed = 1.0
	impactTolerance = 65
	overSpeedDamage = 20

	WHEEL
	{
	    wheelName = wheel
	    wheelColliderName = wheelCollider
	    suspensionTransformName = suspensionTraverse
	    suspensionNeutralPointName = suspensionNeutralPoint
	    damagedObjectName = bustedwheel
	    rotateX = 0
	    rotateY = 1
	    rotateZ = 0
	}

	steeringCurve
 	{
   	 key = 0 18
	 key = 15 6
 	}

	torqueCurve
	{
	  key = 0 170 0 0 
	  key = 2.5 100 0 0
	  key = 12 0 0 0
	}


}

RetractableLadder

variable example definition
ladderAnimationRootName
  • TelusBay
  • Telescopic ladder
name of the beginning animation for this module
ladderColliderName
  • ladderCollider
name of the collider mesh for this module
ladderRetractAnimationName
  • Retract
name of the retraction animation for this module
MODULE
{
 name = RetractableLadder
 
 ladderAnimationRootName = TelusBay
 ladderColliderName = ladderCollider
 ladderRetractAnimationName = Retract
}

MODULES POSSIBLY FROM MODS

defining a module has it's own problems, of course, and I'm no expert, but I did find this along the way:

ModuleLiftingSurface

variable example definition
deflectionLiftCoeff

0.3 (BSLmk2ScienceFuselage)

dragAtMaxAoA

0.15 (BSLmk2ScienceFuselage)

dragAtMinAoA

0.1 (BSLmk2ScienceFuselage)


MODULE:NEEDS[KAS] for the module

KASModuleContainer

variable example definition
maxSize

specifies the size of the container relative to Kerbal Attachment System parts.

maxOpenDistance
sndStorePath

KAS/Sounds/hookBayStore

sndOpenPath

KAS/Sounds/containerOpen

sndClosePath

KAS/Sounds/containerClose

bipWrongSndPath

KAS/Sounds/bipwrong