Scarves 1.4.4+1.21.1

Changelog

Data Driving... Now With Sodium!

Bugfixes

The main reason for this release is to fix a pretty bad bug where scarves fail to position correctly when Sodium is present. A lot of math is "factored out" by Sodium, resulting in efficient reuse of pre-computed values, but this prevents me from grabbing some data directly off the models. If Sodium is detected, the missing data is estimated. It's not perfect, but it's actually pretty darn close considering what is lost.

Known bugs in this system: Elytra flight, especially in third person, has poor scarf adhesion. This has always been a problem case because the player doesn't lean from the same pivot that they do when swimming or crouching.

Compatibility Updates

This release also cuts two mixins by moving some information from code to data. Bees and foxes are implemented internally using the same system mods can use to add their own support for scarves.

To add support, you need to do two things:

  • Add or set aside whatever slot that scarves should sit in. By convention, most entities use the "head/left_scarf" trinket slot.
  • Include static data in the scarves/slot_configs path. (as in, src/main/resources/staticdata/scarves/slot_configs/whatever.json). You don't need to depend on staticdata, just have the json in your mod jar. Check the Scarves source for examples, or ask me for details!

Known bugs in this system: Tameable entities that prioritize sitting over item use, such as cats and wolves, will prevent the scarf item from pinning to them automatically. Additionally, highly animated entities may visually "bug out" or flicker if scarves are pinned to a modelpart like "body" instead of "". Minecraft's animations appear to rely on stateful behavior in the entity model. Pin to the entity root if possible, it's faster!

Files

scarves-1.4.4+1.21.1.jar(670.05 KiB) Primary Download

Project members

falkreon

Owner

Details

Licensed MIT
Created 3 years ago
Updated 4 months ago