Compatibility
Minecraft: Java Edition
1.21.1
1.20.1
Platforms
Supported environments
Client-side
Links
Tags
Creators
Details
Licensed Apache-2.0
Published 16 hours ago
Updated last week
ModernObscure
A multi-loader (Fabric & NeoForge) mod hat bridges ModernUI's rounded SDF tooltip backgrounds with obscure-tooltips' feature-rich tooltip system.
The mod requires Obscure Tooltips and Fragmentum, and recommends ModernUI.

Features
- ModernUI Rounded Backgrounds — Replaces obscure-tooltips' default panel/frame rendering with ModernUI's SDF (Signed Distance Field) rounded background, including shadow, border, and rainbow color cycling support.
- Obscure-tooltips Compatibility — Retains all obscure-tooltips features: armor preview, tool preview, particles, effects (rim light, glow, shimmer), and scrollable tooltips.
- AppleSkin Compatible — Hunger/saturation bars keep rendering correctly on top of the rounded background.
- Graceful Fallback — When ModernUI is not installed, tooltips fall back to obscure-tooltips' default rendering.
Technical Notes
- Multi-loader project using Architectury Loom: shared code lives in
common/, with per-loaderfabric/andneoforge/modules for loader-specific metadata - All ModernUI access is through Java reflection, so there is no compile-time dependency on ModernUI
- ThreadLocal guards prevent double-rendering when both mods try to render the same tooltip
- The SDF background uses
GL_ALWAYSdepth function to prevent AppleSkin bars from being rejected by the depth buffer - AppleSkin bars are re-rendered after the SDF flush with clean GL state;
setAccessible(true)is needed because NeoForge'sFoodTooltipRendereris package-private MixinHeaderComponentis split per loader because the Fabric jar of obscure-tooltips names the slot-drawing methodmethod_32666(intermediary) while the NeoForge jar names itrenderImage(Mojang)- Only the Fabric mixin config carries a refmap (
modernobscure-compat-common-common-refmap.json); NeoForge resolves Mojang-mapped names at runtime - ModelViewStack depth is tracked and restored to prevent crashes from unbalanced push/pop in ModernUI's internal methods


