Luke100000 / ImmersiveAircraft

Various vanilla-friendly aircraft to explore the world at a higher pace.
https://modrinth.com/mod/immersive-aircraft
GNU General Public License v3.0
41 stars 28 forks source link

Ad Astra compatibility #115

Open Erdragh opened 7 months ago

Erdragh commented 7 months ago

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.

Hybris95 commented 6 months ago

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

Luke100000 commented 6 months ago

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

kienerxyzzy commented 1 month ago

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)

MatiCugno69 commented 1 month ago

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.

Erdragh commented 1 month ago

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
Erdragh commented 1 month ago

For the Gravity API, see: https://github.com/Luke100000/ImmersiveAircraft/pull/188

Erdragh commented 1 month ago

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

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.