Список изменений
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 reach -
SourceRegistry(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

