Troubleshooting & FAQ
My markup renders as literal text
Section titled “My markup renders as literal text”Three things to check:
- The server’s
playerMarkup.modeisNONE, which disables markup for all players. See Player markup permissions. - The effect is disabled for the player’s category or effect name via
playerMarkup.perEffectorplayerMarkup.perCategory. See Per-effect and per-category gating. - The tag name is misspelled. ETA’s parser requires an exact name match;
<Wwave>or<WAVE>won’t match<wave>. Check the Tag reference and Effects catalog.
An effect is stripped on a server but works in single-player
Section titled “An effect is stripped on a server but works in single-player”The server’s playerMarkup.mode is likely PERMISSION and the player doesn’t have the emberstextapi.markup.use node (or the required OP level). In single-player the config defaults to ALL. See Player markup permissions for the full node list and loader-specific notes.
A font shows blank glyphs
Section titled “A font shows blank glyphs”The SDF atlas hasn’t been built yet for this session. Press F3+T to reload assets, or restart the client. If glyphs still render blank, double-check the JSON manifest’s ascender/descender values aren’t truncating the visible area.
An immersive message never appears
Section titled “An immersive message never appears”Check all three of these in order:
messages.immersiveMessagesEnabledisfalsein the client config: the client is silently dropping all incoming messages.messages.maxActiveMessagesis set and already at capacity on the client side.- The message duration is
0or the server’sapiMessages.maxDurationcapped it to0ticks.
See the full key descriptions in Client config and Server config.
Effects look reduced or animations skip
Section titled “Effects look reduced or animations skip”effects.reduceMotion is true in the client config. This is an accessibility setting that disables all motion-category effects (wave, bounce, shake, etc.). Set it to false to re-enable them. See Client config.
Markup inside an FTB Quests book doesn’t render
Section titled “Markup inside an FTB Quests book doesn’t render”QuestScreenMixin is only present on 1.20.1 and 1.21.1. On 26.1.x, ETA doesn’t hook into the quest screen and markup in quest description text is not processed. See FTB Quests.
Patchouli book macros override my ETA tags
Section titled “Patchouli book macros override my ETA tags”This is expected Patchouli behavior. If a book defines a macro like "<rainbow>": "$(l)", Patchouli processes that name before ETA sees it. The fix is to write <eta-rainbow> in the affected book entries: Patchouli is unlikely to define a macro named eta-rainbow, so it passes through. ETA’s own parser also skips it (the hyphen isn’t in ETA’s tag-name character set), so the tag passes through both pipelines unchanged; neither side processes it, which is the point. See Patchouli and The eta- prefix.
Can I disable a specific effect?
Section titled “Can I disable a specific effect?”Yes. On the client, add "<name>=false" to effects.perEffect to suppress rendering of that effect. On the server, add the same entry to playerMarkup.perEffect to prevent players from writing that tag. See Per-effect and per-category gating.
Where do I get help?
Section titled “Where do I get help?”Open an issue or start a discussion on GitHub. Bug reports should include your MC version, loader, ETA version, and a minimal reproduction.