跳到正文

FullBelly

作者:110011100101

All forms of movement now consume hunger, making food a fully utilized resource and turning every action into a meaningful part of survival.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

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

  1. Ensure NeoForge 21.1.227+ is installed (Minecraft 1.21.1)
  2. Place fullbelly-1.0.3.jar into .minecraft/mods folder
  3. 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

  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.


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.

常见问题

FullBelly 支持哪些 Minecraft 版本?

FullBelly 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

FullBelly 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅服务端。

评论

登录后评论和评分