Mods / Entity Emote Library

Tags: #Library
Author: PureWinter
Side: Both
Created: Sep 11th at 7:26 AM
Last modified: Sep 11th at 6:12 PM
Downloads: 45
Follow Unfollow 13

Latest release (for Vintage Story 1.21.1, potentially outdated):
entityemotelib_1.0.0.zip  1-click install


-The only reason I hadn't released it was not power testing it, so let me know if there are any major issues.


⋗This framework allows modders to use easy json lines to add custom animations to any entity, including a dynamic GUI and forgiving, silent failures (rather than crashes.)
⋗Works with and without Jaunt smoothly. Can be used for NPCs, pets, mounts (ridden or from ground). Auto detects entities within 6 blocks and only plays to one at a time.
(Unless you emote from script, you could potentially create cut scenes for NPC interactions or pet behavior.)
⋗You can incorperate it into your own entity mods, or create patches for existing mods to add custom emote animations to them!

Short video clip on the discord.

See Wiki (above) to get started.

 



Some features:
⋗Client/Server sync.
⋗Smooth mouse over highlighting of wheel, draggable by clicking and holding the middle, renders over everything, remembers position between reloads.
⋗Change the GUI wheel hotkey directly in game. (Default is ; )
⋗Dynamic GUI automatically adds and subtracts buttons based on the number of emotes added.
⋗Accepts text labels (with nice automatic line stroking edges and resizing of your labels as needed) that can be localized!
⋗Accepts png's with transparency - 64x64 is probably best. :)
⋗3 emote types! Play once, play x number of times, loop. (VERY light weight! Only calls a start/stop, is not constantly calculated.)
⋗Safe handling of chunk loading/unloading/players logging in mid-emote.
⋗Using a toggling emote disables AI wandering and animating while toggled, but is more of a gentle 'soft lock' and will eventually wear off most of the time, which prevents any issues or errors.
⋗Smart automatic detection system of nearby entities, preferring the one you are looking, or the one you are riding.
⋗Multiplayer server support: Configs to easily prevent emoting other people's mounts (while still being able to emote on pets or npcs!)
⋗Prevention of spam clicking in multiplayer.
⋗Completely open source! Want to do xyz? I DON'T CARE DON'T ASK JUST DO IT. Simply credit me if something was useful.
⋗Full commentated debugging dev-branch on GitHub that prints a lot of info about what is happening in game to logs as you try to add things, if needed- many config options.

 

 

Server Config
{
"restrictToMountedOnly": false,
"respectEntityIsMountable": true
}

restrictToMountedOnly → When true, players can only trigger emotes on the entity they are currently riding.
respectEntityIsMountable → When true, entities with "ismountable": true in their JSON will block outside emotes. Pets with "ismountable": false remain free for nearby emote control.

*By default, you should not be able to emote an entity that is currently being ridden by someone else, reguardless of config.


How the mod works before configs:
You stand near any entity that has emote behavior in their json and hit the GUI hotkey ( ; by default, change directly in game settings ), and if you are within 6 blocks the GUI will fill up with whatever emotes were assigned to it, dynamically. You may also ride an entity, and the GUI will appear for what you are riding instead. 

The configs are intended for multiplayer server owners who don't want 'everyone can emote anything' behavior, so you can only distance-emote 'pets' (things marked unmountable in json) or otherwise have to be riding the entity you want to emote with. (A way of respecting ownership in multiplayer.) I recommend leaving 'freedom mode' on by making both config options 'false' especially in singleplayer. 

In the future I may add distance emoting via holding the flute of mounts, but it adds a lot more layers of logic- and more layers = more chances for less stability so I'm pretty happy with the mod as-is.

 

 

 

 

Mod Version For Game version Downloads Released Changelog Download 1-click mod install*
1.0.0 45 Sep 11th at 6:12 PM Empty entityemotelib_1.0.0.zip 1-click install

0 Comments (oldest first | newest first)

 (edit comment delete)
Основной веб-сайт | Почтовый сервер | FTP сервер | Административная панель | API интерфейс | Content Delivery Network | Статические файлы | Ресурсы сайта | Изображения | Файловое хранилище | Блог | Интернет-магазин | Техническая поддержка | Справочная система | Документация | Форум | Новости | Загрузки | Демонстрация | Тестовая среда | Приложение | Медиа контент | Разработка | Промежуточная среда | Бета версия | Безопасная зона | Вход в систему | Панель управления | Портал | Система управления контентом