Difference between revisions of "API:List of Part Modules"

From Kerbal Space Program Wiki
Jump to: navigation, search
(Fixed syntax error.)
(Added more details.)
Line 1: Line 1:
Behaviour is added to parts in KSP using modular components called ''part modules''. These are classes which derive from [[API:PartModule|PartModule]].
+
Behaviour is added to parts in KSP using modular components called ''part modules''. These are classes which derive from [[API:PartModule|PartModule]]. Multiple simple modules can be added to parts to build up complex behaviour. For example, the [[J-90 "Goliath" Turbofan Engine]]
  
 
Part modules can be added to a part by [[Tutorial:Changing_Part_Configuration_Files|editing]] that part's [[CFG_File_Documentation|configuration file]]. For example, to add a part module called "ModuleName" to a part, the part's configuration file should be edited to include the following before the final closing '}' in the file:
 
Part modules can be added to a part by [[Tutorial:Changing_Part_Configuration_Files|editing]] that part's [[CFG_File_Documentation|configuration file]]. For example, to add a part module called "ModuleName" to a part, the part's configuration file should be edited to include the following before the final closing '}' in the file:
Line 22: Line 22:
 
| ModuleAblator || Used for heat shields to provide thermal protection during re-entry. The module consumes the [[resource]] named in ablativeResource as it does this (normally [[Ablator]], defined outside the part module). The part's colour is also darkened as ablataiveResource is depleted.
 
| ModuleAblator || Used for heat shields to provide thermal protection during re-entry. The module consumes the [[resource]] named in ablativeResource as it does this (normally [[Ablator]], defined outside the part module). The part's colour is also darkened as ablataiveResource is depleted.
 
|-
 
|-
| ModuleActiveRadiator || Used for radiators to remove heat from the craft at the cost of a named [[resource]], normally [[Electric_charge|ElectricCharge]].
+
| ModuleActiveRadiator || Used for radiators to remove heat from the craft at the cost of a named [[resource]], normally [[electric charge]].
 
|-
 
|-
| ModuleAdvancedLandingGear || Unknown. Currently unused.
+
| ModuleAdvancedLandingGear || Unknown. Appears unused.
 
|-
 
|-
| ModuleAerodynamicLift || Unknown. Currently unused.
+
| ModuleAerodynamicLift || Unknown. Appears unused.
 
|-
 
|-
 
| ModuleAeroSurface || Allows toggling to a high-drag mode while activating an animation. Currently used only for the [[A.I.R.B.R.A.K.E.S|airbrake]] part.
 
| ModuleAeroSurface || Allows toggling to a high-drag mode while activating an animation. Currently used only for the [[A.I.R.B.R.A.K.E.S|airbrake]] part.
 
|-
 
|-
| ModuleAlternator || Generates the specified [[resource]], normally [[Electric_charge|ElectricCharge]], at a rate dependent on the thrust of an engine module within the same part.
+
| ModuleAlternator || Generates the specified [[resource]], normally [[electric charge]], at a rate dependent on the thrust of an engine module within the same part.
 
|-
 
|-
| ModuleAnalysisResource || Used in the [[Surface_Scanning_Module|Surface Scanning Module]] part to provide right-click abundance percentage for the given resourceName, [[Ore]].
+
| ModuleAnalysisResource || Used in the [[Surface_Scanning_Module|Surface Scanning Module]] part to provide right-click abundance percentage for the given resourceName, [[ore]].
 
|-
 
|-
 
| ModuleAnchoredDecoupler || Used in radial decouplers to detach the part.
 
| ModuleAnchoredDecoupler || Used in radial decouplers to detach the part.
Line 42: Line 42:
 
| ModuleAnimationGroup || Used to play "deploy" and looped "running" animations for parts such as the [[Convert-O-Tron 250]] and the [['Drill-O-Matic' Mining Excavator]]
 
