Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
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 and realistic.
Features
- Full Action Coverage: Tracks 26 different types of player behaviors
- Vanilla Compatible: Based on vanilla exhaustion mechanism, fully compatible with native game mechanics
- Debug UI: Real-time HUD display showing food level, exhaustion percentage, and recent actions (debug mode only)
- Action Recording: Visual feedback with emoji icons and combo detection for related actions
- Server-side Processing: All calculations execute on server side, ensuring no client performance impact
- Configurable: Toggle debug mode via in-game commands or configuration file
Action Types & Consumption Values
Movement (9 types)
| Action | Base Cost | Description |
|---|---|---|
| 🚶 Walking | 0.005/tick | Ground movement |
| 🏃 Sprinting | 0.05/tick | Sprinting (vanilla standard) |
| 🕵 Sneaking | 0.005/tick | Crouching movement |
| 🏊 Swimming | 0.0075/tick | Water movement (vanilla standard) |
| 🤿 Underwater Swimming | 0.01/tick | Holding breath underwater |
| 🧗 Climbing | 0.025/tick | Ladders/vines |
| 🪽 Elytra Flight | 0.04/tick | Gliding |
Instant Actions (3 types)
| Action | Base Cost | Description |
|---|---|---|
| ⬆ Jumping | 0.025/time | Takeoff (vanilla standard) |
| ⚔ Melee Attack | 0.005/time | Hit entity |
| 💥 Critical Hit | 0.005/time | Falling critical hit |
Tool Behaviors (4 types)
| Action | Base Cost | Description |
|---|---|---|
| ⛏ Mining | 0.0025/block | Breaking blocks |
| 📦 Placing | 0.005/time | Placing blocks |
| 🎣 Fishing Cast | 0.005/time | Casting fishing rod |
| 🎣 Fishing Reel | 0.005/time | Reeling in |
Combat Behaviors (9 types)
| Action | Base Cost | Description |
|---|---|---|
| 💔 Damage Taken | 0.005/time | Any damage source |
| 🛡 Block Success | 0.005/time | Shield successful block |
| 🛡 Shield Holding | 0.005/tick | Continuous shield holding |
| 🏹 Bow Charging | 0.005/tick | Bow charging |
| 🏹 Bow Shot | 0.005/time | Bow firing |
| 🔫 Crossbow Load | 0.005/tick | Crossbow loading |
| 🔫 Crossbow Fire | 0.005/time | Crossbow firing |
| 🔱 Trident Charge | 0.0075/tick | Trident charging |
| 🔱 Trident Throw | 0.015/time | Trident throwing |
Other (1 type)
| Action | Base Cost | Description |
|---|---|---|
| 💥 Fall Impact | 0.005/time | Landing from height (>3 blocks) |
Usage Guide
Installation
- Ensure NeoForge 21.1.227+ is installed (Minecraft 1.21.1)
- Place
fullbelly-1.0.3.jarinto.minecraft/modsfolder - Launch the game
Debug Mode
The mod includes a built-in debug mode that displays a real-time HUD overlay with detailed information.
In-game Commands:
/fullbelly debug - Check current debug mode status
/fullbelly debug true - Enable debug mode
/fullbelly debug false - Disable debug mode
Debug HUD Display: When enabled, you'll see an overlay showing:
- 🍗 Food Level: Current hunger points (0-20)
- ⚡ Exhaustion: Current exhaustion as percentage (0-100%)
- Recent Actions: Last 5 actions with emoji icons and exhaustion values
- Total Exhaustion: Cumulative exhaustion since debug mode enabled
Action Combo Detection: Related actions performed in quick succession are grouped together:
- Green background: Most recent action combo
- Red background: Previous action combo
- Actions fade out over time
Configuration File:
You can also edit .minecraft/config/fullbelly-common.toml:
debug_mode = true
Note: Debug mode is disabled by default for optimal performance. When disabled, hunger consumption still works normally but no UI is displayed.
Adjust Difficulty
Modify base values in FatigueProcessor.java:
- Lower values = Easy mode
- Higher values = Hard mode
Technical Implementation
Core Components
- ActionType: Enum defining 24 action types
- FatigueProcessor: Core processor, applies exhaustion to FoodData
- MovementHandler: Detects player movement using position tracking
- ExhaustionHandler: Captures block break/place events
- PlayerMixin: Detects various behaviors through Mixin injection
How It Works
- Detect player behaviors through Mixin and event system
- Call
FatigueProcessor.dispatch()to process consumption - Apply consumption using vanilla
FoodData.addExhaustion()method - 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.
Version: 1.0.3
Minecraft: 1.21.1
NeoForge: 21.1.227+
Last Updated: 2026-05-13
Changelog
v1.0.3 (2026-05-13)
- ✨ Reduced all base consumption values by 50% for better balance
- ✨ Changed all emoji icons to single-character variants for better rendering
- ✨ Added real-time HUD overlay for debug mode (replaces chat messages)
- ✨ Implemented action combo detection with visual grouping
- ✨ Added exhaustion percentage display (0-100%)
- ✨ Optimized debug mode: no action recording when disabled (prevents memory leak)
- 🐛 Fixed mining detection to include all block types (not just tool-mineable)
- 🐛 Fixed combo background transparency fading with text
v1.0.2 (Previous)
- Initial release with comprehensive action tracking
- 24 action types supported
- Server-side exhaustion processing
- Debug mode with chat output
See CHANGELOG.md for detailed version history.


