FullBelly
All forms of movement now consume hunger, making food a fully utilized resource and turning every action into a meaningful part of survival.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
FullBelly
FullBelly - Comprehensive Action Hunger System
Introduction
FullBelly is a Minecraft NeoForge mod (1.21.1) that adds a comprehensive action-based hunger consumption system. The mod tracks various player behaviors and automatically deducts corresponding hunger, making survival mode more challenging.
---
Features
- Server-side Processing: Tracks 24 different types of player behaviors - Server-side Processing: Based on vanilla exhaustion mechanism, consistent with native behaviors like jumping - Server-side Processing: Console outputs detailed consumption information (requires debug logging enabled) - Server-side Processing: Executes only on server side, no impact on client performance
---
Action Types & Consumption Values
Movement (8 types)
| Action | Base Cost | Description | |--------|-----------|-------------| | 🚶 Walking | 0.01/tick | Ground movement | | 🏃 Sprinting | 0.1/tick | Sprinting (vanilla standard) | | 🕵️ Sneaking | 0.01/tick | Crouching movement | | 🏊 Swimming | 0.015/tick | Water movement (vanilla standard) | | 🤿 Underwater Swimming | 0.02/tick | Holding breath (higher cost) | | 🧗 Climbing | 0.05/tick | Ladders/vines | | 🪽 Elytra Flight | 0.08/tick | Gliding | | 🐴 Vehicle Riding | 0.01/tick | Horses/boats/etc. |
Instant Actions (3 types)
| Action | Base Cost | Description | |--------|-----------|-------------| | ⬆️ Jumping | 0.05/time | Takeoff (vanilla standard) | | ⚔️ Melee Attack | 0.01/time | Hit entity | | 💥 Critical Hit | 0.01/time | Falling critical hit |
Tool Behaviors (4 types)
| Action | Base Cost | Description | |--------|-----------|-------------| | ⛏️ Mining | 0.005/block | Breaking blocks (lowest cost) | | 📦 Placing | 0.01/time | Placing blocks | | 🎣 Fishing Cast | 0.01/time | Casting fishing rod | | 🎣 Fishing Reel | 0.01/time | Reeling in |
Combat Behaviors (8 types)
| Action | Base Cost | Description | |--------|-----------|-------------| | 💔 Damage Taken | 0.01/time | Any damage source | | 🛡️ Block Success | 0.01/time | Shield successful block | | 🛡️ Shield Holding | 0.01/tick | Continuous shield holding | | 🏹 Bow Charging | 0.01/tick | Bow charging | | 🏹 Bow Shot | 0.01/time | Bow firing | | 🔫 Crossbow Load | 0.01/tick | Crossbow loading | | 🔫 Crossbow Fire | 0.01/time | Crossbow firing | | 🔱 Trident Charge | 0.015/tick | Trident charging | | 🔱 Trident Throw | 0.03/time | Trident throwing |
Other (1 type)
| Action | Base Cost | Description | |--------|-----------|-------------| | 💥 Fall Impact | 0.01/time | Landing from height |
---
Usage Guide
Installation
1. Ensure NeoForge 21.1.227+ is installed (Minecraft 1.21.1) 2. Place `fullbelly-1.0.1.jar` into `.minecraft/mods` folder 3. Launch the game
Debug Mode
The mod includes a built-in debug mode that displays detailed exhaustion information in the chat box.
In-game Commands: ```text /fullbelly debug - Check current debug mode status /fullbelly debug true - Enable debug mode /fullbelly debug false - Disable debug mode ```
When enabled, you'll see messages like: ``` [FullBelly] 行走: -0.010 exhaustion | 饱食度: 20→20, 饱和度: 5.00→4.99 [FullBelly] 奔跑: -0.100 exhaustion | 饱食度: 20→19, 饱和度: 4.89→4.79 [FullBelly] 三叉戟投掷: -0.030 exhaustion | 饱食度: 19→19, 饱和度: 4.76→4.73 ```
Configuration File: You can also edit `.minecraft/config/fullbelly-common.toml`: ```toml debug_mode = true ```
Note: Debug mode is disabled by default for optimal performance.
Adjust Difficulty
Modify base values in `FatigueProcessor.java`: - Lower values = Easy mode - Higher values = Hard mode
---
Technical Implementation
Core Components
- PlayerMixin: Enum defining 24 action types - PlayerMixin: Core processor, applies exhaustion to FoodData - PlayerMixin: Detects player movement using position tracking - PlayerMixin: Captures block break/place events - PlayerMixin: Detects various behaviors through Mixin injection
How It Works
1. Detect player behaviors through Mixin and event system 2. Call `FatigueProcessor.dispatch()` to process consumption 3. Apply consumption using vanilla `FoodData.addExhaustion()` method 4. When exhaustion accumulates to 4.0, automatically deducts 1 food point
---
Compatibility
- ✅ NeoForge 21.1.229 - ✅ Minecraft 1.21.1 - ✅ Runs on both server/client - ✅ No conflicts with other mods
---
License
This project is open-sourced under the MIT License.
---
Last Updated: 1.0.1 Last Updated: 1.21.1 Last Updated: 21.1.227+ Last Updated: 2026-05-14
---
Changelog
See CHANGELOG.md for detailed version history.