Fully set up the black dog
Sunconure11 opened this issue ยท 5 comments
Black dog mechanics:
- Cannot cross water (barghest)
- Has a random chance of turning itself invisible (barghest)
- Makes no sound while walking (black shuck)
- Massive, nearly the same size as a horse (black shuck)
- Highly aggressive, and can bust down doors (black shuck)
- Will attack players, villagers, and illagers (various black dog tales)
- May make the sound of clanking chains (black dog of tring, Rongeur d'Os)
- Has a chance of restoring health to itself when dealing damage (dip)
- Can inflict a debuff that causes the target to die within a certain amount of days. Said debuff cannot be removed by normal means except by death, it is a curse! (various black dog tales, though due to them spawning like generic enemies, the curse would be a weighted chance on attacking, and would involve some AI fuckery, this would be noticed via three barks in a row at a player)
- Cold iron and/or horseshoes prevent curses from being inflicted by this mob
- Disappears in daylight (various black dog tales)
- Vanishes when hit
- Rendering overlay for eyes
- Becomes more powerful if hit by lightning (connection to storms)
Require assistance with the black dog breaking down doors, it does not seem to be easy to pull off
should be fine if you use the EntityAIBreakDoor task from the vanilla zombie to implement the door breaking mechanics
Blocking walking sound is just overriding the footstep sound method and returning null.
As for not going in water- set the path priority for water to 0 and use EntityAIWanderAvoidWater- MAYBE in onUpdate add an if check for inWater
and then try to get it to pathfind to land.
Death debuff- player capability NBT, save the server tick at which it was inflicted and then check if the difference between the current tick and the saved one is greater than (24000 * 3) every so many ticks and then kill the player with a custom death message
Eyes overlay- see BA+ coyotes/feral wolves/tarantulas