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 is most noted for adding the option to grab and move parts using Kerbals. It also allows for storage of certain parts in containers.
|
|
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 |
|
specifies the size of the container relative to Kerbal Attachment System parts.
|
maxOpenDistance |
|
Kerbals must be at least this close (in meters) in order to open the container
|
sndStorePath |
|
sound stuff
|
sndOpenPath |
|
sound stuff for opening the container
|
sndClosePath |
- KAS/Sounds/containerClose
|
sound stuff for closing the container
|
bipWrongSndPath |
|
sound stuff
|
|
MODULE
{
name = KASModuleContainer
maxSize = 80
}
|
ModuleConnectedLivingSpace
variable |
example |
definition
|
passable |
|
specifies whether Kerbals can commute to parts connected to this part
|
passableWhenSurfaceAttached |
|
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 |
|
three dimensional array for orientation
|
storable |
|
specifies whether the part can be stored
|
storedSize |
|
specifies whether the part can be stored
|
attachOnPart |
|
uncertain
|
attachOnEva |
|
unsure
|
attachOnStatic |
|
unsure
|
customGroundPos |
|
unsure
|
attachNodeName |
|
unsure
|
dropPartPos |
|
unsure
|
dropPartRot |
|
unsure
|
bayType |
|
unsure
|
bayNode |
|
unsure
|
bayRot |
|
something to do with rotation
|
attachSendMsgOnly |
|
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 |
|
attachment placement
|
type |
- containerA
- container
- hookBay
|
|
|
|
MODULE
{
name = KASModulePartBay
BAY
{
attachNode = top
type = containerA
type = containerB
}
}
|
KASModulePort
variable |
example |
definition
|
attachNode |
|
unsure
|
nodeType |
|
unknown
|
breakForce |
|
unknown
|
nodeTransformName |
|
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 |
|
Drag value of the anchor when it touch the ground
|
bounciness |
|
Bounciness of the anchor
|
dynamicFriction |
|
Dynamic friction of the anchor when it touch the ground
|
staticFriction |
|
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 |
|
The force that needs to be applied on the magnet joint to break.
|
attachToEva |
|
Disable/enable attraction of eva
|
minFwdDot |
|
Minimum magnet alignement needed to attach (1 is perfectly aligned)
|
powerDrain |
|
Power consumption when the magnet is used
|
|
MODULE
{
name = KASModuleMagnet
breakForce = 10
attachToEva = False
minFwdDot = 0.998
powerDrain = 4
}
|
KASModuleStrut
variable |
example |
definition
|
nodeTransform |
|
unknown
|
type |
|
Unkown
|
maxLength |
|
unknown
|
maxAngle |
|
unknown
|
breakForce |
|
unknown
|
allowDock |
|
unknown
|
allowPumpFuel |
|
unknown
|
hasCollider |
|
unknown
|
tubeScale |
|
unknown
|
jointScale |
|
unknown
|
textureTiling |
|
unknown
|
tubeSrcType |
|
Unknown
|
tubeTgtType |
|
unknown
|
evaStrutPos |
|
unknown
|
evaStrutRot |
|
unknown
|
tubeTexPath |
|
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 |
|
The force that needs to be applied on the grapple/part joint to break.
|
staticBreakForce |
|
The force that needs to be applied on the grapple/static joint to break.
|
aboveDist |
|
Distance from the attach point to the center of the part
|
forceNeeded |
|
Collision force needed to attach the grapple.
|
attachToPart |
|
Disable/enable attachment on parts.
|
rayDir |
|
Direction of the attach raycast. Attachment will be done only with objects in that direction.
|
rayLenght |
|
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 |
|
unknown
|
cableSpring |
|
|
cableDamper |
|
|
cableWidth |
|
|
motorMaxSpeed |
|
|
motorAcceleration |
|
|
powerDrain |
|
|
headTransformName |
|
|
headPortNodeName |
|
|
connectedPortNodeName |
|
|
anchorNodeName |
|
|
evaGrabHeadPos |
|
|
evaGrabHeadDir |
|
|
evaDropHeadPos |
|
|
evaDropHeadRot |
|
|
ejectEnabled |
|
|
ejectForce |
|
|
lockMinDist |
|
|
lockMinFwdDot |
|
|
|
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
}
|
ModuleConnectedLivingSpace
variable |
example |
definition
|
passable |
|
specifies whether Kerbals can commute to parts connected to this part
|
passableWhenSurfaceAttached |
|
can be passed through even when connected to the ground?
|
|
MODULE
{
name = ModuleConnectedLivingSpace
passable = true
passableWhenSurfaceAttached = true
}
|