You are viewing a potentially older version of this package. View all versions.
tony4twenty-Full_Belly-3.1.1 icon

Full Belly

Eating or being fed good food or multiple food items in a duration fills the belly and prevents you from getting hungry for a set time.

Date uploaded a month ago
Version 3.1.1
Download link tony4twenty-Full_Belly-3.1.1.zip
Downloads 6181
Dependency string tony4twenty-Full_Belly-3.1.1

This mod requires the following mods to function

BepInEx-BepInExPack_PEAK-5.4.75301 icon
BepInEx-BepInExPack_PEAK

BepInEx pack for PEAK. Preconfigured and ready to use.

Preferred version: 5.4.75301
PEAKModding-PEAKLib_Stats-1.6.0 icon
PEAKModding-PEAKLib_Stats

Stats module of the PEAKLib community API.

Preferred version: 1.6.0
PEAKModding-PEAKLib_UI-1.6.1 icon
PEAKModding-PEAKLib_UI

UI module of the PEAKLib community API.

Preferred version: 1.6.1

README

🥘 Full Belly - Hunger Control for PEAK

Full Belly v3.1.1 - A comprehensive hunger management system that tracks food consumption, prevents hunger while full or bloated, and includes overeating penalties with custom affliction UI.

🔧 Features

  • 🛑 Blocks hunger gain when full or bloated - hunger is completely paused while you have these labels
  • 🍗 Tracks all food consumption - accumulates food values to determine fullness
  • 💯 Fullness system - reach a threshold to become "full" and block hunger
  • 🎈 Overeating/Bloating system - eat while full to become bloated with custom UI affliction
  • 💨 Farting mechanics - random chance to fart when eating while full or during bloated decay
  • Decay system - fullness and bloated status decay over time back to normal
  • 📊 Percentage display - shows current fullness and bloated percentages on screen with keyboard positioning
  • 🎮 Keyboard UI positioning - use Ctrl+Arrow keys to move UI, Ctrl+Enter to toggle edit mode, Ctrl+Tab to cycle move speeds
  • 🎨 Custom Bloated affliction - visual status bar integrated with vanilla UI
  • 🔗 StaminaInfoForked compatible - automatically hides bloated percentage when StaminaInfoForked is detected
  • 🌐 Multiplayer sync - host configuration syncs to all clients automatically
  • 🔒 Anti-cheat handshake - clients can only use mod features if host has the mod
  • Ignore items - configure items that shouldn't count toward fullness

🧠 How It Works

Fullness System

  • Food consumption values are tracked and accumulated
  • When you reach the Fullness Threshold (default: 40%), you become labeled as "FULL"
  • While labeled as FULL, hunger gain is completely blocked
  • Fullness decays over time (default: 1% every 3 seconds) until it reaches 0%
  • Once fullness reaches 0%, the FULL label is removed and hunger resumes normally

Overeating/Bloating System

  • If you eat while already FULL, the excess food value becomes Bloated
  • Bloated status appears as a custom pink affliction bar in your stamina UI
  • While bloated, hunger remains blocked
  • Bloated amount decays separately (default: 1% every 3 seconds) until it reaches 0%
  • Once bloated reaches 0%, the BLOATED label is removed (but you may still be FULL)
  • Being bloated makes you full for a longer time but gives you less stamina

Farting System

  • While FULL: Random chance to fart when eating (default: 1% chance)
  • While BLOATED: Random chance to fart during decay (default: 5% chance per decay interval)
  • Farting reduces fullness/bloated amount slightly

Label Persistence

  • Labels persist until the associated value reaches 0%, not just when crossing the threshold
  • This means you stay FULL/BLOATED even if the value drops below the threshold until it fully decays (must reach threshold to become full first)

⚙️ Configuration

A config file is auto-generated at:
BepInEx/config/tony4twentys.full_belly.cfg

Configs are organized into sections for easier navigation:

Full Belly (Core Settings)

