Petting is a Minecraft mod that lets you tame virtually any mob in the game—from ordinary farm animals and woodland creatures to skeletons, creepers, wardens, and even the Ender Dragon.
Tamed pets aren't just decorative: they follow your lead, fight by your side according to customizable tactical collars, wear armor and weapons in their own inventory GUI, can be ridden across land, sky, and sea, and will resurrect at your bed if they ever take fatal damage.
What Petting Offers
🍖 Universal Taming
Tame mobs using Golden Treats. There are nine distinct treats crafted with gold and core ingredients (like Golden Wheat for animals, Golden Bone for skeletons and wolves, or Golden Star for bosses).
- Weakening Rule: Peaceful animals can be tamed right away. Hostile monsters must first be weakened below 30% health.
- Modded Mobs Work Automatically: Built-in fallback rules ensure that any modded creature can be tamed out of the box even without extra configuration.
📿 Tactical Collars (16 Colors)
Collars are crafted with leather, gold, and dye, and can be recolored on the fly. Equipping a collar unlocks the Collar Tab in your pet's menu:
- 5 Combat Modes:
Passive(never attacks),Defensive(protects you when struck),Aggressive(attacks what you hit and hunts monsters),Wander(stays near an anchor post), andGuard(patrols an area and eliminates hostile threats). - Tactical Toggles: Adjust follow distance, teleport threshold, ranged attack preference (forces pets to use bows), retaliation, and fellow pet defense.
🛡️ Pet Inventory GUI
Press Shift + Right-Click on any pet you own to open its personal inventory:
- Armor & Equipment: Equip helmets, chestplates, leggings, boots, shields, or weapons on humanoids, and body armor on mounts.
- Chest Storage: Attach chests to pack animals (donkeys, mules, llamas).
- Dedicated Slots: Manage collars and saddles directly.
🏇 Universal Riding & Mounted Combat
Look at your pet and press R to mount:
- Full Steering: Equip a saddle to steer. Land pets jump obstacles with boosted step-assist; flying pets ascend/descend with Jump and Sneak; aquatic pets swim smoothly and grant the rider Water Breathing.
- Mounted Attacks: Left-click while riding to attack! Ridden dragons shoot fireballs, ghasts launch explosive fireballs, blazes fire small fireballs, withers launch skulls, and archers fire arrows.
🛏️ Collar Respawn
Never lose a beloved pet again. Right-click any bed or cushion with a collar in hand to bind it as a respawn anchor. If your pet dies while wearing that collar, its death is cancelled: it instantly resurrects back at your bed with full health and a few seconds of invulnerability.
🐉 The Golden Ender Dragon
You can't tame the wild Ender Dragon directly with treats. Instead, right-click a vanilla Dragon Egg with a Golden Star to create a Golden Dragon Egg, place it near the central End Exit Portal with 4 End Crystals, and summon your own tamed Golden Ender Dragon:
- Features radiant green eyes.
- Never destroys terrain or structures.
- Circles above you, attacks enemies with fireballs and bites, and can be mounted for aerial travel.
🛡️ Complete Friendly Fire Safety
Tamed pets, their minions, and their projectiles can never damage their owner. Pets belonging to the same owner also cannot harm each other.
Getting Started in 3 Steps
- Craft a Treat: Combine gold nuggets around wheat for a Golden Wheat, or nuggets and ingots around a bone for a Golden Bone.
- Weaken (if Hostile): If taming a monster, fight it until its health bar is below 30%.
- Right-Click: Hold the treat in your main hand and right-click the mob. When hearts appear, it's yours!
- Press
Right-Clickto make it sit or follow. - Press
Shift + Right-Clickto open its inventory. - Press
Rto ride it.
- Press
Expanding Your Knowledge (Wiki)
For detailed guides, tables, configuration options, and mechanics, visit the Petting Wiki or browse the local documentation in the docs/ folder:
- Getting Started Guide — Quick beginner walkthrough.
- Taming In-Depth — Health thresholds, failure chances, treat logic, and healing.
- Golden Treats & Recipes — All 9 treats and which mobs they tame.
- Collars & Dyeing — Crafting, 16 colors, in-world dyeing, and visual straps.
- Combat Modes Explained — Passive, Defensive, Aggressive, Wander, and Guard.
- Pet Inventory — Slots, armor, weapons, and GUI navigation.
- Riding Controls — Land, flight, swimming, and signature attacks.
- Collar Respawn — Binding collars to beds and cushions.
- Golden Dragon Egg & Ritual — How to hatch and fly a tamed dragon.
- Controls Reference — Key bindings and smart right-click interactions.
- Configuration Guide — Server rules (
petting-server.toml) and client feedback toggles. - Custom Treat Tags (Datapacks) — Adding or customizing mobs with datapacks.
- Compatibility & JEI — Just Enough Items recipe integration and mod compatibility.
- FAQ — Quick solutions to common questions.
Community & Support
Have questions, suggestions, or need help?
- 💬 Discord: Join our community on Discord to chat with players and developers.
- 🐛 Bug Reports: Found a bug or issue? Submit an issue on the GitHub Issue Tracker.
- 📦 Releases: Download the latest versions on Modrinth and CurseForge.
License
Petting is open source and released under the GNU Lesser General Public License v3.0 (LGPL-3.0). See the LICENSE file for full details.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 7d ago | 1 | ||||
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 11d ago | 1 | ||||
| 13d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
- Passive Mob Attack Configurations**:
- Added
enablePassiveMobAttacksunder[behavior]in server configuration (petting-server.toml), allowing server owners to enable or disable whether tamed passive mobs (such as sheep, cows, pigs, villagers) can engage in combat and attack targets. Defaults tofalse(passive mobs will not attack). - Added
passiveMobAttackDamageunder[behavior]in server configuration (petting-server.toml), allowing administrators to configure the base melee damage dealt by passive mobs when passive attacks are enabled (defaults to2, range1-100).
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/5.0.1...5.0.3
- Collar Model Visibility Configurations**:
- Added
enableCollarModelsoption under[collar]in server/synced configuration (petting-synced.toml), allowing server administrators to disable worn collar models on pets globally for everyone on the server. - Added
enableCollarModelsoption under[visuals]in client configuration (petting-client.toml), allowing individual players to choose whether they want collar models to appear on pets on their client. - Configured visibility precedence so that if collar models are disabled on the server, they will remain hidden for all clients regardless of individual client configuration settings.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.1.7...5.0.2
- Collar Model Visibility Configurations**:
- Added
enableCollarModelsoption under[collar]in server/synced configuration (petting-synced.toml), allowing server administrators to disable worn collar models on pets globally for everyone on the server. - Added
enableCollarModelsoption under[visuals]in client configuration (petting-client.toml), allowing individual players to choose whether they want collar models to appear on pets on their client. - Configured visibility precedence so that if collar models are disabled on the server, they will remain hidden for all clients regardless of individual client configuration settings.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.1.7...5.0.2
- NeoForge Compatibility Update**: Updated NeoForge dependency to **
26.3.0.83** (latest recommended release for Minecraft 26.3). - Configuration Migration (
SYNCED)**: Migrated server-side configuration fromModConfig.Type.SERVERtoModConfig.Type.SYNCED(petting-synced.toml), fixing the startup crash (java.lang.NoSuchFieldError: Class net.neoforged.fml.config.ModConfig$Type does not have member field 'SERVER') caused by breaking API changes in NeoForge 26.3. - In-Game Configuration UI**: Updated
PettingConfigurationScreento properly detect and apply online dedicated server and LAN edit restrictions toSYNCEDconfigurations. - Developer & Runtime Dependencies**: Updated Just Enough Items (JEI) dependency to
31.12.0.66andnet.neoforged.moddevGradle plugin to2.0.148to ensure full compatibility with NeoForge 26.3.0.83. - Documentation**: Updated wiki and reference guides to reflect the new
petting-synced.tomlconfiguration filename.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/5.0.0...5.0.1
- Ported mod to Minecraft 26.3 and NeoForge.
- Modernized mod architecture and resource pipeline.
- Added comprehensive update.json for Forge and NeoForge update checker.
- Added configurable friendly fire settings (
[friendlyFire]in server config): ownerCanAttackPets: Configures whether owners can attack and damage their own pets (default:true). Pets will still never attack or target their owner under any circumstances.petsCanAttackPets: Configures whether pets belonging to the same owner can target or attack each other (default:false).- Streamlined and modernized server configuration (
[behavior]and[collar]): - Consolidated tactical AI settings to eliminate duplication between global configs and per-collar settings.
- Removed obsolete fields (
petsDefendOwner,petsAttackOwnerTarget,petsRetaliate,teleportDistance) from[behavior]. - Moved
defaultCombatModeunder[collar]and provided comprehensive collar defaults and slider boundary controls (defaultCombatMode,defaultFollowDistance,minFollowDistance,maxFollowDistance,defaultTeleportDistance,minTeleportDistance,maxTeleportDistance,defaultTeleportEnabled,defaultPreferRangedAttack,defaultDefendOtherPets,defaultRetaliateWhenHurt). - Added full translation keys and descriptive tooltips for NeoForge's in-game config UI (
ConfigurationSectionScreen). - Added universal Pet Sitting system with dedicated keybind:
- Sit / Stand Keybind (
key.petting.toggle_pet_sit)**: Defaults to **Right-Click** (MOUSE_BUTTON_RIGHT). Remappable in Controls -> Key Binds -> Petting. - Context-aware interaction: Automatically prioritizes item interactions (equipping collars, dyeing collars, feeding treats, naming with name tags, leashing, shearing) so held items function as expected.
- Vanilla
TamableAnimalpets (wolves, cats) visually transition into sitting poses when sitting. - Boat/Minecart Sitting Pose for Humanoid & Illager Pets**: When ordered to sit, humanoid mobs (Zombies, Husks, Drowned, Zombie Villagers, Skeletons, Strays, Wither Skeletons, Bogged, Piglins, Piglin Brutes, Zombified Piglins, Endermen, Players) and Illagers (Pillagers, Vindicators, Evokers, Illusioners) adopt their iconic boat / minecart riding shape with outstretched legs and passenger arm poses. When stationed on the ground, their rendered body and floating nametag are seamlessly lowered so they sit realistically on the ground rather than floating in mid-air.
- Special Animal Sitting Support**: Animals with sitting poses (such as Foxes, Pandas, and Camels) seamlessly trigger their sitting animations when ordered to sit.
- Hovering physics for flying pets**: Flying pets (Allays, Ghasts, Phantoms, Bats, Bees, Parrots, Blazes, Withers, Vexes, etc.) hover completely motionless in mid-air right where commanded to sit.
- Stillness physics for aquatic pets**: Swimming pets (and any pet submerged in water) remain completely stationary without sinking, floating up, or drifting in currents.
- Walking pets**: Remain firmly stationed on the ground like a sitting wolf in vanilla Minecraft.
- Sitting Nametag Dimming (Sneak Visuals)**: When a named pet is sitting, its floating nametag text becomes darker and translucent (and suppresses see-through through walls) just like a crouching/sneaking player in vanilla Minecraft.
- Combat forgiveness on sit**: Ordering a pet to sit immediately clears attack targets, erases anger, halts attack goals, and suspends following and teleporting.
- Fully configurable in server configuration (
[behavior]): enablePetSitting: Enable or disable the pet sitting mechanic globally (default:true).enablePetInventory: Configures whether the entire pet inventory, equipment, and riding system is enabled (default:true). When set tofalse, pets operate purely on default configuration settings without collar/equipment support or riding.forgiveAttacksOnSit: Configures whether sitting immediately clears hostilities and stops combat (default:true).flyingPetsHoverWhenSitting: Configures whether flying pets hover stationary in mid-air (default:true).swimmingPetsStayStillWhenSitting: Configures whether aquatic pets remain stationary in water (default:true).hideTamedBossBars: Configures whether boss health bars for tamed pets (e.g. Wither, Ender Dragon, or modded boss pets) are hidden from players' screens (default:true).tamedMonstersPreventSleep: Configures whether tamed monster pets (such as Zombies, Skeletons, Withers, etc.) nearby prevent players from sleeping like vanilla monsters do (default:false/ players can sleep).- Enhanced universal entity safety, summoned minion affiliation, and impact protections:
- Universal Minion & Summon Affiliation**: Summoned minions and entities created by tamed pets (such as Vexes summoned by an Evoker pet, or minions spawned by modded summoners/necromancers) now automatically trace root ownership back to the owner and become recognized allies. Minions will never target or damage their owner or fellow pets.
- Ender Dragon Impact & Knockback Immunity**: Fixed Ender Dragon wing collision (
entity.push) violently launching its owner into the air, and eliminated head/neck contact damage against owners and fellow pets. Dragon AI phases properly respect the owner as an ally. - Universal Ally & Collision Damage Filtering**: Deep integration into
Entity.considersEntityAsAlly,Entity.doTeamsAllowDamage, andLivingEntity.canAttackensures all vanilla and modded contact damage, spells, and traps (such as Evoker Fangs, Slime/Magma Cube contact, and Pufferfish poison) treat owners and allied pets as allies. - Added pet inventory side navigation tabs:
- Added tab strip positioned seamlessly along the left container edge following vanilla recipe book tab conventions.
- Pet Inventory (Home)** tab: Displays pet equipment, entity model, and player inventory slots.
- Collar Settings** tab: Appears dynamically in the sidebar only when the pet is wearing a collar.
- Riding Settings** tab: Appears dynamically in the sidebar only when a saddle is equipped on the pet. Automatically returns to Home if the saddle is removed.
- Automatically isolates slot rendering and mouse events to the Home tab so invisible slots are never highlighted or clicked in secondary tabs.
- Added dedicated keybind support (
Jkey / configurable via Controls) to open pet inventory, decoupled from default shift right-click. - Added Collar Settings GUI scene with persistent data storage:
- Settings are stored directly on the collar item stack via data components (
petting:collar_settings), preserving configuration across un-equipping and transfers between pets. - Aggressiveness Button**: Cycles between 5 distinct combat and station modes with dynamic real-time tactics summary:
- Passive Mode**: Pet never initiates combat or attacks; strictly follows owner.
- Defensive Mode**: Pet follows owner and fights back when the owner or fellow pets are attacked.
- Aggressive Mode**: Pet follows owner, attacks targets the owner strikes, and defends the owner.
- Wander Mode**: Pet remains anchored to its stationed location and wanders freely within its configured wander radius without following the owner away or teleporting. Fights back if retaliate is enabled.
- Guard Mode**: Pet stays anchored to its stationed post, patrols its configured patrol radius, and actively seeks out and eliminates untamed hostile monsters (
Enemy). Retains a leash distance to never chase enemies far into the wilderness, returning back to guard its station once threats are eliminated. - Dynamic Distance / Radius Slider**: Automatically switches label and tooltip according to the active collar mode:
- Displays **"Follow Distance: X blocks"** in Passive, Defensive, and Aggressive modes.
- Displays **"Wander Radius: X blocks"** in Wander mode.
- Displays **"Patrol Radius: X blocks"** in Guard mode.
- Intelligent Station Anchoring**: Leashing and leading a pet in Wander or Guard mode, or riding it to a new location, dynamically re-anchors its station post right where it was unleashed or dismounted.
- Teleport Distance Slider**: Configures distance before the pet teleports to catch up (active in following modes).
- Teleport Toggle**: Toggles catch-up teleportation ON/OFF.
- Ranged Toggle**: Toggles preference for ranged attacks (keeping distance and firing bows/crossbows when armed).
- Defend Pets Toggle**: Toggles whether pet defends fellow pets belonging to the same owner.
- Retaliate Toggle**: Toggles whether pet counter-attacks when directly taking damage.
- Reset Defaults**: Resets all collar options to server configuration defaults.
- Added universal Pet Riding system with streamlined UI and reliable dismounting:
- Ride Keybind (
key.petting.ride_pet)**: Defaults to **R** (KEY_R). Remappable in Controls -> Key Binds -> Petting. Pressing while looking at an owned pet mounts it; pressing while riding provides an instant dismount. - Custom Saddle Slot in Main Pet Inventory (Home Tab)**:
- Located directly alongside the pet's equipment slots in the primary pet inventory UI.
- Automatically excluded for mobs that already have default saddle slots in vanilla (
AbstractHorse- Horses, Donkeys, Mules, Skeleton/Zombie Horses, Camels). - Saddled (Controlled)**: Equipping a saddle enables full player steering, 3D flight/swim controls, and unlocks the Riding Settings sidebar tab.
- Unsaddled (Uncontrolled)**: Players can mount allowed pets without a saddle if enabled by server configs, but cannot steer them.
- Saddles drop on the ground if a pet dies or is untamed.
- Redesigned Riding Settings Screen**:
- Completely removed player inventory slots and visual clutter from the riding tab.
- Features a clean, dedicated full-panel settings screen matching the collar dashboard, displaying the equipped saddle icon and pet header.
- Two clean, full-width toggle buttons: **Attack on Click** and **Auto-Attack Hostiles**.
- Embedded **Controls Guide** panel detailing mobility-specific navigation and keybindings for walking, flying, and swimming pets.
- Mob-Specific 3D Controls (respecting player's configured keybindings)**:
- Walking Pets**: Steer with movement keys (WASD), jump with Jump key, sprint for faster movement, dismount with Sneak. Includes step-height assist (1.06 blocks) to traverse single-block inclines smoothly.
- Flying Pets**: Full 3D aerial navigation. WASD for horizontal movement, Jump ascends, Sneak descends, and releasing keys hovers motionless in mid-air. Sneaking in the air descends rather than dismounting; upon reaching ground level or landing within 1.8 blocks of the ground, holding or pressing Sneak reliably and immediately dismounts the rider (resolving dismount issues when riding flying Withers).
- Aquatic / Swimming Pets**: Full 3D underwater navigation in water (WASD to swim, Jump to surface, Sneak to dive, with automatic Water Breathing for the rider). Outside of water, aquatic pets cannot fly and crawl along the ground.
- Riding Combat & Attacks**:
- Attack on Left-Click**: Pressing the Attack key while riding commands the ridden pet to attack in the player's crosshair direction.
- Melee Pets** (Zombies, Iron Golems, Spiders, Wolves, etc.): Swings weapon/arms and deals direct melee damage to targets in front.
- Ranged Pets** (Skeletons, Strays, or any pet holding a Bow/Crossbow): Launches arrows.
- Ghasts**: Launches explosive
LargeFireballs. - Blazes**: Shoots
SmallFireballs. - Ender Dragons**: Shoots
DragonFireballs. - Withers**: Shoots explosive
WitherSkulls. - Auto-Attack Hostiles**: Toggleable setting in the Riding tab UI to allow ridden pets to automatically detect and attack nearby hostile monsters.
- Server Configuration (
[riding])**: enableRiding: Toggle pet riding globally (default:true).allowRidingWithoutSaddle: Allow riding uncontrolled pets without a saddle (default:true).riddenPetsAttackOnClick: Enable attacking on left-click while riding (default:true).flyingPetAscentSpeed,flyingPetDescentSpeed,flyingPetSpeedMultiplier: Tune ascent, descent, and horizontal flight speeds.swimmingPetSpeedMultiplier: Tune underwater swim speed.riddenAttackCooldownTicks: Tune attack cooldown between ridden strikes (default:15ticks).- Added new **Collar** items and all 16 Minecraft dye color variants:
- Default variant is the **Red Collar** (
collar), along with 15 colored variants (white_collar,orange_collar,magenta_collar,light_blue_collar,yellow_collar,lime_collar,pink_collar,gray_collar,light_gray_collar,cyan_collar,purple_collar,blue_collar,brown_collar,green_collar,black_collar). - Each variant features custom 16x16 pixel art with matched lighting, shading, and the iconic golden bell/buckle.
- All 16 colored collars can be crafted directly from scratch using leather, the respective dye in the center, and a gold nugget (
LLL / LDL / G). Any existing collar can also be redyed to any color using shapeless crafting with any vanilla dye. - Owners can dye an equipped pet collar in real time by right-clicking their pet with any dye.
- Any collar variant can be equipped via the pet inventory GUI or by right-clicking a tamed pet directly in the world.
- Added dedicated universal Collar equipment slot to all pet inventory GUIs regardless of whether the mob has native equipment slots.
- Added dynamic 3D worn collar entity rendering (
PetCollarLayer): - Automatically detects the head and neck position across any pet model (vanilla and modded mobs).
- Renders a 3D colored collar band wrapped around the pet's neck right below the head with matching dye color and an iconic golden buckle on the front.
- Collars are safely dropped on the ground if the pet dies or is untamed.
- Collar Bed & Cushion Binding and Respawn System**:
- Right-clicking any Bed (
BlockTags.BEDS) or Cushion (vanilla cushion entity/block or modded cushions) while holding a collar binds the collar to that location. - Successfully binding a collar grants it an enchanted shimmer/glint visual both in inventory screens and on the worn 3D pet model, and adds a purple location tooltip ("Bound to Bed / Cushion [x, y, z]").
- When a tamed pet wearing a bound collar dies, death is canceled and the pet instantly respawns safely seated on its bound bed or cushion with full health, negative status effects and fire cleared, accompanied by Totem of Undying visual particles and sound effects.
- If the bound bed or cushion is destroyed or broken, the pet will not respawn and will experience normal death (dropping its collar/saddle and notifying the owner).
- Fully configurable via
enableCollarRespawnunder[collar]in server config (default:true). - Configurable Pet Death Messages & Granular Feedback System**:
- Added
enablePetDeathMessagesin server configuration ([behavior]) to control whether the server notifies pet owners when pets die or respawn (default:true). - Extended client configuration (
[feedback]) with granular controls for all feedback messages: - Default Disabled Feedback**: All client-side feedback messages are now disabled (
false) by default to keep chat clean. - Replaced Blanket Toggles**: Removed blanket
enablePositiveFeedbackandenableNegativeFeedbacktoggles in favor of precise, individual message toggles. - Granular Positive Toggles**: Added individual options for
enableTamedSuccessFeedback,enablePetHealedFeedback,enablePetSittingFeedback,enablePetStandingFeedback,enableCollarBoundFeedback, andenableMountControlledFeedback. - Granular Negative Toggles**: Added individual options for
enableTamingFailedFeedback,enableTooHealthyFeedback,enableAlreadyVanillaTamedFeedback,enableAlreadyTamedOtherFeedback,enablePetFullHealthFeedback,enablePetLimitReachedFeedback,enableSaddleRequiredFeedback, andenableMountUncontrolledFeedback. - Granular Death & Respawn Toggles**:
enablePetDeathMessages(general death toggle) along with granular options forenablePetDiedFeedback,enablePetRespawnedFeedback, andenablePetRespawnFailedFeedback.
### Fixed
- Inverted Left / Right Riding Controls**:
- Corrected strafe direction vector calculation so pressing Right (D) steers right and pressing Left (A) steers left.
- Strict Pet Riding Controls & Autonomous Movement Suppression**:
- Ridden pets equipped with a saddle now strictly follow the player's steering inputs. Mob pathfinding (
navigation.stop()), target acquisition, autonomous AI goals (Goal.Flag.MOVE,JUMP,LOOK), andMoveControl/LookControlare completely suppressed while mounted. - When stationary (no movement keys pressed), pets remain completely still with zero autonomous drifting or wandering.
- Strict View and Rotation Synchronization**:
- Synced the ridden pet's body yaw, head yaw, and head pitch strictly to the rider's view direction in real time on both server and client.
- Render state modifiers and post-tick synchronization ensure the pet's body and head strictly face the player's crosshair with zero visual jitter or head deviation.
- Flying & Aquatic Pet Ground Dismount**:
- Fixed players getting stuck riding flying pets (such as the Wither Boss) or swimming pets when descending with Sneak to the ground.
- Sneaking in mid-air smoothly descends/dives, and as soon as the pet touches the ground or cannot descend further, pressing or holding Sneak immediately and reliably dismounts the rider.
- Flying Pet Hovering & Motion Freezing**:
- Fixed an issue where flying pets (such as the Wither Boss, Ghasts, Blazes, etc.) continuously fell to the ground when sitting.
- Resolved
FlyingMoveControlresettingnoGravitytofalseevery tick during idling and downward drag inWitherBoss.aiStep()overriding goal selector velocity zeroing. - Added pre-tick and post-tick entity motion freezing on both server and client, locking sitting flying and swimming pets stationary in place with zero falling, drift, or render jitter.
- Automatically clears and suppresses Wither side head target locks (
setAlternativeTarget) so sitting Wither pets do not fire skulls while resting. - Expanded interaction range check for sitting and inventory toggles from 8 blocks to 16 blocks (with interaction range checks) so players can easily command tall and floating mobs.
- Screen-Safe Clamped Tooltips (
ClampedTooltipPositioner)**: - Implemented custom tooltip clamping to prevent tooltips from extending beyond the top, bottom, or sides of the viewport on any GUI scale or resolution.
- Fixed combat mode tooltips getting cut off above the screen edge when hovering near the top of the GUI.
- Button Text Overflow**:
- Shortened collar toggle button labels (
Ranged: ON/OFFandDefend: ON/OFF) to fit cleanly within 76px button widths without text clipping. - Dynamic Combat Mode Tooltips**:
- Replaced long static mode descriptions with concise 3-line tooltips displaying mode behavior and real-time active tactical toggle states.
- Ranged Pet Combat AI (
PetRangedAttackGoal)**: - Added dedicated bow and crossbow combat AI for armed pets when Ranged is enabled, maintaining optimal firing distance and shooting projectiles.
- Pet Combat AI & Responsiveness**:
- Resolved pets being overly passive when built-in hostility was disabled; pets now actively fight their owner's target, defend their owner, and defend themselves.
- Reordered goal priorities so attack goals take precedence over follow-owner movement during battle, and prevented follow AI from breaking off active combat unless the owner exceeds teleport range.
- Upgraded target acquisition to use combat targeting without strict raycast line-of-sight interruptions.
- Separated hurt timestamps in
PetDefendOwnerTargetGoalto eliminate timestamp collisions between owner-defense and self-defense. - Synced target assignments to Brain memory for brain-driven mobs like Wardens so their attack routines execute properly.
- Handled ranged mobs (e.g. skeletons holding bows) in
PetMeleeAttackGoalso they can freely shoot with their bow rather than charging in for melee punches. - Tamed Monster Pets Sleep Interference**:
- Fixed an issue where tamed monster pets (such as Zombies, Skeletons, Withers, etc.) sitting or standing nearby prevented players from sleeping with the vanilla "You may not rest now, there are monsters nearby" warning.
- Implemented
MonsterMixinto overrideisPreventingPlayerRestfor tamed friendly monster pets while strictly preserving vanilla sleep denial if an untamed hostile monster is nearby or if a pet is actively attacking the player. - Added configurable toggle (
tamedMonstersPreventSleepin server config[behavior], default:false) so servers can choose whether tamed monster pets prevent sleep or allow players to sleep peacefully nearby. - Collar Respawn Instant Relocation & Desync Fix**:
- Fixed a client-server synchronization bug where a pet dying with a bound collar would remain sitting at the death location on the client instead of appearing at its bed/cushion.
- Resolved
ChunkMapentity tracking retaining stale client pairings on same-dimension teleports by cyclingremoveEntityandaddEntityon the chunk source, immediately removing the entity from the death location and re-adding it at the bound bed coordinates for all tracking players. - Stopped mob pathfinding navigation and cleared residual post-damage knockback velocity (
syncVelocity = false,setDeltaMovement(Vec3.ZERO)) to ensure the respawned pet sits directly and securely on its bed or cushion without sliding or snapping. - Friendly Fire & Config Enforcement Fixes**:
- Fixed an issue where enabling
ownerCanAttackPetsdid not allow owners to damage their pets because pet-vs-pet friendly fire checks and ally mixins incorrectly treated the owner and pet relationship as fellow pets. - Introduced
arePetsOfSameOwnerto cleanly distinguish fellow pets belonging to the same owner from the owner-pet relationship, allowing owners to strike or shoot their pets whenownerCanAttackPetsis enabled while keeping pets completely peaceful toward their owner. - Fixed
petsCanAttackPetstargeting being prematurely blocked inLivingChangeTargetEventandcanAttackmixins. - Enforced
enableCollarSlotconfig check when attempting to equip collars by right-clicking in the world. - Enforced
enablePetRiding, riding whitelist/blacklist, and saddle requirements inEntityMountEventto prevent unauthorized mounting. - Added server-side validation for
riddenPetsAttackOnClickinRiddenPetAttackPayload.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.1.7...5.0.0
## Features & Additions:
- Pet Bed Recipe**: Added the missing shaped crafting recipe for the Pet Bed (
data/petting/recipes/pet_bed.json) using wool and planks. - Custom Taming Items Support**: Fully wired the
CUSTOM_TAMING_ITEMSconfiguration option (entity_registry|item_registry), allowing modpack authors to define custom items to tame specific entities even when Golden Wheat is disabled. - Wearable Items Equipment Support**: Expanded pet equipment slots to support non-armor wearable items (such as elytra, carved pumpkins, and mob heads) via
LivingEntity.getEquipmentSlotForItemfor both direct placement and shift-click quick move.
## Bug Fixes:
- Owner Friendly-Fire Fix**: Prevented owners from inadvertently damaging their pets while on foot or shooting projectiles when
ALLOW_OWNER_TO_HURT_PETSis false (previously only checked while riding). - Environmental Invulnerability Fix**: Replaced duplicate
IS_FIREdamage tags inPetAttackLogicwithIS_DROWNINGandIS_FREEZINGto protect custom pets from drowning or freezing to death. - Duplicate Sitting Heal Fix**: Removed redundant sit-healing loop in
FollowOwnerOrTeleportthat bypassed theSIT_HEAL_ENABLEDconfig setting (sit-healing is properly governed byEntityTickUpdateProcedure). - Pet Bed Respawn Validation**: Added block validation in
PetDeathHandlerProcedureto verify that the Pet Bed still exists in the destination world. If destroyed or broken, the owner is notified, bed coordinates are cleaned up, and standard death handling proceeds. - Mob Conversion Sync & Inventory Transfer**: Ensured
ignoreWhistle,control_right_click, andcontrol_shift_right_clickare preserved during mob conversion, and transferred pet inventory capability contents between original and converted entities. - Pet Release Data Cleanup**: Releasing a pet with shears now cleans up stored pet bed coordinates (
pet_bed_loc_x/y/z/dim) and control mappings, and untames vanillaTamableAnimalinstances. - Immediate Tamed Persistence**: Ensured newly tamed mobs immediately receive
setPersistenceRequired(), preventing them from despawning. - Whistle Crouch Requirement**: Enforced sneaking requirement (
player.isShiftKeyDown()) when sounding the Goat Horn / Whistle tool, matching configuration docs and preventing unintended mass summons.
## Performance Optimizations:
- Temptation Tick Optimization**: Players now cache
pettingHoldingGoldenWheatso the server skips entity AABB scans when the player is not holding golden wheat, and search radius is tightened to 12 blocks.
### 4.2.3-beta.5
#### Added & Implemented
- Custom Taming Items Support**: Implemented
CUSTOM_TAMING_ITEMSconfig processing (entity_id|item_id), enabling custom taming items even whenallowGoldenWheatis set to false. - Immediate Persistence**: Newly tamed mobs are now immediately marked as persistence-required to prevent accidental despawning before the first server tick.
- Axe Mineable Tag**: Tagged
petting:pet_bedunder#minecraft:mineable/axeso axes harvest pet beds quickly. - Non-Armor Equipables Support**:
EquipmentSlotHandlerand pet inventory quick-move now support all wearable/equipable items (Elytra, carved pumpkins, mob heads, etc.) viamob.getEquipmentSlotForItem(...). - Conversion Data Synchronization**: Mob conversions (e.g. Zombie into Drowned) now preserve
ignoreWhistle, custom control mappings (control_right_click,control_shift_right_click), and automatically transfer pet inventory items and equipped gear.
#### Fixed
- 1.21 Data Pack Directory Paths**: Migrated
loot_tablesto singularloot_table(data/petting/loot_table/blocks/pet_bed.json) so breaking pet beds drops the item correctly in 1.21. - 1.21 Advancements Directory Path**: Migrated
advancementsto singularadvancement(data/petting/advancement/recipes/golden_wheat_recipe.json). - Owner Hurt Pet Protection**: Fixed
PetDamageHandlersoallowOwnerToHurtPets = falseproperly prevents players from damaging their own pets while standing or walking (previously only prevented while riding) and prevents projectile friendly fire. - Duplicate Environmental Damage Checks**: Corrected copy-pasted
IS_FIREdamage tags inPetAttackLogicto properly checkIS_DROWNINGandIS_FREEZING. - Duplicate Sitting Heal**: Removed redundant sitting heal execution in
FollowOwnerOrTeleportthat previously caused double-healing every tick interval. - Pet Bed Respawn Validation**: Checked for the physical existence of the pet bed before respawning. If destroyed or missing, the owner is alerted and stale bed coordinates are cleared rather than respawning in thin air.
- Pet Releasing Data Cleanup**: Cleaned up bed coordinates, control mappings, and tamable entity status when releasing a pet with shears.
- Global Whistle Activation**: Required sneaking (
Shift + Right-Click) to use the global whistle/goat horn as documented, avoiding unintentional summoning during regular horn use. - Tick Performance Optimization**: Optimized
GoldenWheatItemInHandTickProcedureto bypass 12-block entity searches when players are not holding Golden Wheat. - 1.21.1 Pack Format**: Updated
pack.mcmetawith Minecraft 1.21.1 pack formats (48data,34resource). - Cleaned Up Deprecations**: Removed deprecated
EventBusSubscriber.Bus.GAMEreferences across event handlers.
- Interaction Fix**: Fixed a bug introduced in 4.2.3-beta.3 where tamed mobs, especially those with custom GUIs or on the GUI blacklist, became completely non-interactable with an empty hand due to aggressive event cancellation.
## Performance Optimizations:
- Tick Handlers Optimization**: Reduced the execution frequency of heavy tick handlers (Warden Darkness suppression, Golden Wheat temptation, and Pet Attribute updates). These now run periodically (e.g., every 10-20 ticks) instead of every single tick, drastically reducing server CPU overhead.
- Temptation Memory Leak Fix**: Golden Wheat temptation now properly cleans up
TemptedByGoldenWheattags and AI states when an animal wanders out of range or the player stops holding wheat.
## Tweaks:
- Sitting Visuals**: Pets now simulate the "sneaking" state when sitting, causing their nametags to appear slightly darker/translucent and less intrusive through walls, providing better visual feedback that they are waiting.
- Crash Fix**: Resolved a critical crash caused by an
ObfuscationReflectionHelpermapping mismatch (java.lang.NoSuchFieldException: jumping) when running the mod in a production environment.
This version is a backport of the latest features from NeoForge 1.21.1 to Fabric 1.20.1!
## Major Changes and Backported Features:
- Registry System Overhaul**: Migrated from NeoForge's
DeferredHolderandDeferredItemback to Fabric'sRegistryObject. - Networking Modernization**: Migrated the
Payloadbased networking to Forge'sSimpleChannelandPacketDistributor. - Capability System Reset**: Downgraded the NeoForge Attachment system back to the classic Forge
Capabilitysystem for pet inventories. - Attributes System**: Adjusted UUID-based
AttributeModifiersystem to match the legacy 1.20.1 signature. RevertedAttributeregistry logic to use Supplier-based definitions. - Config & GUI Enhancements**: Ported the
ConfigScreenFactoryimplementation to use the olderConfigScreenHandler. Also resolved numerous screen rendering changes, falling back to 1.20.1 compatibleenderBackgroundand GUI drawing methods. - Event Bus Adjustments**: Re-mapped
LivingEvent,LivingDamageEvent, and Menu Screen Registration events to their appropriate 1.20.1 equivalents. - Controls & Keybindings Overhaul**: Replaced brittle manual thread polling with native Forge
RegisterKeyMappingsEventandInputEvent.Keyfor responsive and reliable Pet Settings (**P**) activation. - Settings UI & Network Synchronization**: Resolved missing Network Packet registrations that caused the Settings UI to silently fail, fully restoring bidirectional UI-to-Server syncing.
- Translation Keys & Localization**: Performed a massive extraction and injection of missing localization strings, tooltips, and dynamic action mapping states into
en_us.jsonfor proper English formatting.
This version is a backport of the latest features from NeoForge 1.21.1 to Forge 1.20.1!
## Major Changes and Backported Features:
- Registry System Overhaul**: Migrated from NeoForge's \DeferredHolder\ and \DeferredItem\ back to Forge's \RegistryObject\.
- Networking Modernization**: Migrated the \Payload\ based networking to Forge's \SimpleChannel\ and \PacketDistributor\.
- Capability System Reset**: Downgraded the NeoForge Attachment system back to the classic Forge \Capability\ system for pet inventories.
- Attributes System**: Adjusted UUID-based \AttributeModifier\ system to match the legacy 1.20.1 signature. Reverted \Attribute\ registry logic to use Supplier-based definitions.
- Config & GUI Enhancements**: Ported the \ConfigScreenFactory\ implementation to use the older \ConfigScreenHandler\. Also resolved numerous screen rendering changes, falling back to 1.20.1 compatible enderBackground\ and GUI drawing methods.
- Event Bus Adjustments**: Re-mapped \LivingEvent\, \LivingDamageEvent\, and Menu Screen Registration events to their appropriate 1.20.1 equivalents.
- Controls & Keybindings Overhaul**: Replaced brittle manual thread polling with native Forge \RegisterKeyMappingsEvent\ and \InputEvent.Key\ for responsive and reliable Pet Settings (P) activation.
- Settings UI & Network Synchronization**: Resolved missing Network Packet registrations that caused the Settings UI to silently fail, fully restoring bidirectional UI-to-Server syncing.
- Translation Keys & Localization**: Performed a massive extraction and injection of missing localization strings, tooltips, and dynamic action mapping states into
en_us.jsonfor proper English formatting.
### Fixed
- Fixed a multiplayer issue where opening Pet Settings for one player could also open the settings screen for other nearby players, including spectators.
- Fixed Pet Settings opening from normal pet-settings synchronization events (such as right-click interactions and per-pet tool actions).
- Fixed owner scoping for Pet Settings open responses so the UI is now sent only to the requesting owner.
### Added / Fixed
- Added a complete pet settings and key mapping UI system, including pet settings, control mappings, and command-input screens where there was no UI in the previous release.
- Fixed right-click owner pet mapping handling so custom
control_right_clickandcontrol_shift_right_clickrules now override legacy sit-toggle behavior reliably. - Ensured owned-pet right-click mappings always use a default fallback (
SIT|NONEfor right-click,CYCLE|NONEfor shift-right-click) when no per-pet or player default mapping exists. - Added event priority to
PlayerRightclicksEntitzProcedureso the new mapping handler runs before legacy pet interaction logic. - Prevented the legacy
OwnerRightclicksPetProcedurefrom processing events already cancelled by the mapping handler. - Added
RUN_COMMANDsupport in key mapping rules and implementedCommandInputScreenso command strings can be entered, stored, and executed. - Fixed key mapping UI behavior to avoid stale mapping data and improved screen navigation when editing RUN_COMMAND rules.
- Fixed pet settings toggles and follow/teleport distance updates to send correct server payloads and sync properly.
- Fixed goat horn whistle handling so it now teleports pets when enabled, without requiring shift-click.
- Fixed golden wheat taming logic so failed tame attempts no longer update mob names or change the client-side entity display.
- Updated legacy tool-based pet boolean toggles to use server-side
EntitySettingsServer.applyUpdatefor proper validation and client sync. - Ensured
ignoreWhistleis correctly respected by pet whistle teleport logic. - Added permission-aware
RUN_COMMANDexecution so pets only run embedded commands if the owner actually has permission to execute that command. - Fixed blacklist handling for taming by default enabling pet blacklist support and making blacklisted entities fully transparent to Petting interactions, preventing Create package duplication glitches.
- Fixed bee death loop when bound to a pet bed after stinging an enemy; the bed save now resets the bee's stinger state so it no longer immediately re-triggers death.
- Fixed pet bed not working across dimensions; the bed's dimension is now stored on binding and the death handler teleports the pet into the correct dimension via dimension transition.
- Enhanced blacklist system to support whole mod namespaces (e.g.
"create"), namespace wildcards (e.g."create:*"), and prefix wildcards (e.g."create:mechanical*") for taming, riding, and inventory blacklists; updated config comments to document all supported formats. - Fixed tamed creeper pets not respawning at their pet bed after exploding; the game's explosion sequence calls
discard()directly and bypasses the normal death event, so the fix detects swelling pet creepers each tick and aborts the explosion by resetting their swell direction. - Improved pet persistence protection: tamed pets are now marked as
PersistenceRequiredimmediately when they join or load into a level (viaEntityJoinLevelEvent), rather than waiting for the first game tick, preventing edge cases where the game could despawn them before the tick handler ran.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.1.7...4.2.3-beta1
- Critical Crash**: Resolved a
NullPointerExceptionwhen opening the Creative Inventory caused by a registration race condition between blocks and items. - Improved Stability**: Added defensive checks to the creative tab to ensure the game doesn't crash if an item fails to register for any reason.
- Internal**: Reordered mod registry initialization to follow Forge best practices for block-item dependency.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.2.1...4.2.2
- Critical Crash**: Resolved a
NullPointerExceptionwhen opening the Creative Inventory caused by a registration race condition between blocks and items. - Improved Stability**: Added defensive checks to the creative tab to ensure the game doesn't crash if an item fails to register for any reason.
- Internal**: Reordered mod registry initialization to follow Forge best practices for block-item dependency.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.2.1...4.2.2
- Pet Bed Block**: A fully functional custom block for your pets!
- Pet Binding**: Right-click a Pet Bed to enter "Binding Mode," then right-click your pet to link them to that bed.
- Respawn System**: Bound pets will now respawn at their bed upon death, fully healed and safely sitting.
- Custom 3D Model**: Realistic pet bed design with proper paw-print transparency support.
- Friendly Fire Toggle**: Added
allowOwnerToHurtPetsto the config, allowing you to choose whether owners can damage their own pets. - Air-Click Cancellation**: Added the ability to cancel "Binding Mode" simply by right-clicking the air.
- Interaction Priority**: Binding now correctly overrides default pet behaviors like sitting or standing.
- Ghost Inventory Issues**: Fixed several desync bugs where right-clicking with blocks in hand would consume items without placing them.
- Respawn AI Persistence**: Fixed a bug where pets would lose their "Following" or "Attacking" AI after respawning at a bed.
- Added 3D swimming movement support for ridden aquatic pets (Space to swim up, S to swim down).
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.2.0...4.2.1
- Fixed
NoSuchFieldError: CREATIVE_MODE_TABby switching to more robust registry key referencing inPettingModTabs.java. - Verified and fixed
PoseStackrendering imbalance inPetInventoryScreen.javaby validating 1.20.1-compatible signatures. - Implemented
hideTamedBossBarsconfig option to correctly hide boss bars for tamed pets. - Fixed an issue where boss bars would reappear after a relog by implementing a tamed status synchronization system.
- Improved overall mod stability during startup and screen transitions.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.2.1-beta3...4.2.1-beta4
- Fixed Mod Loading Crash**: Resolved an issue where an extra
pop()call inPettingConfigcaused anIllegalArgumentExceptionduring initialization.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.2.1-beta2...4.2.1-beta3
- Configurable Pet Armor**: Added
petBaseArmorandpetBaseArmorToughnessto allow pets to have increased defense even without wearing armor. - Forced Equipment Slots**: Added
alwaysShowEquipmentSlotsconfig option which, when enabled, allows any tamed mob to use Armor and Hand slots in their inventory UI. - Implemented a transient attribute modifier system for pets that updates in real-time as configuration changes.
- Improved
PetInventoryUtilto support forced inventory layouts. - Centralized pet attribute updates within the entity tick procedure for better reliability.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.2.1-beta...4.2.1-beta2
- Free Roam (Wandering) Mode: Pets can now be set to roam freely without following you. This mode bypasses the "Follow/Teleport to owner" logic while still allowing the pet to defend itself and respond to your attacks (if configured).
- Mode Cycle Update: Interacting with a Stick now cycles through: Following → Sitting → Waisting → Wandering.
- Clearer Labels: Renamed the previous generic "Wandering" label to "Following" for better clarity.
- Blacklist Interaction Block: Added a check at the start of the interaction handler (OwnerRightclicksPetProcedure.java) that immediately stops Petting from processing any action on blacklisted mobs. This ensures that even if you own a "Hybrid Pet" (like a vanilla Wolf), Petting will completely ignore it and let the original mod's interactions work or remain vanilla.
- Implemented the Global Blacklist system, which allows you to completely disable the Petting mod for specific entities. This ensures that complex entities are entirely ignored by the mod's AI, inventory, and interaction systems.
- Bound Roam Radius Fix: The pet was snapping back to its bound spot prematurely because of a hardcoded 20-block limit (400.0 squared).
- Improved the boss bar hiding logic.
- Implemented a Configurable Tool ID system that allows you to remap all of the mod's interaction items (like the Stick, Sword, or Shield) to any other item registry ID.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.2.0...4.2.1-beta
- Special Attacks while Riding**: Players can now left-click while riding an Ender Dragon to fire projectiles (Dragon Fireballs).
- Mount Protection (Anti-Kick)**: Players can no longer accidentally attack (kick) the pet they are currently riding.
- Improved Damage Prevention**: Added comprehensive protection logic to prevent pets from damaging their owners and to shield both from their own special attack explosions.
- Warden Darkness Suppression**: The Darkness effect is now automatically removed for players near their owned tamed Wardens.
- Manual Flying Mobs Config**: Added
manualFlyingMobsconfiguration to allow users to manually enable 3D flight controls for any other compatible mobs. - Robust Entity Identification**: Updated both client and server logic to use Registry IDs for identifying boss mobs, ensuring consistent behavior across all environments.
- Taming Improvements**: Optimized the taming process to ensure all boss-level NBT data is correctly injected and synchronized.
- PartEntity Redirection**: Interaction with multi-part entities (like the Ender Dragon) is now correctly redirected to the main entity, enabling taming and mounting on any part of the body.
- Sit State Synchronization**: Fixed a bug where a pet's sitting state would occasionally desync when interactin with other items.
- Interaction Catch-all**: Narrowed the interaction logic to prevent the mod from overriding vanilla behavior for other edible items.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.1.8...4.2.0
- Reworked pet interaction system with smarter empty-hand right-click behavior (Stand → Mount if saddled → Sit).
- Shift + Right-Click now consistently opens pet inventory.
- Introduced Command Stick as the dedicated AI controller.
- Stick now cycles AI modes: Wander → Sit → Wait.
- Added Action Bar feedback displaying current AI mode.
- Shift + Stick now provides a full pet status report.
- Introduced Pet Riding system with optional saddle requirement.
- Added allowPetRiding configuration toggle.
- Added mountRequireSaddle configuration option.
- Balanced default flying riding speed to 1.0x for more natural control.
- Added persistent Pet Inventory (Saddle slot, Armor slot, 14 storage slots).
- Press E while riding to access pet inventory.
- Improved shift-click behavior and manual item placement logic.
- Added hand slot ghost icons (Sword/Shield) for better UI clarity.
- Implemented Universal Smart Slot system using reflection for dynamic mob equipment detection.
- Added barrier icons and interaction locks for unsupported equipment slots.
- Added extraEquippableMobs configuration list for manual slot overrides.
- Fully reorganized petting-common.toml into structured categories.
- Added detailed comments, valid options, and usage examples to all config entries.
- Added sitHealEnabled option to control sitting regeneration.
- Added petPortraitRenderScale option for inventory UI scaling.
- Removed deprecated controlScheme system.
- Fixed dedicated server crash caused by client-only class loading.
- Isolated client/server registrations to prevent future dedicated server issues.
- Fixed startup crash related to pet data capability initialization.
- Fixed inventory desync issues under lag conditions.
- Fixed mounted flying speed inconsistencies.
- Fixed AI state updates not syncing correctly during name tag interactions.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.1.8...4.2.0-beta
- Fixed tamed Piglins and Hoglins losing their pet status and behavior settings after converting to Zombified versions in the overworld.
- Added data transfer logic for entity conversion using
LivingConversionEvent.Post. - Updated build.gradle and resource properties to version 4.1.8.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.1.5...4.1.8
- Refine Wither pet projectile handling to allow legitimate attacks: instead of forcefully killing all skulls fired by tamed Wither.
- Refine Wither pet projectile handling to allow legitimate attacks: instead of forcefully killing all skulls fired by tamed Wither.
- Refine Wither pet projectile handling to allow legitimate attacks: instead of forcefully killing all skulls fired by tamed Wither.
- Fixed a server-side crash during mod loading (
ClassNotFoundException: Screen). This was caused by client-only GUI registration in the mod constructor. The fix now properly isolates client-side code in a separate registration class. - Fixed all crafting recipes (Pet Tether, Golden Wheat, etc.) failing to load on 1.21.1 due to the new
result.idJSON format requirements.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.1.5...4.1.6
- Updated version to 4.1.5,
- Fixed an issue where tamed Wardens and other modern Brain-based mobs would continue to attack the player or other improper targets,
- Fixed an issue where tamed Wardens would not engage targets when commanded by their owner.
- Full Changelog**: https://github.com/yigit-guven/Petting/compare/4.1.4...4.1.5
- Updated mod version to 4.1.4,
- Fixed server-side crash caused by client-only code in mod constructor (
ClassNotFoundException: Screen), - Added system to reset pet names to default upon release if the name was automatically generated (preserves manually set names),
- Added a pixel art texture for the
Pet Tether, - Created a new
Teleport Orbitem to cycle pet teleport distances, replacing the Ender Pearl, - Created a new
Follow Whistleitem to cycle pet follow distances, replacing the vanilla Lead, - Added descriptive tooltips to all custom mod items (
Golden Wheat,Pet Tether,Teleport Orb,Follow Whistle), - Balanced and updated custom item recipes,
- Fixed item interaction conflict: Preventing consumable/usable items from being used when right-clicking pets to change settings.
- Updated mod version to 4.1.4,
- Fixed server-side crash caused by client-only code in mod constructor (
ClassNotFoundException: Screen), - Added system to reset pet names to default upon release if the name was automatically generated (preserves manually set names),
- Added a pixel art texture for the
Pet Tether, - Created a new
Teleport Orbitem to cycle pet teleport distances, replacing the Ender Pearl, - Created a new
Follow Whistleitem to cycle pet follow distances, replacing the vanilla Lead, - Added descriptive tooltips to all custom mod items (
Golden Wheat,Pet Tether,Teleport Orb,Follow Whistle), - Balanced and updated custom item recipes,
- Fixed item interaction conflict: Preventing consumable/usable items from being used when right-clicking pets to change settings.