Skip to content

Feature - Emotes API - #286

Merged
ItsNature merged 2 commits into
version/1.2.7from
feature/emotes
Jun 3, 2026
Merged

ItsNature merged 2 commits into
version/1.2.7from
feature/emotes

Conversation

@ItsNature

@ItsNature ItsNature commented May 28, 2026 •

Copy link
Copy Markdown
Collaborator

Overview

Description:
Adds NPC emote support to the Cosmetic module, allowing servers to play, stop, and reset emotes on NPC entities. Also adds a copyLocalCosmetics option to the NPC equip flow so an NPC can mirror each recipient's own equipped
cosmetics.

Changes:

  • New Emote builder (id & metadata).
  • New CosmeticModule API:
    • startNpcEmote(Recipients, UUID, Emote)
    • stopNpcEmote(Recipients, UUID)
    • resetNpcEmotes(Recipients)
    • equipNpcCosmetics(Recipients, UUID, List<Cosmetic>, boolean copyLocalCosmetics)

Code Example:
Equip cosmetics on an NPC, copying the recipient's own cosmetics

public void equipNpcCosmeticsCopyLocalExample(UUID npcUuid) {
    this.cosmeticModule.equipNpcCosmetics(Recipients.ofEveryone(), npcUuid, new ArrayList<>(), true);
}

Start an emote on an NPC

public void startNpcEmoteExample(UUID npcUuid) {
    Emote emote = Emote.builder()
        .id(56)
        .build();

    this.cosmeticModule.startNpcEmote(Recipients.ofEveryone(), npcUuid, emote);
}

Review Request Checklist

  • Your code follows the style guidelines of this project.
  • I have performed a self-review of my code.
  • I have tested this change myself. (If applicable)
  • I have made corresponding changes to the documentation. (If applicable)
  • The branch name follows the projects naming conventions. (e.g. feature/add-module & bugfix/fix-issue)

@ItsNature ItsNature added type: Documentation Documentation improvement or issue type: Enhancement Feature improvement or addition labels May 28, 2026
@ItsNature ItsNature mentioned this pull request May 28, 2026
@ItsNature
ItsNature merged commit 3380cbf into version/1.2.7 Jun 3, 2026
2 checks passed
@ItsNature
ItsNature deleted the feature/emotes branch June 3, 2026 17:42
ItsNature added a commit that referenced this pull request Jun 8, 2026
* Deploy as `1.2.7-SNAPSHOT`

* example(internal): persistent npcs (#280)

* Add `PERSIST_COLORS_ON_UNLOAD` to ColoredFireModule (#281)

* Add modern Custom Model Data (#284)

* fix(velocity): legacy player detection (#285)

* Various additions to the Waypoint Module (#283)

* Feature - Emotes API (#286)

* Emotes API

* Update module overview

* Sync LunarClient Mods & Options (#288)

Co-authored-by: LunarClient Bot <lc-bot@moonsworth.com>

* Bump to 1.2.7 (#289)

---------

Co-authored-by: LunarClient Bot <lc-bot@moonsworth.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: Documentation Documentation improvement or issue type: Enhancement Feature improvement or addition

Development

Successfully merging this pull request may close these issues.

3 participants