Ember's Text API

Text rendering and styling API with effects, animations, and custom font support.

File Details

Ember's Text API 3.0.2 (NeoForge 1.21.1)

  • R
  • Jul 7, 2026
  • 1.24 MB
  • 5
  • 1.21.1
  • NeoForge

File Name

emberstextapi-neoforge-1.21.1-3.0.2.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:embers-text-api-1345948:8389407"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

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 gains wrap(boolean) and wrap(boolean, int) alongside the existing wrap(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.
  • \n in 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. ImmersiveMessage carried its client-only rendering, so loading the class on a server threw NoClassDefFoundError: 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 wrap set, a \n in the message rendered as a missing-glyph box instead of starting a new line; it now breaks correctly whether or not wrapping is enabled.