Difference between revisions of "User:Joshuadery"

From Kerbal Space Program Wiki
Jump to: navigation, search
(REGO_ModuleResourceConverter)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{TOC|align=right}}
 
== MODULES FROM MODS ==
 
== 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:
 
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:
Line 725: Line 726:
 
   RecipeOutputs = Hydrogen, 0.0219907427, True, Oxygen, 0.0109953713, False
 
   RecipeOutputs = Hydrogen, 0.0219907427, True, Oxygen, 0.0109953713, False
 
}
 
}
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleGrab ====
 
! variable !! example !! definition
 
|-
 
| evaPartPos ||
 
* (0.0, 0.40, -0.40)
 
* (0.0, 0.0, -0.15)
 
|| three dimensional array, offset for carrying
 
|-
 
| evaPartDir ||
 
* (0,0,-1)
 
|| three dimensional array for orientation
 
|-
 
| storable ||
 
* true
 
* false
 
|| specifies whether the part can be stored
 
|-
 
| storedSize ||
 
* 20
 
* 14
 
|| specifies whether the part can be stored
 
|-
 
| attachOnPart ||
 
* true
 
* false
 
|| uncertain
 
|-
 
| attachOnEva ||
 
* true
 
* false
 
|| unsure
 
|-
 
| attachOnStatic ||
 
* True
 
* False
 
|| unsure
 
|-
 
| customGroundPos ||
 
* True
 
* False
 
|| unsure
 
|-
 
| attachNodeName ||
 
* bottom
 
|| unsure
 
|-
 
| dropPartPos ||
 
* (0.0, -0.2, -0.7)
 
|| unsure
 
|-
 
| dropPartRot ||
 
* (-10.0, 0.0, 0.0)
 
|| unsure
 
|-
 
| bayType ||
 
* hookbay
 
|| unsure
 
|-
 
| bayNode ||
 
* top
 
|| unsure
 
|-
 
| bayRot ||
 
* (0.0., 0.0, 0.0)
 
|| something to do with rotation
 
|-
 
| attachSendMsgOnly ||
 
* true
 
* false
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrab           
 
evaPartPos = (0.0, 0.40, -0.40)       
 
evaPartDir = (0,0,-1)
 
storable = true
 
storedSize  = 20
 
attachOnPart = true
 
attachOnEva = true
 
bayType = hookBay
 
bayNode = top
 
bayRot = (0.0, 0.0, 0.0)
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePartBay ====
 
! variable !! example !! definition
 
|-
 
| BAY || {} ||
 
{|class="wikitable"
 
|-
 
| attachNode ||
 
* top
 
* bottom
 
|| attachment placement
 
|-
 
| type ||
 
* containerA
 
* container
 
* hookBay
 
||
 
|-
 
|}
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePartBay
 
BAY
 
{
 
  attachNode = top
 
  type = containerA
 
  type = containerB
 
}
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePort ====
 
! variable !! example !! definition
 
|-
 
| attachNode ||
 
* top
 
|| unsure
 
|-
 
| nodeType ||
 
* kasplug
 
|| unknown
 
|-
 
| breakForce ||
 
* 30
 
|| unknown
 
|-
 
| nodeTransformName ||
 
* plugNode
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePort
 
attachNode = top
 
nodeType = kasplug
 
breakForce = 30
 
nodeTransformName = plugNode
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleAnchor ====
 
! variable !! example !! definition
 
This module will set a custom drag value when the part touch the ground.
 
|-
 
| groundDrag ||
 
* 500
 
|| Drag value of the anchor when it touch the ground
 
|-
 
| bounciness ||
 
* 0
 
|| Bounciness of the anchor
 
|-
 
| dynamicFriction ||
 
* 0.8
 
|| Dynamic friction of the anchor when it touch the ground
 
|-
 
| staticFriction ||
 
* 0.8
 
|| Static friction of the anchor when it touch the ground
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleAnchor
 
groundDrag = 500
 
bounciness = 0
 
dynamicFriction = 0.8
 
staticFriction = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleMagnet ====
 
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.
 
! variable !! example !! definition
 
|-
 
| breakForce ||
 
* 10
 
|| The force that needs to be applied on the magnet joint to break.
 
|-
 
| attachToEva ||
 
* true
 
* false
 
|| Disable/enable attraction of eva
 
|-
 
| minFwdDot ||
 
* 0.998
 
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)
 
|-
 
| powerDrain ||
 
* 4
 
|| Power consumption when the magnet is used
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleMagnet
 
breakForce = 10
 
attachToEva = False
 
minFwdDot = 0.998
 
powerDrain = 4
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleStrut ====
 
! variable !! example !! definition
 
|-
 
| nodeTransform ||
 
* pipeNode
 
* strutNode
 
|| unknown
 
|-
 
| type ||
 
* PipeSize1
 
* StrutSize1
 
|| Unkown
 
|-
 
| maxLength ||
 
* 20
 
* 8
 
|| unknown
 
|-
 
| maxAngle ||
 
* 100
 
|| unknown
 
|-
 
| breakForce ||
 
* 10
 
|| unknown
 
|-
 
| allowDock ||
 
* true
 
* false
 
|| unknown
 
|-
 
| allowPumpFuel ||
 
* true
 
* false
 
|| unknown
 
|-
 
| hasCollider ||
 
* true
 
* false
 
|| unknown
 
|-
 
| tubeScale ||
 
* 0.15
 
|| unknown
 
|-
 
| jointScale ||
 
* 0.15
 
|| unknown
 
|-
 
| textureTiling ||
 
* 1
 
* 4
 
|| unknown
 
|-
 
| tubeSrcType ||
 
* Joined
 
* Rounded
 
|| Unknown
 
|-
 
| tubeTgtType ||
 
* Joined
 
* Rounded
 
|| unknown
 
|-
 
| evaStrutPos ||
 
* (0.05, 0.059, -0.21)
 
|| unknown
 
|-
 
| evaStrutRot ||
 
* (190.0, 0.0, 0.0)
 
|| unknown
 
|-
 
| tubeTexPath ||
 
* KAS/Textures/pipe
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleGrapplingHook ====
 
This 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.
 
! variable !! example !! definition
 
|-
 
| partBreakForce ||
 
* 6
 
|| The force that needs to be applied on the grapple/part joint to break.
 
|-
 
| staticBreakForce ||
 
* 15
 
|| The force that needs to be applied on the grapple/static joint to break.
 
|-
 
| aboveDist ||
 
* 0.05
 
|| Distance from the attach point to the center of the part
 
|-
 
| forceNeeded ||
 
* 4
 
|| Collision force needed to attach the grapple.
 
|-
 
| attachToPart ||
 
* true
 
* false
 
|| Disable/enable attachment on parts.
 
|-
 
| rayDir  ||
 
* (0,-1,0)
 
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.
 
|-
 
| rayLenght ||
 
* 0.8
 
|| Attach ray lenght.
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrapplingHook
 
partBreakForce = 6
 
staticBreakForce = 15
 
aboveDist = 0.05
 
forceNeeded = 4
 
attachToPart = true
 
rayDir = (0,-1,0)
 
rayLenght = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleWinch ====
 
! variable !! example !! definition
 
|-
 
| maxLenght ||
 
* 50
 
* 80
 
|| unknown
 
|-
 
| cableSpring ||
 
* 1000
 
||
 
|-
 
| cableDamper ||
 
* 0.1
 
||
 
|-
 
| cableWidth ||
 
* 0.04
 
||
 
|-
 
| motorMaxSpeed ||
 
* 2
 
||
 
|-
 
| motorAcceleration ||
 
* 0.05
 
||
 
|-
 
| powerDrain ||
 
* 0.5
 
* 0.3
 
||
 
|-
 
| headTransformName ||
 
* head
 
||
 
|-
 
| headPortNodeName ||
 
* portNode
 
||
 
|-
 
| connectedPortNodeName ||
 
* bottom
 
* front
 
||
 
|-
 
| 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
 
* false
 
||
 
|-
 
| ejectForce ||
 
* 20
 
||
 
|-
 
| lockMinDist ||
 
* 0.12
 
||
 
|-
 
| lockMinFwdDot ||
 
* 0.90
 
||
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|}
 
 
=== 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
 
 
{|
 
! !!
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleContainer ====
 
Specifies 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.
 
! variable !! example !! definition
 
|-
 
| maxSize || 
 
* 5
 
* 20
 
* 80
 
|| specifies the size of the container relative to Kerbal Attachment System parts.
 
|-
 
| maxOpenDistance ||
 
* 1
 
* 5
 
|| Kerbals must be at least this close (in meters) in order to open the container
 
|-
 
| sndStorePath || 
 
* KAS/Sounds/hookBayStore
 
|| sound stuff
 
|-
 
| sndOpenPath || 
 
* KAS/Sounds/containerOpen
 
|| sound stuff for opening the container 
 
|-
 
| sndClosePath ||
 
* KAS/Sounds/containerClose
 
|| sound stuff for closing the container
 
|-
 
| bipWrongSndPath || 
 
* KAS/Sounds/bipwrong
 
|| sound stuff
 
|-
 
|}
 
||
 
<pre>MODULE
 
{
 
name = KASModuleContainer
 
maxSize = 80
 
}
 
</pre>
 
|-
 
 
|
 
