SimpleCheats II
A comprehensive list of all known XML attributes.
Updated biweekly bimonthly
Whenever i feel like updating it
Last updated: 11/27/2023
(MM/DD/YYYY)
Simplecheats II is currently being updated. Things may look unfinished for a bit.
(I know it's taking a long time, sorry)
By V, inspired by WNP78 and EternalDarkness.
Current SimplePlanes version at time of writing: 1.12.202.0 (final release)
Changelog:
Added some author notes as I can't edit tables via mobile. Will get to proper editing at some point.
Added autoDispenseDelay
Corrected firingDelay
Added launchCountermeasures
Added switch styles
Fixed a bunch of stuff in propEngineAdvaned
Added missing contributors (if your name isn't on the list, it's because I haven't added your stuff yet.)
Special thanks:
SnoWFLakE0s
(provided explanations for many attributes and helped fact check)
Andrew Garrison
(told me about attributes added in updates and what they do. He also helped fact check)
Table of contents:
Section 1: introduction
__XML values__
Section 2: value types
Section 3: all basic inputs
Section 4: all known XML attributes
__Extras__
Section 5: useful tools
Introduction
If you already know how to XML edit, you can scroll down to view the list. Or use
CTRL + F to directly search for what you need.
What is XML editing? XML editing in simpleplanes is changing the properties of a part beyond what the normal build tools within the game allow. It is commonly used throughout the website, and is even used in the newer stock aircraft that come with the game. There is also an advanced subset of XML editing called Funky Trees,
but i'll let someone else explain that.
You can easily get started by going to the main menu, pressing the mods button, and enabling fine tuner and overload. Let's take a look at these tools in more detail.
Fine tuner
Select a part, and press the protractor button on the bottom of the screen to open Fine tuner. Fine tuner is like the in-game part transform tool, but more precise and has some extra features. The in-game part transform too can move a part up to 0.0001 of a meter, which may seem small, but in many cases, it still isn't precise enough. Fine tuner can move parts with floating point precision so you can line things up down to the atom. It also contains a scale tool, which is an easy and quick way to scale the size of parts or entire builds, but it is not precise when used more than once on the same part.
(quick tip, uncheck “Only disable selected part(s)” to scale entire builds quickly)
Overload.
Select a part, and press the </> button that is next to the Fine tuner button to open Overload. Overload is an in-game XML editor that allows you to edit any property of a part, from size, weight, buoyancy, drag, health, and much, much more. When open, you will see a dropdown list at the top, and a list of attributes right in front of you. You can change these values and add more at the bottom as much as the game will allow. When you are done, just click the checkmark and you are finished. One thing to note, using overload does not count as a “step”, meaning that pressing the undo or redo button will completely destroy any work done until a next “step” is performed. Painting a part or adding and removing a few blocks will work.
XML Attribute list.
Anything with a description of “awaiting documentation” is either something the author does not know, or is unknown in general.
Section 1, value types
Input type | description |
String | Any text |
Inputstring | Text that will be regarded as an input, all basic inputs will be listed in section 3. |
Boolean | A true or false statement. (in applicable situations, true will be regarded as 1, and false will be regarded as -1.) |
Integer | A whole number (1,2,3) |
Number | Any number (1.2313, 4.32, -3.1415) |
Vector | A 3d coordinate vector (x,y,z) |
Funky | Funky trees code, it is advised to not change the default code without knowing what you're doing. |
HTML5 color hex | HTML5 color data (#42FF00) |
other | Special cases that do not fit with these other values |
Section 2, file attributes.
These will not show up in overload, and can only be seen by opening the raw XML file in a text editor. Most of these do not directly affect a build.
Property name | Input type | description |
name | string | Name of the aircraft |
url | string | The aircraft code of the plane’s successor. This is how the successor system works. Be careful when changing or removing this, as doing so with ill intent can lead to serious consequences on the website. |
diffuseInertiaTensors | boolean | Quoted from WNP78: “True by default. Inertia tensors are basically the “angular mass” of something. Things have a higher angular mass/inertia tensor if they are heavier or the mass is more spread out. However, having an object with a very high inertia tensor (such as a 500kg plane) connected to something with a very low inertia tensor (such as a 5g switch) can cause joint wobble. Inertia tensor diffusion fixes this by blending together the inertia tensors so they are more similar. However this can cause unintended behaviours, such as the flipping of the 5 gram switch causing the 500kg plane to rock up onto its nose. It is not recommended to switch it off unless you are having serious problems with this issue and are willing to endure/fix some joint wobble.” |
theme | string | Name of the current theme |
useOldDragCalculation | boolean | Defaults to false, awaiting documentation. |
size | vector | The total size of the aircraft. it is recalculated each time the game saves or autosaves. |
boundsMin | vector | Something related to size, awaiting documentation |
Section 3, basic inputs.
input | output type | description |
Throttle | number | Is a number between 0 and 1. Defaults to 0 Mobile and oculus quest: right stick up and down PC: shift and control |
Brake | integer | Is either 0 or 1, is not a boolean. Defaults to 0 Is set to 1 when throttle is held down while throttle is zero. |
Roll | number | Is a number between 1 and -1. Defaults to 0 Mobile and oculus quest: right stick left and right PC: A and D |
Pitch | number | Is a number between 1 and -1. Defaults to 0 Mobile and oculus quest: right stick up and down. PC: W and S |
Yaw | number | Is a number between 1 and -1. Defaults to 0 Mobile and oculus quest: left stick left and right PC: Q and E |
VTOL | number | Is a number between 1 and -1. Defaults to 0 PC and Mobile: left slider up and down PC: Z and X Oculus quest: click down left stick, then up and down |
Trim | number | Is a number between 1 and -1. Defaults to 0 PC and Mobile: right slider up and down PC: numpad 1 and 7 (i think) Oculus quest: N/A |
Activation groups 1-8 | boolean | Is a boolean value of true or false, or is a number between 1 and -1. Defaults to false or -1 Activation group 8 defaults to 1 or true PC and mobile: press the arrow on the left side of the HUD, and press the 1-8 buttons. PC: 1-8 keys Oculus quest: press B or X button, press the switch button, then click a number. |
fireGuns | boolean | Is a boolean value of true or false, or is a number between 1 and -1. Defaults to false or -1 PC or mobile: press arrow on the left side of the HUD, press air to air, or air to ground, then press the bullet button on the bottom left of the screen PC: spacebar Oculus quest: press B or X button, then click the missile button, then hold down the bullet button |
fireWeapons | boolean | Is a boolean value of true or false, or is a number between 1 and -1. Defaults to false or -1 PC or mobile: press arrow on the left side of the HUD, press air to air, or air to ground, then select a weapon, then press the missle button on the bottom left of the screen Oculus quest: press B or X button, then click the missile button, then select air to air or air to ground, select a weapon, then press the missile button |
LandingGear | integer | Is either 0 or 1, is not a boolean. Defaults to 0 (If you want a Boolean version, use GearDown instead.) PC or mobile: press arrow on the left side of the HUD, and press the landing gear button PC: G Oculus quest: press X or B button, then press the landing gear button |
LaunchCountermeasures | Boolean | Is a boolean value of true or false, or is a number between 1 and -1. Defaults to false or -1 PC or mobile: press arrow on the left side of the HUD, press air to air, or air to ground, then press the shield button on the bottom left of the screen Oculus quest: it's somewhere in the radial menus. |
attribute | Input type | description |
Part | ||
id | integer | A unique number for each part, is used when referencing things, such as for colors and part connections |
partType | String | The part that this part is, for example, a normal wing has a partType of “Wing-1”, changing it to “Fuselage-Body-1” will turn it into a fuselage block. |
position | vector | The position of a part, measured in meters. |
rotation | vector | The Euler angle of a part in degrees, representing the rotation of a part. |
drag | other | A list of 6 numbers representing drag from a certain direction. This will not do anything when edited, as the game will calculate this on the fly |
centerOfMass | vector | The relative position of the center of mass of a part. measured in meters. |
materials | other | A set of numbers that indicate the ID of the current paint color for each section of a part. The sections are Primary, trim 1, trim 2, and trim 3. |
disableAircraftCollisions | boolean | When set to true, this will disable collisions with other parts. Useful for when you need things to fold inside each other |
scale | vector | The relative size of a part in all three axis, changing this will change the size without changing mass. Setting any of the three values to zero may cause issues. Do it with caution Setting this too high can cause immense lag if calculateDrag isn't set to False |
massScale | number | Scales the relative mass of a part, changing this will increase or decrease how heavy a part is |
health | number | The initial health of a part. it is usually set to 100. Setting it to “infinity” will make said part invincible to weaponry, but still can disconnect |
partCollisionResponse | string | Has three options, which are: normal, disconnectOnly, and none. Setting it to none will make the part be unable to be snapped off of something else. This is currently broken for pistons, it should be fixed soon. |
calculateDrag | boolean | Setting this to false will disable the drag calculations on a part. It is preferred to use this rather than setting dragScale to 0, as reduces lag. |
InputController This is what defines the input of most things in the game | ||
activationGroup | Integer | Sets the activation group of a part between 0-8, with 0 being either no activation group or disabling the part |
invert | boolean | Inverts the settings |
min | number | The minimum output of a part |
max | number | The maximum output of a part |
input | Inputstring | Any input, either a basic input or funky trees code will go here. |
zeroOnDeactivate | boolean | When true, the output value will return to zero when the associated activation group is turned off |
invertType | string | Works best in most cases if left alone, but read here for more info |
AdaptiveBlock | ||
State | integer | The current state of a block. do not ask how this works, as we will not tell you. This is recalculated every time a connection is changed on this part |
AdaptiveNoseCone | ||
scale | vector | The scale of the nose cone. This is obsolete due to the scale option in the part attribute. |
FloatingPart | ||
enabled | boolean | Makes the part float on water. Despite what the in-game description says, these do not lag the game very much. |
Airbrake | ||
nothing... | ||
ArrestingHook | ||
activationGroup | integer | Sets the activation group of a part between 0-8, 0 disables the part |
cableDeceleration | number | The amount of force used to decelerate the hook when it hooks onto an arresting cable |
deployedAngle | number | The angle, in degrees, of what the hook will extend to when activated. |
BeaconLight beacon and formation lights | ||
activationGroup | Integer | Sets the activation group of a part between 0-8. 0 will leave the part enabled. |
designerBlinkProgram | string | The name of the blink program you see in the designer |
input | inputstring | If the input is not zero, the light will turn on |
showHalo | boolean | Enables or disables the glow around a beacon light |
blinkProgram | other | Quoted from WNP78: “A list of numbers representing the blink pattern. Each number is a time in seconds. It will first turn the light on, then wait an amount of time specified by the first number, then off and wait for the second number, then on and wait the third number, and so on, until it reaches the end of the list when it loops back to the start.” |
FuelTank | ||
fuel | number | The amount of fuel the tank has inside |
capacity | number | The amount of fuel the tank can contain. I would recommend keeping these two values the same |
Fuselage all types | ||
version | integer | The version of the fuselage, doesn't do anything. |
frontScale | 2D vector | The scale of the front of a fuselage in (x,y) |
frontScale | 2D vector | The scale of the back of a fuselage in (x,y) |
offset | vector | The value of the offset between the front and back of the fuselage. The values are for run, rise, and length respectively. |
deadWeight | number | The amount of dead weight in kilograms |
fuelPercentage | number | The percentage of the fuselage taken up by fuel. Percentage is recorded as a decimal between 0 and 1. This must be set to 1 if you plan on editing the fuelTank property inside of a fuselage. |
buoyancy | number | A percentage of how floaty it is. Percentage is recorded as a decimal between 0 and 1. |
cornerTypes | other | A list of 8 numbers specifying what each corner type is on both sides of a fuselage |
smoothFront | boolean | Smooths the connection between the fuselage connected to its front, it makes things look seamless. |
smoothBack | boolean | Smooths the connection between the fuselage connected to its back, it makes things look seamless. |
fillCutFace | boolean | Wether or not the inside of the resulting cut will be textured. (if it is false, there will be a hole where you cut) |
fillFront | other | A list of 4 numbers, indicating the percentage filled from the center of each side of the front. It is easier to enable advanced mode in the part settings and edit these values from there |
fillBack | other | A list of 4 numbers, indicating the percentage filled from the center of each side of the back. It is easier to enable advanced mode in the part settings and edit these values from there |
autoSizeOnConnected | boolean | Will automatically change the size of the face connected to another fuselage to be matching. |
inletSlant | number | Slants the fuselage, this used to only be for fuselage inlets, hence the name. |
collider | string | Quoted from WormWithLegs: “includes ‘Auto’, ‘Basic’, ‘ConvexMesh’, and ‘NonConvexMesh’. They each modify the collisions of a fuselage block. Auto is the default. Basic does not seem to change anything from Auto but it was in the beta changelog so either it does something or it is no longer used. ConvexMesh makes the fuselage collider change based on the corner type instead of always having rectangular collisions. NonConvexMesh does the same as ConvexMesh but also allows hollow fuselage blocks to act hollow in the designer (but does not have hollow physics in game due to physics limitations).” |
Fuselage hollow, hollow glass, inlet | ||
inletThicknessFront | number | The percentage thickness of the front section wall of a hollow fuselage, percent is recorded as a decimal between 0 and 1 |
inletThicknessRear | number | The percentage thickness of the rear section wall of a hollow fuselage, percent is recorded as a decimal between 0 and 1 |
Transparency glass fuselage, hollow glass fuselage | ||
opacity | number | Sets how opaque the glass is, numbers between 0 and 1 will properly work, but negative numbers are broken, and using numbers higher than 1 will cause strange things to happen |
hideFront | boolean | Hides the front of the fuselage, makes connections appear seamless |
hideBack | boolean | Hides the back of the fuselage, makes connections appear seamless |
hideInside | boolean | Hides the inside of a hollow fuselage, makes cockpits easier to see out of |
overrideHide | boolean | Awaiting documentation |
Gyroscope | ||
activationGroup | number | Decides which activation group enables the gyroscope |
autoOrient | boolean | Awaiting documentation |
stability | number | Something that makes a gyroscope more stable, i'm not really sure what this does |
speed | number | Something else that makes a gyro more stable, i'm not really sure of what this does |
yawPower | number | The amount of force the gyro can put on the Y axis |
pitchRange | number | The angle of how far a gyroscope can pitch forward and back |
rollRange | number | The angle of how far a gyroscope can roll left and right |
inlet | ||
nothing... | ||
jointRotator | ||
range | number | The range of rotation the rotator can move in degrees. This is hard capped at 180 degrees, and cannot be increased further by any means |
speed | number | The speed a rotator spins. |
damperMultiplier | number | Quoted from WNP78: “This increases the damper. This is very useful for rotators that wobble when you move them. To remove wobble, increase this in powers of 10 (10,100,1000) until it stops wobbling. Too much damper will cause it to rotate too slowly.” |
disableBaseMesh | boolean | (small rotators and hinge rotators only) hides the mesh on the bottom, leaving only the rotator bit |
audio | boolean | Toggles the rather annoying noise rotators make on and off. |
cameraVantage | ||
name | string | The name of the camera, it will be seen if you change to it |
autoOrient | boolean | Will auto center the camera when you let go of dragging. Has no effect in VR |
lookAtCockpit | boolean | Makes the camera look at the main cockpit, has no effect in VR |
autoZoomOnCockpit | boolean | Has no effect |
autoCenterCamera | boolean | Seems to do the same thing as autoOrient. Has no effect in VR |
viewMode | string | Changes camera type. Can be “None”, “FirstPerson”, “Chase”, “Orbit”, “Flyby”. |
cockpitAudio | boolean | Set to true by default, it muffles noises if they are created behind other parts |
gunReticle | boolean | enables/disables the gun reticle |
missileLocking | boolean | Allows the camera to use missiles, shows the lock on circle when a missile is selected |
upOffset | number | Sets how far up the viewpoint is away from the camera model. |
Wing | ||
angleOfAttack | number | This does absolutely nothing |
liftScale | number | Multiplies the amount of lift a wing produces |
root/tip/Leading/Trailing Offset | number | The distance between the attach points of the tip and the base of a wing |
tipPosition | vector | The offset of the wing tip attach point from the root attach point. The Y axis in this is the length of the wing, X is dihedral and Z is slant forward/backward. |
airfoil | string | Quoted from WNP78: “A name relating to the different aerofoil types. If you’re really into aerodynamics, here are the technical names for the choices: “Flat Bottom” :“ NACA23016” “Semi-Symmetric” :” NACA23015” “Symmetric” : ”NACA0009” These are all 4 or 5 digit NACA codes which you can read up on here.” |
wingPhysicsEnabled | boolean | Allows the wing to act like a wing |
inverted | boolean | Is automatically set so the wing knows which way is up |
allowControlSurfaces | boolean | Allows the adding of control surfaces in the designer |
fuelPercentage | number | The percentage between 0 and 1 of how much fuel is in a wing, with 1 being 100% |
hingeDistance | number | How long all control surfaces on a wing are |
CarEngine | ||
power | number | The amount of metaphorical stallions propelling the engine |
PropEngineAdvanced Regular prop engine, WWII engine, and Turboprop engine. Also affects heliMainrotor, and heliTailRotor | ||
power | number | The amount of newtons that the engine provides |
maxRpm | number | The maximum safe RPM the engine can reach without overspeeding |
propellerCount | integer | The amount of blades the prop engine has. Setting this to zero crashes the game if you try to load it into the play area, setting this beyond 100 can cause issues |
diameter | number | The total diameter of the propellor engine in meters |
chordScale | number | How wide the blades are. Increasing this beyond 7 can allow propeller engines to work underwater! |
propellerType | string | Can either be “Cessna”, ”Warbird”,or “Scimitar”, “HB-Cropped”, “HB-Rounded”, “HB-Swept”, and “HB-Tapered” Helicopter blades can be used on propellor engines, but propellor engine blades cannot be used on a helicopter engine |
propellerPitch | number | The fixed pitch of the prop engine. Is also the default pitch if using manual control |
propellerPitchScale | number | The scale of manual input |
throttleControlType | string | Is being rewritten |
reverseRotation | boolean | Makes the propeller engine spin the other way. This is only a visual thing. |
pitchControlType | string | Can either be “Auto”, “Fixed”, or “Manual” |
CowlFlaps | ||
hide | boolean | Hides those little flap things on the front of a WWII propeller engine |
Engine All jet engines | ||
powerMultiplier | number | The engine’s power will be multiplied by this |
exaustScale | vector | This is the scale of the exhaust effect. I recommend keeping all scales the same, because the scale is on the global axis (meaning it does not follow the plane as it rotates). |
exhaustStartColorOverridePrimary | HTML5 hex color code | The primary color of the exhaust effect |
exhaustStartColorOverrideSecondary | HTML5 hex color code | The secondary color of the exhaust effect |
throttleResponse | number | How fast the engine responds to inputs. Higher values mean a faster response. |
EngineThrustPort VTOL nozzles | ||
exaustScale | vector | This is the scale of the exhaust effect. I recommend keeping all scales the same, because the scale is on the global axis (meaning it does not follow the plane as it rotates) |
exhaustStartColorOverridePrimary | HTML5 hex color code | The primary color of the exhaust effect |
ReactionControlNozzle | ||
autoAssignType | Boolean | Automatically assigns what input is used |
type | string | Can be “Auto”, “Roll”, “Pitch”, and “Yaw”. this is NOT an input field, and cannot accept inputs other than pitch, roll, and yaw. |
reverse | boolean | Inverts output |
activationGroup | number | The activation group that activates the nozzle, 0 deactivates the part. |
Piston | ||
preventBreaking | boolean | Awaiting documentation. I think it's just partCollisionResponse but only with default or none |
cycle | boolean | Cycles the piston between its minimum input and maximum input |
extend | boolean | Whether or not the piston starts extended. This can still be changed if something is attached to the end of the piston |
range | number | How far the piston extends, no discernible unit seems to be used for distance |
speed | number | How fast the piston can extend |
Detacher detacher, pylon, long pylon | ||
enabled | boolean | Weather or not this detacher is able to detach things |
group | number | Input a number 1-8 to use with an activation group. can also be used with funky trees |
detachForce | number | The amount of force applied in newtons. You can get the velocity of the object launched by using this formula: [detachForce / Kgm (mass in kilograms of the object launched)] This breaks newton’s third law, as no recoil is produced no matter how hard something is launched |
detacherMaxUiForce | number | Awaiting documentation |
Cockpit All basic cockpit blocks | ||
primaryCockpit | boolean | Changes whether or not that a cockpit is the primary cockpit. Only have one cockpit with this enabled, as having none or multiple will crash the game |
Parachute | ||
activationGroup | integer | The activation group that activated this part. 0 disables the part |
size | number | The size of the parachute |
style | string | The pattern on the parachute. It can be “V. Striped”, “H. Striped” or “Checkered”. |
ResizeableShape Spheres and hemispheres | ||
size | number | The size of the shape |
bounciness | number | A percentage of how bouncy it is. |
friction | number | How much friction the part generates |
attachPointPosition | vector | The relative position of the attach point. |
RotorPerfScalars Helicopter rotor, small helicopter rotor | ||
collectiveDrag | number | Awaiting documentation |
collectiveLift | number | I think its like liftScale, awaiting documentation |
collectiveTorque | number | Amount of torque the rotor produces |
cyclicMotorDragTorque | number | Awaiting documentation |
cyclicPitchInputExpo | number | I think it multiplies pitch input exponentially by this number, awaiting documentation |
cyclicRollInputExpo | number | I think it multiplies roll input exponentially by this number, awaiting documentation |
cyclickRpmFalloffExpo | number | Awaiting documentation |
cyclicStrength | number | Doesn't seem to do anything, awaiting documentation |
groundEffect | number | How strong the ground effect is with this rotor, increasing this makes it easier to make a hovercraft |
gyroscopicLag | number | Something related to how much the rotor doesn't want to tilt |
gyroscopicStablization | number | Something related to how much the rotor doesn't want to tilt |
relativeWindPassiveLift | number | How much lift the rotor produces when moving compared to the surrounding air |
relativeWindPassiveTorque | number | Awaiting documentation |
relativeWindPeakSpeed | number | Awaiting documentation |
rotorTensor | number | Awaiting documentation |
transitionalLift | number | How much the rotor produces lift while moving |
HeliMainRotor Helicopter rotor, small helicopter rotor. | ||
See PropEngineAdvanced for most info, things unique to HeliMainRotor will be put here. | ||
throttleGovernorEngagePercent | number | The percentage of input the throttle governor will engage |
propellorType | string | Can be “ HB-Cropped”, “HB-Rounded”, “HB-Swept”, and “HB-Tapered” Unlike propellor engines, heli rotors cannot use propellor engine blades |
cyclicRollMaxDeflection | number | How far in degrees you can tilt the cyclic left and right |
cyclicPitchMaxDeflection | number | How far in degrees you can tilt the cyclic forward and back |
centerOfMassOffset | vector | Relative position of the center of mass of the rotor |
rotorDampening | number | How much the vibrations of the rotor are dampened. It is recommended not to set this higher than 2.5 |
Suspension | ||
damper | number | How much the suspension spring will dampen a shock |
spring | number | How stiff the spring is |
Gun (Wing gun, minigun) | ||
ammoCount | Integer | Does nothing |
burstCount | integer | The amount of rounds in a burst |
timeBetweenBursts | number | How long the pause is in between bursts in seconds |
muzzleVelocity | number | How fast a bullet is moving in m/s |
roundsPerSecond | number | How fast the gun fires. The limit is one bullet per physics update, which is not tied to framerate. It is slowed down if slow motion is enabled |
tracerColor | HTML5 color hex | Bullet color |
spread | number | Increases or decreases bullet spread, the bigger the number, the less accurate the gun. Set to zero for perfect accuracy. |
lifetime | number | The length of time the bullet will exist in seconds. |
damage | number | The amount of damage bullets do |
impactForce | number | The impulse force of a bullet when it hits something. Setting this really high should allow you to destroy bridges and sink aircraft carriers. |
bulletScale | vector | The 3D size of a bullet |
Bomb, Missile, RocketPod, and Rocketweapon (Anything that makes big kaboom) | ||
activationGroup | integer | Sets the activation group that activates the weapon |
firingDelay | number | The time, in seconds, before a firing multiple of a weapon |
explosionScale (Boom 25 and Boom 50 only!) | number | How big or small the resulting kaboom is. Setting this too high can crash the game |
Missile (inferno, interceptor, guardian, cleaver) | ||
lockTime | number | How many seconds it takes to lock onto a target |
maxRange | number | The maximum range of the rocket in meters |
minRange | number | The minimum range of the rocket in meters |
maxTargetingAngle | number | The angle in degrees that the rocket can acquire a lock. This is based on the orientation of the cockpit, not the missile. |
maxSpeed | number | How fast the missile can move in meters per second |
maxFuelTime | number | How many seconds the fuel inside a rocket lasts |
maxForwardThrustForce | number | How much force the rocket provides |
maxHeadingAngleAdjustmentRate | number | How quickly a rocket begins to move in a given direction |
maxVelocityAngleAdjustmentRate | number | The amount of inertia a rocket has, this is not tied to mass. |
proximityDetonationRangeMin | number | The minimum range in meters of proximity detonation |
proximityDetonationRangeMax | number | The maximum range in meters of proximity detonation |
killCam | Boolean | Determines if the killcam is enabled or not |
function | string | can be “AirToAir”, “AirToSurface”, or “Multirole” Do not mix missiles of the same part type but different functions. (ie, do not have an air to air inferno and an air to surface inferno). |
ignitionDelay | number | The number of seconds between the time the rocket activates and the rocket motor firing |
RocketWeapon | ||
finMode | string | Can be “Deployed”, “Static”, or “None” |
selfDestructTimer | number | How many seconds it takes for a rocket to self destruct after being fired |
burnTimer | number | How many seconds the rocket’s engines last after being fired. The engine’s effects and sounds still persist even when thrust has stopped |
ignitionDelay | number | The number of seconds between the time the rocket activates and the rocket motor firing |
CounterMeasureDispenser | ||
activationGroup | integer | Decides the activation group that this part is activated by. 0 keeps the part enabled |
type | string | The type of countermeasure dispensed, it can either be “Chaff” or “Flares” |
launchForce | number | The speed in meters per second that the countermeasure is dispensed |
ammo | integer | How many countermeasures you can launch before it runs out. |
autoDispenseDelay | Number | The time (in seconds) between 2 flares launching when holding down on the flare button |
activationGroup | integer | Decides the activation group of the part. 0 means always enabled |
Cannon | ||
activationGroup | integer | Decides the activation group of the part. 0 means always enabled |
projectileType | string | Can be either “Basic” or “Explosive” |
projectileStyle | string | Can either be “Slug” or “Sphere” |
function | string | Can either be “multirole”, “AirtoAir”, or “AirtoGround” AirtoAir targets other aircraft AirtoGround targets AI ground vehicles and aircraft carriers Multirole targets everything |
projectileVelocity | number | The starting speed of the projectile in meters per second |
ammoCount | integer | The amount of ammo in the cannon |
firingDelay | number | The amount of time between two different shots |
diameter | number | How large the diameter of the barrel is |
baseLength | number | How long the base of the cannon is |
barrelLength | number | How long the barrel of the cannon is |
barrelRecoil | number | How far back the cannon animation goes when fired |
recoilForce | number | How far back your pushed when the cannon fires |
tracerSpacing | number | The amount of round between each tracer. 0 means all rounds are tracers, -1 means no rounds are tracers |
tracerLength | number | How long the tracer is |
tracerColor | HTML5 color hex | The color of the tracer |
muzzleBrake | boolean | Whether a muzzle brake is present on the end of the cannon or not |
flashScale | number | How big the muzzle flash is |
flashSpace | string | Can either be “Local” or “Global”. Awaiting documentation |
projectileLifetime | number | How many seconds the projectile will last before it fades from reality |
launchVolume | number | How loud the cannon is |
explosionScalar | number | How big of a kaboom an explosive projectile will make |
impactDamageScalar | number | Multiplies how much damage is dealt on impact |
LandingGear | ||
Damper | number | How much the landing gear will dampen a shock |
spring | number | How stiff the suspension spring inside of the landing gear is |
turningEnabled | boolean | Enables steering |
sensitivity | number | How sensitive the steering is on the landingGear |
flipped | number | Horizontally flips the landing gear (automatically happens when you mirror, but can be manually set) |
CatapultConnector | ||
catapultAcceleration | number | How fast the catapult will accelerate the craft |
targetLaunchSpeed | number | How fast you want to make the craft leave the catapult, it may not reach this speed if it did not accelerate in time |
Refuel probe | ||
nothing… | ||
RefuelDrogue | ||
activationGroup | number | An activation group setter, not sure what it does. Awaiting documentation |
transferRate | number | How much fuel can be transferred and how fast |
angularDragPower | number | Awaiting documentation |
angularStabPower | number | Awaiting documentation |
Magnet | ||
activationGroup | number | Sets the activation group for the part. |
power | number | Allows the magnet to hold onto heavier things |
Winch | ||
startRange | number | Starting position of the winch cable |
range | number | How long the cable is. The winch can theoretically hold an infinite amount of cable, so go as long as you need |
speed | number | How fast the winch can extend and retract the cable |
volume | number | How loud the winch is |
Label | ||
designText | String | What text is displayed on the label. Funky trees can be outputted if it is put in braces {}. |
fontName | string | The type of font being used.Can be “Default”, “Roboto”, “Military”, “14-segment”, and “Stencil” |
fontSize | number | The size of the text on the label, it may not appear if width and height are set too low. |
horizontalAlignment | string | Changes where the text is aligned to in terms of the X axis, can be: “Right”, “Left”, and “Center” |
verticalAlignment | string | Changes where the text is aligned to in terms of the Y axis, can be: “Right”, “Left”, and “Center” |
gradient | string | Sets the direction of color gradient on the label. Can be: “Vertical”, “Horizontal”, “Diagonal”, “UpperLeft”, “UpperRight”, “LowerLeft”, “LowerRight”, and “None” |
offset | vector | Offsets the location of the text box on the label part in relation to its position |
width | number | The width of the text box, text may not appear if this is set too small |
height | number | The height of the text box, text may not appear if this is set too small |
rotation | vector | Rotates the text around the center of the text box |
emission | number | How much the label glows |
curvature | number | How much the label curves. The text can only curve along one axis, as the text characters are moved and rotated, not bent. |
outlineWidth | number | How large the outline is around characters |
Gauge | ||
type | string | The preset the gauge is set to. Can be: “Custom”, “Compass”, “Fuel”, “Throttle”, “Speed200”, “Speed400”, “Speed600”, “Altitude”, “Trim”, “TurnCoordinator”, “VerticalSpeed”,”RotorRpm”, “VTOL”, and “BankAngle” |
face | string | The type of face the gauge has. Can be: “AirSpeed200Indicator”, “AirSpeed400Indicator”, “AirSpeed600Indicator”, “AltimiterIndicator”, “AttitudeIndicator”, “FuelIndicator”, “HeadingIndicator”, “ThrottleIndicator”, “TrimIndicator”, “TurnCoordinatorIndicator”, “VerticalSpeedIndicator”, “VTOLIndicator”, “RotorRPM”, and “Basic1” (i checked, there isn’t a Basic2) |
trimType | string | Changes the type of trim around the dial. Can be: “Trim1” and “Trim2” |
scale | number | Scales the gauge in all three axis at once |
rotationType | string | Determines whether the dial rotates or the face rotates. Can be: “Face” and “Indicator” |
faceZero | number | Changes the zero position of the dial in degrees relatively to 90 degrees up and down. |
invert | boolean | Inverts the input of the face. Only does stuff when the gauge is set to rotate its face |
faceMultiplyer | number | Awaiting documentation |
faceInput | funky | The input to the face when the face is set to rotate, if there is code present, is advised not to change the default code without knowing what you are doing. |
hideBase | boolean | Hides the base of the dial |
hideFace | boolean | Hides the face of the dial |
hideTrim | boolean | Hides the trim on the dial |
faceEmission | number | How bright the face glows |
speedUnit | string | Setting for some presets, can be: “Knots”, “MetersPerSecond”, “MilesPerHour”, and “KilometersPerHour” |
altitudeUnit | string | Setting for some presets, can be: “Feet” and “Meters” |
Indicator | ||
input | funky | It is advised not to change the default code without knowing what you are doing |
invert | boolean | Inverts the output of the funky trees code |
indicator | string | The type of indicator used, can be “Indicator1”, “Indicator2”, “Indicator3”, “Indicator4”, “Indicator5”, “Indicator6”, “Indicator7”, and “None” |
multiplyer | number | Awaiting documentation |
zero | number | The zero position of the needle in degrees relative to 90 degrees up and down. |
AdditudeBall | ||
scale | number | Scales the part in all three axis at once. |
Button and Switch These parts require knowledge of Funky Trees to be used effectively (buttons and switches have some extra things exclusive to them, they are in the two subsections directly below this one) | ||
inputId | InputString | An input field with special properties. Will assign the set inputid as a variable to outputValue |
outputValue | number | The number that the variable “inputid” will be set to once the button or switch is activated |
interactionType | string | The type of interaction the button or switch will use. These are: “Once” (sets inputId to outputValue for one frame) “Toggle” (sets inputId to outputValue until the button or switch is pressed toggled off) “Continuous” (sets inputId to outputValue until the button or switch stops being pressed) |
tooltip | string | Sets the tooltip to the text you input. |
Button | ||
lightStrength | number | How bright the button lights up when pressed |
height | number | How tall the button is |
width | number | How wide the button is |
depthOff | number | How far the button is pushed out when unpressed |
dephOn | number | How far the button is pushed out when pressed |
dephBase | number | How long the base of the button is |
padding | number | How small the button is compared to the base |
Switch | ||
scale | number | Scales the switch in all three axis |
style | String | Changes switch style. Can be “Default”, “Flip”, “Rocker”, or “Pivot” |
BasicFrame and ModernFrame | ||
Nothing… | ||
Canopy | ||
opacity | number | How opaque the glass is |
showInside | boolean | Whether or not you can see the inside of the glass. (curator’s note. Please leave this as true, if you want it as false, make sure the glass isn't reflective) |
activationGroup | number | Which activation group opens and closes the canopy |
animationSpeed | number | How fast the canopy opens and closes |
dragWhenOpen | number | How much drag the canopy has when opened |
ControlBase (levers, yokes, throttles, and fighter throttles also use this) | ||
slerpMaximumForce | number | Awaiting documentation |
slerpSpring | number | The amount of force keeping the parts attached to the end of a control base aligned to the control base |
slerpDamper | number | Acts like dampening on a suspension spring. Be advised, the higher the value used, the weaker the overall holding force. |
positionMaximumForce | number | The maximum amount of force a control base can exert |
positionspring | number | The amount of force keeping the part connected to the control base aligned with its input If you set this up correctly, you can have a control base work like a suspension spring and a piston at the same time |
positionDamper | number | Acts like dampening on a suspension spring. Be advised, the higher the value used, the weaker the overall holding force. |
haptics | boolean | Whether or not the base and the things connected to it will have haptic feedback |
ignoreAircraftCollisions | boolean | Weather or not the part will collide with other parts |
RotationAxis (levers, yokes, throttles, and fighter throttles also use this) | ||
axis | vector | Which axis rotation will take place. Having multiple vectors set to a number other than 0 can cause issues |
input | inputstring | An input field with special properties, can be confusing to get working. (funky trees inputs may not work if they are not in a variable) |
scale | number | The output of the axis multiplied by X |
max | number | Max input |
min | number | Minimum input |
rotationMaxDistance | number | How far the axis can rotate |
ControlBinding (grips, fighter throttles, and yokes use this) | ||
control | inputstring | An input field with special properties, can be confusing to get working |
asButton | boolean | Awaiting documentation |
controlPath | string | Awaiting documentation |
processor | unknown | Awaiting documentation |
PosedGrip (anything a VR person can grab onto) | ||
pose | string | Changes the pose of the hand when grabbed, this can be changed regardless of the type of object being grabbed. Can be: “ThrottleJet”, “ThrottleCessna”, “Lever”, “YokeRight”, “YokeLeft”, “Test”, and “Joystick1” |
gripTarget | string | Is a string of some sort, but i cannot tell how exactly it works Awaiting documentation |
gripType | string | Awaiting documentation |
colliders | string | Is a string of some sort, but i cannot tell how exactly it works Awaiting documentation |
previewPose | string | Mirrors the hand pose on a grippable object, can be: “Left” or “Right” |
tooltip | string | Text that shows what the grippable object does |
screenXRotationAxisMap | vector | Awaiting documentation Seems to be the same as a ControlBase in how it works |
screenYRotationAxisMap | vector | Awaiting documentation Seems to be the same as a ControlBase in how it works |
screenAxisSize | vector | Awaiting documentation |
screenAxisDeadzone | vector | Controls the dead zone of moving the grip with your finger or mouse |
HeliTailRotor | ||
See PropEngineAdvanced and HeliMainRotor for most info, things unique to HeliTailRotor will be put here. | ||
pitchControlType | string | Is set to “Auto” by default. Changing this appears to do nothing |
pidGainsHeadingHold | other | A set of three numbers. Not sure what they do. Awaiting documentation |
pidGainsRate | other | A set of three numbers. Not sure what they do. Awaiting documentation |
tailSpeed | number | Changes when the “gyro speed” slider is moved. Awaiting documentation |
linkageSpeed | number | How fast the rotor will respond to changes (i think, awaiting documentation) |
tailMode | string | Can be “Rate”, “Manual”, and “HeadingHold” Am unsure of what these three do though. Awaiting documentation |
trimScale | number | How much trim affects turning, am unsure whether it is multiplicative or percentage based. |
Wheel-Resizable-1 (Somehow these were not added yet) | ||
turningAngle | number | The angle that the wheel steers at |
engineId | integer | The id of the engine that the wheel is connected to |
direction | string | Can be “Normal” or “Reversed” |
size | number | The size of the wheel |
width | number | The width of the wheel |
tire | string | The type of tyre that the wheel has. Can be any of the following: “Normal”, “Street”, “Offroad”, “Performance”, “Racing”, “Rugged”, “Tractor”, “Tractor2”, “ATV”, “Futuristic”, and “LandingGear” |
damper | number | How much the Built-in suspension spring will dampen a shock |
spring | number | How stiff the Built-in suspension spring is |
enableSuspension | boolean | Enables or disables the Built-in suspension |
enableAutoTraction | boolean | Not entirely sure what this does, i believe it just sets grip to 100% |
turningRate | number | How fast the wheel can change steering direction |
maxAngularVelocity | number | How fast the wheel can spin, not sure what unit it is in though |
brakeTorque | number | How fast the wheels slow you down when braking. Setting this high enough will lock the wheels |
slipForwardExtremum | number | Awaiting documentation |
slipForwardAsymptote | number | Awaiting documentation |
slipSidewaysExtremum | number | Awaiting documentation |
slipSidewaysAsymptote | number | Awaiting documentation |
tractionForward | number | How much traction the wheel has moving forward and backwards. Setting this too high can cause weird things to happen |
tractionSideways | number | How much traction the wheel has moving side to side. Setting this too high can cause weird things to happen |
hideRims | boolean | Hides the rim, only leaving the tire. |
Legacy parts These parts were removed from the part selector over the course of the game’s history for one reason or another, and are not officially supported by the devs. They work differently than other parts and may break in the future. They are still in the game for backwards compatibility reasons. These parts do have attributes, but are the same as some other parts listed above. so they will be listed by part type and with a description of what they do | ||
description | description | |
Engine-Prop-1 | An old propellor engine. Functions like a jet engine. Does Not need inlets | |
Engine-Prop-2 | The same as Engine-Prop-1, but is larger and more powerful | |
NoseCone-1 | An old nose cone. Looks cool | |
NoseCone-2 | The regular nose cone part, but without a scale attribute | |
Passenger-1 | For when you want an human analog in your cockpit instead of a VR human |
WRITTEN BY V (FLOWRIDER0)
WATERMARK
Section 5: useful tools
Funky Trees guide by SnoWFLakE0s
Be advised, the Funky Trees guide assumes complete mastery of basic XML modding.
Fuselage splitter by FairFireFlight
PNG to label converter hpgbproductions
Contributors
11qazxc
CovenantSlayer
WormWithLegs
PlaneFlightX
IICXLVIICDLXXXIIIDCXLVII
JesusChrist
ThomasRoderick
Wanna contribute? Just provide an explanation of something in here, find a few (non-grammar related) errors, or provide a new XML attribute that isn't on this list.
Everything here is listed under creative commons, just give credit if you copy and paste this somewhere.
Also i dont care if you edit this and reupload as long as the edits are meaningful.
Published 12/25/2021 by V (otherwise known as FLOWRIDER0) to https://www.simpleplanes.com