Classification / Scanner
Recipe data can now contest keyword classifications, not just append to them. Confidence is computed honestly over the combined keyword+recipe signal instead of being copied from the keyword match items with disagreeing names/recipes, which can now be flagged UNCERTAIN. Winner-changing overrides are opt-in per category via
contestable_values; with none configured (the shipped default), no classification winners change, only confidence/UNCERTAIN flags.Scanner-side recipe merge no longer silently drops contesting recipe mass. Expect the next scanner run to surface more multi-value/ambiguous items than before. This is intentional.
New
RecipeInheritanceResolver.collectContributionswalks the entire recipe tree instead of stopping at the first confident match, the root cause fix for the "calzone" bug class.CommunityTagResolutionStage's tag directory is now per-mod configurable instead of hardcoded.compositeRatioThresholddefault raised (a stray secondary tag no longer silently attaches an unrelated category to an item).SourceClassificationRegistryoverrides now actually reachSourceRegistry(previously silently ignored) and now fully lock out competing tag/API registrations for that item instead of leaking through.New
caloriesfield onsource_classifications.json, with corrected precedence so classification no longer zeroes/miscalculates an item's calorie total.
New UI subsystems
Command Center: pluggable sidebar+card dashboard for consumer mods, now drag/resizable with clipped/scrollable content and corrected rendering (blur order, sizing, translation key fixes).
Notifications: generic client-side toast stack above the XP bar with merge-by-key support.
Scale Config panel: replaces the old full-screen scale config; generic embeddable per-component text/padding adjustment.
Edit Mode / Snap Registry: generalized double-click edit mode and cross-mod magnetic-edge snapping for draggable HUD components.
Color system:
ColorKey/ColorDefinition/MarieColorslayer for defaults/overrides, pluswithOpacity/shadehelpers and a generic color-row config widget.New `dev.marie.framework.ui.api "facade package" consolidating all of the above's public entry points.
Tracking & Sync
- New generic tracker/period-history framework (
MarieTracking) and parallel tracker-milestone system, both with datapack support. - Two-tier client sync for trackers (throttled dirty-flag sweep + full login snapshot) fixes previously stale client-side tracker reads.
- New generic config/registry sync API (
MarieResourcesAPI) so mods don't need to hand-roll their own sync payloads. - Client caches now correctly clear on disconnect (previously never happened at all).
Breaking changes
MarieNotifications,MarieCommandCenter,EditModeCoordinatormoved todev.marie.framework.ui.api. Old import paths no longer exist.MarieAPI's tracker methods (registerTracker,incrementTracker, etc.) were removed; useMarieTrackinginstead.Old
ContentScaleConfigScreen/ScaleSliderButtondeleted useScaleConfigPanel.
Notable fixes
Reload/registration gap: Tracker and color registrations made at mod-init were being silently wiped on every world boot with no re-registration path now correctly hooked into both
/reloadand server startup.Tracker milestone datapack entries were silently dropped (missing callback override).
Login snapshot no longer misses tracker values in edge cases (CUSTOM-period trackers with no history yet).
The swim tick trigger no longer keeps firing briefly after leaving the water.
Oversized-packet check now happens before a full NBT decode instead of after (DoS hardening).
Several NPE fixes around item-agnostic triggers passing
nullinstead of the documented empty-item sentinel. [v0.1.1-
The full changelog can always be found here beta.4...v0.1.1-beta.5
Synced from Modrinth ↗