{|class="wikitable"
 
==== ModuleConnectedLivingSpace ====
 
! variable !! example !! definition
 
|-
 
| passable ||
 
* true
 
* false
 
|| specifies whether Kerbals can commute to parts connected to this part
 
|-
 
| passableWhenSurfaceAttached ||
 
* true
 
* false
 
|| can be passed through even when connected to the ground?
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = ModuleConnectedLivingSpace
 
passable = true
 
passableWhenSurfaceAttached = true
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleGrab ====
 
! variable !! example !! definition
 
|-
 
| evaPartPos ||
 
* (0.0, 0.40, -0.40)
 
* (0.0, 0.0, -0.15)
 
|| three dimensional array, offset for carrying
 
|-
 
| evaPartDir ||
 
* (0,0,-1)
 
|| three dimensional array for orientation
 
|-
 
| storable ||
 
* true
 
* false
 
|| specifies whether the part can be stored
 
|-
 
| storedSize ||
 
* 20
 
* 14
 
|| specifies whether the part can be stored
 
|-
 
| attachOnPart ||
 
* true
 
* false
 
|| uncertain
 
|-
 
| attachOnEva ||
 
* true
 
* false
 
|| unsure
 
|-
 
| attachOnStatic ||
 
* True
 
* False
 
|| unsure
 
|-
 
| customGroundPos ||
 
* True
 
* False
 
|| unsure
 
|-
 
| attachNodeName ||
 
* bottom
 
|| unsure
 
|-
 
| dropPartPos ||
 
* (0.0, -0.2, -0.7)
 
|| unsure
 
|-
 
| dropPartRot ||
 
* (-10.0, 0.0, 0.0)
 
|| unsure
 
|-
 
| bayType ||
 
* hookbay
 
|| unsure
 
|-
 
| bayNode ||
 
* top
 
|| unsure
 
|-
 
| bayRot ||
 
* (0.0., 0.0, 0.0)
 
|| something to do with rotation
 
|-
 
| attachSendMsgOnly ||
 
* true
 
* false
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrab           
 
evaPartPos = (0.0, 0.40, -0.40)       
 
evaPartDir = (0,0,-1)
 
storable = true
 
storedSize  = 20
 
attachOnPart = true
 
attachOnEva = true
 
bayType = hookBay
 
bayNode = top
 
bayRot = (0.0, 0.0, 0.0)
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePartBay ====
 
! variable !! example !! definition
 
|-
 
| BAY || {} ||
 
{|class="wikitable"
 
|-
 
| attachNode ||
 
* top
 
* bottom
 
|| attachment placement
 
|-
 
| type ||
 
* containerA
 
* container
 
* hookBay
 
||
 
|-
 
|}
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePartBay
 
BAY
 
{
 
  attachNode = top
 
  type = containerA
 
  type = containerB
 
}
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePort ====
 
! variable !! example !! definition
 
|-
 
| attachNode ||
 
* top
 
|| unsure
 
|-
 
| nodeType ||
 
* kasplug
 
|| unknown
 
|-
 
| breakForce ||
 
* 30
 
|| unknown
 
|-
 
| nodeTransformName ||
 
* plugNode
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePort
 
attachNode = top
 
nodeType = kasplug
 
breakForce = 30
 
nodeTransformName = plugNode
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleAnchor ====
 
! variable !! example !! definition
 
This module will set a custom drag value when the part touch the ground.
 
|-
 
| groundDrag ||
 
* 500
 
|| Drag value of the anchor when it touch the ground
 
|-
 
| bounciness ||
 
* 0
 
|| Bounciness of the anchor
 
|-
 
| dynamicFriction ||
 
* 0.8
 
|| Dynamic friction of the anchor when it touch the ground
 
|-
 
| staticFriction ||
 
* 0.8
 
|| Static friction of the anchor when it touch the ground
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleAnchor
 
groundDrag = 500
 
bounciness = 0
 
dynamicFriction = 0.8
 
staticFriction = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleMagnet ====
 
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.
 
! variable !! example !! definition
 
|-
 
| breakForce ||
 
* 10
 
|| The force that needs to be applied on the magnet joint to break.
 
|-
 
| attachToEva ||
 
* true
 
* false
 
|| Disable/enable attraction of eva
 
|-
 
| minFwdDot ||
 
* 0.998
 
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)
 
|-
 
| powerDrain ||
 
* 4
 
|| Power consumption when the magnet is used
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleMagnet
 
breakForce = 10
 
attachToEva = False
 
minFwdDot = 0.998
 
powerDrain = 4
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleStrut ====
 
! variable !! example !! definition
 
|-
 
| nodeTransform ||
 
* pipeNode
 
* strutNode
 
|| unknown
 
|-
 
| type ||
 
* PipeSize1
 
* StrutSize1
 
|| Unkown
 
|-
 
| maxLength ||
 
* 20
 
* 8
 
|| unknown
 
|-
 
| maxAngle ||
 
* 100
 
|| unknown
 
|-
 
| breakForce ||
 
* 10
 
|| unknown
 
|-
 
| allowDock ||
 
* true
 
* false
 
|| unknown
 
|-
 
| allowPumpFuel ||
 
* true
 
* false
 
|| unknown
 
|-
 
| hasCollider ||
 
* true
 
* false
 
|| unknown
 
|-
 
| tubeScale ||
 
* 0.15
 
|| unknown
 
|-
 
| jointScale ||
 
* 0.15
 
|| unknown
 
|-
 
| textureTiling ||
 
* 1
 
* 4
 
|| unknown
 
|-
 
| tubeSrcType ||
 
* Joined
 
* Rounded
 
|| Unknown
 
|-
 
| tubeTgtType ||
 
* Joined
 
* Rounded
 
|| unknown
 
|-
 
| evaStrutPos ||
 
* (0.05, 0.059, -0.21)
 
|| unknown
 
|-
 
| evaStrutRot ||
 
* (190.0, 0.0, 0.0)
 
|| unknown
 
|-
 
| tubeTexPath ||
 
* KAS/Textures/pipe
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleGrapplingHook ====
 
This 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.
 
! variable !! example !! definition
 
|-
 
| partBreakForce ||
 
* 6
 
|| The force that needs to be applied on the grapple/part joint to break.
 
|-
 
| staticBreakForce ||
 
* 15
 
|| The force that needs to be applied on the grapple/static joint to break.
 
|-
 
| aboveDist ||
 
* 0.05
 
|| Distance from the attach point to the center of the part
 
|-
 
| forceNeeded ||
 
* 4
 
|| Collision force needed to attach the grapple.
 
|-
 
| attachToPart ||
 
* true
 
* false
 
|| Disable/enable attachment on parts.
 
|-
 
| rayDir  ||
 
* (0,-1,0)
 
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.
 
|-
 
| rayLenght ||
 
* 0.8
 
|| Attach ray lenght.
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrapplingHook
 
partBreakForce = 6
 
staticBreakForce = 15
 
aboveDist = 0.05
 
forceNeeded = 4
 
attachToPart = true
 
rayDir = (0,-1,0)
 
rayLenght = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleWinch ====
 
! variable !! example !! definition
 
|-
 
| maxLenght ||
 
* 50
 
* 80
 
|| unknown
 
|-
 
| cableSpring ||
 
* 1000
 
||
 
|-
 
| cableDamper ||
 
* 0.1
 
||
 
|-
 
| cableWidth ||
 
* 0.04
 
||
 
|-
 
| motorMaxSpeed ||
 
* 2
 
||
 
|-
 
| motorAcceleration ||
 
* 0.05
 
||
 
|-
 
| powerDrain ||
 
* 0.5
 
* 0.3
 
||
 
|-
 
| headTransformName ||
 
* head
 
||
 
|-
 
| headPortNodeName ||
 
* portNode
 
||
 
|-
 
| connectedPortNodeName ||
 
* bottom
 
* front
 
||
 
|-
 
| 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
 
* false
 
||
 
|-
 
| ejectForce ||
 
* 20
 
||
 
|-
 
| lockMinDist ||
 
* 0.12
 
||
 
|-
 
| lockMinFwdDot ||
 
* 0.90
 
||
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|}
 
 
 
 
=== 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
 
 
{|
 
! !!
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleContainer ====
 
Specifies 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.
 
! variable !! example !! definition
 
|-
 
| maxSize || 
 
* 5
 
* 20
 
* 80
 
|| specifies the size of the container relative to Kerbal Attachment System parts.
 
|-
 
| maxOpenDistance ||
 
* 1
 
* 5
 
|| Kerbals must be at least this close (in meters) in order to open the container
 
|-
 
| sndStorePath || 
 
* KAS/Sounds/hookBayStore
 
|| sound stuff
 
|-
 
| sndOpenPath || 
 
* KAS/Sounds/containerOpen
 
|| sound stuff for opening the container 
 
|-
 
| sndClosePath ||
 
* KAS/Sounds/containerClose
 
|| sound stuff for closing the container
 
|-
 
| bipWrongSndPath || 
 
* KAS/Sounds/bipwrong
 
|| sound stuff
 
|-
 
|}
 
||
 
<pre>MODULE
 
{
 
name = KASModuleContainer
 
maxSize = 80
 
}
 
</pre>
 
|-
 
 
|
 
{|class="wikitable"
 
==== ModuleConnectedLivingSpace ====
 
! variable !! example !! definition
 
|-
 
| passable ||
 
* true
 
* false
 
|| specifies whether Kerbals can commute to parts connected to this part
 
|-
 
| passableWhenSurfaceAttached ||
 
* true
 
* false
 
|| can be passed through even when connected to the ground?
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = ModuleConnectedLivingSpace
 
passable = true
 
passableWhenSurfaceAttached = true
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleGrab ====
 
! variable !! example !! definition
 
|-
 
| evaPartPos ||
 
* (0.0, 0.40, -0.40)
 
* (0.0, 0.0, -0.15)
 
|| three dimensional array, offset for carrying
 
|-
 
| evaPartDir ||
 
* (0,0,-1)
 
|| three dimensional array for orientation
 
|-
 
| storable ||
 
* true
 
* false
 
|| specifies whether the part can be stored
 
|-
 
| storedSize ||
 
* 20
 
* 14
 
|| specifies whether the part can be stored
 
|-
 
| attachOnPart ||
 
* true
 
* false
 
|| uncertain
 
|-
 
| attachOnEva ||
 
* true
 
* false
 
|| unsure
 
|-
 
| attachOnStatic ||
 
* True
 
* False
 
|| unsure
 
|-
 
| customGroundPos ||
 
* True
 
* False
 
|| unsure
 
|-
 
| attachNodeName ||
 
* bottom
 
|| unsure
 
|-
 
| dropPartPos ||
 
* (0.0, -0.2, -0.7)
 
|| unsure
 
|-
 
| dropPartRot ||
 
* (-10.0, 0.0, 0.0)
 
|| unsure
 
|-
 
| bayType ||
 
* hookbay
 
|| unsure
 
|-
 
| bayNode ||
 
* top
 
|| unsure
 
|-
 
| bayRot ||
 
* (0.0., 0.0, 0.0)
 
|| something to do with rotation
 
|-
 
| attachSendMsgOnly ||
 
* true
 
* false
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrab           
 
evaPartPos = (0.0, 0.40, -0.40)       
 
evaPartDir = (0,0,-1)
 
storable = true
 
storedSize  = 20
 
attachOnPart = true
 
attachOnEva = true
 
bayType = hookBay
 
bayNode = top
 
bayRot = (0.0, 0.0, 0.0)
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePartBay ====
 
! variable !! example !! definition
 
|-
 
| BAY || {} ||
 
{|class="wikitable"
 
|-
 
| attachNode ||
 
* top
 
* bottom
 
|| attachment placement
 
|-
 
| type ||
 
* containerA
 
* container
 
* hookBay
 
||
 
|-
 
|}
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePartBay
 
BAY
 
{
 
  attachNode = top
 
  type = containerA
 
  type = containerB
 
}
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePort ====
 
! variable !! example !! definition
 
|-
 
| attachNode ||
 
* top
 
|| unsure
 
|-
 
| nodeType ||
 
* kasplug
 
|| unknown
 
|-
 
| breakForce ||
 
* 30
 
|| unknown
 
|-
 
| nodeTransformName ||
 
* plugNode
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePort
 
attachNode = top
 
nodeType = kasplug
 
breakForce = 30
 
nodeTransformName = plugNode
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleAnchor ====
 
! variable !! example !! definition
 
This module will set a custom drag value when the part touch the ground.
 
|-
 
| groundDrag ||
 
* 500
 
|| Drag value of the anchor when it touch the ground
 
|-
 
| bounciness ||
 
* 0
 
|| Bounciness of the anchor
 
|-
 
| dynamicFriction ||
 
* 0.8
 
|| Dynamic friction of the anchor when it touch the ground
 
|-
 
| staticFriction ||
 
* 0.8
 
|| Static friction of the anchor when it touch the ground
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleAnchor
 
groundDrag = 500
 
bounciness = 0
 
dynamicFriction = 0.8
 
staticFriction = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleMagnet ====
 
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.
 
! variable !! example !! definition
 
|-
 
| breakForce ||
 
* 10
 
|| The force that needs to be applied on the magnet joint to break.
 
|-
 
| attachToEva ||
 
* true
 
* false
 
|| Disable/enable attraction of eva
 
|-
 
| minFwdDot ||
 
* 0.998
 
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)
 
