Upshift 1.4.0
Curse Maven Snippet
What's new
Added
- Text layout cache. HUD strings are laid out once and reused instead of
being decomposed into styled code points every frame. This covers item
counts, the scoreboard, the debug screen and any mod overlay that draws with
graphics.text(font, String, ...). - Font width cache.
Font.width(String)answers are cached per font instance, so centring and tooltips do not walk every code point each frame. A resource reload builds a new font and drops the cache with it. - Cache text layout option (on by default) on the Optimizations page, for the rare mod whose string content stays the same while its meaning changes.
Technical
- The layout cache is bounded (4096 entries) and cleared when the language instance changes, so language switches and resource reloads cannot serve stale right-to-left ordering.
- Strings longer than 512 characters are never cached: chat and books are not worth pinning in memory.
- String overloads are hooked with
@WrapOperation(Mixin Extras, bundled with the loader), which leaves other mods free to wrap the same call. - Config schema 6; existing configs migrate automatically.
- Java 21 bytecode.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

