Adds emoji support to the Minecraft chat.

Related tags

Kotlin WeirdChat
Overview

WeirdChat 🥴

WeirdChat is a FabricMC mod that adds Emoji support to the Minecraft chat. Instead of completely rewriting the text renderer, Discord emoji shortcodes (e.g. :sparkles: or :sweat_smile:) are replaced with their Twemoji image. Additionally, autocomplete support for the shortcodes is provided via MoreChatSuggestions.

The shortcodes are only replaced in chat messages. While it would be possible to do this elsewhere too, a lot of weird bugs and graphical glitches would result. If there is demand, I might add support for this everywhere.

You can use a resource pack to change the emoji images. If you intend to do so, please create an issue for further assistance.

Dependencies

  • fabric-api >= 0.64.0+1.19.2
  • fabric-language-kotlin >= 1.8.5+kotlin.1.7.20
  • MoreChatSuggestions >= 1.0.2

Planned features

  • Fitzpatrick (skin tone) modifier support
  • API to add custom emotes

Acknowledgements

Including WeirdChat in your mod

At the moment this isn't very useful, but in the future you will be able to register your own emoji via an API.

Add this to your repositories:

// build.gradle
maven {
    url "https://maven.sarahisweird.com/releases"
}

// build.gradle.kts
maven("https://maven.sarahisweird.com/releases")

And this to your dependencies:

// build.gradle
modImplementation("com.sarahisweird:WeirdChat:1.0.0")

// build.gradle.kts
modImplementation("com.sarahisweird", "WeirdChat", "1.0.0")

Building WeirdChat from source

Firstly ask yourself: do you really want to do this? Okay, good. Prepare yourself.

Dependencies

  • Java 17
  • Node.js >= v18.11.0 (for generating the textures and metadata)
git clone https://github.com/SarahIsWeird/WeirdChat.git --recurse-submodules

IMPORTANT! The repository is huge (~1GB)! This is because of the Twemoji submodule. I'm not really sure why, as the entire twemoji folder is only about 12MB. It seems like git is downloading the entire history of the repository, which is absolutely enormous. 🤷🏻‍♀️

Generating the assets

This has to be done before starting Minecraft. You can build the mod in Gradle before this step, but if you don't run the asset generator, it no worky.

cd WeirdChat/gen
npm install
npm start -- --generate-textures

At this point you can start Minecraft!

Options

If you specify any option, please don't forget to add -- before them, or they won't be applied! (See example above)

  • --generate-textures
    • Generate the emoji texture atlases. If you don't want to do this, for example if you only want to fix something in the metadata generation, you can omit this. In that case, only the metadata json is generated.
  • --debug
    • By default, the resulting metadata json will be minified. Specifying this flag will add indentation.

License

WeirdChat is released under the WTFPL. For more information, please see the LICENSE file.

WeirdChat uses Twemoji by Twitter, with the used graphics licensed under the CC-BY 4.0 license. For more information, please see the LICENSE-GRAPHICS file in their repository.

The asset generator uses source code from kordx.emoji, licensed under the MIT license. For more information, please see the LICENSE file in their repository.

You might also like...
Kotlin utility mod for Minecraft
Kotlin utility mod for Minecraft

Lambda is a free, open-source, Minecraft 1.12.2 utility mod providing a visionary system for plugins that allow customizing the clients features thank

Gestor is an innovative open-source application for universal Minecraft mod management.

Gestor Gestor is an innovative open-source application for universal Minecraft mod management. About It combines three types of tools into a single ap

VirtualTag is a name tag edit plugin for minecraft server

VirtualTag VirtualTag is a NameTag Edit plugin for modern minecraft server Support Version 1.17.x Download https://github.com/jiangdashao/VirtualTag/r

Simple random ore mod for Minecraft/Fabric. Heavily inspired by Randomite.

Rand'Ore Download Simple random ores for Fabric! This mod is open source and under a permissive license. As such, it can be included in any modp

MIT mappings for Minecraft with no exceptions

leather MIT mappings for Minecraft with no exceptions Tannery Tannery is our custom gradle plugin to create the perfect mapping workspace Tasks build

An open-source plugin that accommodates Starships on Minecraft servers.

