Magical gene / no coat effect

Magic night watch

What the horse does about you after dark. Five variants, and they are a progression rather than a list — each one is a little closer and a little worse. A horse homozygous for any of them makes no footstep sound at night.

Crossing two of them

The five

CombinationAfter dark
Wst/Wststops, turns to face you, and stares — through walls, from anywhere. It does not graze, wander or follow.
Wnr/Wnrcloses to about ten blocks first, then does the same and comes no nearer.
Wsi/Wsiwatches only while it genuinely has line of sight, and goes back to grazing when you step behind something.
Wun/Wunworks out where you are looking and puts itself somewhere else, then watches from there. Turn round and it is already moving.
Wbh/Wbhstands as close behind you as it can get, and stays there.
anything elsean ordinary horse

It goes quiet

Any of the five silences the horse’s footfalls at night. That is not a sixth variant, it is a property of all of them, and it is what turns the locus from a novelty into the thing it is for: the behaviours above are unsettling in proportion to how little warning you get, and hoofbeats are warning.

It stays quiet even while the temper locus is talking over it. The horse still has the allele, and a stalker that became audible the moment a cow wandered past would be a tell.

Only one of them can be escaped

Wsi is stopped by a closed door. The other four do not need to see you: the fixed stare goes through walls and floors, the closing one paths to you, and the two that position themselves are working from where you are looking rather than from what you can see.

Every feral horse carries one, and none of them shows it

The founder table is entirely heterozygous. The variants split the whole wild population between them and there is no wild-type row at all, so a horse you catch always carries exactly one of them and never expresses it. The plainest outcome the locus has — an ordinary horse, day and night — is the one that cannot be caught. It turns up a generation later, in a quarter of the foals of two carriers.

That is unlike every other locus in the mod and it is the owner’s design rather than a consequence of one. The other genes with invisible carriers put wild horses on the combinations that show, so that what you catch is what you watched it do. Here nothing is meant to be watchable: the point is that any horse in the world might be hiding one of these, and the only way to find out which is to breed it and wait for dark.

Health

None. A watcher is in no danger and is no danger — it does not attack. If you want one that does, that is the other locus, and the two together are the horse people are actually asking for.

Its gene carrot

Gene key
horsegenetics.magic_night_watch
Alleles
five watchers, plus n
Priority
137 — the magical behaviour band
Reaches the game as
a night_watch effect
Coat effect
none, ever
Newly built, not yet play-tested

Nothing on this page has been seen in a game. The AI goals and the sound suppression were written against the 26.1.2 sources and are flagged as unverified in their own comments. Checklist on To be verified.

Five modes, one goal class

NightWatchGoal handles all five, because they differ only in where the horse wants to stand and whether it needs to see you. Everything else — find the nearest player, face them, hold — is shared, and five classes would have been the same forty lines five times.

neoforge/server/NightWatchGoal.java
private Vec3 destination(GeneAbility.NightWatch w) {
    return switch (w.mode()) {
        case "stare", "line_of_sight" -> null;          // never moves
        case "approach" -> horse.distanceTo(target) > w.radius() ? target.position() : null;
        case "behind" -> target.position()
                .subtract(target.getLookAngle().normalize().scale(w.radius()));
        case "unseen" -> inView() ? behindOffset(target) : null;
        default -> null;
    };
}

Standing still is a thing the goal has to hold

The goal claims Flag.MOVE even in the two modes that never path anywhere, which looks wrong and is not: holding MOVE is what stops the wander goal taking over and drifting the horse off mid-stare. A watcher that wandered would just be a horse.

“Cannot see it” is a yaw test, not a raycast

unseen asks whether the horse is inside the player’s view arc — a dot product against their flattened look vector, about 80° either side. It is deliberately not a line-of-sight trace, because for this gene “can the player see it” means is it in front of them. The unsettling part is turning round and finding it there; whether a fencepost happened to be in the way is not the point.

Silencing a footfall, twice over

A step sound may arrive as PlayLevelSoundEvent.AtEntity or as AtPosition, depending on how the entity happens to call playSound — which is exactly the kind of detail that is true in one version and not the next. Both are handled. Listening for both costs one extra method and cannot be wrong; listening for the wrong one costs a gene that silently does nothing.

The sound is matched on its id containing step, which covers every block’s footfall without naming any of them. A watcher is silent on its feet, not mute — it can still be heard breathing, and that is the point.

The five are a ladder

They were not chosen as five separate ideas. Read in order they are a single one taken steadily further: it is looking at you, it has come closer, it is only looking when it can, it is standing where you cannot check, it is directly behind you. The third is the odd one out and belongs there — it is the rung where the horse is least frightening, and having it in the middle is what makes the last two land.

It is half a horse

On its own this locus is unsettling and harmless. Paired with the temper locus it is something else, and the supersede rule is what makes the pair coherent rather than a mess: the horse watches you all night, silently, until something walks past — and then it stops watching and deals with that instead.

That is also why the two are separate loci rather than one gene with ten alleles. They are independent draws, so a breeder can have one without the other, and the horse that has both is a cross somebody made on purpose.

Source: common/genetics/genes/MagicNightWatchGene.java, neoforge/server/NightWatchGoal.java, neoforge/server/NightBehaviourHandler.java