Food API
ModA flexible food system API for NeoForge. Adds configurable hunger capacity and drain speed via attributes, dynamic food bar rendering with multi-row support, and a provider-based icon replacement system for seamless mod integration.
Type
Mod
Modrinth Downloads
228
Modrinth ID
gsm2zrxL
Last Updated
Jul 29, 2026
Description
🍖 Food API
A flexible hunger system library for NeoForge
📖 About
Food API is a developer-focused library that removes the hardcoded limitations of Minecraft's vanilla hunger system. It exposes hunger capacity and drain speed as proper entity attributes, adds multi-row food bar rendering, and provides a clean provider-based system for replacing food icons — all with optional compatibility for popular HUD mods.
✨ Features
▶ Dynamic hunger capacity — max hunger is now an attribute, supports up to 2 rows (40 units).
▶ Configurable drain speed — control how fast hunger depletes via a multiplier attribute.
▶ Multi-row food bar — second row renders seamlessly above the first, fully synced with vanilla shake animation.
▶ Icon provider system — replace any food icon (empty, half, full, hunger, overlay, saturation) per-player, per-row, per-slot with a simple registration API.
▶ Optional mod compat — native support for Overflowing Bars and AppleSkin when present.
🖼️ Screenshots
Vanilla rendering — single row, standard icons
With Overflowing Bars — row counter, overlay icons stacked on top
📦 New Attributes
Two new player attributes are registered automatically when Food API is loaded:
Attribute ID Default Range Description Max Hunger food_api:max_hunger 20 1 – 40 Maximum hunger capacity. 20 = one row, 40 = two rows. Hunger Rate food_api:hunger_rate 1.0 0.0 – 10.0 Hunger drain speed multiplier. 0 = no drain, 2 = twice as fast.Both attributes are synced to the client and can be modified via commands, other mods, or directly in code:
// Example: give a player double hunger capacity player.getAttribute(AttributeRegistries.MAX_HUNGER) .setBaseValue(40); // Example: slow hunger drain to half speed player.getAttribute(AttributeRegistries.HUNGER_RATE) .setBaseValue(0.5);🔧 API Usage
Replacing food icons
Register a provider with an ID and priority. Higher priority wins. Return null to fall through to the next provider.
FoodIconRegistry.register( ResourceLocation.fromNamespaceAndPath("mymod", "my_provider"), 10, // priority — higher = checked first (vanilla = 0) (player, iconIndex, row, type) -> { // iconIndex: 0 = rightmost icon, 9 = leftmost // row: 0 = bottom row, 1 = top row return switch (type) { case FULL -> ResourceLocation.fromNamespaceAndPath("mymod", "hud/my_food_full"); case HALF -> ResourceLocation.fromNamespaceAndPath("mymod", "hud/my_food_half"); case EMPTY -> ResourceLocation.fromNamespaceAndPath("mymod", "hud/my_food_empty"); default -> null; // let other providers or vanilla handle the rest }; } );Icon types
Type Description EMPTY Background (empty slot) HALF Half-filled icon FULL Fully filled icon EMPTY_HUNGER Background during Hunger effect HALF_HUNGER Half icon during Hunger effect FULL_HUNGER Full icon during Hunger effect HALF_OVERLAY Half icon on top row (Overflowing Bars only) FULL_OVERLAY Full icon on top row (Overflowing Bars only) SATURATION Saturation overlay texture (AppleSkin only)Registering at the right time
Call FoodIconRegistry.register(...) during FMLClientSetupEvent or earlier:
@SubscribeEvent public static void onClientSetup(FMLClientSetupEvent event) { FoodIconRegistry.register(...); }🔗 Optional Dependencies
Food API works standalone. These mods unlock extra features when present:
- Overflowing Bars — enables row counter display and overlay icon rendering on the top row
- AppleSkin — enables saturation overlay icon replacement via FoodIconType.SATURATION
Made with 🩷 by ArimoV2
Compatibility
Mod Loaders
Game Versions
Screenshots
Similar Mods
kaleidoscope_sculk
The affiliated mod of Kaleidoscope Cookery
Monster Room+
15+ new monster rooms variants! Vanilla blocks only
Chatseur-viking
Chatseur-viking is an adventure mode allowing you to meet several structures and interact with several Vikings, notably...
Packet Shield
Client-side mod that automatically prevents kicks from malformed packets, excessive payloads, or impossible movement. Fi...
Extra Modules 2
Adds op modules to Draconic Evolution!
Dark Loading Screen Neoforge
Makes the loading screen darker. Now on Neoforge!