-
Notifications
You must be signed in to change notification settings - Fork 73
Custom Upgrades
Using datapacks, you can declare any item as an upgrade.
An example datapack can be found here: https://github.com/Luke100000/ImmersiveAircraft/raw/1.21.1/wiki/example_data_pack.zip
Generally, the structure is:
- data
- namespace
- aircraft_upgrades
- aircraft
- pack.mcmeta
Where aircraft_upgrades are upgrades applied to the item namespace:file_name. So, for a vanilla item, use the namespace minecraft namespace.
The content of the file is a mapping between stats and a relative improvement, usually between -1 and inf; the eco engine, for example, contains
{
"engineSpeed": -0.2,
"fuel": -0.75
}With following available stats:
-
engineSpeed - In-air thrust scale; affects acceleration and stall susceptibility when climbing.
-
verticalSpeed - Rate of vertical movement (climb/descent) per tick.
-
yawSpeed - Turn rate (degrees per tick) around the vertical axis.
-
pitchSpeed - Pitch up/down rate (degrees per tick).
-
pushSpeed - Ground push force when throttle is below 100% and pressing forward/back.
-
brakeFactor - Multiplier for braking efficiency.
-
acceleration - Engine response speed multiplier.
-
durability - Vehicle durability multiplier.
-
fuel - Fuel consumption multiplier.
-
friction - Air resistance affecting the aircraft.
-
glideFactor - Forward speed gained from descent.
-
lift - Adjusts how quickly the velocity vector aligns with the nose direction.
-
rollFactor - How sharply the aircraft banks when rolling left/right.
-
groundPitch - Target nose angle on the ground.
-
stabilizer - Auto-levels pitch.
-
wind - Wind-induced sway effect.
-
mass - Aircraft mass affecting how it reacts to wind.
-
hud - HUD display setting.
-
dials - Instrument dial display setting.
-
groundFriction - Friction applied when on the ground.
-
waterFriction - Friction applied when on water.
-
rotationDecay - Rotational inertia decay.
-
horizontalDecay - Horizontal motion decay.
-
verticalDecay - Vertical motion decay.
As a reference, here are the inbuilt ones: https://github.com/Luke100000/ImmersiveAircraft/tree/1.21.1/common/src/main/resources/data/immersive_aircraft/aircraft_upgrades
And the base values for each aircraft: https://github.com/Luke100000/ImmersiveAircraft/tree/1.21.1/common/src/main/resources/data/immersive_aircraft/aircraft