|-
 
| powerDrain ||
 
* 4
 
|| Power consumption when the magnet is used
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleMagnet
 
breakForce = 10
 
attachToEva = False
 
minFwdDot = 0.998
 
powerDrain = 4
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleStrut ====
 
! variable !! example !! definition
 
|-
 
| nodeTransform ||
 
* pipeNode
 
* strutNode
 
|| unknown
 
|-
 
| type ||
 
* PipeSize1
 
* StrutSize1
 
|| Unkown
 
|-
 
| maxLength ||
 
* 20
 
* 8
 
|| unknown
 
|-
 
| maxAngle ||
 
* 100
 
|| unknown
 
|-
 
| breakForce ||
 
* 10
 
|| unknown
 
|-
 
| allowDock ||
 
* true
 
* false
 
|| unknown
 
|-
 
| allowPumpFuel ||
 
* true
 
* false
 
|| unknown
 
|-
 
| hasCollider ||
 
* true
 
* false
 
|| unknown
 
|-
 
| tubeScale ||
 
* 0.15
 
|| unknown
 
|-
 
| jointScale ||
 
* 0.15
 
|| unknown
 
|-
 
| textureTiling ||
 
* 1
 
* 4
 
|| unknown
 
|-
 
| tubeSrcType ||
 
* Joined
 
* Rounded
 
|| Unknown
 
|-
 
| tubeTgtType ||
 
* Joined
 
* Rounded
 
|| unknown
 
|-
 
| evaStrutPos ||
 
* (0.05, 0.059, -0.21)
 
|| unknown
 
|-
 
| evaStrutRot ||
 
* (190.0, 0.0, 0.0)
 
|| unknown
 
|-
 
| tubeTexPath ||
 
* KAS/Textures/pipe
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleGrapplingHook ====
 
This 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.
 
! variable !! example !! definition
 
|-
 
| partBreakForce ||
 
* 6
 
|| The force that needs to be applied on the grapple/part joint to break.
 
|-
 
| staticBreakForce ||
 
* 15
 
|| The force that needs to be applied on the grapple/static joint to break.
 
|-
 
| aboveDist ||
 
* 0.05
 
|| Distance from the attach point to the center of the part
 
|-
 
| forceNeeded ||
 
* 4
 
|| Collision force needed to attach the grapple.
 
|-
 
| attachToPart ||
 
* true
 
* false
 
|| Disable/enable attachment on parts.
 
|-
 
| rayDir  ||
 
* (0,-1,0)
 
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.
 
|-
 
| rayLenght ||
 
* 0.8
 
|| Attach ray lenght.
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrapplingHook
 
partBreakForce = 6
 
staticBreakForce = 15
 
aboveDist = 0.05
 
forceNeeded = 4
 
attachToPart = true
 
rayDir = (0,-1,0)
 
rayLenght = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleWinch ====
 
! variable !! example !! definition
 
|-
 
| maxLenght ||
 
* 50
 
* 80
 
|| unknown
 
|-
 
| cableSpring ||
 
* 1000
 
||
 
|-
 
| cableDamper ||
 
* 0.1
 
||
 
|-
 
| cableWidth ||
 
* 0.04
 
||
 
|-
 
| motorMaxSpeed ||
 
* 2
 
||
 
|-
 
| motorAcceleration ||
 
* 0.05
 
||
 
|-
 
| powerDrain ||
 
* 0.5
 
* 0.3
 
||
 
|-
 
| headTransformName ||
 
* head
 
||
 
|-
 
| headPortNodeName ||
 
* portNode
 
||
 
|-
 
| connectedPortNodeName ||
 
* bottom
 
* front
 
||
 
|-
 
| 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
 
* false
 
||
 
|-
 
| ejectForce ||
 
* 20
 
||
 
|-
 
| lockMinDist ||
 
* 0.12
 
||
 
|-
 
| lockMinFwdDot ||
 
* 0.90
 
||
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|}
 
 
 
 
=== 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
 
 
{|
 
! !!
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleContainer ====
 
Specifies 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.
 
! variable !! example !! definition
 
|-
 
| maxSize || 
 
* 5
 
* 20
 
* 80
 
|| specifies the size of the container relative to Kerbal Attachment System parts.
 
|-
 
| maxOpenDistance ||
 
* 1
 
* 5
 
|| Kerbals must be at least this close (in meters) in order to open the container
 
|-
 
| sndStorePath || 
 
* KAS/Sounds/hookBayStore
 
|| sound stuff
 
|-
 
| sndOpenPath || 
 
* KAS/Sounds/containerOpen
 
|| sound stuff for opening the container 
 
|-
 
| sndClosePath ||
 
* KAS/Sounds/containerClose
 
|| sound stuff for closing the container
 
|-
 
| bipWrongSndPath || 
 
* KAS/Sounds/bipwrong
 
|| sound stuff
 
|-
 
|}
 
||
 
<pre>MODULE
 
{
 
name = KASModuleContainer
 
maxSize = 80
 
}
 
</pre>
 
|-
 
 
|
 
{|class="wikitable"
 
==== ModuleConnectedLivingSpace ====
 
! variable !! example !! definition
 
|-
 
| passable ||
 
* true
 
* false
 
|| specifies whether Kerbals can commute to parts connected to this part
 
|-
 
| passableWhenSurfaceAttached ||
 
* true
 
* false
 
|| can be passed through even when connected to the ground?
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = ModuleConnectedLivingSpace
 
passable = true
 
passableWhenSurfaceAttached = true
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleGrab ====
 
! variable !! example !! definition
 
|-
 
| evaPartPos ||
 
* (0.0, 0.40, -0.40)
 
* (0.0, 0.0, -0.15)
 
|| three dimensional array, offset for carrying
 
|-
 
| evaPartDir ||
 
* (0,0,-1)
 
|| three dimensional array for orientation
 
|-
 
| storable ||
 
* true
 
* false
 
|| specifies whether the part can be stored
 
|-
 
| storedSize ||
 
* 20
 
* 14
 
|| specifies whether the part can be stored
 
|-
 
| attachOnPart ||
 
* true
 
* false
 
|| uncertain
 
|-
 
| attachOnEva ||
 
* true
 
* false
 
|| unsure
 
|-
 
| attachOnStatic ||
 
* True
 
* False
 
|| unsure
 
|-
 
| customGroundPos ||
 
* True
 
* False
 
|| unsure
 
|-
 
| attachNodeName ||
 
* bottom
 
|| unsure
 
|-
 
| dropPartPos ||
 
* (0.0, -0.2, -0.7)
 
|| unsure
 
|-
 
| dropPartRot ||
 
* (-10.0, 0.0, 0.0)
 
|| unsure
 
|-
 
| bayType ||
 
* hookbay
 
|| unsure
 
|-
 
| bayNode ||
 
* top
 
|| unsure
 
|-
 
| bayRot ||
 
* (0.0., 0.0, 0.0)
 
|| something to do with rotation
 
|-
 
| attachSendMsgOnly ||
 
* true
 
* false
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrab           
 
evaPartPos = (0.0, 0.40, -0.40)       
 
evaPartDir = (0,0,-1)
 
storable = true
 
storedSize  = 20
 
attachOnPart = true
 
attachOnEva = true
 
bayType = hookBay
 
bayNode = top
 
bayRot = (0.0, 0.0, 0.0)
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePartBay ====
 
! variable !! example !! definition
 
|-
 
| BAY || {} ||
 
{|class="wikitable"
 
|-
 
| attachNode ||
 
* top
 
* bottom
 
|| attachment placement
 
|-
 
| type ||
 
* containerA
 
* container
 
* hookBay
 
||
 
|-
 
|}
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePartBay
 
BAY
 
{
 
  attachNode = top
 
  type = containerA
 
  type = containerB
 
}
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePort ====
 
! variable !! example !! definition
 
|-
 
| attachNode ||
 
* top
 
|| unsure
 
|-
 
| nodeType ||
 
* kasplug
 
|| unknown
 
|-
 
| breakForce ||
 
* 30
 
|| unknown
 
|-
 
| nodeTransformName ||
 
* plugNode
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePort
 
attachNode = top
 
nodeType = kasplug
 
breakForce = 30
 
nodeTransformName = plugNode
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleAnchor ====
 
! variable !! example !! definition
 
This module will set a custom drag value when the part touch the ground.
 
|-
 
| groundDrag ||
 
* 500
 
|| Drag value of the anchor when it touch the ground
 
|-
 
| bounciness ||
 
* 0
 
|| Bounciness of the anchor
 
|-
 
| dynamicFriction ||
 
* 0.8
 
|| Dynamic friction of the anchor when it touch the ground
 
|-
 
| staticFriction ||
 
* 0.8
 
|| Static friction of the anchor when it touch the ground
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleAnchor
 
groundDrag = 500
 
bounciness = 0
 
dynamicFriction = 0.8
 
staticFriction = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleMagnet ====
 
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.
 
! variable !! example !! definition
 
|-
 
| breakForce ||
 
* 10
 
|| The force that needs to be applied on the magnet joint to break.
 
|-
 
| attachToEva ||
 
* true
 
* false
 
|| Disable/enable attraction of eva
 
|-
 
| minFwdDot ||
 
* 0.998
 
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)
 
|-
 
| powerDrain ||
 
* 4
 
|| Power consumption when the magnet is used
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleMagnet
 
breakForce = 10
 
attachToEva = False
 
minFwdDot = 0.998
 
powerDrain = 4
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleStrut ====
 
! variable !! example !! definition
 
|-
 
| nodeTransform ||
 
* pipeNode
 
* strutNode
 
|| unknown
 
|-
 
| type ||
 
* PipeSize1
 
* StrutSize1
 
|| Unkown
 
|-
 
| maxLength ||
 
* 20
 
* 8
 
|| unknown
 
|-
 
| maxAngle ||
 
* 100
 
|| unknown
 
|-
 
| breakForce ||
 
* 10
 
|| unknown
 
|-
 
| allowDock ||
 
* true
 
* false
 
|| unknown
 
|-
 
| allowPumpFuel ||
 
* true
 
* false
 
|| unknown
 
|-
 
| hasCollider ||
 
* true
 
* false
 
|| unknown
 
|-
 
| tubeScale ||
 
* 0.15
 
|| unknown
 
