# MariesLib 0.1.2-beta
A big beta. Module boxes get a full look-and-feel overhaul, mods that run side by side get a lot of fixes, and several datapack and API features that never worked now do.
## ⚠️ Read before updating
- **Beta.**
- **Addon devs: some UI classes moved.** The layout editor, module settings, scale-config and toolbox systems left `marie-ui` and now live in the new **`marie-editor`** module. If you use any of them, add the dependency.
- **Deprecated for removal:** the single-argument `registerExportResolver(ExportResolver)`. Use the overload that takes a registry key.
## Highlights
- **Glow and Pulse tabs on every box:** text, border and bar glow with color and strength, plus a "breathing" border pulse (Smooth, Heartbeat or Flash) that stays in sync across boxes.
- **More box styling:** background and border opacity and shade, border shadow, header size, and a one-click Reset This Module button.
- **More Hide options:** Hide Window, Hide Text, Hide Bars and Hide Header, next to Hide Icons.
- **Size snapping:** resizing a box can snap to the size of neighboring boxes.
- **New Hub window:** a resizable popup with a sidebar, used by editors such as Nourished's Diet Screen editor.
- **Redesigned color picker:** a round hue/saturation wheel, a brightness slider, saved favorites and hex entry.
## Fixed
**Multiple mods using MariesLib**
- Each mod now uses its own settings for decay, effects, tooltips, thresholds and tracking. Before, the most recently loaded mod's settings applied to all of them.
- Eating or using a source no longer counts value gains more than once when several mods are installed.
- A mod using default settings no longer makes other mods' tooltips and value guesses appear on every item.
- Respawning no longer wipes recent-source history for a mod set to keep values on death, and each mod resets to its own starting level.
- Item tooltips in single-player no longer show value info left over from the last multiplayer server you joined.
**Gameplay and tracking**
- Profiles, milestones and synergies added by mods no longer disappear after a second `/reload`.
- Daily, weekly and monthly trackers now reset when you sleep through the night or use `/time`. Periods cut short by moving time backwards record when they actually ended.
- Diminishing returns now count "free bites" correctly.
- Fixed full-screen black flashing on the HUD while eating.
**Datapacks and scripts**
- `tracking_profiles/*.json` files now load. Before, they were always skipped.
- Compat entries with bulk item-to-value mappings now apply those mappings.
- A runtime tooltip message override now replaces only the message it names, not the whole item's tooltip.
- Mod scans: two scanners with similar names no longer overwrite each other's cached results.
- Removed the unused `mod_compat.json` loader that logged a missing-resource warning on every launch.
**Boxes and editor**
- Bar rows and legends now respect their own text, icon and bar size sliders and Hide Window.
- Icon size no longer follows text size where it shouldn't (Calories, Balance, Recent Meals, Eat More Of).
- Moving boxes no longer feels sticky. They snap only when close to another box.
- Glow no longer squares off a box's rounded corners.
- Hub color pickers now work, and a custom title color applies to the sidebar.
- The move outline now covers a box's header, and icon boxes follow their icon.
- Only one size-settings window can be open at a time across all boxes.
- The toolbox scrollbar no longer covers hex values and slider percentages.
## For addon developers
**New module: `marie-editor`**
The layout editor, module settings, scale-config and toolbox systems moved here from `marie-ui`. Add the dependency if you use them.
**API stability**
Every `dev.marie.framework` package is now marked `@Stable`, `@Experimental` or `@Internal`.
- **Stable:** value tracking, events and definitions, compat, tag audit, resource sync
- **Experimental:** UI, datapack, scanner, command and config systems
**New in the API**
- `MarieAPI.registerTrackerMilestone` (use this instead of `TrackerMilestoneRegistry` directly)
- `MarieRequestChannel`
- `MarieModScan`
- `MarieWidgets`, `MarieToolbox`, `MarieModuleSettings`
- `MariePulse`, `AnimatedFloat`
- `HubPanel`
- `BarRowComponent`, `TitleBarComponent`, `LegendComponent`
- `RenderContext#drawRoundedRect`, `#drawGlow`, `#drawEffectIcon`
- `ValueDefinition.icon` and `.tags`
**Deprecated**
- `registerExportResolver(ExportResolver)` is now `forRemoval` and will be removed in the next major version. Use the overload that takes a registry key.
**Documented in `API.md`**
- The `marie_schema_version` contract: one shared version, and a mismatch only warns.
- Which registrations survive `/reload`: profiles, milestones, tracker milestones and synergies do. Trackers and colors must be registered again.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }