PMweather Aeronautics compat

This mod allows sable objects to be influenced by the wind and weather from Protomanly's Weather mod

PMWeather Aeronautics

PMWeather Aeronautics connects ProtoManly’s Weather wind with Sable/Create Aeronautics physics objects. It lets moving Sable contraptions react to PMWeather wind, storms, and tornadoes using exterior aerodynamic pressure instead of simple center-point pushing.

The mod builds a cached exterior surface patch profile from the real exposed faces of a Sable object, samples PMWeather wind across those surfaces, and passes the resulting force and torque into Sable. Sable/Rapier then handles the actual movement, mass, inertia, rotation, collisions, and physics interactions.

Features

  • PMWeather wind affects Sable/Create Aeronautics contraptions.
  • Full exterior surface patch aerodynamics for sealed builds, large ships, irregular shapes, roofs, walls, edges, and exposed undersides.
  • Cached exterior patch profiles reduce repeated shape calculations.
  • Realistic capped differential pressure torque lets objects yaw, roll, and tumble from uneven wind pressure without returning to unstable fake spin.
  • Local airflow lift sampling checks wind at the actual lift-provider position instead of using one object-wide wind value.
  • Fair wind-sample budgeting keeps many active Sable objects from overloading the server.
  • Tornado wind, suction, configurable updraft behavior, and smooth gust variation.
  • Sable-based force pipeline for natural mass, inertia, rotation, and collision handling.
  • Debug commands for checking wind, sample usage, cache behavior, and detailed object behavior.

Useful Tips

If objects are not reacting to wind, check that PMWeather wind speed is above the configured threshold:

[general]
windThreshold = 8.0

For general gameplay, the default 0.7 settings should be fine:

[body_wind]
windInfluence = 2.0
aeroPatchPressureStrength = 1.0
maxImpulsePerSubstep = 900.0
maxAirRelativeVelocityCorrectionPerSubstep = 0.25

[differential_torque]
enableDifferentialPressureTorque = true
differentialPressureTorqueStrength = 0.45
maxDifferentialTorqueImpulse = 180.0

[aero_patch_sampling]
maxAeroPatchSamplesPerObject = 512
minAeroPatchDetailPercent = 0.05
minAeroPatchCount = 6
maxCachedAeroPatches = 4096

[performance]
bodyWindSampleIntervalTicks = 5
maxWindSamplesPerTick = 512

If small or basic airborne objects look too stale and do not rotate enough, try increasing differential torque slightly:

[differential_torque]
differentialPressureTorqueStrength = 0.6
maxDifferentialTorqueImpulse = 240.0

If many active Sable objects cause TPS drops, lower the global wind sample budget:

[performance]
maxWindSamplesPerTick = 256
maxAeroPatchSamplesPerObject = 128
bodyWindSampleIntervalTicks = 10

If you want smoother or more detailed wind interaction for testing, use a higher sample budget:

[performance]
maxWindSamplesPerTick = 1024

[aero_patch_sampling]
maxAeroPatchSamplesPerObject = 1024
minAeroPatchCount = 12

Version 0.7.0 uses a cleaned-up config. Older 0.5.x/0.6.x config files may be backed up and regenerated so the new settings can appear correctly.

If needed, delete or edit:

config/pmweather_aeronautics-common.toml

The mod will regenerate the config with the latest settings.

Commands

All commands are under:

/pmaero

Check PMWeather wind at your current position:

/pmaero wind

This shows the sampled wind vector, wind strength, and tornado/updraft-related information.

Check current wind sample usage:

/pmaero samples

This gives a one-time report of sample usage, cache hits, active objects, patch sampling behavior, and whether the global sample limit is being reached.

Enable live sample monitoring:

/pmaero samples live on

This shows live sample stats in the action bar while testing.

Disable live sample monitoring:

/pmaero samples live off

Start detailed wind debugging:

/pmaero winddebug start

This writes detailed Sable wind interaction data to:

logs/pmweather_aeronautics_sable_wind_debug.csv

Stop detailed wind debugging:

/pmaero winddebug stop

Check whether detailed wind debugging is currently running:

/pmaero winddebug status

Debugging Tips

Use /pmaero samples live on when testing many contraptions to see whether the wind sample budget is being hit.

Use /pmaero winddebug start only when you need detailed information, because the CSV can grow quickly.

For best debugging results:

  1. Start wind debug.

  2. Reproduce the issue for 5–20 seconds.

  3. Stop wind debug.

  4. Check or share the generated CSV file.

Notes

PMWeather Aeronautics does not directly set object velocity or force objects into fake tornado paths. It calculates external wind pressure, updraft, and realistic capped torque, then lets Sable handle the final physics result.

The 0.7.0 version is a breaking config cleanup and exterior aerodynamics rework. It replaces the older fixed aerodynamic profile approach with a full exterior surface patch system.

The PMweather Aeronautics compat Team

profile avatar
Owner
  • 1
    Followers
  • 4
    Projects
  • 1.5K
    Downloads