Module
STOCK MODULES
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. All 0.90 stock modules are now included.
| 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. |
| explanation | code examples | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CModuleFuelLineNo known arguments or variables at this time. This module is used by fuelLine, presumably to specify that it is fuel Transfer enabled. More research is clearly called for. This module is new in 0.90. |
MODULE
{
name = CModuleFuelLine
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CModuleLinkedMeshThis module is new in 0.90 and is used by fuelLine and strutConnector, presumably to created the variable length connectors between two parts (and add end caps on both sides).
|
MODULE
{
name = CModuleLinkedMesh
lineObjName = obj_line
targetAnchorName = obj_targetAnchor
anchorCapName = obj_anchorCap
targetCapName = obj_targetCap
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CModuleStrutThis module is new in 0.90 and is used by strutConnector, presumably to indicate that it is a structural support part.
|
MODULE
{
name = CModuleStrut
linearStrength = 150
angularStrength = 150
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FlagDecalParts with this module have a place for a flag on their sides. You don't have to turn it on, but this is how it gets there.
|
MODULE
{
name = FlagDecal
textureQuadName = flagTransform
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FXModuleAnimateThrottleAnimation for engines and engine bells showing them as they fire up and operate, based on the amount of throttle applied. See ion Engines for a good example.
|
MODULE
{
name = FXModuleAnimateThrottle
animationName = colorAnimation
dependOnEngineState = True
responseSpeed = 0.5
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FXModuleConstrainPositionCopies the rotation and/or position (matchRotation/matchPosition) from targetName to moversName. Used by for example wheels to copy the rotation of the steering part to the wheel collider.
|
MODULE
{
name = FXModuleConstrainPosition
matchRotation = true
matchPosition = false
CONSTRAINFX
{
targetName = steering
moversName = lateral
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FXModuleLookAtConstraintMakes two gameObject "look" at each other, for example in suspensions where the piston must "look" at the cylinder. The gameObjects must be aligned so it rotates around it's local X axis and looks down it's local Z axis.
|
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
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KerbalSeatThis module makes the part have an EXTERIOR seat.
|
MODULE
{
name = KerbalSeat
seatPivotName = seatPivot
ejectDirection = 0, 1, 0.2
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LaunchClampThis module enables the part to hold a vessel in suspension on the launch pad.
|
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
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleAlternatorSpecifies that this part produced a resource, based on the percentage of thrust produced by the engine.
|
MODULE
{
name = ModuleAlternator
RESOURCE
{
name = ElectricCharge
rate = 5.0
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleAnchoredDecouplerThis module specifies that the part is attached (anchored) to another part, and will decouple from yet a third part, forcing the third part away from it.
|
MODULE
{
name = ModuleAnchoredDecoupler
anchorName = anchor
ejectionForce = 450
explosiveNodeID = srf
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleAnimateGenericGeneric Animations will be applied to parts with this module. This module is slowly replacing other animation modules as progression is made towards the release version of KSP.
|
MODULE
{
name = ModuleAnimateGeneric
animationName = dish
isOneShot = false
startEventGUIName = Extend
endEventGUIName = Retract
actionGUIName = Toggle Antenna
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleAnimateHeatThis module specifies that heating animation will be applied to this part.
|
MODULE
{
name = ModuleAnimateHeat
ThermalAnim = HeatAnimatioEmissiveLiquidEngine3
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleAsteroidBecause it has no procedures or calls, is new in [0.90] and only appears on a part that you must hack to have available, it is impossible to say for certain what this module does, but it has something to do with being an asteroid. no procedures or calls |
MODULE
{
name = ModuleAsteroid
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleCargoBayAllows a cargo bay to shield its contents from airflow and heat.
|
MODULE
{
name = ModuleCargoBay
DeployModuleIndex = 1
closedPosition = 1
lookupRadius = 1
nodeOuterForeID = top
nodeOuterAftID = bottom
nodeInnerForeID = top2
nodeInnerAftID = bottom2
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleCommandApplies Command to vessels
|
MODULE
{
name = ModuleCommand
minimumCrew = 1
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleControlSurfaceThis module gives the part the ability to respond to inputs, generally used for aerodynamic parts to expose more or less effective surface to lift and braking forces in atmospheres.
|
MODULE
{
name = ModuleControlSurface
dragCoeff = 0.5
deflectionLiftCoeff = 0.7
ctrlSurfaceRange = 20
ctrlSurfaceArea = 0.95
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleDataTransmitterThis module specifies that the part acts as a transmitter of data, typically an antenna of some sort, for broadcasting science data back to the KSC.
|
MODULE
{
name = ModuleDataTransmitter
antennaType = DIRECT
packetInterval = 0.18
packetSize = 2
packetResourceCost = 20.0
requiredResource = ElectricCharge
DeployFxModules = 0
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleDecoupleModuleDecouple is a slightly upgraded version of ModuleAnchoredDecoupler, and may replace it in the future. Allows for decouplers that separate from both parts to which it is attached.
|
MODULE
{
name = ModuleDecouple
ejectionForce = 250
explosiveNodeID = srf
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleDeployableSolarPanelSolar panels cannot deploy without this module. May be possible to use for other modules which unfold. Optionally specifies whether the part will automatically turn to face the sun. This is one place where you can say how a part breaks.
|
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
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleDockingNodeA module for docking ports
|
MODULE
{
name = ModuleDockingNode
referenceAttachNode = top
nodeType = size2
undockEjectionForce = 0.25
minDistanceToReEngage = 3.5
acquireForce = 3.5
acquireTorque = 3.5
acquireRange = 3.0
captureRange = 1.5
snapRotation = false
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleEnginesEverything about your engine, all in one module!
|
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
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleEnginesFXAn updated and more customizable version of ModuleEngines. Required for and allows implementation of multi-modal engines and engines with custom exhaust FX.
|
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
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleEnviroSensorEnvironmental sensor definitions. Specifies that this part is one of these types of sensors.
|
MODULE
{
name = ModuleEnviroSensor
sensorType = ACC
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleGeneratorGenerators and Alternators serve must the same purpose, but generators are not linked to the percentage of thrust output of an engine, they simply produce. Some cannot be shut off. A generator may produce any available resource.
|
MODULE
{
name = ModuleGenerator
isAlwaysActive = true
OUTPUT_RESOURCE
{
name = ElectricCharge
rate = 0.75
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleGimbalGimballing represents an engine-bells ability to move around in relation to the engine body, provided a degree of ability to steer the vessel. Higher numbers indicate a higher range, but don't set it too high. Strange things will happen. Recommend limiting range to .90 at the absolute maximum.
|
MODULE
{
name = ModuleGimbal
gimbalTransformName = thrustTransform
gimbalRange = 0.5
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleGrappleNodeAdded in [0.90], specifically for the KASA asteroid capture missions, this part functions much like a dockingNode, however, it does not require a matching docking node on the capture-side. Grapplers can attach to anything (as far as we know).
|
MODULE
{
name = ModuleGrappleNode
nodeTransformName = ArticulatedCap
deployAnimationController = 1
nodeType = size1
captureRange = 0.05
captureMinFwdDot = 0.866
captureMaxRvel = 1
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleJettisonspecifies that pieces of this craft are able to be jettisoned, what they are and how to jettison them
|
MODULE
{
name = ModuleJettison
jettisonName = fairing
bottomNodeName = bottom
isFairing = True
jettisonedObjectMass = 0.1
jettisonForce = 5
jettisonDirection = 0 0 1
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleLandingGearSpecifies that the part is a landing gear, implying a wheel, and the traits of that wheel. Hopefully being deprecated in favor of moduleWheel below.
|
MODULE
{
name = ModuleLandingGear
BrakeTorque = 12
BrakeSpeed = 3
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleLandingLegSpecifies that this part is a landing leg and describes compression and resistance factors for the part.
|
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
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleLightSpecifies that this part is a light source, and how that light is produced and directed.
|
MODULE
{
name = ModuleLight
lightName = spotlight
useAnimationDim = true
lightBrightenSpeed = 2.5
lightDimSpeed = 2.5
animationName = LightAnimation
resourceAmount = 0.02
useResources = true
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleParachutespecifies that this part is a parachute and describes the operational parameters for parachute operations. Includes default settings for opening height and deployment atmospheric conditions.
|
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
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleRCSSpecifies that this is a Reaction Control System part. Uses variable resources to control directionality of the spacecraft. Unlike engines, RCS parts are generally oriented perpendicular to all directions of a spacecraft in order to provide steering, rather than thrust. Typically, monopropellant is decompressively expelled from an RCS port to push the spacecraft in one direction. Note: ModuleRCS can use either a single resource, or a series of PROPELLANT calls.
|
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
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleReactionWheelSpecifies that this part contains reaction wheels, used to stabilize the directionality of a spacecraft. Typically used for stability, rather than producing change, both are possible. If you're thinking that this does the same thing as RCS, you wouldn't be far off.
|
MODULE
{
name = ModuleReactionWheel
PitchTorque = 30
YawTorque = 30
RollTorque = 30
RESOURCE
{
name = ElectricCharge
rate = 0.6
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleResourceConverterUsed to create a part that convertes resources.
|
MODULE
{
name = ModuleResourceConverter
ConverterName = Lf+Ox
StartActionName = Start ISRU [Lf+Ox]
StopActionName = Stop ISRU [Lf+Ox]
AutoShutdown = true
TemperatureModifier
{
key = 0 100000
key = 750 50000
key = 1000 10000
key = 1250 500
key = 2000 50
key = 4000 0
}
GeneratesHeat = true
DefaultShutoffTemp = .8
ThermalEfficiency
{
key = 0 0 0 0
key = 500 0.1 0 0
key = 1000 1.0 0 0
key = 1250 0.1 0 0
key = 3000 0 0 0
}
UseSpecialistBonus = true
SpecialistEfficiencyFactor = 0.2
SpecialistBonusBase = 0.05
ExperienceEffect = ConverterSkill
EfficiencyBonus = 1
INPUT_RESOURCE
{
ResourceName = Ore
Ratio = 0.5
FlowMode = STAGE_PRIORITY_FLOW
}
INPUT_RESOURCE
{
ResourceName = ElectricCharge
Ratio = 30
}
OUTPUT_RESOURCE
{
ResourceName = LiquidFuel
Ratio = 0.45
DumpExcess = false
FlowMode = STAGE_PRIORITY_FLOW
}
OUTPUT_RESOURCE
{
ResourceName = Oxidizer
Ratio = 0.55
DumpExcess = false
FlowMode = STAGE_PRIORITY_FLOW
}
}
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleResourceHarvesterUsed to create a part that harvestes resources from the environment.
|
MODULE
{
name = ModuleResourceHarvester
HarvesterType = 0
Efficiency = 1.5
ResourceName = Ore
ConverterName = Surface Harvester
StartActionName = Start Surface Harvester
StopActionName = Stop Surface Harvester
ToggleActionName = Toggle Surface Harvester
ImpactTransform = ImpactTransform
ImpactRange = 5
AutoShutdown = true
GeneratesHeat = true
UseSpecialistBonus = true
SpecialistEfficiencyFactor = 0.2
SpecialistBonusBase = 0.05
Specialty = Engineer
EfficiencyBonus = 1
INPUT_RESOURCE
{
ResourceName = ElectricCharge
Ratio = 15
}
TemperatureModifier
{
key = 0 10000
key = 250 7500
key = 500 5000
key = 750 500
key = 1000 0
}
ThermalEfficiency
{
key = 0 0.1
key = 250 .1
key = 500 1
key = 750 .1
key = 1000 0
}
}
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleResourceIntakeUsed to create a part that produces a resource based on interaction with the environment.
|
MODULE
{
name = ModuleResourceIntake
resourceName = IntakeAir
checkForOxygen = true
area = 0.006
intakeSpeed = 10
intakeTransformName = Intake
}
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleSASUsed as 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
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleScienceContainerA place to store the results of a science experiment.
|
MODULE
{
name = ModuleScienceContainer
reviewActionName = Review Stored Data
storeActionName = Store Experiments
evaOnlyStorage = True
storageRange = 4.0
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleScienceExperimentA place to conduct a science experiment.
ExperimentUsageReqs
|
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
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleScienceLabA place to modify a science experiment prior to transmission in order to gain more research points from it.
|
MODULE
{
name = ModuleScienceLab
containerModuleIndex = 0
dataTransmissionBoost = 1.15
crewsRequired = 2
canResetConnectedModules = True
canResetNearbyModules = True
interactionRange = 5
RESOURCE_PROCESS
{
name = ElectricCharge
amount = 10
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleSteeringSpecifies that this part is steerable and provides the axis and animation information for steering the part.
|
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
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleTestSubjectUsed 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.
|
MODULE
{
name = ModuleTestSubject
useStaging = True
useEvent = True
situationMask = 60
CONSTRAINT
{
// disable all but home
type = SITUATION
value = 0
body = _NotHome
prestige = Trivial
}
CONSTRAINT
{
// disable all but home
type = SITUATION
value = 0
body = _NotHome
prestige = Significant
}
CONSTRAINT
{
type = REPEATABILITY
value = ALWAYS
prestige = Trivial
}
CONSTRAINT
{
type = REPEATABILITY
value = BODYANDSITUATION
prestige = Significant
}
CONSTRAINT
{
type = REPEATABILITY
value = ONCEPERPART
prestige = Exceptional
}
CONSTRAINT
{
type = ALTITUDEENV
test = GT
value = 4000
prestige = Trivial
}
CONSTRAINT
{
type = ALTITUDEENV
test = LT
value = 8000
prestige = Trivial
}
CONSTRAINT
{
type = ALTITUDEENV
test = GT
value = 2000
prestige = Significant
}
CONSTRAINT
{
type = ALTITUDEENV
test = LT
value = 4000
prestige = Significant
}
CONSTRAINT
{
type = ALTITUDEENV
test = GT
value = 1000
prestige = Exceptional
}
CONSTRAINT
{
type = ALTITUDEENV
test = LT
value = 2000
prestige = Exceptional
}
CONSTRAINT
{
type = ALTITUDE
test = GT
value = 0 // this just registers altitude as something to care about
situationMask = 8
}
CONSTRAINT
{
type = ALTITUDE
test = LT
value = 300000
situationMask = 16
body = _NotSun
}
CONSTRAINT
{
type = ALTITUDE
test = LT
value = 600000
situationMask = 32
body = _NotSun
}
CONSTRAINT
{
type = SPEED
test = GT
value = 0
situationMask = 8
prestige = Trivial
}
CONSTRAINT
{
type = SPEED
test = LT
value = 600
situationMask = 8
prestige = Trivial
}
CONSTRAINT
{
type = SPEED
test = GT
value = 0
situationMask = 8
prestige = Significant
}
CONSTRAINT
{
type = SPEED
test = LT
value = 900
situationMask = 8
prestige = Significant
}
CONSTRAINT
{
type = SPEED
test = GT
value = 300
situationMask = 8
prestige = Exceptional
}
CONSTRAINT
{
type = SPEED
test = LT
value = 1200
situationMask = 8
prestige = Exceptional
}
CONSTRAINT
{
type = SPEEDENV
test = LT
value = 200
prestige = Trivial
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleWheelThe better version of landingGear, with lots more options for the operation of wheels, including adding power, steering, and damage information.
|
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
}
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MultiModeEngineSpecifies that this part is an engine with multiple modes. Added in [0.90], it allows for engines that use different types of resources and provides different flight characteristics depending on which mode it is operating in. This module defines the different modes and passes them to moduleEnginesFX.
|
MODULE
{
name = MultiModeEngine
primaryEngineID = AirBreathing
secondaryEngineID = ClosedCycle
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RetractableLadderJust like the name implies, this module is attached to parts that are or contain a retractable or collapsible ladder.
|
MODULE
{
name = RetractableLadder
ladderAnimationRootName = TelusBay
ladderColliderName = ladderCollider
ladderRetractAnimationName = Retract
}
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MODULES FROM MODS
Defining a module is a task in and of itself and one that I'm sure has already been covered in other places. Many modules defined by mods are duplicating effects that could be created with stock modules, but for one reason or another, the mod owner has decided to create their own modules (possibly for degree of control, possibly because the stock module didn't quite do everything they needed). In any event, I've looked at some of the Mod modules, and detailed them below. By mod, they are:
Kerbal Assembly System
Kerbal Assembly System is most noted for adding the option to grab and move parts using Kerbals. It also allows for storage of certain parts in containers.
MODULE:NEEDS[KAS] for the module
KASModuleContainerSpecifies that this part can serve as a container for other parts, and how much storage space the part has. Also included is an interaction distance. Kerbals must be this close or closer to open the container. Lots of sounds.
|
MODULE
{
name = KASModuleContainer
maxSize = 80
}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ModuleConnectedLivingSpace
|
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
passableWhenSurfaceAttached = true
}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KASModulePartBay
|
MODULE
{
name = KASModulePartBay
BAY
{
attachNode = top
type = containerA
type = containerB
}
}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KASModulePort
|
MODULE
{
name = KASModulePort
attachNode = top
nodeType = kasplug
breakForce = 30
nodeTransformName = plugNode
}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KASModuleAnchor
|
MODULE
{
name = KASModuleAnchor
groundDrag = 500
bounciness = 0
dynamicFriction = 0.8
staticFriction = 0.8
}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KASModuleMagnetThis module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.
|
MODULE
{
name = KASModuleMagnet
breakForce = 10
attachToEva = False
minFwdDot = 0.998
powerDrain = 4
}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KASModuleStrut
|
MODULE
{
name = KASModuleStrut
nodeTransform = pipeNode
type = PipeSize1
maxLenght = 20
maxAngle = 100
breakForce = 10
allowDock = true
allowPumpFuel = true
hasCollider = false
tubeScale = 0.15
jointScale = 0.15
textureTiling = 1
tubeSrcType = Joined
tubeTgtType = Joined
evaStrutPos = (0.05, 0.059, -0.21)
evaStrutRot = (190.0, 0.0, 0.0)
tubeTexPath = KAS/Textures/pipe
}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KASModuleGrapplingHookThis module will make the part acting like a grappling-hook, any collided part in front of the grapple will be automatically attached if the inpact is strong enough. Only work when attached on a winch.
|
MODULE
{
name = KASModuleGrapplingHook
partBreakForce = 6
staticBreakForce = 15
aboveDist = 0.05
forceNeeded = 4
attachToPart = true
rayDir = (0,-1,0)
rayLenght = 0.8
}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KASModuleWinch
|
MODULE
{
name = KASModuleWinch
maxLenght = 50
cableSpring = 1000
cableDamper = 0.1
cableWidth = 0.04
motorMaxSpeed = 2
motorAcceleration = 0.05
powerDrain = 0.5
headTransformName = head
headPortNodeName = portNode
connectedPortNodeName = bottom
anchorNodeName = anchorNode
evaGrabHeadPos = (0.05, 0.01, -0.11)
evaGrabHeadDir = (0,0,1)
evaDropHeadPos = (0.05, 0.01, -0.16)
evaDropHeadRot = (180.0, 0.0, 0.0)
ejectEnabled = true
ejectForce = 20
lockMinDist = 0.12
lockMinFwdDot = 0.90
}
|
Universal Storage
Universal Storage. By the by: Excellently documented!
ModuleAnimatorAnimation module.
|
MODULE
{
name = ModuleAnimator
animationName = Take 001
guiEnableName = Wedge Locks Off
guiDisableName = Wedge Locks On
actionEnableName = Wedge Locks Off
actionDisableName = Wedge Locks On
animationSpeed = 100000
oneShot = false
activeEditor = true
activeFlight = false
activeUnfocused = false
unfocusedRange = 5
}
| ||||||||||||||||||||||||||||||||||||
Umbra Space Industries:RegolithNote: DEPRECATED (use stock resource converter's) REGO_ModuleResourceConverter
|
MODULE
{
name = REGO_ModuleResourceConverter
ConverterName = Water Electrolizer
StartActionName = Start Water Electrolizer
StopActionName = Stop Water Electrolizer
RecipeInputs = ElectricCharge, 14, Water, 0.0000176697
RecipeOutputs = Hydrogen, 0.0219907427, True, Oxygen, 0.0109953713, False
}
|
Umbra Space Industries: ExpPack
USI is widely known for building an entire add-on family of interconnected and cross-supported parts and extensions. Here we detail mods added by the ExpPack.
USI_ClearIVANo calls. |
MODULE
{
name = USI_ClearIVA
}
|