|-
 
| jointScale ||
 
* 0.15
 
|| unknown
 
|-
 
| textureTiling ||
 
* 1
 
* 4
 
|| unknown
 
|-
 
| tubeSrcType ||
 
* Joined
 
* Rounded
 
|| Unknown
 
|-
 
| tubeTgtType ||
 
* Joined
 
* Rounded
 
|| unknown
 
|-
 
| evaStrutPos ||
 
* (0.05, 0.059, -0.21)
 
|| unknown
 
|-
 
| evaStrutRot ||
 
* (190.0, 0.0, 0.0)
 
|| unknown
 
|-
 
| tubeTexPath ||
 
* KAS/Textures/pipe
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleGrapplingHook ====
 
This 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.
 
! variable !! example !! definition
 
|-
 
| partBreakForce ||
 
* 6
 
|| The force that needs to be applied on the grapple/part joint to break.
 
|-
 
| staticBreakForce ||
 
* 15
 
|| The force that needs to be applied on the grapple/static joint to break.
 
|-
 
| aboveDist ||
 
* 0.05
 
|| Distance from the attach point to the center of the part
 
|-
 
| forceNeeded ||
 
* 4
 
|| Collision force needed to attach the grapple.
 
|-
 
| attachToPart ||
 
* true
 
* false
 
|| Disable/enable attachment on parts.
 
|-
 
| rayDir  ||
 
* (0,-1,0)
 
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.
 
|-
 
| rayLenght ||
 
* 0.8
 
|| Attach ray lenght.
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrapplingHook
 
partBreakForce = 6
 
staticBreakForce = 15
 
aboveDist = 0.05
 
forceNeeded = 4
 
attachToPart = true
 
rayDir = (0,-1,0)
 
rayLenght = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleWinch ====
 
! variable !! example !! definition
 
|-
 
| maxLenght ||
 
* 50
 
* 80
 
|| unknown
 
|-
 
| cableSpring ||
 
* 1000
 
||
 
|-
 
| cableDamper ||
 
* 0.1
 
||
 
|-
 
| cableWidth ||
 
* 0.04
 
||
 
|-
 
| motorMaxSpeed ||
 
* 2
 
||
 
|-
 
| motorAcceleration ||
 
* 0.05
 
||
 
|-
 
| powerDrain ||
 
* 0.5
 
* 0.3
 
||
 
|-
 
| headTransformName ||
 
* head
 
||
 
|-
 
| headPortNodeName ||
 
* portNode
 
||
 
|-
 
| connectedPortNodeName ||
 
* bottom
 
* front
 
||
 
|-
 
| 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
 
* false
 
||
 
|-
 
| ejectForce ||
 
* 20
 
||
 
|-
 
| lockMinDist ||
 
* 0.12
 
||
 
|-
 
| lockMinFwdDot ||
 
* 0.90
 
||
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|}
 
 
 
 
=== 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
 
 
{|
 
! !!
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleContainer ====
 
Specifies 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.
 
! variable !! example !! definition
 
|-
 
| maxSize || 
 
* 5
 
* 20
 
* 80
 
|| specifies the size of the container relative to Kerbal Attachment System parts.
 
|-
 
| maxOpenDistance ||
 
* 1
 
* 5
 
|| Kerbals must be at least this close (in meters) in order to open the container
 
|-
 
| sndStorePath || 
 
* KAS/Sounds/hookBayStore
 
|| sound stuff
 
|-
 
| sndOpenPath || 
 
* KAS/Sounds/containerOpen
 
|| sound stuff for opening the container 
 
|-
 
| sndClosePath ||
 
* KAS/Sounds/containerClose
 
|| sound stuff for closing the container
 
|-
 
| bipWrongSndPath || 
 
* KAS/Sounds/bipwrong
 
|| sound stuff
 
|-
 
|}
 
||
 
<pre>MODULE
 
{
 
name = KASModuleContainer
 
maxSize = 80
 
}
 
</pre>
 
|-
 
 
|
 
{|class="wikitable"
 
==== ModuleConnectedLivingSpace ====
 
! variable !! example !! definition
 
|-
 
| passable ||
 
* true
 
* false
 
|| specifies whether Kerbals can commute to parts connected to this part
 
|-
 
| passableWhenSurfaceAttached ||
 
* true
 
* false
 
|| can be passed through even when connected to the ground?
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = ModuleConnectedLivingSpace
 
passable = true
 
passableWhenSurfaceAttached = true
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleGrab ====
 
! variable !! example !! definition
 
|-
 
| evaPartPos ||
 
* (0.0, 0.40, -0.40)
 
* (0.0, 0.0, -0.15)
 
|| three dimensional array, offset for carrying
 
|-
 
| evaPartDir ||
 
* (0,0,-1)
 
|| three dimensional array for orientation
 
|-
 
| storable ||
 
* true
 
* false
 
|| specifies whether the part can be stored
 
|-
 
| storedSize ||
 
* 20
 
* 14
 
|| specifies whether the part can be stored
 
|-
 
| attachOnPart ||
 
* true
 
* false
 
|| uncertain
 
|-
 
| attachOnEva ||
 
* true
 
* false
 
|| unsure
 
|-
 
| attachOnStatic ||
 
* True
 
* False
 
|| unsure
 
|-
 
| customGroundPos ||
 
* True
 
* False
 
|| unsure
 
|-
 
| attachNodeName ||
 
* bottom
 
|| unsure
 
|-
 
| dropPartPos ||
 
* (0.0, -0.2, -0.7)
 
|| unsure
 
|-
 
| dropPartRot ||
 
* (-10.0, 0.0, 0.0)
 
|| unsure
 
|-
 
| bayType ||
 
* hookbay
 
|| unsure
 
|-
 
| bayNode ||
 
* top
 
|| unsure
 
|-
 
| bayRot ||
 
* (0.0., 0.0, 0.0)
 
|| something to do with rotation
 
|-
 
| attachSendMsgOnly ||
 
* true
 
* false
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrab           
 
evaPartPos = (0.0, 0.40, -0.40)       
 
evaPartDir = (0,0,-1)
 
storable = true
 
storedSize  = 20
 
attachOnPart = true
 
attachOnEva = true
 
bayType = hookBay
 
bayNode = top
 
bayRot = (0.0, 0.0, 0.0)
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePartBay ====
 
! variable !! example !! definition
 
|-
 
| BAY || {} ||
 
{|class="wikitable"
 
|-
 
| attachNode ||
 
* top
 
* bottom
 
|| attachment placement
 
|-
 
| type ||
 
* containerA
 
* container
 
* hookBay
 
||
 
|-
 
|}
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePartBay
 
BAY
 
{
 
  attachNode = top
 
  type = containerA
 
  type = containerB
 
}
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePort ====
 
! variable !! example !! definition
 
|-
 
| attachNode ||
 
* top
 
|| unsure
 
|-
 
| nodeType ||
 
* kasplug
 
|| unknown
 
|-
 
| breakForce ||
 
* 30
 
|| unknown
 
|-
 
| nodeTransformName ||
 
* plugNode
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePort
 
attachNode = top
 
nodeType = kasplug
 
breakForce = 30
 
nodeTransformName = plugNode
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleAnchor ====
 
! variable !! example !! definition
 
This module will set a custom drag value when the part touch the ground.
 
|-
 
| groundDrag ||
 
* 500
 
|| Drag value of the anchor when it touch the ground
 
|-
 
| bounciness ||
 
* 0
 
|| Bounciness of the anchor
 
|-
 
| dynamicFriction ||
 
* 0.8
 
|| Dynamic friction of the anchor when it touch the ground
 
|-
 
| staticFriction ||
 
* 0.8
 
|| Static friction of the anchor when it touch the ground
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleAnchor
 
groundDrag = 500
 
bounciness = 0
 
dynamicFriction = 0.8
 
staticFriction = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleMagnet ====
 
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.
 
! variable !! example !! definition
 
|-
 
| breakForce ||
 
* 10
 
|| The force that needs to be applied on the magnet joint to break.
 
|-
 
| attachToEva ||
 
* true
 
* false
 
|| Disable/enable attraction of eva
 
|-
 
| minFwdDot ||
 
* 0.998
 
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)
 
|-
 
| powerDrain ||
 
* 4
 
|| Power consumption when the magnet is used
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleMagnet
 
breakForce = 10
 
attachToEva = False
 
minFwdDot = 0.998
 
powerDrain = 4
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleStrut ====
 
! variable !! example !! definition
 
|-
 
| nodeTransform ||
 
* pipeNode
 
* strutNode
 
|| unknown
 
|-
 
| type ||
 
* PipeSize1
 
* StrutSize1
 
|| Unkown
 
|-
 
| maxLength ||
 
* 20
 
* 8
 
|| unknown
 
|-
 
| maxAngle ||
 
* 100
 
|| unknown
 
|-
 
| breakForce ||
 
* 10
 
|| unknown
 
|-
 
| allowDock ||
 
* true
 
* false
 
|| unknown
 
|-
 
| allowPumpFuel ||
 
* true
 
* false
 
|| unknown
 
|-
 
| hasCollider ||
 
* true
 
* false
 
|| unknown
 
|-
 
| tubeScale ||
 
* 0.15
 
|| unknown
 
|-
 
| jointScale ||
 
* 0.15
 
|| unknown
 
|-
 
| textureTiling ||
 
* 1
 
* 4
 
|| unknown
 
|-
 
| tubeSrcType ||
 
* Joined
 
* Rounded
 
|| Unknown
 
|-
 
| tubeTgtType ||
 
* Joined
 
* Rounded
 
|| unknown
 
|-
 
| evaStrutPos ||
 
* (0.05, 0.059, -0.21)
 
|| unknown
 
|-
 
| evaStrutRot ||
 
* (190.0, 0.0, 0.0)
 
|| unknown
 
|-
 
| tubeTexPath ||
 
* KAS/Textures/pipe
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleGrapplingHook ====
 
This 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.
 
! variable !! example !! definition
 
|-
 
| partBreakForce ||
 
* 6
 
|| The force that needs to be applied on the grapple/part joint to break.
 
|-
 
| staticBreakForce ||
 
* 15
 
|| The force that needs to be applied on the grapple/static joint to break.
 
|-
 
| aboveDist ||
 
* 0.05
 
|| Distance from the attach point to the center of the part
 
|-
 
| forceNeeded ||
 
* 4
 
|| Collision force needed to attach the grapple.
 
|-
 
| attachToPart ||
 
* true
 
* false
 
|| Disable/enable attachment on parts.
 
|-
 
| rayDir  ||
 
* (0,-1,0)
 
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.
 
|-
 
| rayLenght ||
 
* 0.8
 
|| Attach ray lenght.
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrapplingHook
 
partBreakForce = 6
 
staticBreakForce = 15
 
aboveDist = 0.05
 
forceNeeded = 4
 
attachToPart = true
 
rayDir = (0,-1,0)
 
rayLenght = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleWinch ====
 
! variable !! example !! definition
 
|-
 
