Improved skin part inference in the BD Engine datapack converter.
Added converter execution options.
--defaults: Uses default values for metadata input.--swap-left-right: Swaps arm/leg markers when left and right are reversed due to BD Engine coordinate differences.Regenerated skin markers for the default example emote datapacks.
cry, hello, no, and yes example packs.This v0.3.0 update focuses on adding MineSkin support, expanding pack.json options, enabling loop playback, and improving skin processing stability.
pack.json Options Field Addedoptions field has been added to pack.json.loop, sync loopplay_anim_loop.mcfunction can now use loop animations.loop to options generates additional playback entries such as default_loop.Reworked handling for classic/slim and 64x32 / 64x64 skins.
→ Reduced issues where baked skins had incorrect orientation or referenced wrong parts.
Fixed slim arm baking flow. → Corrected an issue where the wrong arm region was being read.
Loop playback no longer stops automatically. → Loop animations continue until manually stopped.
Removed emote playback success message.
→ /emote play ... no longer sends a success message in chat.
This update focuses on the new emote pack registration system, pack.json-based loading and permission handling, improved reload behavior, and overall server management cleanup.
pack.json-Based Emote Pack Registrationpack.json configuration file.pack.json, including datapack_identifier, name, command_name, description, and default_animation_name.pack.json are treated as valid and loadable emote packs.permissions section in pack.json./emote reload Behavior/emote reload now reloads both config.json and pack.json.cfg=..., identifier=..., and emotes=..., with (resource reload) shown when applicable.emote-dialog-shortcut datapacks has been removed.Emote is a Minecraft Fabric emote player compatible with BD Engine humanoid exports. It supports server-side emote playback from datapacks, and if the client also has the mod installed, the emote model can use the player's current skin so it looks more like the player.
/emote command with menu, list, play, stop, and reload actionsemote:* skin markersmods folder.datapacks folder./emote reload./emote or /emote play <emote>.Client installation is optional.
/emote/emote menu [page]/emote list/emote play <emote> [animation]/emote stop/emote reloadEmotes are loaded from datapacks.
Datapacks are usually prepared directly from a BD Engine export zip with prepare_emote_datapack.py. The tool generates the required metadata, adds the emote:* markers needed for player skin support, and writes the result as a .emote.zip file that can be placed in the datapacks folder.
Usage:
python docs\prepare_emote_datapack.py path\to\project.zip
The main config file is stored at config/emote/config.json.
menu_page_size sets how many emotes are shown per menu page.player_skin_port sets the port used for the built-in skin texture endpoint. Use 0 for automatic selection.emote_permission sets the default permission required to use emotes.emote_permissions allows per-emote permission overrides.The mod also writes an example datapack metadata file to config/emote/datapack/emote-datapack.example.json.
This project is licensed under the Apache License 2.0.