Immersive Aircraft [Fabric/Forge]

Immersive Aircraft [Fabric/Forge]

14M Downloads

Expanded Ad Astra compatibility

Erdragh opened this issue ยท 7 comments

commented

As it stands currently, immersive aircraft can fly as if there was normal gravity/atmosphere regardless of the dimension they're in. Ad Astra implements different gravity for different dimensions.

It would be nice if immersive aircraft would react to these environmental changes. I've tried to add that myself but I'm not bright enough to understand the physics calculations going on in this mod.

commented

If you would be accurate, without atmosphere not a lot of aircraft would work.. so the compatibility should be : remain motionless.

commented

I looked into the api and integrated gravity. But I don't know how to make ad astra an optional dependency code wise.

commented

If you would be accurate, without atmosphere not a lot of aircraft would work.. so the compatibility should be : remain motionless.

Yea but Glacio has an atmosphere, also oxygenated areas (IDK why you would use an aircraft in a tight space, as most of the oxygenated areas are)

commented

A dimension blacklist in the configs would be amazing, making it so aircraft don't even start their engines, accompanied by maybe some tip saying so.

commented

For the Gravity API, see: #188

commented

If you would be accurate, without atmosphere not a lot of aircraft would work.. so the compatibility should be : remain motionless.

The most immersive thing would be to have the parts that should be moving, moving. For example on the biplane, having the propeller move but without achieving any propulsion.

As it stands though, as of time of writing, Ad Astra does not have an atmosphere API which would give the atmospheric density, only an oxygen API. Because of that the best effort implementation would be, in my opinion, to

  • Assume the standard atmospheric density when a planet has oxygen
  • Prevent takeoff etc. when there is no oxygen
  • Allow overriding where it's possible and where not with a config, datapack, etc.

I would make another PR for that, but I'll reiterate that I have no idea about the physics going on here so I have no idea where to begin playing around.

commented

I looked into the api and integrated gravity. But I don't know how to make ad astra an optional dependency code wise.

  1. Depend on it as you normally would with Gradle
  2. Only load the classes related to it if Ad Astra is present, which you can check on both loaders pretty easily using Ad Astra's modid