Published using Google Docs
SIMPLECHEATS II
Updated automatically every 5 minutes

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.

Section 4, all XML attributes

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 {}.

Label text formatting guide

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