Minecraft Starship Plugin An open-source plugin that accommodates starships on minecraft servers. 'A shameless rip-off of Star Legacy's plugins.' Mine

A powerful Minecraft Server Software coming from the future

Mirai A powerful Minecraft Server Software coming from the future Mirai is ❗ under heavy development ❗ and contributions are welcome! Features 30% fas

Create minecraft worlds without lag!

WorldGen 랙 없는 월드 생성을 위한 라이브러리 시작하기에 앞서, 이 라이브러리는 UHC_System 의 월드 생성 코드를 작성하면서 WorldCreator의 단점인 랙을 없애기 위해 만들어진 코드의 일부를 라이브러리로 공개하는 것임을 알려드립니다 WorldCre

A injection minecraft cheat using jvm attach api

Luminous A injection minecraft cheat using jvm attach api Website: https://lumi.getfdp.today Build We used a thing called Wrapper to make development

Comments
  • Incompatible with Stendhal

    Incompatible with Stendhal

    crash-report: crash-2022-12-06_10.44.18-client.txt

    Apparently the Unicode section above from Stendhal the chat broke this mod as Invalid Char code, not surprised much because both have different functions But will a compatibility work out?

    opened by Scarlaid 0
  • [Question] appearance to other clients?

    [Question] appearance to other clients?

    So I was just wondering does the emoji appear as text or as a unique character in chat to other people.

    Basically similarly to how Symbol chat is, where in their description they say that other people without the mod would still see it.

    Obviously it won't appear as a colored emoji but, like maybe something similar?

    opened by Aces-and-Jacks 0
Owner
Sarah
Pretty random projects by a pretty random person. / 19 / You can do it! Just start.
Sarah
Emoji Soundboard for #stupidhackth5 #sht5

Emoji Soundboard แอพพลิเคชั่น soundboard ที่ใช้ emoji ในการช่วยจำว่าช่องนี้เราใส่เสียงอะไรไว้บ้าง เป็นแอพแอนดรอยด์ (ผลงานระหหว่างร่วมงาน Stupid Hackat

Monthira Chayabanjonglerd 6 Feb 20, 2022
Bego Chat is chat application in Kotlin and Firebase with the following features: last seen , user status like typing ,online and last seen with MVVM pattern and clean architecture

Compose ChatApp(Bego Chat) Bego Chat is Compose chat application in Kotlin and Firebase with the following features: sending all file types and abilit

Ahmed EL Bagory 5 Dec 20, 2022
Sync chat messages and various information on Telegram and Minecraft

Sync chat messages and various information on Telegram and Minecraft

雪沢 坊洛 6 Dec 1, 2022
Server-Side chat emotes for Minecraft

Chat Emotes Chat Emotes is a server-side mod that utilizes the Chat Preview feature introduced in Minecraft 1.19 to provide the use of emotes like Emo

Colin Barndt 7 Oct 25, 2022
A minecraft modification based on Fabric with Yarn Mappings, developed for the newest version of the sandbox game Minecraft.

JupiterClient A minecraft modification based on Fabric with Yarn Mappings, developed for the newest version of the sandbox game Minecraft. Building th

Cedric H. 1 Jun 27, 2022
Minecraft NBT support for kotlinx.serialization

knbt An implementation of Minecraft's NBT format for kotlinx.serialization. Technical information about NBT can be found here. Using the same version

Ben Woodworth 41 Dec 21, 2022
WaxedNotWaxed - Adds a simple indicator to know if a copper block is waxed or not

Waxed Not Waxed Adds a simple indicator to know if a copper block is waxed or no

Mateusz 2 Nov 11, 2022
Gradle plugin adding a task to run a Paper Minecraft server

Run Paper Run Paper is a Gradle plugin which adds a task to automatically download and run a Paper Minecraft server along with your plugin built by Gr

Jason 64 Dec 29, 2022
An under development minecraft plugin (1.8.8) to learning Kotlin language

CorePlus CorePlus is a minecraft plugin coded with Kotlin language. Still under development CorePlus will be an essential for each minecraft servers !

Gonz 3 Jun 16, 2021
Run Minecraft on the command line

HeadlessForge While headless Minecraft Clients aren't anything new, they come with a drawback. The Minecraft API is missing and you need to add all fu

null 28 Oct 17, 2022