| ModuleAnimationGroup || Used to play "deploy" and looped "running" animations for parts such as the [[Convert-O-Tron 250]] and the [['Drill-O-Matic' Mining Excavator]]
 
|-
 
|-
| ModuleAnimatorLandingGear || ??
+
| ModuleAnimatorLandingGear || Unknown. Appears unused.
 
|-
 
|-
| ModuleAsteroid || ??
+
| ModuleAsteroid || Used to create procedural asteroids.
 
|-
 
|-
| ModuleAsteroidAnalysis || ??
+
| ModuleAsteroidAnalysis || Provides mining resource information to ModuleAnalysisResource for procedural asteroids.
 
|-
 
|-
| ModuleAsteroidDrill || ??
+
| ModuleAsteroidDrill || Used in mining drills to allow resource ([[ore]]) extraction from procedural asteroids.
 
|-
 
|-
| ModuleAsteroidInfo || ??
+
| ModuleAsteroidInfo || Provides right-click information for procedural asteroid mass and resources.
 
|-
 
|-
| ModuleAsteroidResource || ??
+
| ModuleAsteroidResource || Used in procedural asteroids to provide mining resource abundance information for the given resourceName, [[ore]].
 
|-
 
|-
| ModuleBiomeScanner || ??
+
| ModuleBiomeScanner || Used in the [[Surface Scanning Module]] to provide resource analysis of a biome.
 
|-
 
|-
| ModuleCargoBay || ??
+
| ModuleCargoBay || Used in cargo bays. Controls whether parts inside the bay are shielded from aerodynamic effects.
 
|-
 
|-
| ModuleCommand || ??
+
| ModuleCommand || Deals with allowing control of a vessel, e.g. in a crew pod or probe core, changing the control point via "Control From Here", as well as renaming the vessel.
 
|-
 
|-
| ModuleConductionMultiplier || ??
+
| ModuleConductionMultiplier || Modifies how heat conducts between the part and parts connected to it.
 
|-
 
|-
| ModuleControlSurface || ??
+
| ModuleControlSurface || Used for controllable aerodynamic surfaces such as ailerons and fins.
 
|-
 
|-
| ModuleCoreHeat || ??
+
| ModuleCoreHeat || Used to provide a separate heat area (i.e. not internal or surface) for parts which have high internal temperatures that don't easily conduct through to nearby parts. Used in the [[RTG]], [[resource harvesters]] and [[converter|resource converters]].
 
|-
 
|-
| ModuleDataTransmitter || ??
+
| ModuleDataTransmitter || Transmits science data in exchange for [[electric charge]].
 
|-
 
|-
| ModuleDecouple || ??
+
| ModuleDecouple || Used in decouplers to break the connection of the specified attach node.
 
|-
 
|-
| ModuleDeployableRadiator || ??
+
| ModuleDeployableRadiator || Used in deployable radiators to provide deployment animation control, sun tracking animation and heat removal.
 
|-
 
|-
| ModuleDeployableSolarPanel || ??
+
| ModuleDeployableSolarPanel || Used in deployable solar panels to provide deployment animation control, sun tracking animation and electric charge generation.
 
|-
 
|-
| ModuleDisplaceTweak || ??
+
| ModuleDisplaceTweak || Unknown. Appears unused.
 
|-
 