Key Description Default
FullnessThreshold Food consumption value needed to become full (0–1 float). Example: 0.40 = 40% 0.40
IgnoredItems Comma-separated item names to ignore. Consume items and check logs to find exact names. (empty)

Full Belly - UI (UI Customization)

Key Description Default
ShowPercentageDisplay Display food consumption percentage on screen. true
PercentageFontSize Font size for the percentage display text. 24
PercentageOffsetX X offset from center (adjusted via Ctrl+Arrow keys in edit mode). 0
PercentageOffsetY Y offset from center for lower third positioning (adjusted via Ctrl+Arrow keys in edit mode). 0
PercentageColor Percentage text color (hex only, #RRGGBB or #RRGGBBAA). #FFFFFFFF
UIEditModeKey Key to press with Ctrl to toggle UI edit mode (default: Enter/Return). Return
UISpeedCycleKey Key to press with Ctrl to cycle through move speeds (5, 10, 25, 50, 100 px/s). Tab

UI Positioning Controls:

  • Ctrl + Enter (or configured key): Toggle edit mode (unlock/lock UI for positioning)
  • Ctrl + Tab (or configured key): Cycle move speeds (5 → 10 → 25 → 50 → 100 pixels/second)
  • Ctrl + Arrow Keys: Move UI in edit mode (only works when edit mode is active)
  • UI automatically centers in the lower third of the screen, then applies your offset
  • Position saves automatically when you exit edit mode

Full Belly - Decay (Decay Settings)

Key Description Default
FullnessDecayInterval Seconds between fullness decay ticks. 3
FullnessDecayAmount Fullness percentage decayed per tick (relative to threshold, e.g., 0.01 = 1% of threshold per interval). 0.01
BloatedDecayInterval Seconds between bloated decay ticks. 3
BloatedDecayAmount Bloated percentage decayed per tick (actual food value, not relative to threshold). 0.01

Full Belly - Overeating (Overeating Settings)

Key Description Default
EnableOvereating Enable overeating penalties - eating while full can cause Bloated affliction. true

Full Belly - Farting (Farting Settings)

Key Description Default
EnableFarting Enable random farting when eating while full. true
FartChance Chance to fart when eating while full (0.01 = 1% chance). 0.01
DecayFartChance Chance to fart during bloated decay tick (0.05 = 5% chance per decay interval). 0.05

📋 Example Logs

[Info :Full Belly] Ate Airplane Food, value: 40.00%, Total consumption: 40.00% [Info :Full Belly] Player labeled as FULL. Consumption: 40.00%, Threshold: 40.00% [Info :Full Belly] Player labeled as BLOATED. Bloated amount: 20.00% [Info :Full Belly] Bloated Affliction Created [Info :Full Belly] Fart triggered!

🌐 Multiplayer Support

  • Host Config Sync: Host's configuration automatically syncs to all clients
  • Anti-Cheat Handshake: Clients can only use mod features if the host has the mod installed
  • Room Properties: Config and handshake data are stored in Photon room properties for reliable synchronization
  • Late Join Support: Players joining mid-game will automatically receive the host's configuration

⚠️ Important Notes

  • No Reconnect State: Player fullness/bloated state is NOT preserved on disconnect/reconnect (players restart fresh)
  • No External Dependencies: Uses Photon PUN2 directly (no PhotonCustomPropsUtils dependency anymore)
  • Bloated Affliction: Requires PEAKLib mods for custom Bloated affliction UI. Falls back to Weight status if PEAKLib is not available.
  • StaminaInfoForked Compatibility: This mod is compatible with StaminaInfoForked. When StaminaInfoForked is detected, Full Belly automatically hides its bloated percentage display to avoid duplication (StaminaInfoForked already shows this information on the stamina bar).

🛠️ Requirements

  • BepInEx
  • Optional: PEAKLib - For custom Bloated affliction UI (falls back to Weight status if not installed)

📦 Installation

  1. Download via Thunderstore or manual install
  2. Place the .dll file in: /PEAK/BepInEx/plugins/
  3. Launch game to generate config 🔥 or use the thunderstore mod manager app 🔥

👨‍🍳 Credits

Author tony4twenty]

