File Details
Animal Pen v0.3.0 - NeoForge Edition
- R
- Jul 17, 2026
- 100.74 KB
- 15
- 1.21.1
- NeoForge
File Name
animalpen-0.3.0.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
[0.3.0] - Individual Animals & Interface Rework
Highlights
- Animal Pens now retain every animal as an individual instead of representing the entire pen with one shared NBT template
- Sheep of different colors retain their own color and produce the correct wool when sheared or killed
- The Animal Pen information screen has been redesigned into a compact, coherent, responsive interface
Added
Individual Animal Storage
- Stores complete NBT, health, age, appearance, name, ownership, and variant data for every animal in a pen
- Preserves differently colored sheep and other same-type animal variants in one pen
- Includes migration support for existing count-based Animal Pen saves
- Uses compact client update data so full NBT for all 64 animals is not sent with every visual update
Per-Animal Sheep Drops
- Shearing evaluates every stored adult sheep individually
- Mixed-color pens produce the corresponding wool colors rather than copying the front sheep's color
- Wool of matching colors is merged into stacks before being given to the player
- Baby sheep are excluded from shearing
Improved Capture Safety
- Prevents players from capturing another player's owned animals
- Prevents capture while an animal is mounted, carrying passengers, or leashed
- Keeps the animal in the world if the captured item cannot be inserted or spawned safely
- Validates captured entity data before deposit or release
- Prevents releasing animals into obstructed spaces
Passive Resource Collection
- Empty-hand right-click now collects stored passive resources
- Resource changes synchronize to the Animal Pen screen
- Resource icons in the screen include counts and hover tooltips
Changed
Breeding Rework
- Breeding now feeds at most two pairs (2-4 animals) per cycle
- Baby capacity is reserved when food is consumed, preventing deposits from filling those slots mid-cycle
- Full pens no longer consume breeding food without producing offspring
- Breeding creates real offspring NBT from individual parents instead of incrementing a shared adult count
- Stored babies continue growing inside the pen
- Individual vanilla age and post-breeding cooldown values continue ticking while stored
- Breeding timing now uses level game time for consistent server/client progress and unload behavior
Combat Rework
- Sneak-attack targets the front animal while ordinary attacks remain available for breaking the pen
- Sneak-attacking an occupied pen no longer progresses block mining
- Damage is calculated from the player's attack-damage attribute and attack strength
- Loot tables receive the actual killed animal and its individual NBT state
Tool Interactions
- Bucket interactions dispatch directly to chickens or milkable animals without contradictory messages
- Buckets, bottles, and bowls now use vanilla-style filled-container handling
- Creative-mode interactions no longer consume captured animals or empty containers
- Milking, stewing, shearing, and brushing respect the targeted animal's adult state
- Tool failures are treated as handled pen interactions and no longer fall through to unrelated item behavior
Animal Pen Screen
- Replaced the oversized split overlay with one centered, bounded panel
- Added consistent preview, pen status, breeding, and stored-resource cards
- Improved spacing, alignment, typography hierarchy, progress bars, and footer controls
- Added responsive sizing for different window and GUI scales
- Reduced the animal preview size and refreshes it when the front animal changes
- Moved all screen text to localization keys
Captured Animal Rendering
- Captured items are cached by entity type and individual NBT instead of entity type alone
- Different sheep colors and other variants now render correctly in inventories, hands, item frames, and as dropped items
- Added a bounded render cache that is cleared when changing worlds
Fixed
- Same-type animals losing or duplicating names, colors, owners, ages, health, and variant data
- Damaged animals using their current health as their permanent maximum health
- Extracting a damaged animal restoring health from an unrelated shared template
- Stale breeding state carrying across extraction, death, or replacement with another species
- Breeding progress and passive resources appearing stale in the client screen
- Passive honey and other generated resources being inaccessible without breaking the pen
- Chicken egg collection showing an incorrect "cannot milk" message first
- Entity loot conditions evaluating against the attacking player instead of the killed animal
- Client and server disagreeing about whether arbitrary held-item interactions succeeded
- Client-only ghost resource drops when an Animal Pen was removed
- Partial inventory insertion potentially duplicating passive resource drops
- Item removal utilities removing incorrect quantities across multiple stacks
- Captured Animal items reusing the first-rendered animal's appearance
- Renderer shadow state remaining disabled after a rendering exception
Technical
- Replaced deprecated item client-extension initialization with
RegisterClientExtensionsEvent - Added per-animal save serialization with backward-compatible legacy migration
- Added compact front-animal serialization for block entity update packets
- Centralized entity validation and safer NBT copying
- Improved render entity cleanup when caches, screens, block entities, or worlds are removed