| maxLenght ||
 
* 50
 
* 80
 
|| unknown
 
|-
 
| cableSpring ||
 
* 1000
 
||
 
|-
 
| cableDamper ||
 
* 0.1
 
||
 
|-
 
| cableWidth ||
 
* 0.04
 
||
 
|-
 
| motorMaxSpeed ||
 
* 2
 
||
 
|-
 
| motorAcceleration ||
 
* 0.05
 
||
 
|-
 
| powerDrain ||
 
* 0.5
 
* 0.3
 
||
 
|-
 
| headTransformName ||
 
* head
 
||
 
|-
 
| headPortNodeName ||
 
* portNode
 
||
 
|-
 
| connectedPortNodeName ||
 
* bottom
 
* front
 
||
 
|-
 
| 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
 
* false
 
||
 
|-
 
| ejectForce ||
 
* 20
 
||
 
|-
 
| lockMinDist ||
 
* 0.12
 
||
 
|-
 
| lockMinFwdDot ||
 
* 0.90
 
||
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|}
 
 
 
 
=== 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
 
 
{|
 
! !!
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleContainer ====
 
Specifies 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.
 
! variable !! example !! definition
 
|-
 
| maxSize || 
 
* 5
 
* 20
 
* 80
 
|| specifies the size of the container relative to Kerbal Attachment System parts.
 
|-
 
| maxOpenDistance ||
 
* 1
 
* 5
 
|| Kerbals must be at least this close (in meters) in order to open the container
 
|-
 
| sndStorePath || 
 
* KAS/Sounds/hookBayStore
 
|| sound stuff
 
|-
 
| sndOpenPath || 
 
* KAS/Sounds/containerOpen
 
|| sound stuff for opening the container 
 
|-
 
| sndClosePath ||
 
* KAS/Sounds/containerClose
 
|| sound stuff for closing the container
 
|-
 
| bipWrongSndPath || 
 
* KAS/Sounds/bipwrong
 
|| sound stuff
 
|-
 
|}
 
||
 
<pre>MODULE
 
{
 
name = KASModuleContainer
 
maxSize = 80
 
}
 
</pre>
 
|-
 
 
|
 
{|class="wikitable"
 
==== ModuleConnectedLivingSpace ====
 
! variable !! example !! definition
 
|-
 
| passable ||
 
* true
 
* false
 
|| specifies whether Kerbals can commute to parts connected to this part
 
|-
 
| passableWhenSurfaceAttached ||
 
* true
 
* false
 
|| can be passed through even when connected to the ground?
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = ModuleConnectedLivingSpace
 
passable = true
 
passableWhenSurfaceAttached = true
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleGrab ====
 
! variable !! example !! definition
 
|-
 
| evaPartPos ||
 
* (0.0, 0.40, -0.40)
 
* (0.0, 0.0, -0.15)
 
|| three dimensional array, offset for carrying
 
|-
 
| evaPartDir ||
 
* (0,0,-1)
 
|| three dimensional array for orientation
 
|-
 
| storable ||
 
* true
 
* false
 
|| specifies whether the part can be stored
 
|-
 
| storedSize ||
 
* 20
 
* 14
 
|| specifies whether the part can be stored
 
|-
 
| attachOnPart ||
 
* true
 
* false
 
|| uncertain
 
|-
 
| attachOnEva ||
 
* true
 
* false
 
|| unsure
 
|-
 
| attachOnStatic ||
 
* True
 
* False
 
|| unsure
 
|-
 
| customGroundPos ||
 
* True
 
* False
 
|| unsure
 
|-
 
| attachNodeName ||
 
* bottom
 
|| unsure
 
|-
 
| dropPartPos ||
 
* (0.0, -0.2, -0.7)
 
|| unsure
 
|-
 
| dropPartRot ||
 
* (-10.0, 0.0, 0.0)
 
|| unsure
 
|-
 
| bayType ||
 
* hookbay
 
|| unsure
 
|-
 
| bayNode ||
 
* top
 
|| unsure
 
|-
 
| bayRot ||
 
* (0.0., 0.0, 0.0)
 
|| something to do with rotation
 
|-
 
| attachSendMsgOnly ||
 
* true
 
* false
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrab           
 
evaPartPos = (0.0, 0.40, -0.40)       
 
evaPartDir = (0,0,-1)
 
storable = true
 
storedSize  = 20
 
attachOnPart = true
 
attachOnEva = true
 
bayType = hookBay
 
bayNode = top
 
bayRot = (0.0, 0.0, 0.0)
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePartBay ====
 
! variable !! example !! definition
 
|-
 
| BAY || {} ||
 
{|class="wikitable"
 
|-
 
| attachNode ||
 
* top
 
* bottom
 
|| attachment placement
 
|-
 
| type ||
 
* containerA
 
* container
 
* hookBay
 
||
 
|-
 
|}
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePartBay
 
BAY
 
{
 
  attachNode = top
 
  type = containerA
 
  type = containerB
 
}
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePort ====
 
! variable !! example !! definition
 
|-
 
| attachNode ||
 
* top
 
|| unsure
 
|-
 
| nodeType ||
 
* kasplug
 
|| unknown
 
|-
 
| breakForce ||
 
* 30
 
|| unknown
 
|-
 
| nodeTransformName ||
 
* plugNode
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePort
 
attachNode = top
 
nodeType = kasplug
 
breakForce = 30
 
nodeTransformName = plugNode
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleAnchor ====
 
! variable !! example !! definition
 
This module will set a custom drag value when the part touch the ground.
 
|-
 
| groundDrag ||
 
* 500
 
|| Drag value of the anchor when it touch the ground
 
|-
 
| bounciness ||
 
* 0
 
|| Bounciness of the anchor
 
|-
 
| dynamicFriction ||
 
* 0.8
 
|| Dynamic friction of the anchor when it touch the ground
 
|-
 
| staticFriction ||
 
* 0.8
 
|| Static friction of the anchor when it touch the ground
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleAnchor
 
groundDrag = 500
 
bounciness = 0
 
dynamicFriction = 0.8
 
staticFriction = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleMagnet ====
 
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.
 
! variable !! example !! definition
 
|-
 
| breakForce ||
 
* 10
 
|| The force that needs to be applied on the magnet joint to break.
 
|-
 
| attachToEva ||
 
* true
 
* false
 
|| Disable/enable attraction of eva
 
|-
 
| minFwdDot ||
 
* 0.998
 
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)
 
|-
 
| powerDrain ||
 
* 4
 
|| Power consumption when the magnet is used
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleMagnet
 
breakForce = 10
 
attachToEva = False
 
minFwdDot = 0.998
 
powerDrain = 4
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleStrut ====
 
! variable !! example !! definition
 
|-
 
| nodeTransform ||
 
* pipeNode
 
* strutNode
 
|| unknown
 
|-
 
| type ||
 
* PipeSize1
 
* StrutSize1
 
|| Unkown
 
|-
 
| maxLength ||
 
* 20
 
* 8
 
|| unknown
 
|-
 
| maxAngle ||
 
* 100
 
|| unknown
 
|-
 
| breakForce ||
 
* 10
 
|| unknown
 
|-
 
| allowDock ||
 
* true
 
* false
 
|| unknown
 
|-
 
| allowPumpFuel ||
 
* true
 
* false
 
|| unknown
 
|-
 
| hasCollider ||
 
* true
 
* false
 
|| unknown
 
|-
 
| tubeScale ||
 
* 0.15
 
|| unknown
 
|-
 
| jointScale ||
 
* 0.15
 
|| unknown
 
|-
 
| textureTiling ||
 
* 1
 
* 4
 
|| unknown
 
|-
 
| tubeSrcType ||
 
* Joined
 
* Rounded
 
|| Unknown
 
|-
 
| tubeTgtType ||
 
* Joined
 
* Rounded
 
|| unknown
 
|-
 
| evaStrutPos ||
 
* (0.05, 0.059, -0.21)
 
|| unknown
 
|-
 
| evaStrutRot ||
 
* (190.0, 0.0, 0.0)
 
|| unknown
 
|-
 
| tubeTexPath ||
 
* KAS/Textures/pipe
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleGrapplingHook ====
 
This 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.
 
! variable !! example !! definition
 
|-
 
| partBreakForce ||
 
* 6
 
|| The force that needs to be applied on the grapple/part joint to break.
 
|-
 
| staticBreakForce ||
 
* 15
 
|| The force that needs to be applied on the grapple/static joint to break.
 
|-
 
| aboveDist ||
 
* 0.05
 
|| Distance from the attach point to the center of the part
 
|-
 
| forceNeeded ||
 
* 4
 
|| Collision force needed to attach the grapple.
 
|-
 
| attachToPart ||
 
* true
 
* false
 
|| Disable/enable attachment on parts.
 
|-
 
| rayDir  ||
 
* (0,-1,0)
 
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.
 
|-
 
| rayLenght ||
 
* 0.8
 
|| Attach ray lenght.
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrapplingHook
 
partBreakForce = 6
 
staticBreakForce = 15
 
aboveDist = 0.05
 
forceNeeded = 4
 
attachToPart = true
 
rayDir = (0,-1,0)
 
rayLenght = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleWinch ====
 
! variable !! example !! definition
 
|-
 
| maxLenght ||
 
* 50
 
* 80
 
|| unknown
 
|-
 
| cableSpring ||
 
* 1000
 
||
 
|-
 
| cableDamper ||
 
* 0.1
 
||
 
|-
 
| cableWidth ||
 
* 0.04
 
||
 
|-
 
| motorMaxSpeed ||
 
* 2
 
||
 
|-
 
| motorAcceleration ||
 
* 0.05
 
||
 
|-
 
| powerDrain ||
 
* 0.5
 
* 0.3
 
||
 
|-
 
| headTransformName ||
 
* head
 
||
 
|-
 
| headPortNodeName ||
 
* portNode
 
||
 
|-
 
| connectedPortNodeName ||
 
* bottom
 
* front
 
||
 
|-
 
| 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
 
* false
 
||
 
|-
 
| ejectForce ||
 
* 20
 
||
 
|-
 
| lockMinDist ||
 
* 0.12
 
||
 
|-
 
| lockMinFwdDot ||
 
* 0.90
 
||
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|}
 
 
 
 
=== 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
 
 
{|
 
! !!
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleContainer ====
 
Specifies 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.
 
! variable !! example !! definition
 
|-
 
| maxSize || 
 
* 5
 
* 20
 
* 80
 
|| specifies the size of the container relative to Kerbal Attachment System parts.
 
|-
 
| maxOpenDistance ||
 
* 1
 
* 5
 
|| Kerbals must be at least this close (in meters) in order to open the container
 
|-
 
| sndStorePath || 
 
* KAS/Sounds/hookBayStore
 
|| sound stuff
 
|-
 
| sndOpenPath || 
 
* KAS/Sounds/containerOpen
 
|| sound stuff for opening the container 
 
|-
 
| sndClosePath ||
 
* KAS/Sounds/containerClose
 
|| sound stuff for closing the container
 
|-
 
| bipWrongSndPath || 
 
* KAS/Sounds/bipwrong
 
|| sound stuff
 
|-
 
|}
 
