All versions
3.0.2+fabric-1.20.1
Release
Ember's Text API 3.0.2 (Fabric 1.20.1)2 weeks ago 36
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Fabric
Supported environments
Required content
Any compatible version
Changes
Changelog
v3.0.2 — 2026-07-07
- The builder
effect(...)method now recognizes message effects and message attributes, not just per-glyph text effects..effect("rock")or.effect("sound sound=...")from KubeJS (or Java) silently did nothing because the name was only looked up in the text-effect registry; it now routes to the right registry like markup tags do. - Text wrapping is on by default so long messages no longer run off screen.
Without an explicit width it wraps to about 90% of the screen, adjusted for
scale. The new
[wrap]tag controls it:[wrap false](or[wrap off]) disables wrapping,[wrap 200]sets an explicit width. The builder gainswrap(boolean)andwrap(boolean, int)alongside the existingwrap(int). - Wrapped and multi-line text now respects
align. Each line is centered (or right-aligned) within the message box instead of always starting at the left. \nin a command now starts a new line, e.g./eta send @p 100 line one \n line two.
v3.0.1 — 2026-07-04
- Fixed a dedicated-server crash when a command built an immersive message,
such as an FTB Quests command reward running
/eta queue.ImmersiveMessagecarried its client-only rendering, so loading the class on a server threwNoClassDefFoundError: MultiBufferSource. The rendering now lives in a client-only holder, leaving the message data safe to load server-side. This affected every loader and version; single-player was unaffected because the client classes are present there. - Unwrapped text now honors hard line breaks. Without
wrapset, a\nin the message rendered as a missing-glyph box instead of starting a new line; it now breaks correctly whether or not wrapping is enabled.
Optional dependencies
Any compatible version
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:OVSg4uGN:LmzW19eV"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:OVSg4uGN:LmzW19eV"
}

