Skip to content

Features

iam edited this page Oct 11, 2024 · 3 revisions

Display Entities

This library uses display entities.

Changing Bone Textures vs Horse Armor Color

All other multipart entity systems use leather armor for the base material of bones and change the color of the leather armor to update the color of the bone. This has the limitation that the color of dark bones cannot be changed.

WSEE takes a different approach. Instead of changing the leather armor color, the item itself is swapped out for another item with a different texture. This allows for not only more accurate hit colors, it lets you change the texture completely. For example, a state could exist where the entity is completely white, and only has its normal texture applied when a player gets closer.

Efficiency

This library was designed with cpu and memory efficiency in mind. Certain strategies were used to speed up calculations and lower memory usage

Bone Interpolation Caching

When animating a model, keyframes are used. These keyframes define at what time a bone should be in which position and rotation. Keyframes are not defined for every single tick, meaning that values must be interpolated. To speed up computation, when a model is loaded, position and rotation values are calculated for every bone in every animation, and stored. This means that when a bone is drawn, no interpolation calculation needs to be done, increasing drawing speed.

Usage of Static Caches

The caching described above is done in a static variable, meaning that once the model is loaded once, all models of the same type can use that cache, reducing memory usage.

Minestom

This library is designed to be used with Minestom. Because of this, servers using this library will use less resources than a server using ModelEngine and Spigot.

Clone this wiki locally