||
 
<pre>MODULE
 
{
 
name = KASModuleContainer
 
maxSize = 80
 
}
 
</pre>
 
|-
 
 
|
 
{|class="wikitable"
 
==== ModuleConnectedLivingSpace ====
 
! variable !! example !! definition
 
|-
 
| passable ||
 
* true
 
* false
 
|| specifies whether Kerbals can commute to parts connected to this part
 
|-
 
| passableWhenSurfaceAttached ||
 
* true
 
* false
 
|| can be passed through even when connected to the ground?
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = ModuleConnectedLivingSpace
 
passable = true
 
passableWhenSurfaceAttached = true
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleGrab ====
 
! variable !! example !! definition
 
|-
 
| evaPartPos ||
 
* (0.0, 0.40, -0.40)
 
* (0.0, 0.0, -0.15)
 
|| three dimensional array, offset for carrying
 
|-
 
| evaPartDir ||
 
* (0,0,-1)
 
|| three dimensional array for orientation
 
|-
 
| storable ||
 
* true
 
* false
 
|| specifies whether the part can be stored
 
|-
 
| storedSize ||
 
* 20
 
* 14
 
|| specifies whether the part can be stored
 
|-
 
| attachOnPart ||
 
* true
 
* false
 
|| uncertain
 
|-
 
| attachOnEva ||
 
* true
 
* false
 
|| unsure
 
|-
 
| attachOnStatic ||
 
* True
 
* False
 
|| unsure
 
|-
 
| customGroundPos ||
 
* True
 
* False
 
|| unsure
 
|-
 
| attachNodeName ||
 
* bottom
 
|| unsure
 
|-
 
| dropPartPos ||
 
* (0.0, -0.2, -0.7)
 
|| unsure
 
|-
 
| dropPartRot ||
 
* (-10.0, 0.0, 0.0)
 
|| unsure
 
|-
 
| bayType ||
 
* hookbay
 
|| unsure
 
|-
 
| bayNode ||
 
* top
 
|| unsure
 
|-
 
| bayRot ||
 
* (0.0., 0.0, 0.0)
 
|| something to do with rotation
 
|-
 
| attachSendMsgOnly ||
 
* true
 
* false
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrab           
 
evaPartPos = (0.0, 0.40, -0.40)       
 
evaPartDir = (0,0,-1)
 
storable = true
 
storedSize  = 20
 
attachOnPart = true
 
attachOnEva = true
 
bayType = hookBay
 
bayNode = top
 
bayRot = (0.0, 0.0, 0.0)
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePartBay ====
 
! variable !! example !! definition
 
|-
 
| BAY || {} ||
 
{|class="wikitable"
 
|-
 
| attachNode ||
 
* top
 
* bottom
 
|| attachment placement
 
|-
 
| type ||
 
* containerA
 
* container
 
* hookBay
 
||
 
|-
 
|}
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePartBay
 
BAY
 
{
 
  attachNode = top
 
  type = containerA
 
  type = containerB
 
}
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePort ====
 
! variable !! example !! definition
 
|-
 
| attachNode ||
 
* top
 
|| unsure
 
|-
 
| nodeType ||
 
* kasplug
 
|| unknown
 
|-
 
| breakForce ||
 
* 30
 
|| unknown
 
|-
 
| nodeTransformName ||
 
* plugNode
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePort
 
attachNode = top
 
nodeType = kasplug
 
breakForce = 30
 
nodeTransformName = plugNode
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleAnchor ====
 
! variable !! example !! definition
 
This module will set a custom drag value when the part touch the ground.
 
|-
 
| groundDrag ||
 
* 500
 
|| Drag value of the anchor when it touch the ground
 
|-
 
| bounciness ||
 
* 0
 
|| Bounciness of the anchor
 
|-
 
| dynamicFriction ||
 
* 0.8
 
|| Dynamic friction of the anchor when it touch the ground
 
|-
 
| staticFriction ||
 
* 0.8
 
|| Static friction of the anchor when it touch the ground
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleAnchor
 
groundDrag = 500
 
bounciness = 0
 
dynamicFriction = 0.8
 
staticFriction = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleMagnet ====
 
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.
 
! variable !! example !! definition
 
|-
 
| breakForce ||
 
* 10
 
|| The force that needs to be applied on the magnet joint to break.
 
|-
 
| attachToEva ||
 
* true
 
* false
 
|| Disable/enable attraction of eva
 
|-
 
| minFwdDot ||
 
* 0.998
 
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)
 
|-
 
| powerDrain ||
 
* 4
 
|| Power consumption when the magnet is used
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleMagnet
 
breakForce = 10
 
attachToEva = False
 
minFwdDot = 0.998
 
powerDrain = 4
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleStrut ====
 
! variable !! example !! definition
 
|-
 
| nodeTransform ||
 
* pipeNode
 
* strutNode
 
|| unknown
 
|-
 
| type ||
 
* PipeSize1
 
* StrutSize1
 
|| Unkown
 
|-
 
| maxLength ||
 
* 20
 
* 8
 
|| unknown
 
|-
 
| maxAngle ||
 
* 100
 
|| unknown
 
|-
 
| breakForce ||
 
* 10
 
|| unknown
 
|-
 
| allowDock ||
 
* true
 
* false
 
|| unknown
 
|-
 
| allowPumpFuel ||
 
* true
 
* false
 
|| unknown
 
|-
 
| hasCollider ||
 
* true
 
* false
 
|| unknown
 
|-
 
| tubeScale ||
 
* 0.15
 
|| unknown
 
|-
 
| jointScale ||
 
* 0.15
 
|| unknown
 
|-
 
| textureTiling ||
 
* 1
 
* 4
 
|| unknown
 
|-
 
| tubeSrcType ||
 
* Joined
 
* Rounded
 
|| Unknown
 
|-
 
| tubeTgtType ||
 
* Joined
 
* Rounded
 
|| unknown
 
|-
 
| evaStrutPos ||
 
* (0.05, 0.059, -0.21)
 
|| unknown
 
|-
 
| evaStrutRot ||
 
* (190.0, 0.0, 0.0)
 
|| unknown
 
|-
 
| tubeTexPath ||
 
* KAS/Textures/pipe
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleGrapplingHook ====
 
This 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.
 
! variable !! example !! definition
 
|-
 
| partBreakForce ||
 
* 6
 
|| The force that needs to be applied on the grapple/part joint to break.
 
|-
 
| staticBreakForce ||
 
* 15
 
|| The force that needs to be applied on the grapple/static joint to break.
 
|-
 
| aboveDist ||
 
* 0.05
 
|| Distance from the attach point to the center of the part
 
|-
 
| forceNeeded ||
 
* 4
 
|| Collision force needed to attach the grapple.
 
|-
 
| attachToPart ||
 
* true
 
* false
 
|| Disable/enable attachment on parts.
 
|-
 
| rayDir  ||
 
* (0,-1,0)
 
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.
 
|-
 
| rayLenght ||
 
* 0.8
 
|| Attach ray lenght.
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrapplingHook
 
partBreakForce = 6
 
staticBreakForce = 15
 
aboveDist = 0.05
 
forceNeeded = 4
 
attachToPart = true
 
rayDir = (0,-1,0)
 
rayLenght = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleWinch ====
 
! variable !! example !! definition
 
|-
 
| maxLenght ||
 
* 50
 
* 80
 
|| unknown
 
|-
 
| cableSpring ||
 
* 1000
 
||
 
|-
 
| cableDamper ||
 
* 0.1
 
||
 
|-
 
| cableWidth ||
 
* 0.04
 
||
 
|-
 
| motorMaxSpeed ||
 
* 2
 
||
 
|-
 
| motorAcceleration ||
 
* 0.05
 
||
 
|-
 
| powerDrain ||
 
* 0.5
 
* 0.3
 
||
 
|-
 
| headTransformName ||
 
* head
 
||
 
|-
 
| headPortNodeName ||
 
* portNode
 
||
 
|-
 
| connectedPortNodeName ||
 
* bottom
 
* front
 
||
 
|-
 
| 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
 
* false
 
||
 
|-
 
| ejectForce ||
 
* 20
 
||
 
|-
 
| lockMinDist ||
 
* 0.12
 
||
 
|-
 
| lockMinFwdDot ||
 
* 0.90
 
||
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|}
 
 
 
 
=== 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
 
 
{|
 
! !!
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleContainer ====
 
Specifies 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.
 
! variable !! example !! definition
 
|-
 
| maxSize || 
 
* 5
 
* 20
 
* 80
 
|| specifies the size of the container relative to Kerbal Attachment System parts.
 
|-
 
| maxOpenDistance ||
 
* 1
 
* 5
 
|| Kerbals must be at least this close (in meters) in order to open the container
 
|-
 
| sndStorePath || 
 
* KAS/Sounds/hookBayStore
 
|| sound stuff
 
|-
 
| sndOpenPath || 
 
* KAS/Sounds/containerOpen
 
|| sound stuff for opening the container 
 
|-
 
| sndClosePath ||
 
* KAS/Sounds/containerClose
 
|| sound stuff for closing the container
 
|-
 
| bipWrongSndPath || 
 
* KAS/Sounds/bipwrong
 
|| sound stuff
 
|-
 
|}
 
||
 
<pre>MODULE
 
{
 
name = KASModuleContainer
 
maxSize = 80
 
}
 
</pre>
 
|-
 
 
|
 
{|class="wikitable"
 
==== ModuleConnectedLivingSpace ====
 
! variable !! example !! definition
 
|-
 
| passable ||
 
* true
 
* false
 
|| specifies whether Kerbals can commute to parts connected to this part
 
|-
 
| passableWhenSurfaceAttached ||
 
* true
 
* false
 
|| can be passed through even when connected to the ground?
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = ModuleConnectedLivingSpace
 
passable = true
 
passableWhenSurfaceAttached = true
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleGrab ====
 
! variable !! example !! definition
 
|-
 
| evaPartPos ||
 
* (0.0, 0.40, -0.40)
 
* (0.0, 0.0, -0.15)
 
|| three dimensional array, offset for carrying
 
|-
 
| evaPartDir ||
 
* (0,0,-1)
 
|| three dimensional array for orientation
 
|-
 
| storable ||
 
* true
 
* false
 
|| specifies whether the part can be stored
 
|-
 
| storedSize ||
 
* 20
 
* 14
 
|| specifies whether the part can be stored
 
|-
 
| attachOnPart ||
 
* true
 
* false
 
|| uncertain
 
|-
 
| attachOnEva ||
 
* true
 
* false
 
|| unsure
 
|-
 
| attachOnStatic ||
 
* True
 
* False
 
|| unsure
 
|-
 
| customGroundPos ||
 
* True
 
* False
 
|| unsure
 
|-
 
| attachNodeName ||
 
* bottom
 
|| unsure
 
|-
 
| dropPartPos ||
 
* (0.0, -0.2, -0.7)
 
|| unsure
 
|-
 
| dropPartRot ||
 
* (-10.0, 0.0, 0.0)
 
|| unsure
 
|-
 
| bayType ||
 
* hookbay
 
|| unsure
 
|-
 
| bayNode ||
 
* top
 
|| unsure
 
|-
 
| bayRot ||
 
* (0.0., 0.0, 0.0)
 
|| something to do with rotation
 
|-
 
| attachSendMsgOnly ||
 
* true
 
* false
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrab           
 
evaPartPos = (0.0, 0.40, -0.40)       
 
evaPartDir = (0,0,-1)
 
storable = true
 
storedSize  = 20
 
attachOnPart = true
 
attachOnEva = true
 
bayType = hookBay
 
bayNode = top
 
bayRot = (0.0, 0.0, 0.0)
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePartBay ====
 
! variable !! example !! definition
 
|-
 
| BAY || {} ||
 
{|class="wikitable"
 
|-
 
| attachNode ||
 
* top
 
* bottom
 
|| attachment placement
 
|-
 
| type ||
 
* containerA
 
* container
 
* hookBay
 
||
 
|-
 
|}
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePartBay
 
BAY
 
{
 
  attachNode = top
 
  type = containerA
 
  type = containerB
 
}
 
}
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModulePort ====
 
