apace100 / apoli

MIT License
40 stars 46 forks source link

Add `modify_bounciness` power type. #116

Open MerchantPug opened 1 year ago

MerchantPug commented 1 year ago

This PR adds the apoli:modify_bounciness power type. This changes the multiplier at which the player's existing velocity is applied upon landing on something.

Fields

Additional Info

This power may be a nightmare for compatibility with bouncy modded blocks, this is because there is no shared bounciness field in the base block class, they instead opted for hardcoded bounciness. I have tried circumventing this by adding a BouncinessMultiplierRegistry, which stores multipliers for bounciness for specific classes to use when this power is active.

MerchantPug commented 1 year ago

I think that the BouncinessMultiplierRegistry should not be a hardcoded thing now looking back at this.

MerchantPug commented 1 year ago

I'll be rewriting the hardcoded bounciness registry into a new thing for all power classes that allow them to define global data through datapacks.