Dog behavior - kmfisk/workdog GitHub Wiki
Behavior modes
PLEASE NOTE: In the "Lite" beta version, behavior modes can be cycled through with a Stick!
Wander
Dogs in Wander Mode will aimlessly wander, exploring the space they are left in. This is a good option for dogs left in pens, runs or kennels, or guard dogs who are simply left on a property to deter other players.
Wandering dogs are able to attack other dogs, players and animals, and run off and get lost chasing mobs. They can also cause an unwanted litter if left with other intact dogs. Players should only let their dogs wander in a safe, familiar space.
Follow
Dogs in Follow Mode will attempt to follow their owner as closely as possible. This is useful for simply traveling and enjoying the company of a dog, or moving them between places.
Following dogs' behavior is overridden by potential aggressions and by breeding behavior. Even if told to follow, dogs may stray from the player to attack an entity, or to attempt to breed with another dog.
Work
Dogs in Working Mode are ready to assist the player by performing a unique task. The behavior of dogs in Working Mode is per-breed, and is dictated by working group. It cannot be changed by breeding or crossbreeding.
Working mode dogs' behavior is overridden by potential aggressions and by breeding behavior. Even if at work, dogs may stray from the player to attack an entity, or to attempt to breed with another dog.
Dogs automatically exit Working Mode after about 2 minutes (1200 ticks) of sitting.
PLEASE NOTE: In the "Lite" beta version, work mode is not-yet FULLY implemented!
"Come" and "Go here"
Dogs in Wander, Follow and Work mode can be called and commanded to go to specific blocks. Unlike vanilla wolves, dogs do NOT teleport* and may need to be called across distances to follow the player.
PLEASE NOTE: In the "Lite" beta version, dog commands are not-yet implemented! They will teleport to the player if in Follow mode.
Come
To call a dog to you, use the period (.) key. This will make a short, two-note "dog whistle" sound effect. All dogs in these modes within 32 blocks will sprint to you. After running to you, they will resume normal behavior for their mode.
Go here
To command a dog to move, you need to perform a two-step command. First, make sure your target reticle is on the dog you want to move. Press caps lock (CAPS) once, and you should hear a short, single "dog whistle" instead of the two-step for the Come command. After this, look at a block and press caps lock (CAPS) once more. The block does not need to be "reachable" by the player, but needs to be rendered in. You should hear a quick, three-step "click" sound effect, and the dog will attempt to path to the block.
If the length of time between the single-step first press and second command is too long, the dog will ignore the player and return to its normal behavior. If the dog is unable to path to the block the player orders it to, it will make an injured noise and return to its normal behavior.
Crouching
PLEASE NOTE: In the "Lite" beta version, crouching is not-yet implemented!
All dog breeds are able to crouch, and walk while doing so. Dogs can crouch to fit through 1-block tall spaces, or to hide from other players along with their owner.
Dogs in Follow or Work Mode will copy their owner in crouching/sneaking.
Barking
PLEASE NOTE: In the "Lite" beta version, barking (beyond vanilla ambience) is not-yet implemented!
Dogs bark, whine and growl to communicate with each other, and with the player. Each size has a different sound set.
While all dogs have idle noises, most of their sounds are situational and dynamic. Each dog noise is used to indicate danger, distress, or other cues to the player.
Players should pay attention and learn the sounds their dogs make, because they often alert to hostile mobs, strange dogs, or when they are hurt or in heat. Dogs notice hostile mobs long before players may be able to see or hear them, and a hurt dog means that a player's farm or house may be under attack.
- Each dog has two idle noises. This is usually panting, licking, or some other quiet noise that can be ignored.
- Dogs make a happy bark when their owner approaches them and gets within 4 blocks. This is a single, short, upbeat bark.
- Dogs make one of two warning noises when they sense a hostile entity. They have two noises: growling, which they make on detecting a hostile entity, and warning bark, which they make if it gets within 8 blocks of them. Hunting and Terrier-group dogs also growl when they sense a passive entity to kill.
- Dogs make a vicious, chaotic, attacking noise when going after another entity. This is usually a mix of barks, snaps and growls.
- When hurt, dogs make short, sharp yelps. Female dogs also occasionally yelp when in heat.
Panting
PLEASE NOTE: In the "Lite" beta version, panting is not-yet implemented!
Dogs pant by sticking their tongue out and breathing quickly. This is easy to notice: it replaces their usual calm, breathing idle animation.
Dogs pant when they are in an uncomfortable climate. Dogs that are both an overly hot, or overly cold climate will pant in distress. This is an indicator to the player that the dog is subject to climate debuffs and may be at a disadvantage at work.
Players should plan which breeds they take into different environments carefully to avoid climate debuffs.
Play
PLEASE NOTE: In the "Lite" beta version, playing is not-yet implemented!
All dogs can play with players if they are in Wander or Follow mode.
Players can throw a toy and all dogs in these modes will chase after it. The first dog to catch the toy will pick it up in its mouth and return it to whoever threw it. This does not need to be their owner.
As of version 1.0, play has not been implemented, but is planned for a future version.
Sitting and laying down
Dogs can be told to sit with the "use" button. When sitting, they will stay sitting until hurt, until their owner is attacked, or until they try to express aggression towards another entity independantly. Pregnant dogs who were sitting will resume sitting once their puppies are birthed.
Dogs cannot be told to lie down, but those in Wander or Stay mode will often lay down if left alone. Dogs will stand up if nudged by a player, or if they are hurt. Pregnant bitches will lie down in the late stages of pregnancy and cannot be roused until they give birth.