! variable !! example !! definition
 
|-
 
| attachNode ||
 
* top
 
|| unsure
 
|-
 
| nodeType ||
 
* kasplug
 
|| unknown
 
|-
 
| breakForce ||
 
* 30
 
|| unknown
 
|-
 
| nodeTransformName ||
 
* plugNode
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModulePort
 
attachNode = top
 
nodeType = kasplug
 
breakForce = 30
 
nodeTransformName = plugNode
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleAnchor ====
 
! variable !! example !! definition
 
This module will set a custom drag value when the part touch the ground.
 
|-
 
| groundDrag ||
 
* 500
 
|| Drag value of the anchor when it touch the ground
 
|-
 
| bounciness ||
 
* 0
 
|| Bounciness of the anchor
 
|-
 
| dynamicFriction ||
 
* 0.8
 
|| Dynamic friction of the anchor when it touch the ground
 
|-
 
| staticFriction ||
 
* 0.8
 
|| Static friction of the anchor when it touch the ground
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleAnchor
 
groundDrag = 500
 
bounciness = 0
 
dynamicFriction = 0.8
 
staticFriction = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleMagnet ====
 
This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.
 
! variable !! example !! definition
 
|-
 
| breakForce ||
 
* 10
 
|| The force that needs to be applied on the magnet joint to break.
 
|-
 
| attachToEva ||
 
* true
 
* false
 
|| Disable/enable attraction of eva
 
|-
 
| minFwdDot ||
 
* 0.998
 
|| Minimum magnet alignement needed to attach (1 is perfectly aligned)
 
|-
 
| powerDrain ||
 
* 4
 
|| Power consumption when the magnet is used
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleMagnet
 
breakForce = 10
 
attachToEva = False
 
minFwdDot = 0.998
 
powerDrain = 4
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleStrut ====
 
! variable !! example !! definition
 
|-
 
| nodeTransform ||
 
* pipeNode
 
* strutNode
 
|| unknown
 
|-
 
| type ||
 
* PipeSize1
 
* StrutSize1
 
|| Unkown
 
|-
 
| maxLength ||
 
* 20
 
* 8
 
|| unknown
 
|-
 
| maxAngle ||
 
* 100
 
|| unknown
 
|-
 
| breakForce ||
 
* 10
 
|| unknown
 
|-
 
| allowDock ||
 
* true
 
* false
 
|| unknown
 
|-
 
| allowPumpFuel ||
 
* true
 
* false
 
|| unknown
 
|-
 
| hasCollider ||
 
* true
 
* false
 
|| unknown
 
|-
 
| tubeScale ||
 
* 0.15
 
|| unknown
 
|-
 
| jointScale ||
 
* 0.15
 
|| unknown
 
|-
 
| textureTiling ||
 
* 1
 
* 4
 
|| unknown
 
|-
 
| tubeSrcType ||
 
* Joined
 
* Rounded
 
|| Unknown
 
|-
 
| tubeTgtType ||
 
* Joined
 
* Rounded
 
|| unknown
 
|-
 
| evaStrutPos ||
 
* (0.05, 0.059, -0.21)
 
|| unknown
 
|-
 
| evaStrutRot ||
 
* (190.0, 0.0, 0.0)
 
|| unknown
 
|-
 
| tubeTexPath ||
 
* KAS/Textures/pipe
 
|| unknown
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleGrapplingHook ====
 
This 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.
 
! variable !! example !! definition
 
|-
 
| partBreakForce ||
 
* 6
 
|| The force that needs to be applied on the grapple/part joint to break.
 
|-
 
| staticBreakForce ||
 
* 15
 
|| The force that needs to be applied on the grapple/static joint to break.
 
|-
 
| aboveDist ||
 
* 0.05
 
|| Distance from the attach point to the center of the part
 
|-
 
| forceNeeded ||
 
* 4
 
|| Collision force needed to attach the grapple.
 
|-
 
| attachToPart ||
 
* true
 
* false
 
|| Disable/enable attachment on parts.
 
|-
 
| rayDir  ||
 
* (0,-1,0)
 
|| Direction of the attach raycast. Attachment will be done only with objects in that direction.
 
|-
 
| rayLenght ||
 
* 0.8
 
|| Attach ray lenght.
 
|-
 
|}
 
 
||
 
<pre>
 
MODULE
 
{
 
name = KASModuleGrapplingHook
 
partBreakForce = 6
 
staticBreakForce = 15
 
aboveDist = 0.05
 
forceNeeded = 4
 
attachToPart = true
 
rayDir = (0,-1,0)
 
rayLenght = 0.8
 
}
 
 
</pre>
 
|-
 
|
 
{|class="wikitable"
 
 
==== KASModuleWinch ====
 
! variable !! example !! definition
 
|-
 
| maxLenght ||
 
* 50
 
* 80
 
|| unknown
 
|-
 
| cableSpring ||
 
* 1000
 
||
 
|-
 
| cableDamper ||
 
* 0.1
 
||
 
|-
 
| cableWidth ||
 
* 0.04
 
||
 
|-
 
| motorMaxSpeed ||
 
* 2
 
||
 
|-
 
| motorAcceleration ||
 
* 0.05
 
||
 
|-
 
| powerDrain ||
 
* 0.5
 
* 0.3
 
||
 
|-
 
| headTransformName ||
 
* head
 
||
 
|-
 
| headPortNodeName ||
 
* portNode
 
||
 
|-
 
| connectedPortNodeName ||
 
* bottom
 
* front
 
||
 
|-
 
| 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
 
* false
 
||
 
|-
 
| ejectForce ||
 
* 20
 
||
 
|-
 
| lockMinDist ||
 
* 0.12
 
||
 
|-
 
| lockMinFwdDot ||
 
* 0.90
 
||
 
|-
 
|}
 
 
||
 
<pre>
 
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
 
}
 
 
 
</pre>
 
</pre>
 
|-
 
|-
 
|}
 
|}
  
 +
