What's Changed Architecture
Overhauled food memory system into a full behavioral dietary simulation layer
Exponential decay curves replacing binary memory expiry Logistic saturation curve for natural diminishing returns Three parallel memory maps: item, category, and family Dynamic confidence-weighted blended multiplier Streak multiplier for rapid repeat eating Graduated novelty bonus for dietary exploration Soft nutritional debt system encouraging variety Game-tick time anchoring replacing wall-clock time Full multiplier breakdown record for debugging Visualization accessor methods for HUD and tooltip use
Performance
Split network sync into two payloads
SyncDietDeltaPayload — lightweight delta sent on every food eat and decay tick (nutrients + calories only, ~100 bytes) SyncDietPayload — full sync reserved for login, respawn, and commands only Memory maps never sent over the network — server-side only
Fixed NutritionDecayHandler sending unnecessary sync packets when no values changed Fixed NutritionDecayHandler redundant setData call on every decay tick Fixed NutritionEffectsHandler using client-side tickCount instead of server-side getGameTime() Fixed dominant category resolution using insertion order instead of highest scoring category
Compatibility
Overhauled ModCompat into a full data-driven three-tier compatibility engine
Tier 1: Nourished built-in compat_registry.json Tier 2: Mod-provided nourished_compat.json — other mods can declare their own compat without touching Nourished source Tier 3: Modpack compat_overrides.json — modpack creators can override any entry Full semantic version range support for version-specific conflict behavior Auto-discovery of unknown food mods at runtime Conflict detection for Cold Sweat and As Tough As Nails alongside LSO Complete namespace mapping for all Pam's HarvestCraft 2 sub-mods Dynamic compat report powering the config screen compatibility tab
Food Classification
Built production-grade heuristic food scanner (UnassignedFoodScanner)
9-signal weighted scoring pipeline Spread-based confidence validation Recipe ingredient inheritance with decay Scan caching with mod list hash versioning Scan diffing between runs Auto-generated tag recommendations for high-confidence classifications Human-readable and machine-readable JSON output Zero impact on normal gameplay — dev tool only
Food Tags
Removed duplicate entries across all six category files
bakery:jam_roll removed from fruits (kept in sugars) croptopia:cheese_cake removed from dairy (kept in sugars)
Fixed minor indentation inconsistencies in tag files All six category files now fully duplicate-free and cross-category clean
Bug Fixes
Fixed DietPlayerEvents.onPlayerChangeDimension sending unnecessary full sync Fixed FoodEatenHandler calling getGameTime() twice redundantly Fixed FoodMemoryEntry using wall-clock time instead of game tick time
Note: This release contains significant internal architecture changes. Save data from v0.1.0-alpha and v0.1.1-alpha is forward-compatible with graceful fallback for new fields.
Synced from Modrinth ↗