Paragliders

BotW style Paraglider

File Details

Paraglider-neoforge-21.5.0

  • R
  • Jul 3, 2025
  • 632.83 KB
  • 161
  • 1.21.5
  • NeoForge

File Name

Paraglider-neoforge-21.5.0.jar

Supported Versions

  • 1.21.5

Curse Maven Snippet

NeoForge

implementation "curse.maven:paragliders-289240:6726512"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

As cheesy as it might sound, this update may well be considered a "2.0" update; while playable part of the mod remains mostly unchanged, a significant portion of the codebase has undergone redesigns and refactors. Paraglider now offers more robust APIs for integration and customization, including but not limited to: New decimal-based stamina API; Variable wind height; And attributes for max stamina and stamina efficiency.

Also of note is that the mod will now focus on only the NeoForge releases in 1.21.x and forward. As maintaining two release targets and ensuring quality of both versions has proved rather difficult, and not worth the trouble arising from all the technicalities, henceforth I will instead focus on a single release target and try to ensure best possible quality. Apologies for the inconvenience.

This is an initial port to NeoForge. A backport to 1.21.1 NeoForge will follow.

 

Playable Features

 

New Item: Energizing Elixir

Replenishes stamina when consumed. Takes shorter time than regular potions to use. Has three tiers; tier 2 and 3 also reduces stamina usage for set duration.

  • First tier of Energizing Elixir can be made by mixing a bottle of water with a carrot, then boiling it in a furnace. Smoker and campfire also works.
  • Second tier of Energizing Elixir can be made on brewing stand, with water bottle and a carrot.
  • Third tier of Energizing Elixir can be made on brewing stand, with second tier of Energizing Elixir and a glowstone.

 

New Item: Enduring Elixir

Replenishes stamina fully when consumed; also gives "extra" stamina outside ouf primary stamina wheel. Takes shorter time than regular potions to use. Has three tiers.

  • First tier of Enduring Elixir can be made by mixing a bottle of water with a golden carrot, then boiling it in a furnace. Smoker and campfire also works.
  • Second tier of Enduring Elixir can be made on brewing stand, with second tier of Energizing Elixir and a golden carrot.
  • Third tier of Energizing Elixir can be made on brewing stand, with second tier of Enduring Elixir and a glowstone.

 

Minor Additions

  • Vaults and Ominous Vaults, found in Trial Chambers, will give Spirit Orbs. Default drop rate is 2 for regular Vault, and 4 for Ominous Vault.

 

Rebalancings

  • Amount of Spirit Orbs dropped from Spawner is changed from 2 to 1.
  • Wind interactions received minor improvements: Now players are able to rest on top of wind column, and not do the weird bobbing motion. Logic for wind placement is also smarter; wind now can pass through partially blocked surfaces, like fences. Wind can also pass through copper grates; this behavior can be controlled with block tags.
  • Spawn distance for non-village structures ("Tarrey Town" goddess statue, underground horned statue, nether horned statue) were adjusted.

 

Configurable Features & Internal Changes

 

New Stamina System

The previous stamina system was designed around the basic 3-wheel renderer modeled after BotW. While I tried to provide as many configuration options possible, the three wheels were still a massive limitation. This is the reason previous iteration of the mod always forced full max stamina to be exactly 3 wheels large, and partly why benign things like max stamina value were tightly locked behind a handful of limited config options.

In this release, I've revisited the option, and implemented the new version of stamina wheel; before anything else, it can express stamina exceeding the basic three wheels, shown like the image above. In addion to the rendering changes, a few major changes are also made.

  • The amount of stamina per wheel is now fixed to 1000 per wheel; previously, it was a variable value controlled by the config.
  • Configuration option for Stamina Vessels were changed; now the amount max stamina gained for each Stamina Vessel is a config option, instead of a weird inferred property based on max Stamina Vessel count and max stamina.
  • "Extra stamina" system is implemented and incorporated into the preexisting stamina system.
  • And, possibly the most important change, is that the max stamina is now based on an attribute "paraglider:max_stamina".
  • Actually, no. The most important change is the base type change from int to double.

Note that the default config option stil caps you out at 3 wheels; to have more stamina wheels, increase maximum possible stamina in config. Be warned that too much stamina may be a bit... overpowered, especially when combined together with the potions newly added.

 

Wind Source Datapack

Wind source, previously a config option, is re-implemented as a datapack. Full write-up about its specs are still in works, but you will be able to find it in the repository wiki, once it is done.

With the new system, wind sources can now have variable height. This is one of the most frequently requested feature, and the one which I have no excuses besides a severe lacking of skill*. Still, exceedingly high wind height can greatly increase the amount of blocks the game needs to traverse in order to find wind sources, and lead to degradation of game performance. You have been warned.

*: It was mostly because "The vanilla firework particle fits perfectly with my 10m long wind column, variable wind height will just ruin this thing!." Apparently past me didn't know you could make a custom particle. Or didn't care enough.

 

"Stamina Efficiency" API

Stamina Efficiency is successor of the previous Stamina Reduction API. While being basically same in both design and structure, it has a critical difference: It does not produce linearly uniform changes; instead, it now uses a different mathematical formula. Also the system as a whole is a lot more feasible to use because stamina is no longer an integer. :p

The new formula provides continuous bonus for given value - it means that the expected value does not get blown up to infinity as it approaches certain value. This was the oversight of the previous API, which produced increasing effectiveness per given value as total bonus approached +100%. In order to combat this problem, Stamina Reduction API included the option to set min/max bonus cap - a design decision which prevented Paraglider to provide implementations beyond the bare bones API. The new system produces predictable amount of bonus per value even when stacked with unknown number of other effects, and thus has no arbitrary boundary options.

With the renewal of the API, and introduction of new formula, I added a bunch of attributes that affects stamina delta of player states:

  • "paraglider:stamina_efficiency" : Applies efficiency modifier to all player states with negative delta; in other words, actions consuming stamina. Does not affect efficiency of non-playerstate stamina delta. 
  • "paraglider:stamina_recovery" : Applies efficiency modifier to all player states with positive delta; in other words, actions replenishing stamina. Does not affect efficiency of non-playerstate stamina delta.
  • "paraglider:paragliding_stamina_efficiency" : Stamina efficiency modifier for paragliding actions.
  • "paraglider:running_stamina_efficiency" : Stamina efficiency modifier for running actions.
  • "paraglider:swimming_stamina_efficiency" : Stamina efficiency modifier for swimming actions.

Low-level API for custom stamina efficiency logic is also available. All addon-mediated actions modifying stamina are highly encouraged to support modification to the stamina consumption/restoration through stamina efficiency API.

And I probably missed something here and there. The whole codebase has been turned upside down. If you are an addon dev, chances are you'll have at least one compilation error on your project. Excepting MC version differences, that is. Check the code if you want to see the full change. Have a nice day.