Chat Message Library
No reviews yet
A StringBuilder for Text, useful for commands and command-line tools.
Provides a framework or library for other mods to use.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
Deprecation Notice
I will no longer be actively supporting this mod, please use the Fabric and NeoForge Adventure API port, create your own implementation, or fork it on Github to continue using it.
Chat Message Library
I was annoyed that there was no java.lang.StringBuilder equivalent for net.minecraft.text.Text, so I decided to build my own.
For Users;
This is a library mod, and does not add anything to the game on its own.
Download the mod and drop it in your .minecraft/mods/ folder.
This mod also requires Fabric API to work.
For Developers;
To use the library, add this to your build.gradle, gradle.properties, and your mod's ModInitializer class respectively:
build.gradle:
repositories {
maven { url = "https://api.modrinth.com/maven" }
}
dependencies {
modApi include("maven.modrinth:chatmsglib:${project.cml_version}")
}
gradle.properties:
# This may be out of date!!
cml_version=1.1
Your ModInitializer:
public class YourMod implements ModInitializer {
public static final ChatMessage CML = new ChatMessage();
/*
* This text is generated at startup and is held until server stop
* To send it, use "msg::send", "msg.send(PlayerEntity)", or "msg.send(CommandContext)"
* You can also modify it on the fly by adding more text
*/
private static final ChatMessage msg = CML
.header("This is always be displayed at the top of the message", Formatting.AQUA)
.footer("This is always be displayed at the bottom of the message", Formatting.BOLD, Formatting.BLUE)
.literal("Just a literal string, nothing special", Formatting.BLUE)
.literal("Option for an \"on\" statement as well",
new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/help"))
.object(
// A List<Integer> turned into Text form
new IntList(yourInts)
// No spaces are added for Prefixes and Suffixes and must be added manually!
.prefix("What comes before the number is printed ")
.suffix(" What comes after the number is printed")
.create())
.object(
// A JsonObject turned into Text form
new JsonList(yourJson)
.prefix("- ")
.indent(1)
.create()
)
.object(
// All text added to this object will display on the same line
new Singleton()
.add(Text.literal("Singletons are used to display text in one line only"))
.add(
Text.literal("Also, commands in-line as well")
.styled(style -> style.withClickEvent(
new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/help")
))
)
.create()
)
.object(
/*
* You can create your own lists by extending xyz.blurple.chatmsglib.list.ChatList
* It has to output List<Text>, everything else is your choice!
*/
new YourList(yourInput)
.prefix("= ")
.create()
);
@Override
public void onInitialize() {
// This command simply prints out msg with the formatting you chose
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) ->
dispatcher.register(
CommandManager.literal("your_command")
.executes(msg::send)
)
);
}
}
If you have a request or issue with the library, make an issue, and I'll take a shot at adding it.
Feel free to do anything you like with this code; fork, learn, whatever you like.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers