Project
Releases
What shipped in each tagged version, newest first. This is the player-facing record — the reasoning behind each change is in the session log, and what is known to work is in to be verified. A release is a build that ran green, not a build that has been played.
Every release so far is a development release. The suite is green and the jar assembles, but only a small fraction of what is built has been confirmed in a play session — to be verified is the authority on which is which. Treat a world you care about accordingly.
The next release is 0.5.000, and after that only the last
number moves — 0.5.001, 0.5.002, and on
up. It is a three-digit field on purpose: there is a lot of counting to do before
anything else changes.
The middle number does not move without the owner saying so, explicitly and out loud. Not for a big feature, not for a batch of genes, not because the last number is getting long. That is the whole rule and it is the owner's call, not a judgement to make from how much shipped. The versions ran 0.2.0 to 0.4.1 in two days, which is what the rule is a reaction to.
The version itself lives in one place, gradle.properties'
mod_version, and a tagged release has outside testers on it —
so a number is never reused, and never reissued with different bytes.
0.5.001
One folder for everything. Drop-in genes move into
.minecraft/phc/ with the breeds and the settings, so nothing of the mod's
is in config/ any more.
.minecraft/phc/
genes/ your genes, from the gene creator
breeds/ your breeds, from the breed designer
breed-spawning.toml which breeds your world has
server.toml
client.toml
If you use drop-in genes, move them first. Take every
.json out of .minecraft/config/horsegenetics/genes/ and put it
in .minecraft/phc/genes/, then start the game. The old folder is not read.
A world opened without the gene loaded loses it: every horse that carried it comes back
without it, and moving the file afterwards does not bring it back. If you have no
drop-in genes, there is nothing to do.
Everything else is 0.5.000, unchanged — replace that jar with this one.
0.5.000
Your world, your horses. Design a breed in the browser, drop the file into a folder, and the game spawns it; then decide which of the mod's own breeds your world keeps — down to none of them, so the only horses in it are the ones you made.
Make your own breeds
- The breed designer walks through a breed one decision at a time — base colour, size, dilutions, white, eyes, magical markings, health, disorders, diet, temper, abilities, speed, jump, where it lives, price, name — with a horse of the breed on the right that you can reroll, and six more under it. Every number it shows comes from the mod itself, compiled for the browser. Export at any step; import to carry on.
- Drop the file into
.minecraft/phc/breeds/and restart. It heads wild herds in the biomes you picked, and the cowboy, stables and breed spawn eggs know it too. The folder is made the first time the game runs, and the H menu's Breeds tab has a button that opens it. - A breed is exactly what you made it. Its horses carry the magic and the disorders you gave it and nothing else — no stray magical genes, no background rate of disease. That is true of the mod's own breeds now as well; the nine whose real-world sheets name disorders list them. Random magic turns up in one place: Feral Mixed, the unbred wild horse.
- The idea underneath, on the philosophy page: a zombie horse is a zombie breed — rotted markings, a bad temper, a low speed score — not one indivisible zombie gene.
Decide which horses your world has
Settings now live in .minecraft/phc/, beside the breeds:
server.toml, client.toml, and the new
breed-spawning.toml, which lists every breed the mod
ships with its biomes, how common it is and its hours — change any of them, or
switch the breed off. One line switches all of them off at once, and Feral Mixed has its
own section. A wild horse with nothing it is allowed to be simply does not spawn.
How it works.
Horses
- Eyes are inherited. Thirteen eye genes — iris, sclera and a heterochromia wedge for each eye, glowing irises and sclera, and a third eye. A splashed or champagne horse writes its eye colour onto itself, so the colour passes to foals that do not inherit the splash. Eye colour.
- Twenty-seven behaviour genes — horses that sing, guard, lay eggs, ward off monsters, fear water, breed on their own, and more, each with its hazards written on its page.
- Fifty new coat markings, and a black form for forty-two existing ones. Cleave became two genes: the marking, and which half it is on.
- Fireproof and bird-boned protect horse and rider properly; molten hooves leaves glowing hoofprints; size is shown as a multiple of an ordinary horse, and a breed's size range decides whether its horses carry one size gene or two.
- Hovering a gene in the custom spawn egg shows its picture beside the description. The egg's breed list starts at Feral Mixed and includes your own breeds.
- The research shelf is a chest, stalls land a horse dead centre, a holding pen, and a run of fixes from three play sessions.
What this does to a world you already have
- Your settings are not carried over.
config/horsegenetics-server.tomland-client.tomlare no longer read; copy any value you changed into the new files in.minecraft/phc/. - A 0.4.1 world should load, but none has been tried. The one gene whose alleles changed is Cleave: a horse carrying its old alleles comes back without the marking (the log says which) rather than breaking the world. Horses made before eye colour was inherited are expected to show brown eyes, blue-eyed splashed horses included — their eye genes did not exist when they were made.
- New wild horses of a breed no longer carry stray magic or unlisted disorders. Horses you already have keep whatever they carry.
The breed spawn settings were checked on a dedicated server — the files are written and re-read live — but no horse has been watched spawning, or failing to, under them. The designer has been driven in a browser, not by a player. §0-CC, §0-CB and §0-CA are the checklist.
0.4.1
Twenty-two new markings, an engine that can read an SVG, and everything that piled up behind 0.3.7 — 0.3.8, 0.3.9 and 0.4.0 were built and never tagged, so their work ships here too.
Twenty-two new coat markings
| Agate | Cracked jewel-toned cells, each softening to a pale rim and deepening at its heart. |
| Carapace Sheen | A beetle-shell gleam sitting on the planes that turn up into the light, with a bright ridge down the spine. |
| Concentric Eyespots | Butterfly eyespots — nested rings round a pale glint — down the neck and all four legs. |
| Coral Bloom | Ruffled overlapping lobes, orange rim to deep blue to a pale crown, flecked with gold. |
| Emberveins | Molten seams that pool where they meet and thin to a hairline between. Glowing, or a quiet rust. |
| Fish Scales | Overlapping scales across the barrel, each rimmed in a warm colour that line of horses carries. |
| Gill Bloom | Gold-rimmed fan patches, spoked inside like the underside of a mushroom cap. |
| Iridescent Rosette | Dark rosettes ringed in green, gold and magenta — a jewel beetle’s shell. |
| Iris Bloom Diamonds | Royal-blue diamonds with ink rims, white dapples and radiating amber veins. |
| Kite Bloom | Stained-glass panels tiling the coat, each its own colour, salted with pale flecks. |
| Lacevein | Branching black lace rooted in two deep jewel blooms at the withers and poll. |
| Moonwing | Twin pearl wings across the ribs, iridescent-dusted and bound in gold. |
| Morpho Wing | A patch of light low on the haunch, cut by black bars raking toward the tail. |
| Moth Eyes | Wing-membrane veins and gold-ringed eyespots — only on a coat already black or grey. |
| Nacre | Hard-edged shell plates, paler at their gold seams and richer at their middles. |
| Nightbloom Shroud | Abyssal blue on crest and skull, gold-to-violet gill ribbons down the neck and barrel. |
| Oil Sheen | A soap film — a cracked iridescent web, pooling over the barrel into a bubble-pitted slick. |
| Opal Crackle | Fine dark seams, each catching light in its own colour. |
| Opaline | A glassy vein mosaic — pale cream-on-cream, or blazing blue and violet. |
| Orchid Frost | Pink frost that bleaches a dark coat and finds nothing to bite into on a pale one. |
| Petaled | Overlapping petals rimmed in rose and black, veined across a blush field. |
| Tidefoam Sash | A marbled sea-teal sash across the ribcage, laced with a white foam net. |
Most ship as a pair — a pale dominant, and a fully recessive coloured form drawing the same shape in a colour that line of horses carries and passes to its foals. All of them are rare.
The engine can read an SVG
A gene could already carry a shape somebody drew, but only as control points
typed in by hand. It now takes a real SVG path:
every command including elliptical arcs, subpaths so a letter O has a hole, the fill
rule, the transform list, the viewBox, and a stroke with caps, joins and
dashes. Moonwing is the first marking in the mod that
is an actual drawing rather than a rule for making one.
Three new shapes came with it, each because some marking needed a measurement nothing could make: FAN, bars that radiate from a point and widen as they go (everything periodic before this ran in parallel lines); NORMAL, which way the surface faces, for a rim light or a shell’s curvature sheen; and six new parameters covering veins that pool at their junctions, per-cell radial fades, tiled fields clipped into shingles, off-centre glints, and colour that wanders instead of sweeping.
Behind 0.3.7
- A stall that killed horses. The detector leaked over its own front rail into the aisle, decided the room was not a room, and landed the horse inside the wall the sign was on. Both halves fixed.
- Taming by hand, and a research shelf that accepts papers.
- A Breeds tab — all forty-nine, searchable, each with an entry showing a horse that breed can actually produce, where it lives, its build and height band, its disposition and what health to watch for. A breed sits under question marks until you have owned one, and the count keeps the honest denominator so you can see how much is left.
- Bareback riding at the top bond tier — rewritten onto a real but invisible saddle, so jump and sprint work, which the first version could not do.
- The cowboy and the horseman are they/them.
What this does to horses you already have
Nothing changes colour. All 1056 composed coats in the golden file are byte-identical to 0.4.0’s, so no gene that existed before this release paints differently. An older save loads and every horse in it keeps its coat, with the twenty-two new loci filled in at wild type — which also means no horse in an old world can be carrying one, so the new markings reach it only through newly spawned wild horses.
Forty-three existing genes did get rarer in the wild. Founder rates are budgeted across the whole set from each gene’s declared rarity tier, and adding twenty-two genes re-derived all of them — which also flattened a number of tables that had drifted above their tier. Banded Socks, Ocular, Tron and Picasso Marking each dropped by about a factor of seven. The full table, and the argument about whether those are the right numbers, is on to be verified §0-BM.
Every one of the twenty-two markings has been rendered and looked at as an icon — that is how four defects in them were caught — but none has been seen on a horse in the game, and nor has the drawing engine. §0-BL is the checklist.
0.3.6
Something to aim at: a thirty-task checklist that walks you through the whole mod, and a collection of every allele in it.
The checklist
Under the Getting started tab. Thirty-one tasks in seven groups — tame a mare, breed a foal, take a gene off a horse with a book, light a hay portal, bring a horse back from the dimension, use each whistle, bond with a horse, sign a transfer paper — and every unticked one tells you what to do. Ticking one says so in chat, with a running count.
It gates nothing. Build a research shelf on your first day and you tick two boxes at once; nothing is locked behind it.
The collection
A new Alleles tab: every allele of every gene, with the ones you have never met still under question marks. Every allele on a horse you tame or breed joins it, baseline alleles included — which is a different and much gentler thing than discovering a gene. See the checklist & the collection.
Papers are components, not lessons
Research papers are no longer read. Right-clicking one does nothing. A gene joins your database only when you have owned a living horse that carries it — tamed, bred, bought or given — and that same moment unlocks its gene carrot. Papers exist to be copied on a shelf and spent on a carrot.
The old route made a paper a shortcut past the animals: find one in a chest and you knew a gene you had never met.
Fixed
- The Equine Research Shelf's window had its list drawn straight through its slots, and looked nothing like a Minecraft container. It is laid out off one set of constants now, and drawn in vanilla's own bevelled grey.
- The shelf's item icon was the missing texture — its model was in the folder this version stopped reading.
- An unattached signed transfer paper drew nothing at all in creative; it falls back to the blank paper's icon.
One fix: the custom spawn egg’s buttons stop overlapping.
Spawn has moved out of the right-hand column and now sits centred under the horse preview, where the one button that does the thing belongs. That gives the column back a whole row, and “Clear genes” and “Make egg” stop running into each other — including at GUI scale 4, which is where it was reported.
The horse designer took the same shape, since the two are meant to be one screen in two places.
The mod finally tells you how to play it: a Getting Started tab that opens first on a fresh install and walks the whole loop, with pictures.
Getting started
Thirteen sections in the order you need them — tame one, notice you need a mare and a stallion, feed them both a golden carrot, take a gene off a horse with a book, file it on a shelf, buy one from the horseman instead if you would rather, splice it into a foal, and repeat. Then the hay portal, because a door made of hay is worth knowing about.
The pictures are the game’s own: item icons through the item renderer, and the horseman and the cowboy drawn as live entities, so you can recognise the villager you are looking for rather than read a sentence about his hat.
Also
- The browser reopens where you left it — tab, scroll, search, sort and selection, all of it. It used to come back to the top of the first tab however deep you had been reading.
- Copying a gene on the shelf takes time: one iron ingot’s smelt per rarity tier, so about ten seconds for a common gene and a minute for a mythic one. The arrow fills as it goes and the line underneath counts down.
- Stables stopped generating inside mountains. They carve their whole footprint clear now instead of laying a thin skirt underneath. Needs a new world — an already-generated stable will not move.
A gene carrot is often described as “a 25% chance”, and that is not what the code does — it makes the fed parent pass the gene on with certainty, and what is uncertain is whether the foal shows it. The tab is written to the code. Which behaviour is actually wanted is gap 145.
0.3.3
The H menu stops crafting and becomes a reference, a bookshelf starts remembering genes, and five things a play session found get fixed.
Fixed
- Stables generated empty. Three in four never received horses at all: the populator waited for the wrong chunk, and only an unrotated stable ever matched. Existing worlds pick this up on their own — an empty stable was never recorded as filled, so it fills the next time its chunk loads.
[Cowboy]and[Horseman]lines in chat. Development diagnostics that shipped switched on. They are off in a normal install now, anddebug.announcein the server config turns them back on when you have something to report.- The gene search closed the window. Typing “speed” hit the e and opened your inventory. A focused text box now keeps the keyboard.
- Breaking a hay portal’s frame left the portal. Knock out one bale and the whole interior goes now, the way a nether portal does.
- Two mares said nothing. A same-sex pair fed breeding carrots courted, spent the carrots and produced nothing, silently. They still try, and now they tell you why it did not work.
- 121 error lines on every launch that meant nothing. Gone.
The Horse Browser makes nothing
The Crafting tab is now Recipes: every recipe the mod adds, drawn as its grid and its result, with a line saying what the thing is for. You read it there and you craft at a crafting table, like anything else. A category dropdown keeps the per-gene splice carrots from burying everything else.
Nothing became unobtainable — every one of those recipes already worked at a crafting table. The one thing the grid could uniquely do has moved into the world, below.
Research papers, and a shelf to keep them on
- A book on a horse gives you a research paper for one gene that horse carries, chosen at random. You do not pick — which is what makes a paper something you found rather than paperwork. An ordinary horse has nothing to teach and costs you no book.
- The Equine Research Shelf (1 bookshelf + 2 horse hair) files papers — one per gene, any number of genes — and copies any of them onto blank books for as long as the original stays in it. Take the original back and the copying stops. Breaking the shelf gives every paper back.
Smaller
- Hover a gene in the custom spawn egg and it tells you what the gene does. Every gene has a summary now; seventeen did not before.
- ♀ and ♂ after a horse’s name, coloured, so you
can read sex across a paddock. Turn it off with
nameplate.sexSymbolin the client config. It is drawn, not stored — the horse’s actual name is unchanged. - The spawn egg’s right-hand buttons are wider, and stop overflowing their labels.
The shelf in particular has never been placed — block, menu and screen were all written in one pass. To be verified lists what to look at, and gap 143 says which parts are most likely to be wrong.
0.3.2
A one-line fix for the bug that made 0.3.0 and 0.3.1 unplayable: every client was kicked off the moment a horse came into view.
Both of those releases disconnect you on entering a world with
Failed to encode packet 'clientbound/minecraft:custom_payload'.
There is nothing wrong with a world made under them — the fault is in what
the server sends, not in what it saved — so the same save works once the
jar is swapped. 0.2.0 is unaffected.
- An epigenome code outgrew the wire. A horse’s coat is sent to the client as its genotype and epigenome text, and the epigenome stores literal values for every gene that varies — so the genes added across 0.3.0 pushed a full code past 32 767 characters, which is the length Minecraft’s default string writer silently caps at. It throws rather than truncating, and a throw while encoding drops the connection. The coat packet now declares a cap with real room in it, as the other genome-carrying packets already did.
- The same latent fault was in three other places — the stored genome on a preset spawn egg and a genome jar, which would have kicked whoever held one, and the genotype fields on the roster and spawn packets, which were already two thirds of the way to the same crash. All the caps now come from one place, so raising them is one edit.
- The test that was meant to catch this now can. It was watching the one cap that had a number written beside it and could not see the implicit one next to it; it now guards every genome-code cap, and it fails while there is still half the budget left.
0.3.1
Two genes that make a horse frightening, nine coat genes repainted, and the categories reorganised so they mean something.
The night loci
- Magic night temper — eight variants in two families. Four hunt and four flee, and each names who: riders, passive animals, monsters, or everything. By day every one of them is an ordinary horse. The monster-hunter is the only one most people would keep on purpose; the one that flees riders is catchable, tamable and rideable by day and will not let you near it after dark.
- Magic night watch — five variants that are a ladder rather than a list. It stares from anywhere through walls; or closes to ten blocks first; or watches only while it can see you; or moves to where you cannot see it; or stands directly behind you. Any of them makes the horse silent on its feet at night.
- The temper locus supersedes the watch locus whenever it has something to act on, so a horse never tries to stalk you and flee from you at once.
- Both are entirely heterozygous in the wild: every feral horse carries exactly one variant and none of them shows it, so the plainest outcome each locus has is the one that cannot be caught.
Coat genes
- Three genes stopped painting a ground over the whole horse — coccinella’s black, shieldback’s green, tribal ward’s pale. All three now mark the horse’s own colour, so two carriers are different animals.
- Koi’s orange and dark varieties lay patches on the coat instead of tiling the whole horse. The white variety still covers, because that is the one whose point is the hard boundary between two fields.
- Snow cloud has bare drifts the coat shows through, which is what its name always described.
- Cleave’s detached spears are spear-shaped and close to the line, instead of splotches loose on the far half.
- Opossum’s rear edge is dithered — the dots get rarer — rather than a gradient fade.
- Nyxborn stars only what is genuinely black, so a bay keeps its brown shoulder unstarred.
- Stained glass gained a grisaille palette — grey and white only, and the one palette that reads as glass on any base coat.
- Shieldback and tribal ward’s “coloured” alleles now colour the marking. They previously varied only the ground, so removing it left them identical to their first allele.
Elsewhere
- The magical categories were reorganised. They were derived from priority bands, which is a real fact about a gene that paints and an accident about one that does not — so one category held coat markings, milk buckets, spawn eggs and a horse that stares through walls. The non-painting genes are grouped by what they do now: yield and death, behaviour, trails and emissions, body stats.
- Shadowcreature’s page has its preview back. It never had one — the page was written from the template for a gene that paints nothing.
- An inverted mask no longer escapes its own
parts, which corrects twelve genes (carried over from the unreleased work at 0.3.0 — see the notes there).
Notes
- Not save-compatible with 0.3.0. Two new loci change the genotype code and every horse’s epigenetic slots. Start a new world.
- The night loci have never run in a game. Two AI goals, a supersede rule and a sound suppression, all written against the sources and none of it seen. To be verified §0-AT is the checklist.
- Still NeoForge, Minecraft 26.1.2 only. Both sides need the mod.
0.3.0
Genes that decide what a horse does. Eight new loci change nothing about how a horse looks and everything about how it behaves — how fast it swims, how long it lasts underwater, what it hits for, what it leaves behind when it dies, whether mobs avoid it or fight over it, how much meat it drops and how many times a day it can be milked. Six new coat genes come with them, and one new mask that asks the gradient chart what colour it actually made.
Mechanical genes
Eight loci that paint nothing at all. They exist so that a breed can be described by what its horses do rather than only by what colour they are.
- Magic swim speed — how fast the horse moves in water, and nothing else. Completely unrelated to magic speed: a horse can be the slowest thing in the paddock and still cross a river faster than a boat.
- Magic water breathing — how long before it starts to drown. Independent of swimming speed, so a ferry and a diver are two separate breeding projects.
- Magic fighter — what it hits for. Wild type is 3 points; the gladiator allele adds a percentage and the wimp allele takes one off, and the two are added with opposite signs, so a wimp copy really does cancel a gladiator copy. Breeding a fighter means breeding the wimp allele out as much as breeding the gladiator in. No ceiling, but a wild gladiator carrier is only worth one to three extra points — every genuinely dangerous horse is one somebody made.
- Magic on death — a lava source, a water source, or a creeper-sized explosion where the horse died. No feral horse has this: it is the one locus in the mod whose wild population is carriers only, so a horse that leaves a crater is always somebody's fault. Two different variants cancel each other, because “what happens here” cannot have two answers.
- Magic item drop — 2–5 diamonds, an enchanted sword with the enchantment rolled at the moment of death, or a spawn egg that puts this horse back. The egg carries the genotype and the epigenome, so what comes out is a clone rather than a horse with the same alleles — the only thing in the mod that undoes a death. Nothing about the living animal shows any of it.
- Magic mob aura — warding keeps hostiles about ten blocks off; baiting makes every hostile that can see the horse pick it over anything else, including its rider. One of each cancels outright. The baiting allele is the one that makes health and fighting worth stacking.
- Magic meat — how much meat the horse leaves, added to whatever else it drops. So a diamond horse can also be a meat horse.
- Magic milk volume — how many times a day it can be filled from. Unlike most of these a single copy shows, so a milky horse can be found rather than only bred. It governs the milk locus's water and lava too.
Coat genes
- Nyxborn — every white marking the horse has is painted out in black, and then the whole of that black is dusted with tiny white points. A pinto goes in and a starfield comes out; the pattern underneath is only recoverable from the genotype.
- Tron — neon run along every edge of the horse, full-bright so it holds its colour in the dark. It paints later than anything else in the mod, so whatever else the horse is wearing, the lines are on top. Two alleles: one solid colour, or a hue ramp running nose to tail.
- Shadowcreature — the head, muzzle, ears and whole neck go flat black, the eyes burn gold with no white around them, and tapering tentacles run out of the join and down over the shoulder. The horse gives off a dim light.
- Stained glass — black leading in straight lines with a quarter-strength wash of colour in each pane. The palette is the allele rather than an epigenetic value: one allele is blue, pink and purple, the other green, yellow and white, and a horse with one of each gets a window with all six in the tray.
- Ocular — open eyes down the neck, each with a white, an iris in the line's own colour and a pupil. One copy gives a handful, two crowd the neck.
- Bloodstained — red gathers along the bottom edge of the horse's markings, inside the white rather than around it, as though something had run down and settled where the white stops.
What a gene can now say
- A gene can ask what colour the horse actually is. The new
LUMAmask reads the colour the gradient chart produced, rather than the pigment behind it. That is a real difference and not a nicety: the LUT locus can hand a horse a chart whose black corner is violet, and such a horse has identical pigment everywhere and is not black anywhere. A gene that means “cover the black parts” has to ask the question a viewer asks. Fielded, yalia, voided and opalized now find the horse's white this way, so they look different from 0.2.0 — noticeably so on cream coats, where a perlino used to read as white and now reads as cream. - A gene can outline the horse. The new
EDGEmask draws the rim of each body part's box — a wireframe. It is what Tron is built from. - A marking can have a bottom.
spreadFromlets aspreadgrow from one side only, which is the only way to ask for the lower edge of a marking rather than its whole rim. - Six new effect verbs —
charges,breath,on_death,item_drop,mob_auraandcombat— all available to a data-driven gene, not just to the built-in ones. See the effects block. - The
attributeverb actually does something now. It had been parsed and ignored since it was written. Fixing that surfaced that its list namedswim_speed, an attribute Minecraft has never had — the name never had to resolve to anything while the verb did nothing.
Notes
- Not save-compatible with 0.2.0. Fourteen new loci change the genotype code and every horse's epigenetic slots. Start a new world.
- An ordinary horse now kicks for 3 rather than 4. The baseline moved onto the fighter locus, so there is one number in one place instead of two that could disagree.
- The mechanical genes have never run in a game. They compile and the suite is green; that is all. To be verified §0-AR is the checklist, and the riskiest items are the attribute add/remove cycle, the drowning accumulator and whether the mob-repel shove actually overcomes a pathfinding mob.
- Still NeoForge, Minecraft 26.1.2 only. Both sides need the mod.
0.2.0
The gene registry roughly triples, a gene becomes a file rather than a Java class, the H menu grows from two tabs to four and gains a whole second screen, breeds become data, and two villagers move into the world.
Genes
The registry holds 156 loci at this tag, of which 85 are data-driven — a gene is now a JSON file with a mask stack, not a Java class, and 83 of those files are new since 0.1.0. They are grouped into nine magical families (core, body, ground, fields, spots, speckle, lines, hair, modifiers), which is the grouping the wiki and both gene editors offer.
- New natural loci. Flaxen (a dosage, not folklore), sooty,
pangare, rabicano, manchado, the Camarillo white
W4, natural zebra (split off from brindle, which had been sharing its stripe field), a diet locus with twelve narrow appetites, and the dhampir — a recessive whose carrier is the advertisement. - Loci rebuilt. Bay is a shade continuum now (blood, bay, liver
and seal off one score) rather than four names. Grey is a copy number with four
rates instead of one. Dun was re-derived from a field
guide — grullo goes blue and the leg bars stopped being bracelets —
and its mane and tail gained the midtstol. MATP gained sunshine and snowdrop;
KIT gained the booster group (
W35,W32,W34); and the two splash loci swapped roles, because the common allele had been sitting on the wrong gene. - Disorders. The rest of the reference's disorder genes, including the first dominant ones, each with its own contribution to the body numbers.
- Eye colour became its own channel: green and hazel eyes, both heterochromias, and a magic locus that only exists in the heterozygote. See eye colour.
- Sex-linked genes, and the sex locus itself.
- Genes that do something other than paint. A werewolf locus that swaps the entity at dusk, rainbow dust, a recessive particle locus, cutie marks, and extreme white dominant — the first gene here that paints nothing at all, and instead makes white final wherever it already is, so a horse carrying a tobiano and something loud reads as both rather than as the loud thing alone.
- Removed. Pink hair (redundant beside mane colour, tail colour and the hair genes the magical import brought), and Waves — which was not a gene but Cleave backwards, and is an allele of it now.
The horse browser — the H menu
The browser had two tabs at 0.1.0, both of them reference material. It has four now, two of which are about your horses, and it is no longer the only screen: an “i” button on the horse inventory opens a second, six-tab screen about the one horse in front of you.
- My horses (new) — every horse you own as one sortable,
filterable table with clickable column headings. The filter box takes a real query
language that reaches every piece of metadata a horse has, genes
included:
gene:SB1finds carriers, not just the horses that show it. Each row draws the horse. - Breeding preview (new) — pick one of your mares and one of your stallions and read what they could produce at every locus, and how often. It is a Punnett square per gene rather than a rolled foal, grouped so the loci that pull on one trait arrive together.
- Gene database and Crafting carry over, and the crafting tab's own button is visible again — the screen paints near-opaque panels across the window, and it had been painting them after the widgets. Chrome under, widgets and slots over.
The horse information screen behind the “i” is six tabs: Overview (name, barn name, sex, generation, breed, the four live body numbers, bond, disorders, and who bred, tamed and owns it), Genes (one row per locus, filtered by default to the loci this horse is not baseline at), Health (each gene's own contribution to speed, health, jump and size rather than the total, plus every disorder), Coat, Other genes (abilities, diet, eye colour, cutie marks), and Offspring — this horse's foals, then their foals, each generation a row of little horses.
Breeds, breeding and inheritance
- A breed is a JSON file now, not Java — 49 of them at this tag — with a founder table, a stat curve, breed spawn eggs, a splice mark, and a browser-based breed designer.
- Epigenetics became literal stored numbers carried on each allele copy, inherited with the allele and drifted slightly each breeding, rather than a derived quantity.
- A mare can miscarry, and a breed lets go of horses that have bred far enough away from it.
- Five themed splice carrots, and every gene page now shows how to craft that gene's own carrot.
The world
- Two villagers. The cowboy is a village horse trader with a paddock, a restocking string and cheap horses; the horseman comes with the barn. They have a barn and a house between them, a work post each, and doors they can actually open. Nothing hostile targets the cowboy.
- Transfer papers — sign one and it sells a named horse, pedigree and all.
- Three generated stables that spawn with rare horses already standing in them. See generated stables for who built each one.
The coat engine
- A new default gradient (
horselut.png), which changed the coat palette under every gene at once, and four dilutions retuned to measured restriction targets afterwards. - A shadow pass at the end of phase 3, so no magical gene paints true black.
- The paint order was rebuilt. Nine genes moved: the four modifiers that read somebody else's marking (fielded, yalia, voided, opalized) went above the markings they read, invert above those, and dhampir — which paints the whole horse white and sat above every data-driven gene — went to the bottom with suit and hood. The paint order is a new page that draws the whole stack from the registry at run time.
- Fixes to patterns that were drawing the wrong horse: frame overo was drawing a dipped horse for three separate reasons; the two roans had been the same pattern at two strengths; white fading was unmasking the red a black horse hides, browning every marking on one; and both tobiano's and frame's coverage knobs were lying about what they controlled.
The browser tools and the wiki
- The horse designer —
common/compiled to WebAssembly by TeaVM, so the browser runs the real genetics rather than a port of it. It is the spawn egg screen's twin, with names, JSON export and import, and a scale figure. - Both gene editors gained a randomize menu, per-gene locks and a family filter.
- A wiki page per gene — 155 of them — each with its alleles, a Punnett square you choose the parents for, a spinnable preview of the gene on a coat it can actually be seen on, and its carrot recipe. Every gene also has a baked icon, photographed off the posed mesh.
- The wiki split into three views — Gameplay, Coding, Science — with a real search across every page.
- The LUT lab: try a gradient on the real pipeline before shipping it, click the chart to read the pigment at a point, and see which region of it a given coat actually reads.
Notes
- Not save-compatible with 0.1.0. This is a development mod with no back-compatibility layer: genotype codes, attachment fields and the gene registry all changed. Start a new world.
- Still NeoForge, Minecraft 26.1.2 only. Both sides need the mod.
0.1.0
The first tagged build, and the first one that worked outside a dev run:
implementation project(":common") puts common/ on the
runClient classpath but does not fold it into the jar, so the 0.0.1 jar
shipped with none of the genetics classes and none of the name tables, and threw on
world load. The jar task pulls them in now.