This update focuses on critical internal improvements, database integrity, and user experience. We have rewritten key parts of the storage system to ensure your data is safe and the plugin runs smoother than ever.
⚡ Major Database Overhaul:
Auto-Migration System: Added a smart database migration tool. If you are updating from an older version, the plugin will now automatically detect missing data columns (like Animal Home data) and repair the database structure without losing any existing pets.
Schema Validation: Fixed the critical [SQLITE_ERROR] no such column crash. The plugin now verifies the database integrity on every startup.
Improved MySQL/MariaDB Support: Optimized connection pooling and fixed potential timeouts when using external databases. ⚡ Update Checker Improvements:
Logic Rewritten: Completely overhauled the version comparison algorithm.
Fixed False Positives: Fixed a bug where the plugin would annoyingly alert you about a "New Update" even if you were already using the latest version.
Console & Chat Sync: Update notifications are now more accurate and less intrusive for admins. ⚡ Performance & Console Management:
Cleaner Startup: Significantly reduced console spam. Removed unnecessary debug messages about "Database connections" and "Table verifications" to keep your server logs clean and readable.
Resource Optimization: Improved how the plugin handles data saving tasks to reduce server lag spikes. ⚡ Bug Fixes & Polishing:
Config Handling: Fixed issues where certain configuration values (like storage types) could cause errors if formatted incorrectly.
Error Handling: Added better error protection to prevent the plugin from disabling itself if a minor database hiccup occurs.
General Refactoring: Internal code cleanup for better long-term stability and compatibility with newer Minecraft versions.
Changelog / Patch Notes - AnimalHunger Plugin
This update introduces significant improvements, refactors core systems, and adds long-awaited features for enhanced performance and customization.
New Features:
SQLite Database Integration: Replaced the old YAML-based data storage with a robust SQLite database system. This dramatically improves performance for large servers, reduces load times, and provides a more reliable way to store animal data. HEX Color Code Support: Added full support for HEX color codes (#RRGGBB) throughout the plugin. This includes animal name colors (via the color selection GUI), entity display formats (entity_display.format), progress bars (entity_display.bar), and messages in messages.yml. You can now use precise colors for a more polished look. Enhanced Entity Display: The custom name display above animals (entity_display) now supports detailed formatting, including the use of HEX colors and dynamic placeholders for name, level, bond, and hunger bar. Improved Configuration Caching: Major refactoring of configuration loading. Values are now cached in memory upon startup, significantly reducing disk I/O during runtime and improving performance. Advanced GUI System: Introduced a more flexible and configurable GUI system. Layouts, item positions, and properties can be extensively customized via the config.yml. Second Page GUI: Added a new second page to the animal management GUI, accessible via a dedicated button, offering more options and information without cluttering the main interface. Resource Production System: Implemented a dedicated resource production system, allowing animals to generate resources over time based on their bond level. Breeding Mechanics Overhaul: Enhanced breeding logic with cooldowns, level requirements, and inheritance of stats from parents.
Improvements:
Performance Refactor: Optimized the main processing tasks (processAnimalTick, processBondDecay, etc.) to iterate only through loaded, valid animals, drastically reducing server lag. Enhanced GUI Handling: Improved GUI click handling, inventory management, and item creation logic for better stability and performance. Color Selection GUI Enhancements: The color selection GUI now correctly saves HEX color codes directly into the animal's name, ensuring accurate color display. Configuration Flexibility: Moved many hardcoded values into config.yml, allowing server administrators greater control over plugin behavior. Code Structure: Improved code organization and modularity, making the plugin easier to maintain and extend. Debugging & Logging: Added more detailed debug messages and improved error handling for easier troubleshooting. Auto-Save Optimization: The auto-save task now correctly uses the new database system for saving data. Data Migration Tool: Added a tool to migrate existing data from the old data.yml file to the new SQLite database upon the first run of this version.
Bug Fixes:
Fixed GUI Loading Issues: Resolved critical bugs where GUI items failed to load correctly on the first plugin startup due to improper configuration initialization order. Fixed Entity Display Color: Corrected the method for applying colors (including HEX) to the entity display name above animals Fixed Breeding Glitches: Addressed issues related to animal breeding, ensuring it works correctly based on level requirements. Fixed Placeholder Issues: Improved the processEnhancedPlaceholders method to handle various placeholder types more reliably. Fixed Milking Compatibility: Corrected the override logic for vanilla milking when the plugin's milking system is disabled. Fixed Update Checker: Improved the update checker to correctly fetch and display version information. Fixed Messages: Ensured all messages (including those in GUIs and chat) now correctly process HEX color codes from messages.yml. Fixed Bond Decay: Corrected the timing and application of bond decay mechanics. Fixed Animal Death Handling: Improved the handling of animal deaths, ensuring data is correctly removed and notifications are sent.
⚠️ Breaking Changes / Notes:
Configuration Update: config.yml has been significantly expanded. New sections for database, GUI layouts, second page, and resource production have been added. The plugin will automatically generate these new sections on first run. Data Migration: Existing animal data from data.yml will be automatically migrated to the new SQLite database (animalhunger.db) on the first start with this version. A backup of the old data.yml is recommended before updating. PlaceholderAPI Compatibility: Placeholder expansion logic has been updated to work with the new data storage system.
AnimalHunger Patch Notes - v1.9.8
- FIX # Kill drop configuration
AnimalHunger Patch Notes - v1.9.6
Added function Now you can set a limit on the use of animals (automatically deleted when the animal dies)
max-animals-per-player: 5 # Limit for the player (number) of animals with which they can interact. Set the desired number (0 = no limit)

AnimalHunger Patch Notes - v1.9.5
Hello, animal tamers!
We're excited to release a new update focused on making AnimalHunger more accessible, polished, and enjoyable for our global community. This update is all about localization!
The Globalization Update
We are thrilled to announce that AnimalHunger now officially supports three new languages! We want to make the plugin feel like home for as many players as possible.
New languages include: Brazilian Portuguese (pt-BR)
Ukrainian (UA)
Polished & Clearer Messages
This update wasn't just about adding new languages. We've also performed a complete overhaul of all existing localization files (including English) to improve your in-game experience.
Improved Clarity: Many messages for feeding, riding, and errors have been re-worded to be more intuitive and user-friendly.
Better Color Coding: We've refined our use of color codes across the board. Success messages (&a) are more rewarding, errors (&c) are clearer, and important information (&e) now stands out better.
Full Coverage: We've ensured that all plugin features, from basic feeding to riding exotic animals and premium features, have complete and polished translations.
As always, thank you for your support! If you spot any translation errors or have suggestions, please let us know.
Update 1.9.4 what’s new?
Added resource_production function:
Now you can precisely configure the drop of resources from animal from time to chance
Also fixed a localization file at the request of one of the users
New Feature: Flexible Nametag Display System
Previously, you only had two options:
Show nametags for ALL animals (cluttered screen) Show nametags ONLY for renamed animals (lose level/hunger info) Now you have a middle ground with level-based visibility!
Configuration New Config Option: min_level_to_show Add this to your config.yml under the entity_display section:
yaml entity_display: enabled: true show_level: true show_bond: false
OLD OPTION (still works for compatibility)
show_only_after_rename: false
NEW OPTION - Minimum level required to show nametag
Set to 0 to show all animals
Set to 2+ to show only upgraded animals
min_level_to_show: 2
bar: enabled: true length: 10 hunger_color: "&c" full_color: "&a" format: "{name} {level} {bar}" How It Works The Logic: The nametag will be shown if ANY of these conditions are met:
Animal has a custom name (renamed by player) → Always visible regardless of level Animal level ≥ min_level_to_show → Visible once upgraded min_level_to_show is set to 0 → All animals visible The nametag will be hidden if:
Animal is NOT renamed AND level < min_level_to_show show_only_after_rename: true is enabled (old system overrides) Usage Examples Example 1: Show Only Upgraded Animals (Level 2+) yaml entity_display: enabled: true show_only_after_rename: false min_level_to_show: 2 Result:
Wild Cow (Level 1, no name) → Hidden Upgraded Cow (Level 2, no name) → "Cow [Lvl 2] [██████░░░░]" Named Cow (Level 1, named "Bessie") → "Bessie [Lvl 1] [████░░░░░░]" Why use this?
Reduces visual clutter in the world Creates a sense of progression ("wild" → "tamed") Still shows important info for animals you've invested in Example 2: Show Only High-Level Animals (Level 4+) yaml entity_display: enabled: true show_only_after_rename: false min_level_to_show: 4 Result:
Level 1-3 animals (unnamed) → Hidden Level 4+ animals (unnamed) → Visible Any renamed animal → Always visible Why use this?
Perfect for servers with many animals Only your "elite" animals show their status Keeps the screen clean while showing progress Example 3: Show All Animals (Default Behavior) yaml entity_display: enabled: true show_only_after_rename: false min_level_to_show: 0 # Set to 0 to disable level requirement Result:
ALL animals show their nametags, regardless of level or name Why use this?
Classic behavior (like before this update) Good for small servers or farms See all animal stats at a glance Example 4: Show ONLY Renamed Animals (Old System) yaml entity_display: enabled: true show_only_after_rename: true # Old option overrides everything min_level_to_show: 2 # This will be ignored Result:
Only renamed animals show nametags All unnamed animals are hidden (even if Level 5) Why use this?
Backward compatibility with old configs If you prefer the strictest visibility rules Migration Guide If you're upgrading from an older version: Option A: Keep old behavior (show all animals)
yaml min_level_to_show: 0 show_only_after_rename: false Option B: Use new smart system (recommended)
yaml min_level_to_show: 2 # Or 3, 4, etc. show_only_after_rename: false Option C: Use strictest mode (only renamed)
yaml show_only_after_rename: true
min_level_to_show is ignored
Plugin Update: New Feature & Bug Fixes
✨ New Feature: Cleaner Animal Displays!
Tired of every single new animal in your world having a name and hunger bar? We've added a new option to your config.yml to help reduce visual clutter!
New Config Option: show_only_after_rename: true
What it does: When enabled (set to true), an animal's name and hunger bar will be hidden by default. The display will only appear after you manually give the animal a custom name using the GUI.
Old Behavior: If you set this to false, all animals will show their name/bar from the moment they spawn, just like before. We hope this makes your farms and worlds feel cleaner and makes your named animals feel more special!
YAML
# In config.yml, under entity_display:
# If true, the name/bar above the animal will appear ONLY
# after the player names it via the GUI.
show_only_after_rename: true
# If false, the display will work as usual (from the moment of spawn).
Bug Fixes
Name Color Error: We have fixed a bug where changing an animal's name color would work perfectly but would also incorrectly send an "Error: Animal not found" message to the player in chat. This error message will no longer appear, and the color-changing process is now seamless.
Patch Notes - The Animal Home Update!
We're excited to introduce a brand-new feature to make managing your beloved companions easier than ever: The Animal Home System!
Have you ever worried about your favorite animal wandering off? Now, you can set a dedicated "home" zone to keep them safe and sound.
What's New?
New GUI Menu: We've added a new "Animal Home" management screen.
How to Access: Open the animal menu (Shift + Right-Click), go to Page 2, and click the "Animal Home" button.
Set Home: From this new menu, you can instantly set your animal's current location as its home. A default-sized zone will be created around it.
Stay Put! Once a home is set, your animal will no longer be able to wander outside this zone, keeping it safe from danger or getting lost.
Remove Home: If you want to let your animal roam free again, you can easily remove its home assignment from the same menu.
Check Status: The menu will also show you the status of your animal's home, including its center coordinates and radius. No more lost pets! Keep your prized animals safe and exactly where you want them.
1.9.0 Optimization has been performed, and many functions have been fixed.
1.8.9
WHAT'S NEW Added "Ignored Animals" configuration system Ignored animals will not interact with the plugin at all No menus, no hunger bars, no feeding mechanics Fully compatible with existing AnimalHunger installations HOW TO USE OPEN config.yml in your AnimalHunger plugin folder FIND this section (or add it if missing): ignored-entity-types: enabled: false types: # - "HORSE" # - "DONKEY" # - "MULE" # - "COW" # - "SHEEP"
ENABLE the feature by changing "enabled: false" to "enabled: true" UNCOMMENT the animals you want to ignore by removing the "#" symbol Example:
ignored-entity-types: enabled: true types: - "HORSE" - "CHICKEN" - "BEE"
SAVE the config file RUN the command: /reload or restart your server DONE! Those animals will now behave like vanilla Minecraft animals SUPPORTED ANIMAL TYPES COW SHEEP PIG CHICKEN HORSE DONKEY MULE LLAMA WOLF CAT OCELOT FOX PANDA POLAR_BEAR GOAT STRIDER TURTLE BEE IRON_GOLEM SNOW_GOLEM VILLAGER WANDERING_TRADER RABBIT BAT PARROT MUSHROOM_COW
WHAT HAPPENS TO IGNORED ANIMALS ✓ Right-click does nothing (no menu opens) ✓ Shift+Right-click does nothing (no GUI opens) ✓ No hunger indicator is shown ✓ Cannot be fed with items ✓ Cannot be upgraded or leveled ✓ Cannot be bred ✓ Cannot have custom names or colors ✓ Cannot be killed for special drops ✓ Resource collection is disabled ✓ Acts exactly like a vanilla Minecraft animal
EXAMPLES EXAMPLE 1 - Ignore only horses: ignored-entity-types: enabled: true types: - "HORSE"
EXAMPLE 2 - Ignore all flying animals: ignored-entity-types: enabled: true types: - "BEE" - "PARROT" - "BAT"
EXAMPLE 3 - Ignore farm animals, keep only rideable: ignored-entity-types: enabled: true types: - "COW" - "SHEEP" - "PIG" - "CHICKEN"
WHAT'S NEW Added "Ignored Animals" configuration system Ignored animals will not interact with the plugin at all No menus, no hunger bars, no feeding mechanics Fully compatible with existing AnimalHunger installations HOW TO USE OPEN config.yml in your AnimalHunger plugin folder FIND this section (or add it if missing): ignored-entity-types: enabled: false types: # - "HORSE" # - "DONKEY" # - "MULE" # - "COW" # - "SHEEP"
ENABLE the feature by changing "enabled: false" to "enabled: true" UNCOMMENT the animals you want to ignore by removing the "#" symbol Example:
ignored-entity-types: enabled: true types: - "HORSE" - "CHICKEN" - "BEE"
SAVE the config file RUN the command: /reload or restart your server DONE! Those animals will now behave like vanilla Minecraft animals SUPPORTED ANIMAL TYPES COW SHEEP PIG CHICKEN HORSE DONKEY MULE LLAMA WOLF CAT OCELOT FOX PANDA POLAR_BEAR GOAT STRIDER TURTLE BEE IRON_GOLEM SNOW_GOLEM VILLAGER WANDERING_TRADER RABBIT BAT PARROT MUSHROOM_COW
WHAT HAPPENS TO IGNORED ANIMALS ✓ Right-click does nothing (no menu opens) ✓ Shift+Right-click does nothing (no GUI opens) ✓ No hunger indicator is shown ✓ Cannot be fed with items ✓ Cannot be upgraded or leveled ✓ Cannot be bred ✓ Cannot have custom names or colors ✓ Cannot be killed for special drops ✓ Resource collection is disabled ✓ Acts exactly like a vanilla Minecraft animal
EXAMPLES EXAMPLE 1 - Ignore only horses: ignored-entity-types: enabled: true types: - "HORSE"
EXAMPLE 2 - Ignore all flying animals: ignored-entity-types: enabled: true types: - "BEE" - "PARROT" - "BAT"
EXAMPLE 3 - Ignore farm animals, keep only rideable: ignored-entity-types: enabled: true types: - "COW" - "SHEEP" - "PIG" - "CHICKEN"
✨ New Features Custom Names & Colors Animals can now have custom names that are saved Names can be displayed in different colors All name data persists through server restarts Better Data Saving More reliable backup system No more data loss during server crashes Automatic cleanup of old/invalid animal data Improvements Performance Faster data saving Less lag during maintenance tasks More efficient memory usage Stability Fixed crashes when saving multiple animals at once Better error handling - plugin won't crash from corrupted data Improved compatibility with other plugins Bug Fixes ✅ Fixed data not saving correctly for some animals ✅ Fixed incorrect hunger/level values after restart ✅ Fixed memory leaks from removed animals ✅ Fixed compatibility issues with animal stats Technical Complete code refactoring for better maintainability Added comprehensive error logging Improved thread safety
What's new: Performance optimization: Improved plugin efficiency by optimizing internal code, reducing server load. New administrative tool: Added the /ah resources command, allowing administrators to track internal plugin activity (e.g., number of animals processed, saves, etc.) for performance analysis. Bug fix: Fixed a potential bug related to checking compatibility with MythicMobs when starting the server. Configuration fix: Added the missing animalhunger.resources permission node to the plugin.yml file for the new command.
New Riding System: You can now ride certain animals! To do so, simply interact with an animal (using your empty hand) that is at least Level 6 and has decent hunger. If you don't meet the requirements, you'll get a helpful message letting you know why. Riding Mechanics: Once riding, the animal will follow the direction you're looking. Jumping might be automatic when needed, depending on server settings. Simplified Interactions: Right-clicking an animal with food will still feed it. Right-clicking while sneaking will still open the animal's info GUI. If you right-click with an empty hand (and meet the riding conditions), you'll attempt to mount the animal. Improved Feedback: The messages you see when interacting with animals have been streamlined. You'll get clearer information if you can't ride an animal (usually because its level is too low or it's too hungry). Behind-the-Scenes Fixes: We've also made sure the riding system works smoothly in the background without interfering with other plugin features like feeding, GUIs, or animal stats.
**Demo Version **
Placeholders:
%animalhunger_hunger%: Displays the current hunger of the last interacted animal (e.g., "10"). %animalhunger_max_hunger%: Displays the maximum hunger capacity of the last interacted animal (e.g., "12"). %animalhunger_level%: Displays the level of the last interacted animal (e.g., "2"). %animalhunger_bond%: Displays the bond level (in percentage) of the last interacted animal (e.g., "50"). %animalhunger_resources%: Displays the resource count of the last interacted animal (e.g., "0"). %animalhunger_animal_type%: Displays the type of the last interacted animal (e.g., "SHEEP"). %animalhunger_hunger_percent%: Displays the hunger as a percentage of max hunger (e.g., "83" for 10/12). %animalhunger_level_by_id_<id>%: Displays the level of the animal with the specified ID (e.g., %animalhunger_level_by_id_0% returns "2" for an animal with id: 0 and level 2).
Stable Version