|-
| ModuleDockingNode || ??
+
| ModuleDockingNode || Used in [[Docking#Docking_ports|docking ports]] to provide docking functionality, such as merging two craft into one or splitting them apart, and the docking attraction force between ports. Supports gendered docking ports and angle snap, although these are currently unused in stock KSP.
 
|-
 
|-
| ModuleDragModifier || ??
+
| ModuleDragModifier || Used in parachutes to override their debloyed and semideployed drag cube to generate additional drag force.
 
|-
 
|-
| ModuleEffectTest || ??
+
| ModuleEffectTest || Unknown. Appears unused.
 
|-
 
|-
 
| ModuleEngines || This part module has been made obsolete by ModuleEnginesFX. It provides thrust in exchange for a propellant resource.
 
| ModuleEngines || This part module has been made obsolete by ModuleEnginesFX. It provides thrust in exchange for a propellant resource.
Line 86: Line 86:
 
| ModuleEnginesFX || An upgraded version of ModuleEngines which provides support for EFFECTS nodes (particle and sound effects).
 
| ModuleEnginesFX || An upgraded version of ModuleEngines which provides support for EFFECTS nodes (particle and sound effects).
 
|-
 
|-
| ModuleEnviroSensor || Provides data in the part's right-click menu in exchange for [[Electric_charge|ElectricCharge]]. The data displayed is determined by sensorType, which can be TEMP (temperature), GRAV (gravity), ACC (accelleration), or PRES (pressure).
+
| ModuleEnviroSensor || Provides data in the part's right-click menu in exchange for [[electric charge]]. The data displayed is determined by sensorType, which can be TEMP (temperature), GRAV (gravity), ACC (accelleration), or PRES (pressure).
 
|-
 
|-
| ModuleFuelJettison || ??
+
| ModuleFuelJettison || Used in mining resource tanks to destroy contained resources.
 
|-
 
|-
| ModuleGenerator || ??
+
| ModuleGenerator || Creates the specified OUTPUT_[[RESOURCE]] at the given rate. Used in the [[RTG]] and [[TT18-A Launch Stability Enhancer|launch clamps]].
 
|-
 
|-
| ModuleGimbal || ??
+
| ModuleGimbal || Provides engine gimballing, i.e. the ability to change the direction thrust leaves an engine.
 
|-
 
|-
| ModuleGPS || ??
+
| ModuleGPS || Used in the [[M4435 Narrow-Band Scanner]] and [[Surface Scanning Module]] to provide latitude, longitude, biome and body information to the right-click menu.
 
|-
 
|-
| ModuleGrappleNode || ??
+
| ModuleGrappleNode || Used in the [[Advanced Grabbing Unit]] to dock with other vessels without requiring a docking port on the other vessel.
 
|-
 
|-
| ModuleHandle || ??
+
| ModuleHandle || Included for clarification, this isn't actually a part of KSP or Unity, but .NET. [[https://msdn.microsoft.com/en-us/library/system.modulehandle%28v=vs.110%29.aspx|See here for details]].
 
|-
 
|-
| ModuleHighDefCamera || ??
+
| ModuleHighDefCamera || Used in the [[M4435 Narrow-Band Scanner]] to draw resource information onto bodies.
 
|-
 
|-
| ModuleJettison || ??
+
| ModuleJettison || Used to provide a jettisonable interstage fairing over parts such as engines. Provides the "Jettison" right-click menu option.
 
|-
 
|-
| ModuleJointMotor || ??
+
| ModuleJointMotor || Unknown. Appears unused.
 
|-
 
|-
| ModuleJointMotorTest || ??
+
| ModuleJointMotorTest || Unknown. Appears unused.
 
|-
 
|-
| ModuleJointPivot || ??
+
| ModuleJointPivot || Unknown. Appears unused.
 
|-
 
|-
| ModuleLandingGear || ??
+
| ModuleLandingGear || Used in aircraft landing wheels. Controls deploy/retract animations, braking, suspension and headlights.
 
|-
 
|-
| ModuleLandingGearFixed || ??
+
| ModuleLandingGearFixed || Used in aircraft landing wheels that can't be retracted. Controls braking and suspension.
 
|-
 
|-
| ModuleLandingLeg || ??
+
| ModuleLandingLeg || Used in deployable landing legs. Makes use of [[http://docs.unity3d.com/Manual/class-WheelCollider.html|WheelCollider]] to provide suspension damping.
 
|-
 
|-
 
| ModuleLiftingSurface || ??
 
| ModuleLiftingSurface || ??
Line 166: Line 166:
 
| ModuleSeeThroughObject || ??
 
| ModuleSeeThroughObject || ??
 
|-
 
|-
| ModuleSteering || ??
+
| ModuleSteering || Adds the ability to steer aircraft landing gear wheels to part modules implementing ISteerable, such as ModuleLandingGear and ModuleLandingGearFixed.
 
|-
 
|-
 
| ModuleSurfaceFX || ??
 
| ModuleSurfaceFX || ??

Revision as of 14:52, 25 March 2016

Behaviour is added to parts in KSP using modular components called part modules. These are classes which derive from PartModule. Multiple simple modules can be added to parts to build up complex behaviour. For example, the J-90 "Goliath" Turbofan Engine

Part modules can be added to a part by editing that part's configuration file. For example, to add a part module called "ModuleName" to a part, the part's configuration file should be edited to include the following before the final closing '}' in the file:

MODULE
{
	name = ModuleName
}

The following is an incomplete list of the part modules in KSP as of version 1.0.5.

Module name Notes
FXModuleAnimateThrottle Varies the state of an animation based on the current throttle setting. Most commonly used to make rocket engines glow orange when they're running.
FXModuleConstrainPosition Used to automatically position, rotate or constrain movement of a [[1]] relative to another. For example, rotating mounting struts to stay attached to a gimballing engine, or keeping wheel suspension attached to the wheel as it bounces.
ModuleAblator Used for heat shields to provide thermal protection during re-entry. The module consumes the resource named in ablativeResource as it does this (normally Ablator, defined outside the part module). The part's colour is also darkened as ablataiveResource is depleted.
ModuleActiveRadiator Used for radiators to remove heat from the craft at the cost of a named resource, normally electric charge.
ModuleAdvancedLandingGear Unknown. Appears unused.
ModuleAerodynamicLift Unknown. Appears unused.
ModuleAeroSurface Allows toggling to a high-drag mode while activating an animation. Currently used only for the airbrake part.
ModuleAlternator Generates the specified resource, normally electric charge, at a rate dependent on the thrust of an engine module within the same part.
ModuleAnalysisResource Used in the Surface Scanning Module part to provide right-click abundance percentage for the given resourceName, ore.
ModuleAnchoredDecoupler Used in radial decouplers to detach the part.
ModuleAnimateGeneric Used to toggle animations via right-click menu or action group, for example toggling cockpit lights, engaging thrust reversers, or opening and closing cargo bay doors.
ModuleAnimateHeat Varies the state of an animation based on the part's heat. Used to provide the orange glow on intakes and nose cones as they heat up.
ModuleAnimationGroup Used to play "deploy" and looped "running" animations for parts such as the Convert-O-Tron 250 and the 'Drill-O-Matic' Mining Excavator
ModuleAnimatorLandingGear Unknown. Appears unused.
ModuleAsteroid Used to create procedural asteroids.
ModuleAsteroidAnalysis Provides mining resource information to ModuleAnalysisResource for procedural asteroids.
ModuleAsteroidDrill Used in mining drills to allow resource (ore) extraction from procedural asteroids.
ModuleAsteroidInfo Provides right-click information for procedural asteroid mass and resources.
ModuleAsteroidResource Used in procedural asteroids to provide mining resource abundance information for the given resourceName, ore.
ModuleBiomeScanner Used in the Surface Scanning Module to provide resource analysis of a biome.
ModuleCargoBay Used in cargo bays. Controls whether parts inside the bay are shielded from aerodynamic effects.
ModuleCommand Deals with allowing control of a vessel, e.g. in a crew pod or probe core, changing the control point via "Control From Here", as well as renaming the vessel.
ModuleConductionMultiplier Modifies how heat conducts between the part and parts connected to it.
ModuleControlSurface Used for controllable aerodynamic surfaces such as ailerons and fins.
ModuleCoreHeat Used to provide a separate heat area (i.e. not internal or surface) for parts which have high internal temperatures that don't easily conduct through to nearby parts. Used in the RTG, resource harvesters and resource converters.
ModuleDataTransmitter Transmits science data in exchange for electric charge.
ModuleDecouple Used in decouplers to break the connection of the specified attach node.
ModuleDeployableRadiator Used in deployable radiators to provide deployment animation control, sun tracking animation and heat removal.
ModuleDeployableSolarPanel Used in deployable solar panels to provide deployment animation control, sun tracking animation and electric charge generation.
ModuleDisplaceTweak Unknown. Appears unused.
ModuleDockingNode Used in docking ports to provide docking functionality, such as merging two craft into one or splitting them apart, and the docking attraction force between ports. Supports gendered docking ports and angle snap, although these are currently unused in stock KSP.
ModuleDragModifier Used in parachutes to override their debloyed and semideployed drag cube to generate additional drag force.
ModuleEffectTest Unknown. Appears unused.
ModuleEngines This part module has been made obsolete by ModuleEnginesFX. It provides thrust in exchange for a propellant resource.
ModuleEnginesFX An upgraded version of ModuleEngines which provides support for EFFECTS nodes (particle and sound effects).
ModuleEnviroSensor Provides data in the part's right-click menu in exchange for electric charge. The data displayed is determined by sensorType, which can be TEMP (temperature), GRAV (gravity), ACC (accelleration), or PRES (pressure).
ModuleFuelJettison Used in mining resource tanks to destroy contained resources.
ModuleGenerator Creates the specified OUTPUT_RESOURCE at the given rate. Used in the RTG and launch clamps.
ModuleGimbal Provides engine gimballing, i.e. the ability to change the direction thrust leaves an engine.
ModuleGPS Used in the M4435 Narrow-Band Scanner and Surface Scanning Module to provide latitude, longitude, biome and body information to the right-click menu.
ModuleGrappleNode Used in the Advanced Grabbing Unit to dock with other vessels without requiring a docking port on the other vessel.
ModuleHandle Included for clarification, this isn't actually a part of KSP or Unity, but .NET. [here for details].
ModuleHighDefCamera Used in the M4435 Narrow-Band Scanner to draw resource information onto bodies.
ModuleJettison Used to provide a jettisonable interstage fairing over parts such as engines. Provides the "Jettison" right-click menu option.
ModuleJointMotor Unknown. Appears unused.
ModuleJointMotorTest Unknown. Appears unused.
ModuleJointPivot Unknown. Appears unused.
ModuleLandingGear Used in aircraft landing wheels. Controls deploy/retract animations, braking, suspension and headlights.
ModuleLandingGearFixed Used in aircraft landing wheels that can't be retracted. Controls braking and suspension.
ModuleLandingLeg Used in deployable landing legs. Makes use of [[2]] to provide suspension damping.
ModuleLiftingSurface  ??
ModuleLight  ??
ModuleOrbitalScanner  ??
ModuleOrbitalSurveyor  ??
ModuleOverheadDisplay  ??
ModuleParachute  ??
ModulePhysicMaterial  ??
ModuleProceduralFairing  ??
ModuleRCS  ??
ModuleReactionWheel  ??
ModuleRemoteController  ??
ModuleResource  ??
ModuleResourceConverter  ??
ModuleResourceHarvester  ??
ModuleResourceIntake  ??
ModuleResourceScanner  ??
ModuleRotatingJoint  ??
ModuleSampleCollector  ??
ModuleSampleContainer  ??
ModuleSAS  ??
ModuleScienceContainer  ??
ModuleScienceConverter  ??
ModuleScienceExperiment  ??
ModuleScienceLab  ??
ModuleSeeThroughObject  ??
ModuleSteering Adds the ability to steer aircraft landing gear wheels to part modules implementing ISteerable, such as ModuleLandingGear and ModuleLandingGearFixed.
ModuleSurfaceFX  ??
ModuleTestSubject  ??
ModuleToggleCrossfeed  ??
ModuleTripLogger  ??
ModuleWheel  ??