Fabric message api for translatable, configurable and colorful messages with placeholders
A simple server-side message API for Fabric. It allows for translatable messages, with text parsing
using PlaceholderAPI
, which can be customized with ease by end users.
To use message-api in your mod, add the following to your build.gradle file:
Message-api doesn't bundle placeholder-api, you have to bundle a compatible of it as well.
Replace [TAG] with the respective versions.
repositories {
maven { url "https://maven.nucleoid.xyz/" }
maven { url "https://api.modrinth.com/maven" }
}
dependencies {
include(modImplementation("maven.modrinth:message-api:[TAG]"))
include(modImplementation("eu.pb4:placeholder-api:[TAG]"))
}
Create a messages folder in your resource folder. Create a JSON file with
the language code you would like to add, like
the testmod example.
Add your message to the file (make sure to prefix the message id with your mod id, to avoid conflicts).
Use any of the provided methods in LocalizedMessage to get your text instance,
which works like any other vanilla text instance!
ServerPlayerEntity player;
player.sendMessageToClient(LocalizedMessage.localized("modid.some.message.id"));
Official Mojang Mappings
ServerPlayer player;
player.sendSystemMessage(LocalizedMessage.localized("modid.some.message.id"));
To change messages, edit the JSON file in ./config/<modid>/<languageid>.json. This will change the language file for
the mod with the specified modid.
Special thanks to PlaceholderAPI for providing the parsing functionality.