- Fixed the skin generation queue gets stuck when an error occurred
- Fixed setting skins by file
- Added missing translations
New skin system
- You can now use local image files as skin (docs)
- Skins set by URL or file can be made slim (docs)
- The skin cache system is improved
- A skin generation queue is added
- Skins should load more reliably
- You can set a MineSkin API key to speed up loading skins (tutorial)
When starting the server for the first time, it might take some time (depending on how many npcs with skins you have) to load all skins.
The API for setting skins also changed. Forget the SkinFetcher, now you only need to do the following:
npc.getData().setSkin("username / uuid / url / filename");
The old SkinFetcher API won't work in this version.
Other changes
- Added configurable missing permissions message for the
need_permission
action - Added feature flag to use native threads instead of virtual threads (enable it when you have problems with virtual threads)
- Added per-npc visibility distance (
/npc visibility_distance <npc> <distance>
) - Added configurable turn_to_player direction reset range
- Added play_sound action
- Added configurable npc update visibility interval
- Fixed skins via URL not working
- Fixed clearing npc equipment via command
- Fixed display name not always visible when npc type is not player (you needed to look at the entity - now it's always visible)
- Fixed the
register_commands
not working
API changes
- Added NpcLoadedEvent (fired when all NPCs are loaded)