|This article is a stub. You can help SimplePlanes Wiki by .|
XML Modding includes editing a certain block or propeller, etc. XML Modding has its own Modding Guide on Reddit. It is useful for those are starting to Mod and Edit their own creations or other users creations.
With using a text editor on an ".xml" file, physics and logic for parts can be changed, such as editing the "powerMultiplier" tag on an engine. This particular one scales only the engine power of an engine on a multiplication scale. Such as changing the default value (1) to 2, doubles the engine power, as 3 triples it. Decimals like 2.5 can also be used to get a more accurate power scale.
Values like "exhaustScale" (default 1,1,1) work on a X,Y,Z format. X is to lateral scale as Y is to vertical, Z being the length.
Others such as "exhaustStartColorOverridePrimary" work on a colour code. Ex. "FFFFFFFF" is White.
Common Tags[edit | edit source]
All parts have these tags.
|Part id||Any number more than 0||Defines the part number. Don't change it! It is useful for making new or removing attach points.|
|partType||Internal name of parts||Internal part name, useful for obtaining Removed Parts|
|position||x,y,z||Location of part. Try using a mod like FineTuner to move it to exact locations instead of editing the .xml file.|
|rotation||x,y,z||Rotation around each individual axis in degrees. Like position, use a mod to edit this instead of the .xml file.|
|drag||a,b,c,d,e,f||Amount of air resistance each part gives, for calculating drag points. Don't change it, it is automatically reset upon loading the aircraft.|
|material||Primary,Trim1,Trim2,Trim3||Part colors. It is best to change this in the Editor. Some parts, like Fuselage Blocks only have one, but most engines have three.|
|scale||x-scale,y-scale,z-scale||Change the size of parts for more detail or lower part count. Hidden by default.|
|massScale||Any number||Multiplies mass by input number. Mainly for making lightweight craft. Hidden by default.|
|disableAircraftCollisions||true/false||If true, part will pass through other parts. Good for custom landing gear. Hidden by default.|
For tags that are hidden by default, you have to type them in like this:
NOTE: add the Masscale, Scale or disable collisions input right after the materials in the XML text.
XML inputs[edit | edit source]
Parts that have inputs such as rotators, lights, and engines, ect, Can be XMLed to be controlled by a specific input. Such as setting a rotator to be controlled using landing gear. Remember: Activation groups are completely different to inputs
|Input||Found Ingame editior||Description|
|Throttle||Yes||Makes the input controlled by engine throttle. A input which ranges from 0-100%|
|Roll||Yes||Makes the input controlled by the Roll (A/D) control surface. Useful for making wings and control surfaces out of fuselages and DIY steering.|
|Pitch||Yes||Makes the input controlled by the Pitch (W/S) control surface. Useful for making wings and control surfaces out of fuselages.|
|Yaw||Yes||Makes the input controlled by the Yaw (Q/E) control surface. Useful for making wings and Rudders out of fuselages and DIY steering.|
|Trim||Yes||Makes the input controlled by the trim bar. Allows for a held input from -100% to 100%. Useful for Flaps|
|VTOL||Yes||Makes the input controlled by the VTOL bar. Allows for a held input from -100% to 100%. Useful for Swing wings or some special movement feature in a plane or vehicle|
|LandingGear||No||Allows the Input to be toggled on or off by Landing Gear. Useful for making custom landing Gear|
|-LandingGear||No||Allows the Input to be toggled OFF or ON by Landing Gear. This is useful for landing gear lights as it's function is inverted|
|FireWeapons||No||Makes the input controlled by using the fire weapons(Bombs, missiles) Control. A input which is only on when being held down|
|FireGuns||No||Makes the input controlled by using the fire guns Control. A input which is only on when being held down|
|Activate1||No||Makes the input toggled by pressing the Action Group 1 button|
|Activate2||No||Makes the input toggled by pressing the Action Group 2 button|
|Activate3||No||Makes the input toggled by pressing the Action Group 3 button|
|Activate4||No||Makes the input toggled by pressing the Action Group 4 button|
|Activate5||No||Makes the input toggled by pressing the Action Group 5 button|
|Activate6||No||Makes the input toggled by pressing the Action Group 6 button|
|Activate7||No||Makes the input toggled by pressing the Action Group 7 button|
|Activate8||No||Makes the input toggled by pressing the Action Group 8 button (Action Group 8 is usually already pressed)|
|LaunchCountermeasures||No||Makes the input controlled by whenever you launch countermeasures (V by default)|
Here is an example of a Hinge-Rotator having its input set to Landing Gear, Note it has also been given Scaled values (See tags above):
<Part id="684" partType="HingeRotator-1" position="1.68128,4.372536,1.323409" rotation="270,270,0" drag="0,0,0,0,0,0" materials="0,3,10" disableAircraftCollisions="true" scale="0.2,0.2,0.2">
<InputController.State activationGroup="0" invert="false" min="-1" max="1" input="LandingGear" />
<JointRotator.State range="35" speed="0.75" />
There is also an input based on speed and a inequality, eg. v>100, which can be used in inputs.
Control surfaces only support a different set of inputs, ie. Roll, Pitch, Yaw, VTOL, Trim.