
About this Mod
Munch Munch!
You are what you eat! See your hunger bar change to the food you're enjoying - delicious! 😋
Features:
- Hunger bar icons dynamically change based on what your eating
- Animations when idle or after eating to feel more alive
- Easily add/change hunger icon textures or animations with a resource pack or mod respectively!
Currently incompatible with Appleskin unless you turn off "Show saturation overlay" in the Appleskin config. I am planning to add a similar (but not identical) feature to see saturation in Munch Munch.
If you have any issues, feature requests or anything else please feel free to submit them on the GitHub.
Developers
Munch Munch allows for easily adding new textures for foods added by other mods. If you want your mod to support Munch Munch textures, you will need six 9x9 textures for:
<food_id>_full.png<food_id>_half.png<food_id>_empty.png<food_id>_full_hunger.png<food_id>_half_hunger.png<food_id>_empty_hunger.png
These files should be located in assets/<mod_namespace>/textures/gui/sprites/hunger/<food_id>/.
If you want to add new animations to expand on the default ones, there is a simple API allowing you to do so. The first thing necessary is to add Munch Munch as a dependency to your mod.
build.gradle
repositories {
maven {
url = "https://api.modrinth.com/maven/"
}
}
dependencies {
modImplementation "maven.modrinth:munchmunch:${project.munchmunch_version}"
}
gradle.properies
munchmunch_version=0.1.0
Now that Munch Munch works, the way to add new animations is simple. First we will create our animation:
public class ExampleAnimation implements HungerAnimation {
@Override
public HungerState getState() {
return HungerState.IDLE; // This will constantly run until HungerState is changed
}
@Override
public Vector2f offset(int slot, float time) {
return new Vector2f(0f, 1f); // Translate all icons 1px down
}
@Override
public Vector2f scale(int slot, float time) {
return new Vector2f(1f, 1f); // Leave scale as default for now
}
@Override
public boolean isFinished() { return true; } // An idle animation can be overriden whenever necessary
@Override
public boolean isTimed() { return false; } // This is for an animation that only lasts for a certain amount of time
}
This is a simple example of what an animation you make could look like. All that is needed to register this animation is the entrypoint.
public class ModAnimationEntrypoint implements AnimationEntrypoint {
@Override
public void registerAnimations() {
AnimationRegistry.register(ExampleAnimation::new);
}
}
Then in your fabric.mod.json:
{
entrypoints: {
"munchmunch": [
"com.munchmunch.examplemod.ModAnimationEntrypoint"
]
}
}
If your animation needs to run at a different time than the built in IDLE and GAIN (gain hunger) states, a new HungerState can be added simply with:
public class ExampleMod implements ClientModInitializer {
public static final HungerState CUSTOM_STATE = register(Identifier.of("examplemod_id", "custom_state"));
}
To make this custom HungerState be used, it is necessary to call AnimationSelector.getInstance().setState(HungerState.CUSTOM_STATE) which will play a random animation from all available animations with the HungerState of CUSTOM_STATE until they are finished. If they do not end, you will have to add another AnimationSelector.getInstance().setState() but this time set it back to HungerState.IDLE when you want your animation to stop. Otherwise just use the IDLE animation.
Available Versions
How to Install Munch Munch! on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.5).
Install Mod
Open the mod browser in the dashboard and search for "Munch Munch!". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.5
Server-side
✗ UnsupportedRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Munch Munch! server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.5). You can switch loaders with one click in the panel.
Is Munch Munch! compatible with fabric?
Munch Munch! officially supports fabric for Minecraft 1.21.5. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Munch Munch! – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Munch Munch! consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Munch Munch! with just one click on your server.