=== 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.
  
 
+
{|
=== 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
 
 
 
{|
 
! !!
 
|-
 
|
 
{|class="wikitable"
 
==== KASModuleContainer ====
 
Specifies 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.
 
! variable !! example !! definition
 
|-
 
| maxSize || 
 
* 5
 
* 20
 
* 80
 
|| specifies the size of the container relative to Kerbal Attachment System parts.
 
|-
 
| maxOpenDistance ||
 
* 1
 
* 5
 
|| Kerbals must be at least this close (in meters) in order to open the container
 
|-
 
| sndStorePath || 
 
* KAS/Sounds/hookBayStore
 
|| sound stuff
 
|-
 
| sndOpenPath || 
 
* KAS/Sounds/containerOpen
 
|| sound stuff for opening the container 
 
|-
 
| sndClosePath ||
 
* KAS/Sounds/containerClose
 
|| sound stuff for closing the container
 
|-
 
| bipWrongSndPath || 
 
* KAS/Sounds/bipwrong
 
|| sound stuff
 
 
|-
 
|-
 +
|
 +
{|class="wikitable"
 +
==== USI_ClearIVA ====
 +
No calls.
 
|}
 
|}
||  
+
||
<pre>MODULE
+
<pre>
 +
MODULE
 
{
 
{
  name = KASModuleContainer
+
  name = USI_ClearIVA
maxSize = 80
 
 
}
 
}
 
</pre>
 
</pre>
 
|-
 
|-
 
 
|
 
|
 
{|class="wikitable"
 
{|class="wikitable"

Latest revision as of 23:44, 28 December 2014

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

KASModuleContainer

Specifies 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.

variable example definition
maxSize
  • 5
  • 20
  • 80
specifies the size of the container relative to Kerbal Attachment System parts.
maxOpenDistance
  • 1
  • 5
Kerbals must be at least this close (in meters) in order to open the container
sndStorePath
  • KAS/Sounds/hookBayStore
sound stuff
sndOpenPath
  • KAS/Sounds/containerOpen
sound stuff for opening the container
sndClosePath
  • KAS/Sounds/containerClose
sound stuff for closing the container
bipWrongSndPath
  • KAS/Sounds/bipwrong
sound stuff
MODULE
{
 name = KASModuleContainer
 maxSize = 80
}

ModuleConnectedLivingSpace

variable example definition
passable
  • true
  • false
specifies whether Kerbals can commute to parts connected to this part
passableWhenSurfaceAttached
  • true
  • false
can be passed through even when connected to the ground?
MODULE
{
 name = ModuleConnectedLivingSpace
 passable = true
 passableWhenSurfaceAttached = true 
}

KASModuleGrab

variable example definition
evaPartPos
  • (0.0, 0.40, -0.40)
  • (0.0, 0.0, -0.15)
three dimensional array, offset for carrying
evaPartDir
  • (0,0,-1)
three dimensional array for orientation
storable
  • true
  • false
specifies whether the part can be stored
storedSize
  • 20
  • 14
specifies whether the part can be stored
attachOnPart
  • true
  • false
uncertain
attachOnEva
  • true
  • false
unsure
attachOnStatic
  • True
  • False
unsure
customGroundPos
  • True
  • False
unsure
attachNodeName
  • bottom
unsure
dropPartPos
  • (0.0, -0.2, -0.7)
unsure
dropPartRot
  • (-10.0, 0.0, 0.0)
unsure
bayType
  • hookbay
unsure
bayNode
  • top
unsure
bayRot
  • (0.0., 0.0, 0.0)
something to do with rotation
attachSendMsgOnly
  • true
  • false
unknown
MODULE
{
name = KASModuleGrab            
evaPartPos = (0.0, 0.40, -0.40)        
evaPartDir = (0,0,-1)
storable = true
storedSize  = 20
attachOnPart = true
attachOnEva = true
bayType = hookBay
bayNode = top
bayRot = (0.0, 0.0, 0.0)
}

KASModulePartBay

variable example definition
BAY {}
attachNode
  • top
  • bottom
attachment placement
type
  • containerA
  • container
  • hookBay
MODULE
{
 name = KASModulePartBay
 BAY
 {
  attachNode = top
  type = containerA
  type = containerB
 }
}

KASModulePort

variable example definition
attachNode
  • top
unsure
nodeType
  • kasplug
unknown
breakForce
  • 30
unknown
nodeTransformName
  • plugNode
unknown
MODULE
{
 name = KASModulePort
 attachNode = top
 nodeType = kasplug
 breakForce = 30
 nodeTransformName = plugNode
}

KASModuleAnchor

variable example definition

This module will set a custom drag value when the part touch the ground.

groundDrag
  • 500
Drag value of the anchor when it touch the ground
bounciness
  • 0
Bounciness of the anchor
dynamicFriction
  • 0.8
Dynamic friction of the anchor when it touch the ground
staticFriction
  • 0.8
Static friction of the anchor when it touch the ground
MODULE
{
 name = KASModuleAnchor
 groundDrag = 500
 bounciness = 0
 dynamicFriction = 0.8 
 staticFriction = 0.8
}

KASModuleMagnet

This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.

variable example definition
breakForce
  • 10
The force that needs to be applied on the magnet joint to break.
attachToEva
  • true
  • false
Disable/enable attraction of eva
minFwdDot
  • 0.998
Minimum magnet alignement needed to attach (1 is perfectly aligned)
powerDrain
  • 4
Power consumption when the magnet is used
MODULE
{
 name = KASModuleMagnet
 breakForce = 10
 attachToEva = False
 minFwdDot = 0.998
 powerDrain = 4
}

KASModuleStrut

variable example definition
nodeTransform
  • pipeNode
  • strutNode
unknown
type
  • PipeSize1
  • StrutSize1
Unkown
maxLength
  • 20
  • 8
unknown
maxAngle
  • 100
unknown
breakForce
  • 10
unknown
allowDock
  • true
  • false
unknown
allowPumpFuel
  • true
  • false
unknown
hasCollider
  • true
  • false
unknown
tubeScale
  • 0.15
unknown
jointScale
  • 0.15
unknown
textureTiling
  • 1
  • 4
unknown
tubeSrcType
  • Joined
  • Rounded
Unknown
tubeTgtType
  • Joined
  • Rounded
unknown
evaStrutPos
  • (0.05, 0.059, -0.21)
unknown
evaStrutRot
  • (190.0, 0.0, 0.0)
unknown
tubeTexPath
  • KAS/Textures/pipe
unknown
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
}

KASModuleGrapplingHook

This 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.

variable example definition
partBreakForce
  • 6
The force that needs to be applied on the grapple/part joint to break.
staticBreakForce
  • 15
The force that needs to be applied on the grapple/static joint to break.
aboveDist
  • 0.05
Distance from the attach point to the center of the part
forceNeeded
  • 4
Collision force needed to attach the grapple.
attachToPart
  • true
  • false
Disable/enable attachment on parts.
rayDir
  • (0,-1,0)
Direction of the attach raycast. Attachment will be done only with objects in that direction.
rayLenght
  • 0.8
Attach ray lenght.
MODULE
{
 name = KASModuleGrapplingHook
 partBreakForce = 6
 staticBreakForce = 15
 aboveDist = 0.05
 forceNeeded = 4
 attachToPart = true
 rayDir = (0,-1,0) 
 rayLenght = 0.8
}

KASModuleWinch

variable example definition
maxLenght
  • 50
  • 80
unknown
cableSpring
  • 1000
cableDamper
  • 0.1
cableWidth
  • 0.04
motorMaxSpeed
  • 2
motorAcceleration
  • 0.05
powerDrain
  • 0.5
  • 0.3
headTransformName
  • head
headPortNodeName
  • portNode
connectedPortNodeName
  • bottom
  • front
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
  • false
ejectForce
  • 20
lockMinDist
  • 0.12
lockMinFwdDot
  • 0.90
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!

ModuleAnimator

Animation module.

variable example definition
animationName
  • Take 001
Name of the animation from the model.
guiEnableName
  • Wedge Locks Off
Part tooltip name to display for deployment
guiDisableName
  • Wedge Locks Off
Part tooltip name to display for retraction
actionEnableName
  • Wedge Locks Off
Action group name for deployment
actionDisableName
  • Wedge Locks On
Action group name for retraction
animationSpeed
  • 100000
Speed of the animation
oneShot
  • true
  • false
If the animation can only be played once
activeEditor
  • true
  • false
If the part toolitp is visible in the editor
activeFlight
  • true
  • false
If the part tooltip is visible in flight
activeUnfocused
  • true
  • false
If the part tooltip is visible from EVA
unfocusedRange
  • 5
EVA visible range
 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
 }

REGO_ModuleResourceConverter

variable example definition
ConverterName
  • Water Electrolizer
Flavor Text
StartActioName
  • Start Water Electrolizer
Flavor Text
StopActioName
  • Stop Water Electrolizer
Flavor Text
RecipeInputs
  • ElectricCharge, 14, Water, 0.0000176697
RecipeOutputs
  • Hydrogen, 0.0219907427, True, Oxygen, 0.0109953713, False
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_ClearIVA

No calls.

MODULE
{
 name = USI_ClearIVA
}

ModuleConnectedLivingSpace

variable example definition
passable
  • true
  • false
specifies whether Kerbals can commute to parts connected to this part
passableWhenSurfaceAttached
  • true
  • false
can be passed through even when connected to the ground?
MODULE
{
 name = ModuleConnectedLivingSpace
 passable = true
 passableWhenSurfaceAttached = true 
}

KASModuleGrab

variable example definition
evaPartPos
  • (0.0, 0.40, -0.40)
  • (0.0, 0.0, -0.15)
three dimensional array, offset for carrying
evaPartDir
  • (0,0,-1)
three dimensional array for orientation
storable
  • true
  • false
specifies whether the part can be stored
storedSize
  • 20
  • 14
specifies whether the part can be stored
attachOnPart
  • true
  • false
uncertain
attachOnEva
  • true
  • false
unsure
attachOnStatic
  • True
  • False
unsure
customGroundPos
  • True
  • False
unsure
attachNodeName
  • bottom
unsure
dropPartPos
  • (0.0, -0.2, -0.7)
unsure
dropPartRot
  • (-10.0, 0.0, 0.0)
unsure
bayType
  • hookbay
unsure
bayNode
  • top
unsure
bayRot
  • (0.0., 0.0, 0.0)
something to do with rotation
attachSendMsgOnly
  • true
  • false
unknown
MODULE
{
name = KASModuleGrab            
evaPartPos = (0.0, 0.40, -0.40)        
evaPartDir = (0,0,-1)
storable = true
storedSize  = 20
attachOnPart = true
attachOnEva = true
bayType = hookBay
bayNode = top
bayRot = (0.0, 0.0, 0.0)
}

KASModulePartBay

variable example definition
BAY {}
attachNode
  • top
  • bottom
attachment placement
type
  • containerA
  • container
  • hookBay
MODULE
{
 name = KASModulePartBay
 BAY
 {
  attachNode = top
  type = containerA
  type = containerB
 }
}

KASModulePort

variable example definition
attachNode
  • top
unsure
nodeType
  • kasplug
unknown
breakForce
  • 30
unknown
nodeTransformName
  • plugNode
unknown
MODULE
{
 name = KASModulePort
 attachNode = top
 nodeType = kasplug
 breakForce = 30
 nodeTransformName = plugNode
}

KASModuleAnchor

variable example definition

This module will set a custom drag value when the part touch the ground.

groundDrag
  • 500
Drag value of the anchor when it touch the ground
bounciness
  • 0
Bounciness of the anchor
dynamicFriction
  • 0.8
Dynamic friction of the anchor when it touch the ground
staticFriction
  • 0.8
Static friction of the anchor when it touch the ground
MODULE
{
 name = KASModuleAnchor
 groundDrag = 500
 bounciness = 0
 dynamicFriction = 0.8 
 staticFriction = 0.8
}

KASModuleMagnet

This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.

variable example definition
breakForce
  • 10
The force that needs to be applied on the magnet joint to break.
attachToEva
  • true
  • false
Disable/enable attraction of eva
minFwdDot
  • 0.998
Minimum magnet alignement needed to attach (1 is perfectly aligned)
powerDrain
  • 4
Power consumption when the magnet is used
MODULE
{
 name = KASModuleMagnet
 breakForce = 10
 attachToEva = False
 minFwdDot = 0.998
 powerDrain = 4
}

KASModuleStrut

variable example definition
nodeTransform
  • pipeNode
  • strutNode
unknown
type
  • PipeSize1
  • StrutSize1
Unkown
maxLength
  • 20
  • 8
unknown
maxAngle
  • 100
unknown
breakForce
  • 10
unknown
allowDock
  • true
  • false
unknown
allowPumpFuel
  • true
  • false
unknown
hasCollider
  • true
  • false
unknown
tubeScale
  • 0.15
unknown
jointScale
  • 0.15
unknown
textureTiling
  • 1
  • 4
unknown
tubeSrcType
  • Joined
  • Rounded
Unknown
tubeTgtType
  • Joined
  • Rounded
unknown
evaStrutPos
  • (0.05, 0.059, -0.21)
unknown
evaStrutRot
  • (190.0, 0.0, 0.0)
unknown
tubeTexPath
  • KAS/Textures/pipe
unknown
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
}

KASModuleGrapplingHook

This 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.

variable example definition
partBreakForce
  • 6
The force that needs to be applied on the grapple/part joint to break.
staticBreakForce
  • 15
The force that needs to be applied on the grapple/static joint to break.
aboveDist
  • 0.05
Distance from the attach point to the center of the part
forceNeeded
  • 4
Collision force needed to attach the grapple.
attachToPart
  • true
  • false
Disable/enable attachment on parts.
rayDir
  • (0,-1,0)
Direction of the attach raycast. Attachment will be done only with objects in that direction.
rayLenght
  • 0.8
Attach ray lenght.
MODULE
{
 name = KASModuleGrapplingHook
 partBreakForce = 6
 staticBreakForce = 15
 aboveDist = 0.05
 forceNeeded = 4
 attachToPart = true
 rayDir = (0,-1,0) 
 rayLenght = 0.8
}

KASModuleWinch

variable example definition
maxLenght
  • 50
  • 80
unknown
cableSpring
  • 1000
cableDamper
  • 0.1
cableWidth
  • 0.04
motorMaxSpeed
  • 2
motorAcceleration
  • 0.05
powerDrain
  • 0.5
  • 0.3
headTransformName
  • head
headPortNodeName
  • portNode
connectedPortNodeName
  • bottom
  • front
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
  • false
ejectForce
  • 20
lockMinDist
  • 0.12
lockMinFwdDot
  • 0.90
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
}