🐕 Better Dogs
"Make Wolves Worthy Companions. Smarter, Safer, Livelier."
Every Minecraft player knows the pain: you spend hours finding and taming a wolf, and five minutes later it jumps into a 2-block lava pit or walks off a fatal cliff. Better Dogs overhauls vanilla wolf AI from the ground up to turn them into intelligent, durable, and highly capable companions. Powered by a high-performance Event-Driven AI Scheduler, every mechanic operates with near-zero tick overhead.
Part of the Vanilla Outsider Collection — modern mods designed to refine and elevate the vanilla Minecraft experience.
[!NOTE] 1 Jar 1 Version Policy: I build 1 dedicated JAR for each Minecraft version (e.g. MC 1.20.1, MC 1.21.1, MC 1.21.11, MC 26.1.2, MC 26.2, MC 26.3). Please download the exact build that matches your Minecraft installation.
Dependency Notice:
- Modern Era (MC 26.x+): Requires Fabric API AND Dasik Library.
- Legacy & Transitional Eras (MC 1.20.1, MC 1.21.x): Self-contained builds requiring only Fabric API.
✨ Features
🧠 Personality Intelligence
Upon taming, every wolf permanently develops one of three distinct personalities with custom stats, traits, and ambient patrol particles:
- 💢 Aggressive (The Vanguard): Proactively scouts up to 10 blocks ahead of the owner, targets hostiles up to 20 blocks away (+15% speed, -15% damage, -10 HP offset, 10% low-health flee chance). Emits red patrol dust (
0xFF3333). - ❤️ Pacifist (The Sentinel): Follows closely within 6 blocks (+20 HP bonus, -10% speed, +15% damage, +50% knockback, 100% low-health flee chance). Emits green/teal patrol dust (
0x00FF88). Warns you of nearby monsters with vocal growls and alert stances. - ✨ Normal (The Balanced Companion): Follows reliably within 10 blocks (balanced stats, 50% low-health flee chance). Emits golden patrol dust (
0xFFD700).
🛡️ Tamed Wolf Guard Mode
Shift-Right-Click (Sneak + Right-Click) your tamed wolf with a Bone in your main hand to anchor them to their current spot in Guard Mode (consuming 1 bone).
- Posture Preservation: Seated wolves remain sitting in a stationary sentry posture at their guard post without breaking posture.
- Personality Patrol Styles:
- Aggressive: Active polygon perimeter sweep patrolling up to 8 blocks around the post.
- Normal: Radial sweeps up to 6 blocks, returning to the center.
- Pacifist: Tight orbital circular sweeps within 4 blocks.
- Watchdog Alarms & Threat Pointing: When hostile mobs approach a Pacifist guard, the dog stands, freezes, looks directly at the closest monster, emits directional red dust particles, and growls according to its unique sound variant.
📄 Wolf Ownership Transfer (Adoption)
Transfer ownership of your tamed companion to another player safely and seamlessly:
- Initiate Adoption: Shift-Right-Click your tamed wolf with Paper. The wolf sits down, clears aggression, and emits a sparkling Rose Pink particle trail.
- Claiming: Any non-owner player can right-click the adoptable wolf with an empty main hand to claim them as their new companion.
- Safety Protection: Taking any damage or a normal right-click by the original owner immediately cancels the adoption state.
🦯 Select-and-Ride Command System
Command your tamed wolves to ride vehicles, mounts, boats, minecarts, or modded chairs with accurate sitting poses:
🎬 Video Tutorial: Select-and-Ride Command System
Click the thumbnail or button below to watch the feature showcase on YouTube
- Selection: Shift-Right-Click your tamed wolf with a standard Stick, Blaze Rod, or Breeze Rod to select them (plays a chime and emits a golden particle ring).
- Mount Target: Right-click any vehicle (Boat, Minecart, Horse, Camel, Donkey, Mule, Skeleton Horse, or modded Chair/Stair) to direct the wolf into the seat.
- Natural Sitting Pose: Wolves maintain a natural, upright sitting pose while riding vehicles instead of floating or standing awkwardly.
📏 Dynamic Size & Attribute Scaling
Every wolf features continuous, genetics-driven body scaling (70% to 145%) utilizing Minecraft's native Attributes.SCALE:
- Physical & Stat Correlation: Physical size scales health pools and attack damage proportionally.
- Unique Sound Variant Lottery: Scale, genetics, and personality deterministically seed a unique audio sound variant (Classic, Big, Cute, Puglin, Angry, Grumpy, Sad) with individual pitch offsets.
🤝 Advanced Social AI & Pack Genetics
- Multi-Puppy Litters: Breeding can produce litters of 1 to 4 puppies, each rolling independent personality traits, mutations, and scale factors.
- Adult Disciplinary Correction: Aggressive adult pack members gently discipline mischievous puppies to prevent chaotic death loops.
- Food Quirks: Dogs possess individual dietary traits — enthusiastic "Hoovers" eagerly scavenge dropped food from the ground, while selective lineages refuse ground scraps.
- Social Bonding & Affinity: Packmates build mutual affinity over time, preventing accidental infighting and suppressing blood feud retaliation.
🐕 Harmless Pack Play Sparring AI Suite
Tamed dogs within the same pack can now engage in natural, non-lethal play fighting and social hierarchy dynamics:
- 🤼 Playful Sparring Rounds: Co-owned dogs of the same pack initiate gentle sparring sessions featuring playful circles, dynamic pouncing, and tail wagging. Play fighting is completely non-lethal and never causes death.
- 🐺 Adult Hierarchy Correction Snap: Calm adult pack members deliver a gentle discipline snap (0 damage to puppies with a gentle growl, 0.5 hearts to adults) when overly energetic packmates pounce repeatedly (3–5 times). This immediately calms the room, silences alerts, and suppresses retaliation feuds.
- ⏱️ Play Timeout Penalties: Disciplined dogs receive a 10-minute timeout penalty (
betterdogs:playPenaltyMinutes), adopting a subdued tail posture and emitting gentle submissive whines when petted. - 🍖 Comforting Treat Soothing: Feeding a disciplined dog comforting treats (bones, cooked or raw meats) soothes their mood, reducing their timeout penalty by 10% per treat.
- 👥 Pack Audience Spectating: Nearby packmate dogs within 6 blocks pause to spectate sparring matches with excited tail wags.
🛡️ Smart Survival AI
- Cliff Safety: Wolves detect fatal falls (>3 blocks) and ledge edges, halting dangerous chases.
- Hazard Avoidance: Intelligently paths around lava, fire, drowning hazards, and Magma Blocks.
- Wolf-on-Wolf Collision Push Safety: When colliding with a packmate perched near a cliff or hazard, wolves immediately halt navigation to avoid pushing them into danger.
- Fire Survival AI: Burning wolves break their sitting posture in an emergency and sprint at 1.4x speed toward the nearest water body within 16 blocks to extinguish themselves.
- Creeper Blast Evasion: Tamed dogs detect swelling creepers and sprint radially away at 1.5x speed.
- Scaled Whimpering: Low-health whimpering dynamically scales to
< 50% max HP(preventing healthy runts from constant crying).
🏰 Dynamic Territoriality & Wild Pack Wars
Wild wolf packs roam as organized units led by an Alpha leader:
- Territorial Encounters: When rival packs meet, leaders negotiate outcomes based on personality:
- Aggressive vs. Aggressive: Triggers an intense 1v1 Leader Duel.
- Aggressive vs. Pacifist / Normal: Forces submissive pack mergers or peaceful retreats.
- Pacifist vs. Pacifist: Both packs peacefully retreat in opposite directions.
🌕 Restored Howling Soundscapes & Zoomies
- Pack-Wide Howling: Under a full moon, pack leaders initiate howling choruses using restored classic wolf howl sound files.
- Morning & Rain Zoomies: Happy, healthy dogs occasionally burst into playful high-speed sprints in the morning or during fresh rainfall.
🔍 Jade Mod HUD Integration
- Dynamic Numeric Health: Displays exact numeric health values (
HP: X / Y) and hearts. - Inbred Status Tag: Displays genetic lineage and inbred warnings in tooltips.
- Favorite Treat Discovery: Identifies your dog's secret favorite treat once fed.
💻 Server-Side Optional & Client Gating
- Server-Side Optional: Fully functional on dedicated servers even if connecting clients do not have the mod installed!
- In-Game GUI Config: Seamlessly integrates with ModMenu + Cloth Config / YACL v3.
📊 Quick Reference & Mechanics Matrix
🐺 Personality Comparison Table
| Personality | Base HP Offset | Speed Modifier | Damage Modifier | Follow Distance | Low-HP Flee Chance | Patrol Pattern | Patrol Particles |
|---|---|---|---|---|---|---|---|
| Aggressive 💢 | -10 HP |
+15% |
-15% |
10 blocks |
10% |
Perimeter Sweep (8m) | Pure Red (0xFF3333) |
| Pacifist ❤️ | +20 HP |
-10% |
+15% |
6 blocks |
100% |
Orbital Sweep (4m) | Teal / Green (0x00FF88) |
| Normal ✨ | +0 HP |
+0% |
+0% |
10 blocks |
50% |
Radial Sentry (6m) | Golden Yellow (0xFFD700) |
🧬 Breeding Genetics Inheritance Matrix
| Parent Personalities | Primary Offspring Outcome | Secondary Mutation Outcome |
|---|---|---|
| Same Traits (e.g. Aggro + Aggro) | 80% Inherits Parent Personality |
10% Mutates to alternative personality |
| Normal + Non-Normal | 40% Dominant Normal |
40% Recessive Non-Normal |
| Aggressive + Pacifist | 50% Dilutes into Normal |
25% Mutates to Aggressive / Pacifist |
⌨️ In-Game Commands
All commands are registered under /betterdogs (alias /bd) and support rich tab-completion:
| Command | Permission | Description |
|---|---|---|
/betterdogs help |
All | Displays the in-game command reference handbook. |
/betterdogs status |
All | Displays current mod configuration and core active parameters. |
/betterdogs get <rule> |
All | Reads the live value of any namespaced GameRule. |
/betterdogs set <rule> <value> |
OP (Level 2) | Updates the live value of a GameRule in real-time. |
/betterdogs reset |
OP (Level 2) | Restores all Better Dogs GameRules to factory defaults. |
/betterdogs reload |
OP (Level 2) | Reloads configuration files from disk. |
/betterdogs debug action <entity> <action> |
OP (Level 2) | Triggers actions (howl, zoomies, mischief, play_fight, retaliation). |
/betterdogs debug personality <entity> <type> |
OP (Level 2) | Forces a wolf's personality (aggressive, pacifist, normal). |
/betterdogs debug territory <entity> |
OP (Level 2) | Tests wild territorial pack negotiations. |
⚙️ Native GameRules & Configuration
[!IMPORTANT] 💡 Config vs. In-Game GameRules: The global configuration file only defines default values for newly created worlds. In existing worlds, change settings in-game via the Edit Game Rules UI screen or the
/gamerulecommand.
Key GameRules Overview
| Category | GameRule Identifier | Default | Type | Description |
|---|---|---|---|---|
| Survival | betterdogs:bd_cliff_safety |
true |
Boolean | Prevents wolves from walking off fatal cliffs (>3 blocks). |
| Survival | betterdogs:bd_wolves_seek_water_on_fire |
true |
Boolean | Burning wolves sprint to water within 16 blocks. |
| Survival | betterdogs:bd_creeper_awareness |
true |
Boolean | Tamed dogs evade hissing creepers. |
| Survival | betterdogs:bd_friendly_fire_protection |
true |
Boolean | Protects tamed wolves from accidental owner hits. |
| Behavior | betterdogs:bd_storm_anxiety |
true |
Boolean | Enables thunderstorm trembling and whimpering. |
| Behavior | betterdogs:bd_zoomies_enabled |
true |
Boolean | Enables morning and rainfall sprint zoomies. |
| Behavior | betterdogs:bd_fetch_enabled |
true |
Boolean | Enables stick fetch games. |
| Guard | betterdogs:bd_guard_patrol_range_aggressive |
8 |
Integer | Patrol radius for Aggressive guard dogs (blocks). |
| Guard | betterdogs:bd_guard_patrol_range_normal |
6 |
Integer | Patrol radius for Normal guard dogs (blocks). |
| Guard | betterdogs:bd_guard_patrol_range_pacifist |
4 |
Integer | Patrol radius for Pacifist guard dogs (blocks). |
| Genetics | betterdogs:bd_wolf_litter_max_size |
4 |
Integer | Maximum puppy count in a single litter (1–4). |
| Scale | betterdogs:bd_wolf_min_scale_percent |
70 |
Integer | Minimum scale percentage (70%). |
| Scale | betterdogs:bd_wolf_max_scale_percent |
145 |
Integer | Maximum scale percentage (145%). |
| Social | betterdogs:dogPlayFighting |
true |
Boolean | Enables playful non-lethal pack sparring between tamed dogs. |
| Social | betterdogs:playPenaltyMinutes |
10 |
Integer | Duration of submissive timeout penalty after discipline snap (minutes). |
📖 In-Depth How-To & Gameplay Playbook
Master every interaction in Better Dogs with this comprehensive operational playbook:
1. Taming & Discovering Personality
- Feed bones to any wild wolf. Upon taming, inspect the floating particle color (Red = Aggressive, Green/Teal = Pacifist, Gold = Normal) or check their Jade HUD tooltip.
2. Shift+Right-Click Gesture Playbook
- Bone + Shift-Right-Click: Toggles Guard Mode (consumes 1 bone). The dog anchors to the spot. Seated dogs remain sitting as sentries.
- Paper + Shift-Right-Click: Puts your dog up for Adoption (sparkling Rose Pink trail). Any non-owner player can right-click with an empty hand to claim them.
- Stick / Blaze Rod / Breeze Rod + Shift-Right-Click: Selects the dog (golden particle ring). Then right-click any vehicle (Boat, Minecart, Horse, Camel, Chair) to command the dog to mount with a seated pose.
3. Selective Breeding & Litter Genetics
- Feed meat to two tamed wolves. Litters produce 1–4 puppies. Puppies inherit parental scale and personality with a small chance of mutation. Outcrossing prevents inbreeding debuffs.
4. Pack Play Sparring & Discipline Dynamics
- Allow tamed packmates to roam freely together to watch them engage in harmless sparring rounds and playful pouncing.
- Overly energetic dogs will receive a calming discipline snap from adult packmates. If disciplined, comfort them with bones or meats to accelerate their timeout recovery by 10% per treat!
5. Reading Audio Cues & Whining
- Whimpering only triggers when health falls below 50% of the dog's maximum HP. Feed meat to restore health.
- Under a full moon, enjoy the ambient chorus of nocturnal pack howling.
6. In-Game Configuration
- Open World Settings → Edit Game Rules to browse all Better Dogs settings in a dedicated folder, or use
/betterdogs set <rule> <value>in-game.
🧩 Recommended Sister Mods
If you enjoy Better Dogs, these companion mods from the Vanilla Outsider & Delayed Gratification Collections plug in seamlessly:
- 🐾 Natural Reproduction: Introduces realistic gestation, seasonal breeding cycles, and genetic trait variation across wolves, livestock, and ambient fauna.
- 🦇 Better Bats: Enhances vanilla bats with dynamic 3D Boids murmuration flocking, twilight flight behaviors, and natural cave guano crop fertilization.
- 💤 True Sleep: Transforms the vanilla sleep skip into a real-time world acceleration experience where furnace smelting and mob growth proceed naturally.
🌟 Explore the full Vanilla Outsider Collection for more mindful vanilla enhancements.
💬 Join the Community & Get Support
Looking for help, want to test early beta builds, or vote on upcoming features? Join our official Discord community!
☕ Support
If you enjoy Better Dogs and the Vanilla Outsider Collection, consider fueling future updates!
[!NOTE]
📜 Credits & Modpack Permissions
| Role / Property | Author / Link |
|---|---|
| Creator / Author | Dasik (Rifaditya) |
| Community | Official Discord |
| Collection | Vanilla Outsider |
| License | GNU General Public License v3.0 (GPLv3) |
| Source Code | GitHub - Rifaditya/Vanilla-Outsider-Better-Dogs |
| Issue Tracker | GitHub Issues |
| Documentation / Wiki | Official Docs & Wiki (Main) | GitHub Wiki (Alternative / 11 Languages) |
[!IMPORTANT] 📦 Modpack Permissions & Distribution: You are fully welcome to include this mod in any modpack on any platform! However, the mod file must be downloaded directly through official distribution channels (Modrinth or CurseForge). Re-uploading, mirroring, or redistributing the original mod JAR to third-party mirror sites, scraper portals, or unauthorized launchers is strictly prohibited.
⚖️ License & Fork Guidelines (No Zero-Change Re-uploads): This project is open-source under the GNU GPLv3. You are fully encouraged to inspect the code, learn from it, and fork the repository to create genuine modifications, substantial feature expansions, or community ports—provided your project remains open-source under GPLv3 with proper attribution. However, straight 1:1 re-uploads, clone forks with no meaningful functional changes, or re-publishing identical builds under different project names (e.g. to farm downloads or rewards) are strictly forbidden.
Made with ❤️ for the Minecraft community
Part of the Vanilla Outsider Collection
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 6d ago | 1 | ||||
| 6d ago | 1 | ||||
| 6d ago | 1 | ||||
| 7d ago | 1 | ||||
| 7d ago | 1 | ||||
| 12d ago | 1 | ||||
| 12d ago | 1 | ||||
| 12d ago | 1 | ||||
| 14d ago | 1 | ||||
| 19d ago | 1 | ||||
| 19d ago | 1 | ||||
| 19d ago | 1 | ||||
| 19d ago | 1 | ||||
| 21d ago | 1 | ||||
| 27d ago | 1 | ||||
| 27d ago | 1 | ||||
| 27d ago | 1 | ||||
| 27d ago | 1 | ||||
| 27d ago | 1 | ||||
| 27d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 28d ago | 1 | ||||
| 29d ago | 1 | ||||
| 29d ago | 1 | ||||
| 29d ago | 1 | ||||
| 29d ago | 1 | ||||
| 29d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 |
### Added
- 🏆 **Dedicated 13 Husbandry Advancements Tree (
WolfAdvancementHelper.java)**: - Implemented 13 custom advancements nested under Vanilla's Husbandry tree (
minecraft:husbandry/tame_an_animal): - Man's Best Companion** (
tame_wolf, Task): Tame a canine companion with an authentic personality. - Who's a Good Dog?** (
pet_dog, Task): Pet a tamed dog with an empty hand. - Safe and Sound** (
soothe_dog, Task): Soothe a trembling or weather-panicked dog during a thunderstorm. - Gourmet Canine** (
favorite_treat, Task): Discover and feed your companion their individual favorite treat. - The Zoomies** (
zoomies, Task): Trigger a sprint burst by giving your dog its favorite snack. - Fetch Master** (
fetch_stick, Task): Throw a stick and have your dog retrieve it for you. - Sentinel on Duty** (
guard_mode, Task): Place a loyal dog on sentinel guard patrol mode. - Morning Surprise** (
morning_gift, Task): Receive a morning gift from your sleeping companion. - Second Chance** (
adopt_dog, Task): Successfully adopt a listed dog using an adoption paper certificate. - Pack Conductor** (
horn_command, Task): Command a pack of dogs using a Goat Horn. - Genetic Restoration** (
cure_inbred, Goal): Cure an inbred runt defect with a Golden Apple. - Nocturnal Symphony** (
chorus_howl, Goal): Witness or participate in a nocturnal pack chorus howl under the moonlight. - Apex Dynasty** (
giant_lineage, Challenge): Successfully breed a giant-scale (1.25x+) companion dog through generational lineage. - Added automated unit test suite
AdvancementCriteriaTest.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- ⚡ **Full Brigadier
/betterdogs&/bdIn-Game Command Suite (BetterDogsCommand.java,CommandSuggestionsHelper.java)**: - Implemented complete in-game Brigadier command tree with root
/betterdogsand convenient short alias/bd. - Welcome & Help** (
/betterdogs,/betterdogs help): Displays formatted syntax reference and command guides for players and administrators. - Categorized Companion Status** (
/betterdogs status): Visual, color-coded diagnostic overview displaying active states across Personalities & Stats, Environmental Safety, Combat/Tactics, and Genetics/Breeding. - Rule Querying with Flexible Resolution** (
/betterdogs get <rule>): Queries active GameRule values with full tab completion and shorthand matching (e.g.,cliff_safetyresolves tobd_cliff_safety). - Permission-Gated Rule Modification** (
/betterdogs set <rule> <val>): Allows operators (Permission Level 2) to dynamically adjust boolean toggles and integer modifiers on the fly. - Factory Reset & State Sync** (
/betterdogs reset,/betterdogs reload): Instantly restores all 80+ companion GameRules to factory defaults or confirms active state synchronization. - Added automated unit test suite
CommandSuiteTest.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- 🥩 **Feeding-Gated Merits & Gift System (
WolfGiftGoal.java,WolfGiftHelper.java,WolfPersistentData.java)**: - Implemented persistent feeding merits tracking (
feedCount) incremented each time the dog is fed. - Dogs require $\ge 10$ feeding merits (
bd_gift_feed_threshold) before bringing gifts, consuming 10 merits upon delivery. - Added accidental player attack demerit penalty (
bd_demerit_accidental_attacks) resetting accumulated merits upon friendly fire. - 🐾 **Follower Pack Spacing Offset (
PersonalityFollowOwnerGoal.java)**: - Implemented
FollowerSpacingCacheand dynamic $\sqrt{N-1}$ pack spread offset expanding follower start/stop distances, eliminating clustering and crowding at the player's feet. - Added GameRules
bd_tamed_pack_spread_multiplier(default100) andbd_tamed_pack_spread_max(default50). - 🌸 **Puppy Curiosity AI (
BabyCuriosityGoal.java)**: - Puppies explore natural vegetation and observe critters when idle.
- Added automated test suite
WolfGiftMeritsTestandBabyCuriosityTest.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Changed
- 🧬 **Full-Spectrum [-100%, +100%] UUID Behavioral Variance (
WolfDispositionHelper.java)**: - Expanded individual dog UUID offset range to $[-100\%, +100\%]$ (clamped to $[0\%, 100\%]$).
- Applied base personality values:
- Fetch Reluctance**: Aggressive ($10\%$), Normal ($30\%$), Pacifist ($60\%$).
- Storm Fearlessness**: Aggressive ($80\%$), Normal ($40\%$), Pacifist ($10\%$).
- Quiet Howling**: Aggressive ($10\%$), Normal ($25\%$), Pacifist ($60\%$).
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Changed
- GameRule Identifier Crash Fix & Harmless Pack Sparring Suite
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- ❄️ **Dynamic Climate Coat Biome Variants (
WolfCoatVariantHelper.java)**: - Implemented dynamic climate-appropriate coat textures mapped across biome temperatures: Freezing (Snowy/Ashen), Cold Taiga (Pale/Black/Chestnut/Ashen), Temperate Forest (Woods/Pale), Warm Jungle (Rusty), and Hot Savanna/Badlands/Desert (Spotted/Striped).
- Implemented 50/50 puppy breeding adaptation: puppies born in new biomes have a 50% chance to inherit their parents' coat variant and a 50% chance to adapt their coat to the local biome's climate temperature.
- Gated under
bd_dynamic_climate_variantsGameRule (default:true). - Added automated unit test suite
ClimateVariantTest.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- 🏆 **Dedicated 13 Husbandry Advancements Tree (
WolfAdvancementHelper.java)**: - Implemented 13 custom advancements nested under Vanilla's Husbandry tree (
minecraft:husbandry/tame_an_animal): - Man's Best Companion** (
tame_wolf, Task): Tame a canine companion with an authentic personality. - Who's a Good Dog?** (
pet_dog, Task): Pet a tamed dog with an empty hand. - Safe and Sound** (
soothe_dog, Task): Soothe a trembling or weather-panicked dog during a thunderstorm. - Gourmet Canine** (
favorite_treat, Task): Discover and feed your companion their individual favorite treat. - The Zoomies** (
zoomies, Task): Trigger a sprint burst by giving your dog its favorite snack. - Fetch Master** (
fetch_stick, Task): Throw a stick and have your dog retrieve it for you. - Sentinel on Duty** (
guard_mode, Task): Place a loyal dog on sentinel guard patrol mode. - Morning Surprise** (
morning_gift, Task): Receive a morning gift from your sleeping companion. - Second Chance** (
adopt_dog, Task): Successfully adopt a listed dog using an adoption paper certificate. - Pack Conductor** (
horn_command, Task): Command a pack of dogs using a Goat Horn. - Genetic Restoration** (
cure_inbred, Goal): Cure an inbred runt defect with a Golden Apple. - Nocturnal Symphony** (
chorus_howl, Goal): Witness or participate in a nocturnal pack chorus howl under the moonlight. - Apex Dynasty** (
giant_lineage, Challenge): Successfully breed a giant-scale (1.25x+) companion dog through generational lineage. - Added automated unit test suite
AdvancementCriteriaTest.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- 🪑 **Dog Mounting & Vehicle/Seat Boarding Command Suite (
DogCommandManager.java,MoveToVehicleGoal.java,BetterDogsTags.java)**: - Implemented stick/command item interaction allowing players crouching with a command item (Stick, Blaze Rod) to select an owned tamed dog and command it to board a vehicle (Boat, Minecart, Horse, Camel, Saddled Pig/Strider) or stair/chair block within 12 blocks.
- Added
MoveToVehicleGoalenabling dogs to navigate at 1.25x speed directly to the targeted seat and mount smoothly. - Added shift-right-click dismounting command when interacting with a seated dog using a command item.
- Registered
#vanilla-outsider-better-dogs:command_itemsitem tag. - Added namespaced boolean GameRule
bd_allow_unrestricted_dog_riding(default:false). - Added automated unit test suite
DogCommandTest.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Changed
- 🧬 **Additive Modifier Behavioral Quirk Model (
WolfDispositionHelper.java)**: - Implemented additive modifier variance model with wide personality spread:
- Fetch Reluctance**: Aggressive ($0\text{--}5\%$), Normal ($3\text{--}18\%$), Pacifist ($15\text{--}45\%$).
- Storm Fearlessness**: Aggressive ($90\text{--}100\%$), Normal ($10\text{--}35\%$), Pacifist ($0\text{--}15\%$).
- Quiet Howling**: Aggressive ($0\text{--}10\%$), Normal ($5\text{--}30\%$), Pacifist ($25\text{--}65\%$).
- Combined personality baseline percentages with deterministic UUID offsets ($\pm 10\%$ to $\pm 20\%$).
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- 🐕 **Harmless Pack Play Sparring AI Suite**: Tamed co-owned dogs of the same pack can now initiate safe, playful sparring sessions featuring playful circles, dynamic pouncing, spectator dog reactions, and tail-wagging.
- 🐺 **Adult Discipline & Hierarchy Correction Snap**: Calm adult dogs deliver non-lethal hierarchy correction snaps (0.5 hearts to adults, 0 damage to puppies with gentle growl) when pounced upon excessively (3-5 pounces), silencing pack alerts and suppressing retaliation.
- ⏱️ **Play Timeout Penalties & Mood Postures**: Disciplined dogs receive a 10-minute play timeout penalty, adopting a subdued tail posture and emitting gentle submissive whines when petted.
- 🍖 **Comforting Treat Soothing**: Feeding disciplined dogs comforting treats (bones, cooked/raw meats) soothes their mood and reduces timeout penalties by up to 10% per treat.
- 👥 **Pack Audience Reactions**: Nearby packmate dogs within 6 blocks spectate sparring matches with excited tail wags.
- 🏆 **Advancements & GameRules**: Added
RoughhousingandKnow Your Placehusbandry advancements, accompanied bybetterdogs:dogPlayFightingandbetterdogs:playPenaltyMinutesGameRules.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- 💬 **Configurable Subtitle & Actionbar Feedback Options (
WolfFeedbackHelper.java,BetterDogsGameRules.java)**: - Added namespaced boolean GameRule
bd_actionbar_feedback(default:false) to give players and server hosts full control over companion HUD notifications. - When disabled (
false), HUD/actionbar subtitle text is kept clean and unobtrusive while preserving all natural in-world particle bursts and authentic sound effects. - Gated text notifications include: Taming Personality Announcements, Adoption Listing/Cancellation/Adoption alerts, Guard Mode Coordinate Status, and Morning Gift Arrivals.
- Added automated unit test suite
SubtitleFeedbackTest.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- ❄️ **Dynamic Climate Coat Biome Variants (
WolfCoatVariantHelper.java)**: - Implemented dynamic climate-appropriate coat textures mapped across biome temperatures: Freezing (Snowy/Ashen), Cold Taiga (Pale/Black/Chestnut/Ashen), Temperate Forest (Woods/Pale), Warm Jungle (Rusty), and Hot Savanna/Badlands/Desert (Spotted/Striped).
- Implemented 50/50 puppy breeding adaptation: puppies born in new biomes have a 50% chance to inherit their parents' coat variant and a 50% chance to adapt their coat to the local biome's climate temperature.
- Gated under
bd_dynamic_climate_variantsGameRule (default:true). - Added automated unit test suite
ClimateVariantTest.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- ⚡ **Full Brigadier
/betterdogs&/bdIn-Game Command Suite (BetterDogsCommand.java,CommandSuggestionsHelper.java)**: - Implemented complete in-game Brigadier command tree with root
/betterdogsand convenient short alias/bd. - Welcome & Help** (
/betterdogs,/betterdogs help): Displays formatted syntax reference and command guides for players and administrators. - Categorized Companion Status** (
/betterdogs status): Visual, color-coded diagnostic overview displaying active states across Personalities & Stats, Environmental Safety, Combat/Tactics, and Genetics/Breeding. - Rule Querying with Flexible Resolution** (
/betterdogs get <rule>): Queries active GameRule values with full tab completion and shorthand matching (e.g.,cliff_safetyresolves tobd_cliff_safety). - Permission-Gated Rule Modification** (
/betterdogs set <rule> <val>): Allows operators (Permission Level 2) to dynamically adjust boolean toggles and integer modifiers on the fly. - Factory Reset & State Sync** (
/betterdogs reset,/betterdogs reload): Instantly restores all 80+ companion GameRules to factory defaults or confirms active state synchronization. - Added automated unit test suite
CommandSuiteTest.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Added
- 🧬 **Personality + UUID Seeded Behavioral Variance (
WolfDispositionHelper.java)**: - Deterministically seeded individual behavioral nuances using 64-bit bit-mixing hashing over
UUID+WolfPersonality+ behavior salt (zero NBT storage). - ~5% of dogs are organically reluctant to fetch sticks; non-fetchers either curiously tilt their heads (
setIsInterested(true)) or naturally ignore nearby thrown sticks. - ~10% of dogs are naturally fearless during thunderstorms, bypassing storm panic and whimpering.
- ~15% of dogs are quiet observers who refrain from participating in nocturnal group howling choruses.
- Links & Resources**:
- [Issue Tracker](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs/issues)
- [Source Code](https://github.com/Rifaditya/Vanilla-Outsider-Better-Dogs)
- [Wiki & Documentation](https://dasik-mc-studio.pages.dev/vanilla-outsider-better-dogs/)
- [Support on Ko-fi](https://ko-fi.com/dasikigaijin)
- [Discord Community](https://discord.gg/VSHP6mw4qY)
### Changed
- Multi-Era Parity Alignment (MC 26.1.2)
### Added
- 🐺 **Wild Pack Dynamics & Territorial Chorus Howling (
WolfHowlHelper.java,GroupHowlGoal.java,WildWolfTerritorialGoal.java)**: - Implemented nocturnal skyward chorus howling where wolves tilt their heads skyward (pitch $-45^\circ$) for 3 seconds (60 ticks), prompting nearby pack members within 24 blocks to join in sequential chorus with natural randomized pitch variations.
- Full moon phases significantly increase the frequency of nocturnal pack howling.
- Implemented untamed pack territorial dynamics where wild wolves encountering rival wolves within 12 blocks perform threat posturing: Aggressive wolves aggressively challenge and stalk intruders, Pacifist wolves yield and retreat, and Normal wolves hold territorial standoff boundaries.
- Added automated unit test suite
WildPackDynamicsTest.
### Added
- 💬 **Configurable Subtitle & Actionbar Feedback Options (
WolfFeedbackHelper.java,BetterDogsGameRules.java)**: - Added namespaced boolean GameRule
bd_actionbar_feedback(default:false) to give players and server hosts full control over companion HUD notifications. - When disabled (
false), HUD/actionbar subtitle text is kept clean and unobtrusive while preserving all natural in-world particle bursts and authentic sound effects. - Gated text notifications include: Taming Personality Announcements, Adoption Listing/Cancellation/Adoption alerts, Guard Mode Coordinate Status, and Morning Gift Arrivals.
- Added automated unit test suite
SubtitleFeedbackTest.
### Added
- 🏆 **Dedicated 13 Husbandry Advancements Tree (
WolfAdvancementHelper.java)**: - Implemented 13 custom advancements nested under Vanilla's Husbandry tree (
minecraft:husbandry/tame_an_animal): - Man's Best Companion** (
tame_wolf, Task): Tame a canine companion with an authentic personality. - Who's a Good Dog?** (
pet_dog, Task): Pet a tamed dog with an empty hand. - Safe and Sound** (
soothe_dog, Task): Soothe a trembling or weather-panicked dog during a thunderstorm. - Gourmet Canine** (
favorite_treat, Task): Discover and feed your companion their individual favorite treat. - The Zoomies** (
zoomies, Task): Trigger a sprint burst by giving your dog its favorite snack. - Fetch Master** (
fetch_stick, Task): Throw a stick and have your dog retrieve it for you. - Sentinel on Duty** (
guard_mode, Task): Place a loyal dog on sentinel guard patrol mode. - Morning Surprise** (
morning_gift, Task): Receive a morning gift from your sleeping companion. - Second Chance** (
adopt_dog, Task): Successfully adopt a listed dog using an adoption paper certificate. - Pack Conductor** (
horn_command, Task): Command a pack of dogs using a Goat Horn. - Genetic Restoration** (
cure_inbred, Goal): Cure an inbred runt defect with a Golden Apple. - Nocturnal Symphony** (
chorus_howl, Goal): Witness or participate in a nocturnal pack chorus howl under the moonlight. - Apex Dynasty** (
giant_lineage, Challenge): Successfully breed a giant-scale (1.25x+) companion dog through generational lineage. - Added automated unit test suite
AdvancementCriteriaTest.
### Changed
- ✨ **Subtle Particle Feedback for Fetch, Gifts & Treat Feeding (
WolfFetchHelper,WolfGiftHelper,DogTreatHelper,WolfParticleHelper)**: - Integrated
WolfParticleHelper.spawnSubtleParticlesto scale subtle interaction cues withbd_particle_densityGameRule (NONE: 0,LOW: 1,MEDIUM/HIGH: 2). - Reduced stick/item fetch return and scavenged morning gift delivery particles to 2 subtle emerald glints (
0.15spread,0.02speed). - Softened favorite treat feeding visual feedback from 10 happy villager + 5 heart particles to subtle 2 happy villager + 1 heart particle.
### Added & Refactored
- Morning Gift Bringing & Feeding Merits System (
WolfGiftGoal,WolfGiftHelper,WolfPersistentData)**: - Implemented morning approach AI where healthy, monster-free dogs approach waking owners at $1.25\times$ speed to present scavenged gifts.
- Enforced 10-meal feeding merit threshold (
bd_gift_feed_threshold), consuming 10 merits upon delivery with strict 1-day cooldown tracking. - Implemented personality-themed scavenged gift loot pools (Aggressive: combat drops/bones/eyes; Pacifist: berries/apples/flowers; Normal: utility/sticks/feathers) plus 5% rare treasures (gold nuggets, emeralds, name tags, bone meal).
- Emits happy villager celebration particles via
WolfParticleHelperand ambient audio cues upon gift delivery. - Added automated test suite
MorningGiftTestasserting threshold gating, merit deduction, daily cooldown math, health eligibility, and null safety.
### Refactored & Polished
- Minimal Tame Particle Polish (
WolfParticleHandler)**: Polished first-time taming particle feedback with a clean, subtle Minimal Signature (~5-6 particles) per personality: - Aggressive**: 3
ANGRY_VILLAGERicons + 3 subtle crimson dust sparkles (0xFF3333). - Normal**: 3
HAPPY_VILLAGERemerald stars + 3 subtle golden dust sparkles (0xFFD700). - Pacifist**: 3
HEARTicons + 3 subtle mint dust sparkles (0x00FF88).
### Refactored & Polished
- Minimal Tame Particle Polish (
WolfParticleHandler)**: Polished first-time taming particle feedback with a clean, subtle Minimal Signature (~5-6 particles) per personality: - Aggressive**: 3
ANGRY_VILLAGERicons + 3 subtle crimson dust sparkles (0xFF3333). - Normal**: 3
HAPPY_VILLAGERemerald stars + 3 subtle golden dust sparkles (0xFFD700). - Pacifist**: 3
HEARTicons + 3 subtle mint dust sparkles (0x00FF88).
### Added
- 🐾 **Puppy Mischief & Adult Disciplinary Correction AI (
WolfMischiefHelper.java,BabyMischiefGoal.java,AdultCorrectionGoal.java)**: - Puppies playfully bound and stalk towards nearby adult wolves (within 8 blocks) or small critters (chickens, rabbits) at $1.2\times$ speed, nipping playful tail/paw bounces.
- Adult dogs discipline overly hyperactive misbehaving puppies with a low warning growl (
SoundEvents.WOLF_GROWL) and a harmless 0-damage disciplinary tap. - Disciplined puppies immediately whimper softly (
SoundEvents.WOLF_WHINE) and enter an 8-second (160 ticks) calm submissive state before resuming normal play. - Added automated unit test suite
PuppyMischiefTest.
### Added
- 🐺 **Wild Pack Dynamics & Territorial Chorus Howling (
WolfHowlHelper.java,GroupHowlGoal.java,WildWolfTerritorialGoal.java)**: - Implemented nocturnal skyward chorus howling where wolves tilt their heads skyward (pitch $-45^\circ$) for 3 seconds (60 ticks), prompting nearby pack members within 24 blocks to join in sequential chorus with natural randomized pitch variations.
- Full moon phases significantly increase the frequency of nocturnal pack howling.
- Implemented untamed pack territorial dynamics where wild wolves encountering rival wolves within 12 blocks perform threat posturing: Aggressive wolves aggressively challenge and stalk intruders, Pacifist wolves yield and retreat, and Normal wolves hold territorial standoff boundaries.
- Added automated unit test suite
WildPackDynamicsTest.
### Added
- 💬 **Configurable Subtitle & Actionbar Feedback Options (
WolfFeedbackHelper.java,BetterDogsGameRules.java)**: - Added namespaced boolean GameRule
bd_actionbar_feedback(default:false) to give players and server hosts full control over companion HUD notifications. - When disabled (
false), HUD/actionbar subtitle text is kept clean and unobtrusive while preserving all natural in-world particle bursts and authentic sound effects. - Gated text notifications include: Taming Personality Announcements, Adoption Listing/Cancellation/Adoption alerts, Guard Mode Coordinate Status, and Morning Gift Arrivals.
- Added automated unit test suite
SubtitleFeedbackTest.
### Changed
- Dismount Overlay Message Translation (
en_us.json&id_id.json)**: Updatedtext.betterdogs.dog_dismountedoverlay text to"%s hopped out of the seat."(Indonesian:"%s keluar dari tempat duduk.") for improved clarity when commanding dogs to dismount vehicles and seats.
### Changed
- Dismount Overlay Message Translation (
en_us.json&id_id.json)**: Updatedtext.betterdogs.dog_dismountedoverlay text to"%s hopped out of the seat."(Indonesian:"%s keluar dari tempat duduk.") for improved clarity when commanding dogs to dismount vehicles and seats.
### Added
- 🎾 **Stick Fetching AI & Favorite Treat Zoomies (
WolfFetchHelper.java,WolfFetchGoal.java,ZoomiesGoal.java)**: - Implemented stick-throwing fetch mini-game where companion dogs actively track down dropped sticks within 16 blocks at $1.25\times$ speed, pick them up, and return them directly to the owner's feet with happy barks and green sparkles (
ParticleTypes.HAPPY_VILLAGER). - Implemented favorite treat "zoomies" behavior where dogs fed their individual favorite treat enter a 6-second (120 ticks) burst of playful $1.5\times$ sprint loops around the owner with heart/cloud/sparkle trails.
- Added automated unit test suite
FetchAndZoomiesTest.
### Added
- 🐾 **Puppy Mischief & Adult Disciplinary Correction AI (
WolfMischiefHelper.java,BabyMischiefGoal.java,AdultCorrectionGoal.java)**: - Puppies playfully bound and stalk towards nearby adult wolves (within 8 blocks) or small critters (chickens, rabbits) at $1.2\times$ speed, nipping playful tail/paw bounces.
- Adult dogs discipline overly hyperactive misbehaving puppies with a low warning growl (
SoundEvents.WOLF_GROWL) and a harmless 0-damage disciplinary tap. - Disciplined puppies immediately whimper softly (
SoundEvents.WOLF_WHINE) and enter an 8-second (160 ticks) calm submissive state before resuming normal play. - Added automated unit test suite
PuppyMischiefTest.
### Added
- 🐺 **Wild Pack Dynamics & Territorial Chorus Howling (
WolfHowlHelper.java,GroupHowlGoal.java,WildWolfTerritorialGoal.java)**: - Implemented nocturnal skyward chorus howling where wolves tilt their heads skyward (pitch $-45^\circ$) for 3 seconds (60 ticks), prompting nearby pack members within 24 blocks to join in sequential chorus with natural randomized pitch variations.
- Full moon phases significantly increase the frequency of nocturnal pack howling.
- Implemented untamed pack territorial dynamics where wild wolves encountering rival wolves within 12 blocks perform threat posturing: Aggressive wolves aggressively challenge and stalk intruders, Pacifist wolves yield and retreat, and Normal wolves hold territorial standoff boundaries.
- Added automated unit test suite
WildPackDynamicsTest.