Nutrition
8 merged pull requests.
Needs action on an existing world:
- [read before updating] #37 Major backend rewrite of nutrition storage and synchronization. Makes nutrition data strongly server-sided, fixes numerous edge cases, and provides a stable public API for other mods. This is the foundation for the 1.0 release.
Player nutrition data is rewritten to server-sided storage; existing nutrition state may reset or change on first load.
New Features
- #40 Extended INutritionManager and NutritionManager with new methods to handle non-food hunger changes. Modified EventEatFood to use the new API. Allows mods to specify custom nutrient distribution when bypassing food consumption. - @serenibyss
- Added: API methods for non-food hunger handling
- Fixed: Nutrition crash from mods modifying hunger directly (GTNewHorizons/GT-New-Horizons-Modpack#26140)
- Closes GTNH#26140
Changes
- #39 Created NutritionCommand and NutrientArgumentType using Brigadier. Removed old ChatCommand class. Updated readme and localization strings. - @serenibyss
- Added: Brigadier-based /nutrition command, NutrientArgumentType for command argument parsing
- Removed: ChatCommand (old implementation)
- #38 Created NutritionConfig class using GTNHLib config patterns. Replaced old Config.java with new configuration system. Updated all config references throughout the mod. - @serenibyss
- Added: NutritionConfig using GTNHLib patterns
- Removed: Old Config.java
- #37 Rewrote NutrientManager to INutritionManager/NutritionManager public API. Refactored PlayerDataHandler for server-authoritative storage. Updated event handlers (EventEatFood, EventPlayerDeath, EventPlayerJoinWorld) and EffectsManager to use new API. Updated gradle dependencies and JVM configuration. - @serenibyss
- Added: INutritionManager API, NutritionManager implementation
- Removed: NutrientManager (old), EventClientTick, EventWorldTick (old behavior)
- Migration: Player nutrition data is rewritten to server-sided storage; existing nutrition state may reset or change on first load.
- #34 Fixed corner texture rendering in GUI (top-right and bottom-left). Fixed hover texture. Updated config to center nutrition button on slot. - @Ranzuu
- Fixed: Corner texture rendering, Hover texture appearance
Bug Fixes
- #36 Updated nutrient config file to use correct spelling. - @Ranzuu
- Fixed: Ginkgo nutrient spelling
- #32 Removed EventWorldTick and split its logic into EventClientTick (client-only) and server-side tick logic moved to main event handler. Eliminated improper world server retention. - @Alexdoru
- Added: EventClientTick for client-side nutrition updates
- Removed: EventWorldTick
- Fixed: World server memory leak in EventWorldTick
- #30 Refactored witchery compatibility: replaced unused ModHelperManager with direct event-based handling in WitcheryEventHandler. Nutrition values now depend on vampire level and blood meter. Added Config options for nutrition boundaries and compatibility toggle. - @YamiKami-Sama
- Added: Vampirism nutrition scaling, Config for vampire nutrition boundaries
- Removed: ModHelperManager, ModuleConfig, Old WitcheryHelper module pattern
- Fixed: Vampirism nutrition floor not working
- Closes GTNH#22629
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@serenibyss (4), @UltraProdigy (3), @Ranzuu (2), @Alexdoru (1), @Algent (1), @Caedis (1), @DarkShadow44 (1), @jordanamr (1), @MalTeeez (1), @MeiTianyou (1), @PLASMAchicken (1), @Worive (1), @YamiKami-Sama (1)