Tags
Creators
Details
All versions
4.2.3-beta.1
Beta
Petting - 4.2.3-beta.15 months ago 77
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Client and server
Changes
Changelog
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
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:vf91JXwf:yFx5Y3J5"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:vf91JXwf:yFx5Y3J5"
}

