This mod is heavily inspired by my own Greater Wolves and Starter Wolf Companion datapacks. All features have been perfected, and inherited from them as optional features in this mod.
Wolf Rules is a server-first mod for Forge and Fabric that gives you fine control over tamed and wild wolf behavior.
It also includes tracked battle summons, letting designated wolves answer a call from nearby or unloaded chunks without permanent chunk loading or world-wide entity searches.
The mod is designed so that:
config/wolfrules-common.tomlconfig/wolfrules-common.json/wolfrules/wolfrules config .../wolfrules sitall/wolfrules standall/wolfrules recall/wolfrules battlesummon/wolfrules retire <target>/wolfrules grantwolf [player] [is_baby]/wolfrules wipeplayerdata [player]/wolfrules loadedchunks/wolfrules config ...taming.singleBoneToTame (boolean, default: false)
Forces one-bone tame success on valid wild-wolf bone interaction.
falsetaming.maxTamedWolvesLimit before ownership assignment.taming.maxTamedWolvesLimit (integer, default: 0)
Per-player tamed wolf ownership cap.
0 (unlimited)taming.starterWolfCount (integer, default: 0)
Target total starter wolves granted per player since first join.
0taming.maxTamedWolvesLimit.taming.puppiesAutoSit (boolean, default: false)
Auto-sits breeding-born tamed puppies.
falsecore_stats.defaultMaxHealth (double, default: 0.0)
Overrides max health for managed (tamed) wolves.
0.0 (uses vanilla tamed max health 20.0)8.0, tamed wolf max health 20.0.core_stats.defaultArmor (double, default: 0.0)
Overrides armor attribute for managed wolves.
0.0 (uses vanilla 0.0)0.0.defaultArmorToughness and survival.damageResistanceLevels.core_stats.defaultArmorToughness (double, default: 0.0)
Overrides armor toughness for managed wolves.
0.0 (uses vanilla 0.0)0.0.defaultArmor and survival damage reduction rules.core_stats.attackDamage (double, default: 0.0)
Overrides attack damage attribute for managed wolves.
0.0 (uses vanilla tamed value 4.0)2.0, tamed wolf 4.0.core_stats.attackRate (integer, default: 0)
Sets melee attack interval for managed wolves in ticks.
0 (uses vanilla 20 ticks = 1.0 second)core_stats.attackRange (double, default: 0.0)
Overrides melee reach used by the custom wolf melee goal.
0.0 (uses vanilla behavior)attackRate and attackDamage.core_stats.wolfBaseSpeed (double, default: 0.0)
Overrides base movement speed for managed wolves.
0.0 (uses vanilla base speed 0.3)0.3.core_stats.wolfStepHeight (double, default: 0.0)
Overrides step height for managed wolves.
0.0 (uses vanilla step height 0.6)0.6.survival.selfHealingEnabled (boolean, default: false)
Enables passive periodic healing for injured managed wolves.
falsesurvival.selfHealingRate > 0; heals 1.0 health per pulse.survival.selfHealingRate (double, default: 30.0)
Seconds between self-heal pulses (decimal supported).
30.0selfHealingEnabled is true. 0.0 disables the timer.survival.fireResistanceEnabled (boolean, default: false)
Cancels fire-tagged damage and clears burning on managed wolves.
falseallDamageInvulnerability is enabled, this setting is effectively redundant.survival.damageResistanceLevels (integer, default: 0)
Incoming damage reduction at about 20 percent per level for non-bypass damage types.
0survival.allDamageInvulnerability (boolean, default: false)
Cancels all incoming damage to managed wolves.
falsesurvival.fallDamageMultiplier (double, default: 1.0)
Multiplier for incoming fall damage on managed wolves.
1.0 for vanilla-equivalent.1.0 is vanilla-like.0.0 cancels fall damage. One-shot fall negation from safe teleport fallback can still cancel an individual fall event.survival.wolfRespawnMode (enum, default: no_respawn)
Controls which dead tamed wolves can respawn.
no_respawn, only_starter_wolves, all_tamed_wolvesfallenWolfRespawnDelaySeconds. Respawns near online owner and return standing.survival.fallenWolfRespawnDelaySeconds (double, default: 60.0)
Respawn delay in seconds for eligible wolves (decimal supported).
60.0survival.wolfRespawnMode is not no_respawn; 0.0 disables the timed delay.survival.seekOwnerWhenLowHealthPercent (double, default: 0.0)
At or below this health percent, wolf disengages and prioritizes moving to owner.
0.0lowHealthDisengagePercent.survival.lowHealthDisengagePercent (double, default: 0.0)
At or below this health percent, wolf clears current combat target.
0.0survival.autoTargetMinHealthPercent (double, default: 0.0)
Wolf auto-targeting only occurs while above this health percent.
0.0survival.lowHealthGlowPercent (double, default: 0.0)
Adds glowing outline to low-health tamed wolves.
0.0100 means glow whenever wolf is below full health.feeding.rottenFleshAutoEatEnabled (boolean, default: false)
Allows injured managed wolves to auto-consume dropped rotten flesh.
falsefeeding.rottenFleshHealAmount (double, default: 4.0)
Health restored per rotten flesh consumed.
4.0feeding.rottenFleshAutoEatEnabled is true.feeding.rottenFleshSearchRadius (double, default: 1.5)
Search radius for dropped rotten flesh.
1.5feeding.rottenFleshAutoEatEnabled is true.feeding.rottenFleshEatCooldown (double, default: 0.25)
Cooldown in seconds between auto-eat actions (decimal supported).
0.250.0 means literal zero cooldown, and the setting only matters when feeding.rottenFleshAutoEatEnabled is true.follow.followDistanceMin (double, default: 0.0)
Near distance where following wolves can stop closing in.
0.0 (vanilla near distance 2.0)2.0.follow.followDistanceMax (double, default: 0.0)
Far distance where following wolves start closing in.
0.0 (vanilla far distance 10.0)10.0.follow.teleportRange (double, default: 0.0)
Distance where follow teleport fallback is used.
0.0 (vanilla threshold about 12.0)12.0.followDistanceMax.follow.temporaryCatchUpSpeedBoost (double, default: 0.0)
Temporary speed bonus while wolf is behind owner.
0.0follow.followThroughTeleports (boolean, default: false)
Resyncs loaded, standing owned wolves when owner teleports in the same dimension.
falsefollow.followThroughDimensions (enum, default: vanilla)
Behavior for loaded, standing owned wolves when owner changes dimension.
vanilla, wolves_tp_with_you, sitfollow.preventWolfPortalTravel (boolean, default: false)
Prevents wolves from changing dimension through portal mechanics.
falsefollow.chunkLoadingMode (enum, default: no_wolves)
Controls which tamed wolves can force-load their current chunk.
no_wolves, all_wolves, starter_wolves_only, blue_collared_wolves_onlychunkLoadingIgnoreMode, and tickets are persisted in world data.follow.chunkLoadingIgnoreMode (enum, default: ignore_sitting_or_passengers)
Filter for wolves ignored by chunk loading eligibility.
ignore_none, ignore_sitting, ignore_passengers, ignore_sitting_or_passengerschunkLoadingMode.pack_commands.sitStandAllCommandEnabled (boolean, default: true)
Enables /wolfrules sitall and /wolfrules standall.
falsecommandRadius, same-dimension loaded wolves, and black-collar exclusion option.pack_commands.recallCommandEnabled (boolean, default: true)
Enables /wolfrules recall.
falsecommandRadius).pack_commands.commandRadius (double, default: 0.0)
Radius used by sitall and standall.
0.0 means unlimited across loaded wolves in same dimension.pack_commands.blackCollarIgnoresMassCommands (boolean, default: false)
Black-collared wolves are skipped by mass pack commands.
falsecollision.noPushMode (enum, default: disabled)
Controls collision push suppression involving managed wolves.
disabledplayer_to_wolf_onlywolf_to_wolfwolf_to_wolf_and_playerwolf_to_all_entitiesowner_presence.sitWolvesOnOwnerLogout (boolean, default: false)
Force-sits loaded standing owned wolves when owner logs out.
falseowner_presence.restoreStandingWolvesOnOwnerLogin (boolean, default: false)
Restores standing state for wolves that were force-sat on owner logout.
falseowner_presence.ownerLoginRestoreWindowSeconds (double, default: 30.0)
Time window after login where marked wolves can still auto-restore if chunks load late.
0.0 means immediate restore attempt only.owner_presence.ownerDeathBehavior (enum, default: vanilla)
Immediate loaded-wolf response to owner death.
vanilla, sit, clear_target, teleport_to_respawned_ownercombat.friendlyFireAvoidanceEnabled (boolean, default: false)
Prevents owner-caused damage to owned wolves.
falsecombat.wolvesNeverAttackPlayers (boolean, default: false)
Prevents tamed wolves from targeting or damaging players.
falsecombat.wildWolvesNeverAngryAtPlayers (boolean, default: false)
Prevents wild wolves from maintaining anger against players.
falsecombat.targetPriorityMode (enum, default: vanilla)
Priority strategy when multiple valid targets exist.
vanilla, owner_attacker_first, closest_to_wolf_first, closest_to_owner_first, lowest_health_firstcombat.diverseTargetDistributionEnabled (boolean, default: false)
Encourages packs to split across multiple targets.
falsecombat.battleSummonOrderEnabled (boolean, default: true)
Enables manual battle summon orders from /wolfrules battlesummon and the battle summon keybind.
falsecombat.autoBattleSummonHealthPercent still use the same tracked summon system even when this is disabled.combat.battleSummonMaxCount (integer, default: 5)
Maximum number of eligible battle-ready wolves that can answer one summon.
5safety_caps.battleSummonMaxCount (default 64).combat.battleSummonDesignationMode (enum, default: white_collar)
Controls how wolves are designated as battle-ready.
white_collar, starter_wolves_only, all_wolveswhite_collar means the owner designates a wolf by dyeing its collar white. The summon system keeps a persisted tracked-wolf index so it can pull only selected wolves from unloaded chunks using temporary targeted chunk tickets instead of constant chunk loading or world-wide entity scans.combat.autoBattleSummonHealthPercent (double, default: 0.0)
Automatically triggers battle summons when owner health falls to or below this percent after taking damage.
0.0100.0 means any damage can trigger a summon, while 0.0 disables auto battle summons. Uses the same summon pool, designation rules, and internal 1-second per-owner server cooldown as manual summons.combat.autoEngageEntityList (list, default: empty)
Entity types allowed for auto-engage acquisition by standing tamed wolves.
[]combat.wolvesAutoEngageZombies; still respects health gates, disallowed-target rules, blacklist, and vanilla wantsToAttack checks./wolfrules config combat auto_engage list/wolfrules config combat auto_engage add_entity <entity_type>/wolfrules config combat auto_engage remove_entity <entity_type>/wolfrules config combat auto_engage clearcombat.wolvesAutoEngageZombies (boolean, default: false)
Allows standing tamed wolves to auto-acquire nearby zombie-family targets.
falsecombat.protectedEntityBlacklist (list, default: empty)
Hard target blacklist for tamed wolves.
[]/wolfrules config combat target_blacklist list/wolfrules config combat target_blacklist add_entity <entity_type>/wolfrules config combat target_blacklist remove_entity <entity_type>/wolfrules config combat target_blacklist clearcombat.wolvesNeverTargetZombieVillagers (boolean, default: false)
Blocks zombie villager targeting by tamed wolves.
falsecombat.creeperTargetOwnerRetaliationOnly (boolean, default: false)
Allows creeper targeting only when owner recently attacked that exact creeper.
falsecombat.combatLeashMaxDistance (double, default: 0.0)
Max owner distance during combat before wolf disengages.
0.0/wolfrules retire [target]
Converts your own tamed wolf back to wild without admin config changes.
@e[type=wolf,limit=1,sort=nearest]./wolfrules battlesummon
Unsits and calls battle-ready wolves to you, including wolves tracked in unloaded chunks.
combat.battleSummonOrderEnabled, combat.battleSummonMaxCount, and combat.battleSummonDesignationMode./wolfrules loadedchunks
Lists wolf-driven chunk-force entries currently active on the server.
follow.chunkLoadingMode and follow.chunkLoadingIgnoreMode./wolfrules grantwolf [player] [is_baby]
Admin grant command for spawning a tamed wolf near a target player.
taming.maxTamedWolvesLimit.is_baby flag spawns a baby wolf, but grant-created wolves are not treated as breeding puppies for taming.puppiesAutoSit./wolfrules wipeplayerdata [player]
Clears persisted Wolf Rules player data used for starter-grant tracking.