CHANGELOG

Changelog

[3.1.1] - 2025-11-24

  • Added compatibility with StaminaInfoForked
  • If StaminaInfoForked is detected then Bloated Percentage no longer appears in the UI and only fullness does since the blaoted affliction percentage is shown by StaminaInfoForked
  • Disabling Overeating now works
  • Added new UI positioning System

[3.0.0] - 2025-11-23

Major System Overhaul

  • Complete rewrite - Changed from timer-based system to label-based system
  • New fullness mechanics - Labels persist until values decay to 0%, not just threshold-based
  • Hunger blocking improvements - Hunger is now completely blocked (hungerPerSecond = 0) when full or bloated

New Features

  • Overeating/Bloating system - Eat while full to become bloated with custom UI affliction
  • Custom Bloated affliction - Pink status bar integrated with vanilla stamina UI (requires PEAKLib)
  • Farting mechanics - Random chance to fart when eating while full or during bloated decay
  • Decay system - Both fullness and bloated status decay over time (configurable intervals and amounts)
  • Percentage display - On-screen display showing current fullness and bloated percentages
  • Multiplayer config sync - Host configuration automatically syncs to all clients via Photon room properties
  • Anti-cheat handshake - Clients can only use mod features if host has the mod installed

Configuration Changes

  • Organized config sections - Configs now grouped into: Core, UI, Decay, Overeating, Farting
  • New config options:
    • Decay intervals and amounts for both fullness and bloated
    • Overeating toggle
    • Farting toggles and chances
    • Percentage display customization
  • Removed configs:
    • FullnessDuration - Replaced with decay system
    • AccumulationWindow - No longer used in new system
    • Timer/Popup position and color configs - Replaced with percentage display configs
  • Updated defaults:
    • FullnessThreshold changed from 0.25 to 0.40 (40%)

Technical Improvements

  • Removed PhotonCustomPropsUtils dependency - Now uses Photon PUN2 directly
  • Improved hunger blocking - Multiple layers of protection (Harmony patches + hungerPerSecond blocking)
  • Cleaned up logging - Removed verbose logs, kept only essential messages and errors

Bug Fixes

  • Fixed hunger still increasing while full/bloated
  • Fixed Harmony patch conflicts with Healing Campfires mod

Breaking Changes

  • System behavior change - Fullness no longer uses fixed timer duration, now uses decay-based system
  • Config structure change - Configs reorganized into sections (old configs may need manual update)
  • No reconnect state - Player fullness/bloated state is not preserved on disconnect/reconnect

[2.2.2] - 2025-08-18

  • "Getting Hungry Again" notification now goes stays up a little longer to see it (configurable)
  • "Getting Hungry Again" no longer shows up when notifiers are turned off
  • When a player dies, Full Belly resets
  • More config options "change UI position, colors, etc"

[2.2.1] - 2025-07-23

  • Can now be fed by other players to become full!

[2.1.1] - 2025-07-23

  • Fixed time persisting across scene changes

[2.1.0] - 2025-07-22

  • Changed notification system to a timer above the stamina bar
  • Fixed(?) issue where if users consumed enough to become full again while already full, they would be stuck full forever
  • Now using "Ascents.hungerRateMultiplier" instead of caching the players current "affliction.hungerpersecond" to ensure we get the correct hunger rate based on the current ascent
  • Added config to show/hide timer
  • Added a failsafe to detect if hungerPerSecond is still 0 even if not full, then update it to the cached base rate
  • Grabbing base rate after scene change

[2.0.0] - 2025-07-20

  • Entire new system of detecting OnFinishCast() to detect items that restore hunger
  • Will work with modded items
  • Pop-Up Text for "Belly is Full" and "Getting Hungry Again"
  • Config to ignore items
  • No Update-based polling for timers — Uses Coroutine for the hunger pause duration

[1.0.0] - 2025-07-15

  • Initial release.