Add flight physics overhaul with Warium/Futurism mixins

- Route Warium and Futurism force queues through smoothed per-substep delivery
- Evaluate wing, stabilizer, control surface and air brake forces every physics substep
- Add optional improved flight model with angle-of-attack lift and stalls
- Add auto trim toggled by a client key and a server packet
- Add config options, translations, and mixin plugin version gating
- Bump mod version to 0.2.0 and bundle Futurism 0.0.4 as a compile-only dependency
This commit is contained in:
richard committed 2026-10-28 18:56:25 +01:00
1 parent 01817fbec1
commit 4b7fb0e1e8
37 files changed
+1954 -4

No files matched your search

+9 -1
View File
@@ -30,10 +30,18 @@ versionRange = "[2.4.11,)"
ordering = "AFTER"
side = "BOTH"
# Optional, for the planned Warium VS flight physics overhaul
# Optional, the flight physics changes only apply with Warium VS
[[dependencies."${mod_id}"]]
modId = "valkyrien_warium"
mandatory = false
versionRange = "[1.1.6,)"
ordering = "AFTER"
side = "BOTH"
# Optional, vectored afterburner thrust is smoothed as well
[[dependencies."${mod_id}"]]
modId = "futurism"
mandatory = false
versionRange = "[0.0.4,)"
ordering = "AFTER"
side = "BOTH"
@@ -0,0 +1,9 @@
{
"key.categories.improved_aerodynamics": "Improved Aerodynamics",
"key.improved_aerodynamics.toggle_auto_trim": "Automatische Trimmung umschalten",
"message.improved_aerodynamics.auto_trim.on": "Automatische Trimmung an",
"message.improved_aerodynamics.auto_trim.off": "Automatische Trimmung aus",
"message.improved_aerodynamics.auto_trim.unavailable": "Automatische Trimmung an, sie braucht aber physicsRateAerodynamics in der Serverkonfiguration",
"message.improved_aerodynamics.auto_trim.no_seat": "Setz dich in einen Warium-Steuersitz, um die automatische Trimmung zu nutzen",
"message.improved_aerodynamics.auto_trim.no_node": "Dieser Sitz ist mit keinem Vehicle Control Node verbunden"
}
@@ -0,0 +1,9 @@
{
"key.categories.improved_aerodynamics": "Improved Aerodynamics",
"key.improved_aerodynamics.toggle_auto_trim": "Toggle auto trim",
"message.improved_aerodynamics.auto_trim.on": "Auto trim on",
"message.improved_aerodynamics.auto_trim.off": "Auto trim off",
"message.improved_aerodynamics.auto_trim.unavailable": "Auto trim on, but it needs physicsRateAerodynamics enabled in the server config",
"message.improved_aerodynamics.auto_trim.no_seat": "Sit in a Warium control seat to use auto trim",
"message.improved_aerodynamics.auto_trim.no_node": "This seat is not linked to a vehicle control node"
}
@@ -0,0 +1,21 @@
{
"required": true,
"minVersion": "0.8",
"package": "dev.lumareth.improvedAerodynamics.flight.mixin",
"plugin": "dev.lumareth.improvedAerodynamics.flight.MixinPlugin",
"compatibilityLevel": "JAVA_17",
"mixins": [
"futurism.ForceInducedShipsMixin",
"warium.AirBrakeTickProcedureMixin",
"warium.ControlSurfaceTickProcedureMixin",
"warium.ForceInducedShipsMixin",
"warium.HorizontalStabilizerScriptProcedureMixin",
"warium.HorizontalWingScriptProcedureMixin",
"warium.VerticalAirBrakeTickProcedureMixin",
"warium.VerticalControlSurfaceTickProcedureMixin",
"warium.VerticalWingScriptProcedureMixin"
],
"injectors": {
"defaultRequire": 1
}
}