Animal Pen

Who doesn't love making entities simple to collect?

File Details

Animal Pen v0.2.0 NeoForge

  • R
  • Dec 21, 2025
  • 182.23 KB
  • 16
  • 1.21.1
  • NeoForge

File Name

animalpen-0.2.0.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:animalpen-1409534:7360957"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Changelog

All notable changes to Animal Pen will be documented in this file.

[0.2.0] - The Interactivity update

Added

  • Tool-Based Interactions

    • Bucket on cows/goats: Collect milk (with 5-second cooldown)
    • Bucket on chickens: Collect all stored eggs from passive generation
    • Glass bottle on bees: Collect honey (requires 3+ bees, with cooldown)
    • Bowl on mooshrooms: Collect mushroom stew (with cooldown)
    • Shears on sheep: Harvest 1-3 wool of the sheep's color (with cooldown)
    • Shears on bees: Collect 1-2 honeycomb (requires 3+ bees, with cooldown)
    • Brush on armadillos: Collect armadillo scutes (with cooldown)
    • Dye items on sheep: Change sheep color permanently
  • Passive Resource Generation

    • Chickens automatically lay eggs every 5 minutes (per chicken)
    • Bees produce honey bottles every 10 minutes (3 bees = 1 bottle, max 4 per cycle)
    • Resources stored internally up to 16 items per type
    • Sneak + empty hand on pen to collect all passive resources
    • Visual feedback and sounds when resources are generated
  • Enhanced Bee Rendering

    • Bees now render with a decorative beehive on the north fence post
    • Beehive displays honey level (0-5) based on stored honey bottles
    • Bee entity hovers in front of beehive with gentle animation
    • Beehive faces toward the pen interior
  • Improved Visual Feedback

    • Health bar displays current and max health for damaged animals
    • Health bar color changes based on health percentage (green/yellow/red)
    • Count text now has semi-transparent background for better visibility
    • Damage particles and hurt animations synced between client and server
  • Utility Systems

    • AnimalSoundUtils: Centralized entity sound mapping for hurt/death sounds
    • EntityDataUtils: Standardized NBT data handling for captured animals
    • EntityRenderUtils: Entity scaling and rendering helper methods
    • EntityTypeUtils: Safe entity type validation and registry lookups
    • ItemStackUtils: Item collection management (merging, counting, removing)
    • StoredAnimal: Dedicated data structure for animal storage with health tracking

Changed

  • Refactored entity data storage to use proper NBT component system
  • Improved entity render caching to reduce performance overhead
  • Tool interactions now properly damage tools (except in creative mode)
  • Breeding cooldown now tracked per-pen instead of globally
  • Resource generation timers persist through world reload
  • Loot generation now uses proper LootParams and damage sources

Fixed

  • Entity rendering no longer creates duplicate entities every frame
  • Proper UUID handling when releasing captured animals
  • Health properly resets when animal dies and next animal takes its place
  • Cached render entities are cleared when entity type changes
  • Tool durability properly consumed in survival mode

Technical

  • Added comprehensive Javadoc documentation for all utility classes
  • Improved separation of concerns with dedicated utility packages
  • Better null-safety with @Nullable annotations
  • Standardized NBT key naming conventions
  • Optimized entity rendering with proper caching strategies

[0.1.0] - Initial Release

Added

  • Animal Wrangler tool for capturing animals

    • Right-click any animal to convert it into a portable item
    • 256 durability uses
    • Crafted with sticks and leads
  • Animal Pen block for compact animal storage

    • Store up to 64 animals of the same type in one block
    • Animals are visually rendered inside the pen
    • Shows animal count above the pen
    • Stone base with wooden fence posts design
  • Captured Animal items

    • Portable form of captured animals
    • Displays animal type and health in tooltip
    • Stack up to 16 of the same animal type
    • Right-click to release animal into the world
    • Right-click on pen to deposit
  • Animal breeding system

    • Feed penned animals their preferred food
    • Automatic breeding when 2+ animals are fed
    • 5-minute cooldown between breeding cycles
    • Visual and audio feedback for successful breeding
  • Combat and harvesting mechanics

    • Left-click pen to attack stored animals
    • Different damage values for fists, swords, axes, and tridents
    • Health tracking with visual health bar display
    • Animals drop their standard loot tables when killed
    • Hurt animations and particle effects
    • Entity-specific hurt and death sounds
  • Pen management features

    • Empty hand right-click to view stored animal info
    • Sneak + Animal Wrangler to extract animals as items
    • Animals released when pen is broken
    • Loot automatically drops when animals die
  • Full entity rendering system

    • Animals display with correct textures and models
    • Item rendering shows captured animal in hand
    • Rotating display in inventory and when held
    • Scale adjustments based on entity size
  • Crafting recipes

    • Animal Pen: Wooden fences + stone
    • Animal Wrangler: Sticks + leads