Back to NxLabs

NxLabs / Vintage Story

EmojiMe

ZBy Zynth

+4200 Twemoji emoji in chat with +8000 shortcodes following the Unicode CLDR standard. Animated too!

EmojiMe

Description

A Vintage Story mod that adds +4200 emoji to chat, with support for custom server-side emoji packs - including animated GIF and WebP.

Features

 
  • +4200 built-in emoji - powered by the full Twemoji SVG set
  • +8000 shortcodes - type :fire:, :thumbsup:, :grinning: etc. (case-insensitive)
  • Text smileys - :), :D, ;), <3, XD and more convert automatically (can be disabled)
  • Unicode emoji - paste or type raw emoji characters
  • Skin tones and combined emoji - variants like 👍🏽 and compound emoji are supported
  • Custom emoji packs - server admins add packs server-side, emoji images are sent to players on demand when used in chat
  • Animated emoji - GIF and animated WebP play directly in chat

Installation

 
  1. Download the latest release
  2. Place the EmojiMe ZIP in your Vintage Story Mods folder
  3. Restart the game
 

Shortcode Format

 
Shortcodes follow the Unicode CLDR standard, with additional aliases from Telegram, GitHub (gemoji), and Slack/Discord (iamcal/emoji-data). Matching is case-insensitive. Wrap a shortcode name in colons. See the full list of supported shortcodes.
 
<table style="border-collapse: collapse; width: 100%;" border="1"> <tbody> <tr> <td style="width: 30%;">Shortcode</td> <td style="width: 70%;">Result</td> </tr> <tr> <td style="width: 30%;">:fire:</td> <td style="width: 70%;">Fire emoji</td> </tr> <tr> <td style="width: 30%;">:thumbsup: or :+1:</td> <td style="width: 70%;">Thumbs up emoji</td> </tr> <tr> <td style="width: 30%;">:grinning:</td> <td style="width: 70%;">Grinning face emoji</td> </tr> </tbody> </table>
&nbsp;

Configuration

&nbsp;
EmojiMe creates a config file at ModConfig/emojime.json on first run. Available options:
&nbsp;
<table style="border-collapse: collapse; width: 100%;" border="1"> <tbody> <tr> <td style="width: 30%;">Option</td> <td style="width: 20%;">Default</td> <td style="width: 50%;">Description</td> </tr> <tr> <td style="width: 30%;">AutoConvertSmileys</td> <td style="width: 20%;">true</td> <td style="width: 50%;">Convert text emoticons like :) and :D to emoji automatically</td> </tr> <tr> <td style="width: 30%;">EmojiSize</td> <td style="width: 20%;">0</td> <td style="width: 50%;">Size in pixels for built-in emoji (8-128, 0 = match font size)</td> </tr> <tr> <td style="width: 30%;">AnimationMaxFps</td> <td style="width: 20%;">20</td> <td style="width: 50%;">Maximum frames per second for animated emoji (1-60)</td> </tr> <tr> <td style="width: 30%;">PreloadAnimations</td> <td style="width: 20%;">true</td> <td style="width: 50%;">Extract all animation frames on join instead of on first use. Disable for large packs (hundreds of animated emoji) to avoid slow initial load.</td> </tr> </tbody> </table>
&nbsp;

Custom Emoji Packs

&nbsp;
Server admins can add custom emoji packs. Players don't need to install anything - emoji images are sent on demand when used in chat. Just type the shortcode and the emoji appears.
&nbsp;
Create a folder in VintagestoryData/ModConfig/emojime/packs/ with a pack.json and an emojis/ subfolder containing your images. Supported formats: SVG, PNG, JPG, WebP, and GIF. Animated WebP and GIF play automatically in chat.
&nbsp;
Example pack.json:
<pre>{ "name": "My Custom Pack", "prefix": "mypack", "maxSize": 64, "emojis": { "kappa": "kappa.png", "dance": "dance.gif", "wave": "wave.webp" } }</pre>
&nbsp;
<table style="border-collapse: collapse; width: 100%;" border="1"> <tbody> <tr> <td style="width: 20%;">Field</td> <td style="width: 15%;">Required</td> <td style="width: 65%;">Description</td> </tr> <tr> <td style="width: 20%;">name</td> <td style="width: 15%;">Yes</td> <td style="width: 65%;">Display name for logging</td> </tr> <tr> <td style="width: 20%;">prefix</td> <td style="width: 15%;">No</td> <td style="width: 65%;">Namespace for shortcodes (defaults to folder name)</td> </tr> <tr> <td style="width: 20%;">maxSize</td> <td style="width: 15%;">No</td> <td style="width: 65%;">Maximum render size in pixels (8-128, default 128)</td> </tr> <tr> <td style="width: 20%;">emojis</td> <td style="width: 15%;">Yes</td> <td style="width: 65%;">Maps shortcode names to image filenames in the emojis/ subfolder</td> </tr> </tbody> </table>
&nbsp;
Using custom emoji:
Each custom emoji gets two shortcodes:
  • Bare shortcode (e.g. :kappa:) - works if it doesn't conflict with a built-in emoji
  • Prefixed shortcode (e.g. :mypack-kappa:) - always works, guaranteed unique
Read the full description on Vintage Story ModDB →

Ratings & reviews

No ratings yet

Sign in to leave a rating or comment.