COWMODSКаталог модов

Family Tree: Animal Breeding & Lineage

See who bred whom across generations of pets, horses, and farm animals. Horse breeding stats show whether each foal beat its parents. Works on servers, with chest menus for players without the mod. Export any tree as a PNG.

Автор: egor-kharitonov1,3 тыс.11обновлён 31 окт. 2026 г.
МобыУтилиты

Описание

See who bred whom

Panning and zooming across four generations of horses in the Family Tree screen

Four generations of horses in Minecraft 26.3. Vanilla AI bred every foal in an automated scene. The script tamed and named the eight founders and grew each foal up before the next generation.

Family Tree records the parents of every animal you breed. Each foal, puppy, lamb, and cub joins a tree with both parents, so you can follow a line back through the generations, check whether a foal beat its parents' speed, jump, and health, and see where a pink lamb or a brown panda got its color. Press H to open it.

It runs in singleplayer and on servers. Players who join a server without the mod can still browse their families with /familytree.

Install the file for your Minecraft version and loader from the table below. Fabric builds need Fabric API and Fabric Loader 0.19.3 or newer. They also run on Quilt Loader 0.30.1 or newer with Fabric API.

Works on servers

Alex's tree screen above Kai's chest menu, both showing Pepper's family on one server

A Fabric 1.21.1 dedicated server running Family Tree 1.3.0, with two players online at once. Alex has the mod. Kai joined with unmodded Minecraft. Both views were taken after the server restarted.

Install Family Tree on the server. It keeps every player's animals in the world save, and each player chooses how to look at them:

  • Players with Family Tree on their client press H for the full screens: the tree, search, horse stats, and PNG export.
  • Players without it type /familytree and get chest menus. They list the player's animals with filters and a name search, show each animal's parents, grandparents, and children, and turn a family into a written book. Menu text follows each player's game language.

Kai clicks Pepper in the chest menu, sees its parents and grandparents, then opens Biscuit

Kai's unmodded client on the same server, with real clicks. The server console summoned and named the three wild wolves and grew Biscuit up. The players tamed and fed the wolves themselves, and vanilla AI bred Biscuit and Pepper.

Families can cross owners. In the images above, Alex's wolf Biscuit and Kai's wolf Juno had a puppy, Pepper, and both players see the whole family. Only an animal's owner or an operator can rename it, change its parents, or locate it. Everyone else gets a view-only page without coordinates. Items in the menus can't be taken, moved, or copied.

Kai's view of Alex's wolf, with no Locate, Rename, or Add parents

History lives in the world save, so it survives restarts and Family Tree updates. Pruning writes a JSON backup before it deletes anything, and Family Tree never deletes pets or named animals on its own.

Server settings live in config/familytree-server.properties, with a comment above each one that gives its default and allowed values. /familytree reload applies changes without a restart, except command aliases, and names any value it can't use.

  • viewPolicy sets who can browse whose animals. With the default, OP_ONLY_ALL, players see their own animals and operators see everyone's. EVERYONE_ALL lets every player browse every family, as on the server above. OWN_ONLY limits everyone, operators included, to their own animals.
  • vanillaMenu=false turns the chest menus off. commandAliases=pets,ft adds /pets and /ft.
  • trackFarmAnimals, trackWildlife, trackModdedAnimals, trackedSpecies, and ignoredSpecies choose which animals join.
  • farmRecordLimit, 5,000 by default, caps unnamed farm animals. autoPruneFarmRecords is off by default. When on, it backs up the history and removes the oldest deceased unnamed farm animals.
  • Other settings cover cooldowns, which owner actions need an operator, the linking stick, and one chat language for everyone.

LuckPerms and other permission mods can grant or deny each action through familytree.* nodes, such as familytree.rename, familytree.others.view, and familytree.prune. Without a permission mod, Family Tree uses operator levels as before. Datapacks can choose species with the familytree:tracked and familytree:ignored tags.

Family Tree ran on dedicated Fabric, NeoForge, and Forge servers with LuckPerms, spark, Lithium, FerriteCore, ModernFix, C2ME, and other common server mods. The server guide lists every node, setting, and tested version.

Use the same Family Tree version on the server and on modded clients.

Paper, Purpur, and Spigot

The Family Tree plugin's chest menu on a Paper 26.3 server, seen from an unmodded client

The plugin file runs on Paper from 1.20.1 to 26.3, Purpur 26.3, and Spigot 1.20.1, 1.21.11, and 26.3, with the same commands, chest menus, permission nodes, settings, and languages as the mod. It keeps history in the mod's familytree.dat, so a world keeps its families when it moves between the mod and the plugin. Players who have the client mod get its full screens on a plugin server. The plugin guide explains how it differs from the mod.

Breed better horses

Clover and Pippin breed after golden carrots, and the foal appears

Ember's stats beside both parents: a green triangle for jump and a red one for health

From the same automated 26.3 scene. The script led each pair together and fed them golden carrots; vanilla AI bred them. Ember jumps higher than both parents and has less health than either.

Every horse card shows speed, jump height, and health. A green ▲ marks a stat higher than both parents, and a red ▼ marks one lower than both. Select a foal to compare each value with its parents', and sort the browser by speed, jump, or health to pick the next pair. Speed is in blocks per second, jump in blocks, and health in hearts.

Stats cover horses, donkeys, mules, llamas, camels, skeleton horses, and zombie horses. Llamas also show chest slots. Horse and donkey parents can link to a mule.

Plan the next foal

The breeding planner for Quill and Sorrel: half siblings, the foal's inbreeding coefficient, and each stat's range and chance to beat both parents

Quill and Sorrel were bred by vanilla AI in an automated 26.3 scene.

Pick two animals in the Breeding planner before you feed them. For horses, donkeys, mules, and llamas it shows each foal stat's lowest, most likely, and highest value and the chance the foal beats both parents. Family Tree computes those chances exactly from Minecraft's own breeding code. The planner also lists the odds of each wool color, axolotl and mooshroom color, panda gene, horse coat, and other variants, names how the two animals are related, and gives the baby's inbreeding coefficient.

Best pairs ranks every pair in a herd by expected speed, jump, health, chest slots, or an overall score, and can skip close relatives. Shift-click a second card in any tree to see how two animals are related, such as half siblings or first cousins. Players without the mod get the same plan from /familytree breed or as a book from the chest menu.

See relatives in the world

Ember glows white, with its parents in orange, siblings in green, and foals in blue, each labeled

Golden carrots and vanilla AI breeding produced the three generations in an automated 26.3 scene.

Hold the grave accent key (`, left of 1) and look at an animal. Its parents, children, siblings, half siblings, grandparents, and grandchildren that are loaded nearby glow in their relation's color, with a label such as "Parent · Comet", and particle lines lead from the parents to it and on to its children. Only you see them. Another player's pet you can't open in Family Tree stays dark. Players without the mod get Show relatives nearby on a pet's page in the chest menu.

Every animal you breed, and where its colors came from

A pink lamb's tree: a white and a red parent, and a note that their wool colors mixed

Cocoa, a brown panda whose parents each carried the brown gene hidden

Automated 26.3 scenes where the player fed the animals and vanilla AI bred them. The pandas come from a separate run of the same scene, and the cub got its name from a name tag.

Breed cows, sheep, pigs, chickens, rabbits, goats, foxes, axolotls, frogs, bees, turtles, pandas, ocelots, hoglins, striders, sniffers, armadillos, or breedable animals from other mods, and the baby joins the tree with both parents. A name tag or the linking stick adds any other animal. Wild animals stay out until a player breeds, names, or adds them.

Cards and exports show each animal's variant: wool color, axolotl, mooshroom, frog, and llama colors, panda genes, rabbit and fox types, and cow, pig, and chicken variants on 1.21.5 and newer. A gold ★ marks a blue axolotl, a brown mooshroom, or a brown panda. Select a baby to see how it got its variant, such as two wool colors mixing or a panda showing a gene both parents carried hidden.

Pets join on their own: tamed wolves, cats, parrots, horses, donkeys, mules, llamas, camels, skeleton horses, and zombie horses, plus tamed nautiluses and zombie nautiluses on 1.21.11 and newer. Camels and skeleton trap horses join once a player rides or breeds them. Parrots have individual records and cannot breed in vanilla Minecraft.

Find any animal

Switching between the Pets, Farm, and Wildlife tabs, then searching for blue

The search finds a blue sheep and a blue axolotl. The axolotl was spawned blue for the scene and named with a name tag; it was not bred.

Tabs separate pets, farm animals, wildlife, and modded animals once you have more than one kind. Search by name, species, or variant, filter living or deceased animals, and open one animal's tree or a whole species. Portraits show each animal's in-game model, so they match coats and wool colors. Tree names leave the animal's name tag unchanged.

Locate pet reports coordinates and dimension in chat. Unloaded pets show their last recorded location and day. The mod does not load chunks or teleport pets. Animals that die keep their place in the tree, with the day and cause.

Works with Jade, WTHIT, JourneyMap, Xaero's Minimap, and Mod Menu

A Jade tooltip on Nova: Family Tree name, parents, generation, and stats beside the parents' values

All optional. Family Tree doesn't bundle them and runs without them.

  • Jade and WTHIT. Look at a tracked animal to see its Family Tree name, parents, and generation. Horses also show speed, jump, and health beside their parents' values. Tested with Jade on Fabric 26.3 and 1.21.8, NeoForge 1.21.1 and 1.21.4, and Forge 1.20.1, and with WTHIT on Fabric 1.21.11 and NeoForge 1.21.1.
  • JourneyMap and Xaero's Minimap. Waypoint in a pet's tree adds a waypoint at the pet in JourneyMap. With Xaero's Minimap it shares the position in chat, and Xaero's Add link opens its waypoint form with the pet's name and position filled in. Tested with both on Fabric 26.3 and 1.21.8, NeoForge 1.21.1 and 1.21.4, and Forge 1.20.1.
  • Mod Menu, and the Config button in NeoForge's and Forge's mod list, open Family Tree's settings.

A JourneyMap waypoint beam over the paddock, added from Nova's tree

Tooltips and waypoints follow Family Tree's permissions. They show only animals the player could open in Family Tree, and they never reveal other players' pet coordinates. On a server, install Jade or WTHIT there too, so it sends family details for every animal a player looks at. WTHIT has no Minecraft 26.3 build yet.

Export the family as a PNG

Nova's four generations exported as a PNG with each horse's speed, jump, and health

Export family tree saves a PNG under screenshots/familytree/, and Open folder shows it. The image includes the displayed family beyond the screen edges, at a fixed readable scale. Hidden branches stay hidden. A focused tree opens with six generations in either direction, and a tab on the edge cards shows six more. Exports omit player names and coordinates, and nothing uploads automatically.

Start with the animals you already have

Visit your pets or choose Find existing pets to check loaded tamed animals. Minecraft does not keep older parentage, so their parents start unknown. Open a pet, select it, and choose Add parents to record parents you know. Breed while the mod is installed, and new babies get their parents automatically.

The linking stick also works. Rename a stick to familytree, right-click two parents and a child, then confirm in chat. Links require distinct animals and cannot create ancestry loops.

Choose the matching file

MinecraftFabricNeoForgeForgeJava
1.20.1Fabric API for 1.20.1No build47.1.0 or newer17 or newer
1.21.1Fabric API for 1.21.121.1.252 or newer within 21.1No build21 or newer
1.21.4Fabric API for 1.21.421.4.161 or newer within 21.4No build21 or newer
1.21.5Fabric API for 1.21.521.5.101 or newer within 21.5No build21 or newer
1.21.6, 1.21.7The 1.21.8 file, with Fabric API for your versionNo buildNo build21 or newer
1.21.8Fabric API for 1.21.821.8.57 or newer within 21.8No build21 or newer
1.21.9The 1.21.10 file, with Fabric API for 1.21.9No buildNo build21 or newer
1.21.10Fabric API for 1.21.1021.10.64 or newer within 21.10No build21 or newer
1.21.11Fabric API for 1.21.1121.11.48 or newer within 21.11No build21 or newer
26.1.1Fabric API for 26.1.1No buildNo build25 or newer
26.1.2Fabric API for 26.1.2No buildNo build25 or newer
26.2Fabric API for 26.226.2.0.88 or newer within 26.2No build25 or newer
26.3Fabric API for 26.326.3.0.37-beta or newer within 26.3, beta buildNo build25 or newer

NeoForge and Forge builds do not need Fabric API. Players without Family Tree on their client use the chest menus described above.

Paper, Purpur, and Spigot servers use the plugin file, familytree-1.4.0+plugin.jar, in plugins/ instead. It runs on the Java version the server already needs.

Family Tree is translated into Simplified and Traditional Chinese, Japanese, Korean, Russian, Ukrainian, German, French, Italian, Spanish, Brazilian Portuguese, Polish, and Turkish. The translations are machine-made. Corrections are welcome as GitHub issues or pull requests.

Commands and history

Commands correct ages and birth days, inspect records, and manage history. Name-based edits reject duplicate names and offer UUID choices. Operator pruning writes a backup first. See the command guide.

Version 1.4.0 preserves existing history and adds no saved fields. A 1.4.0 client still joins a 1.3.0 server, but update clients and servers together to get the relatives key. /familytree prune now asks for confirm before it removes anything. If Family Tree can't read its history file, it keeps a copy and stops saving instead of writing an empty history over it. Back up your world before changing Minecraft versions. An older Minecraft build does not make a newer world safe to downgrade.

Minecraft 26.4 is still in snapshots. Family Tree builds and tests a Fabric file for 26.4-snapshot-6, and a 26.4 file follows the game's release. The release notes describe the changes.

Tell the developer what you think

Send feedback in the Family Tree screen opens a form for a message, with an optional contact field if you'd like a reply. The form lists everything that will be sent: your message, the contact if given, the Family Tree, Minecraft, and loader versions, and the game language. Nothing is sent until you press Send, and Family Tree never sends anything on its own or in the background. The feedback server uses your IP address only to limit spam and leaves it out of the email.

Release notes. Report a bug. Source. MIT licensed.

Making a video or adding it to a pack?

The creator guide has demo ideas and a 25-second showcase clip in landscape and vertical formats. The clips show the automated scenes and the server described above.

Naturalist 2.0.7 on NeoForge 1.21.1 was tested: bred deer joined the tree with both parents, and their portraits rendered. Other animal mods have not been tested. For a pack trial, check breeding, saved history after a restart, ownership permissions, and client export in a disposable world.

Галерея

Four generations of horses in one treePan and zoom across the familyTwo players and one family on a serverChest menus for players without the mod

Последние версии

Все версии →
release

Family Tree 1.4.0 for Paper and Spigot

1.4.0+plugin
31 окт. 2026 г.12Minecraft: 1.20.1, 1.21.1, 1.21.4, 1.21.5, 1.21.8, 1.21.10, 1.21.11, 26.1.2, 26.2, 26.3paper, purpur, spigot
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.
release

Family Tree 1.4.0 for 1.20.1 Forge

1.4.0+1.20.1-forge
31 окт. 2026 г.3Minecraft: 1.20.1forge
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.
beta

Family Tree 1.4.0 for 26.3 Neoforge

1.4.0+26.3-neoforge
31 окт. 2026 г.12Minecraft: 26.3neoforge
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.
release

Family Tree 1.4.0 for 26.2 Neoforge

1.4.0+26.2-neoforge
31 окт. 2026 г.2Minecraft: 26.2neoforge
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.
release

Family Tree 1.4.0 for 1.21.11 Neoforge

1.4.0+1.21.11-neoforge
31 окт. 2026 г.1Minecraft: 1.21.11neoforge
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.
release

Family Tree 1.4.0 for 1.21.10 Neoforge

1.4.0+1.21.10-neoforge
31 окт. 2026 г.1Minecraft: 1.21.10neoforge
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.
release

Family Tree 1.4.0 for 1.21.8 Neoforge

1.4.0+1.21.8-neoforge
31 окт. 2026 г.2Minecraft: 1.21.8neoforge
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.
release

Family Tree 1.4.0 for 1.21.5 Neoforge

1.4.0+1.21.5-neoforge
31 окт. 2026 г.0Minecraft: 1.21.5neoforge
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.
release

Family Tree 1.4.0 for 1.21.4 Neoforge

1.4.0+1.21.4-neoforge
31 окт. 2026 г.0Minecraft: 1.21.4neoforge
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.
release

Family Tree 1.4.0 for 1.21.1 Neoforge

1.4.0+1.21.1-neoforge
31 окт. 2026 г.10Minecraft: 1.21.1neoforge
Скачать
Что нового
# Family Tree 1.4.0 ## Breeding planner Pick two animals and Family Tree shows what their baby can be before you feed them. Choose **Breeding planner** at the top of the browser, or select an animal in the tree and choose **Plan breeding**. Shift-click a second card first to plan that pair. - For horses, donkeys, mules, llamas, and trader llamas, each foal stat gets its lowest, most likely, and highest value, a bar showing how likely each value is, and the chance the foal beats both parents. Speed is in blocks per second, jump in blocks, and health in hearts. Llamas show chest slots first. - The odds come from Minecraft's own breeding code, which is the same on every supported version from 1.20.1 to the 26.4 snapshot. A foal's stat lands around its parents' average, spread by the gap between the parents plus 30% of the stat's whole range, and a value past the game's limit bounces back inside it. Family Tree computes those chances exactly instead of sampling. - A llama foal's strength is a random number from 1 up to the stronger parent's strength, with a 3% chance of one more. The weaker parent doesn't matter, and only that 3% roll can beat the stronger parent. - Every camel has the same stats, so the planner says so instead of showing ranges. - A horse and a donkey plan a mule. A llama and a trader llama can have either kind of foal, depending on which parent's breeding code runs. - The planner warns when a parent is still a baby, or when it isn't loaded nearby and was born in the last two world days. - The baby gets its species' word in each language: foal, lamb, calf, piglet, kitten, and so on, or a neutral word where a language has none. Players without the client mod can plan too. `/familytree breed <a> <b>` prints the prediction and the relationship in chat, with the same name and UUID rules as the other commands. In the chest menu, a pet's family page has **Plan breeding**, which lists possible mates and opens the plan as a book. A wolf plan fits on two pages, with each stat's chance to beat both parents right under it. Both use only animals the player may view. ## Variant odds The planner lists each possible variant with its chance: - Sheep mix wool colors through the dye recipes, so red and white always make a pink lamb. Colors without a recipe give either parent's color. - Axolotls take a parent's color, except 1 time in 1,200 when the baby is blue. - Mooshrooms take a parent's color. Two parents of the same color have a 1 in 1,024 chance of the other color. - Pandas pass one of each parent's two genes, and each gene can turn random 1 time in 32. The odds are grouped by how the cub looks and which hidden gene it carries. - Horses keep a parent's coat 4 times in 9 each and get any coat 1 time in 9. Markings work the same way with 2 in 5 for each parent. - Cats, wolves, llamas, foxes, and the warm and cold cows, pigs, and chickens of 1.21.5 and newer take either parent's variant, half the time each. The plan names both, such as "Variant: Pale 50%, Woods 50%" for two wolves. - Rabbits take a parent's coat 19 times in 20. The rest of the time the biome where the baby is born picks the coat, and the planner shows that share as decided by the biome. Frogs are left out, because a frog's color depends on the biome where its tadpole grows up. Animals from other mods are left out because Family Tree can't read their rules. ## How two animals are related Shift-click a second card in the tree. The panel names the relationship in plain words, such as "Quill and Sorrel are half siblings" or "Aspen and Briar are first cousins", and the cards and links between them light up. Shift-click the card again to stop comparing. When the history has no shared ancestor, the panel says they are "not related as far as Family Tree knows". The planner shows the same sentence and the baby's inbreeding coefficient, such as 25% for full siblings and 12.5% for half siblings. Vanilla Minecraft ignores inbreeding, so this is information, not a penalty. The coefficients match the textbook values for full and half siblings, double first cousins, and three generations of parent and foal matings. When an animal has a parent that was pruned from the history, the planner says the two may be more closely related than shown. **Show relationship** opens a tree with just the two animals and the ancestors that connect them. ## Best pairs **Best pairs** ranks pairs of living adult horses, donkeys, or llamas, or horse and donkey pairs for mules, by the foal's expected speed, jump, health, chest slots, or an overall score. The overall score averages each stat as a share of the game's range. Filters skip close relatives, whose foal would be 1/8 inbred or more, or every known relative, and keep pairs to one owner or to your own animals. Click a pair to open it in the planner. A herd with only some stats recorded still appears, ranked by the stats it has. In a herd of more than 1,500, Best pairs ranks pairs among the 1,500 animals with the best value for the chosen stat, and says so. In a test with 400 horses, ranking took about a tenth of a second. ## See relatives in the world Hold the grave accent key (`` ` ``, left of 1) and look at an animal Family Tree records. Its relatives that are loaded nearby glow on your screen, each with a label such as "Parent · Comet", "Child · Ember", or "Half sibling · Pip". The animal you look at glows white with a ◆ before its name, and dust particles flow along a line from each parent to it and from it to each child. Look at another animal while you hold the key to switch to its family. The action bar says how many relatives are nearby. - Labels name parents, children, siblings, half siblings, grandparents, and grandchildren, using the same relationships as the breeding planner. Minecraft animals have no sex, so the words are neutral: parent rather than mother, sibling rather than sister. Aunts, uncles, and cousins stay unlit, so a pen of one large family doesn't light up whole. - Each relation has its own color from the Okabe-Ito palette, which stays distinguishable with the common kinds of color blindness: orange parents, yellow grandparents, sky-blue children, purple grandchildren, and green siblings. The label always names the relation, so color is never the only cue. - Labels sit above the head and ears on a dark background, so a horse facing you doesn't cover its label and a bright sky doesn't wash it out. Closer than 6 blocks a label stops growing, and past 12 blocks it stops shrinking. - The outlines, labels, and lines exist only on your screen. Other players see nothing. The lines show even with Particles set to Minimal. - The server decides who is related and applies the same `viewPolicy` as the Family Tree screens. Another player's pet that you can't open in Family Tree stays unlit, and so do animals that are related to the one you look at only through that pet. The server answers with at most 32 relatives loaded within 64 blocks of you, named by UUID, and never sends their positions. - Holding the key sends a request only when you look at an animal it hasn't asked about, at most four a second, and the server turns away faster requests before it looks anything up. Answers are kept until you let go and refreshed every five seconds while you keep looking. - Settings has two new switches. **Relatives in the world** turns the key off completely, with no requests and no outlines. **Lines to parents and children** hides the particle lines. Change the key under Options > Controls > Family Tree. The default is free in vanilla Minecraft, Jade, JourneyMap, Xaero's Minimap, JEI, REI, and EMI. On NeoForge and Forge the key only works in the world, so it doesn't clash with keys that recipe viewers use in inventory screens. - Server owners can deny the `familytree.relatives` node to turn the key and the menu button off. `relativesCooldownMillis` in `config/familytree-server.properties` sets the request cooldown, 200 ms by default. - On a server without Family Tree, the key says so in the action bar. On a server with Family Tree 1.3.0 or older, it says that server's Family Tree can't show relatives. Nothing else changes, and the rest of Family Tree works with a 1.3.0 server as before. Players without the client mod get **Show relatives nearby** on a pet's family page in the chest menu. It lists the pet's relatives loaded within 64 blocks in chat, with the same labels as the key, and puts a column of colored dust over the pet and each relative. Only the player who pressed it sees the dust. ## Paper, Purpur, and Spigot servers Family Tree now comes as a plugin for Paper, Spigot, and Paper forks such as Purpur. Put `familytree-1.4.0+plugin.jar` in `plugins/`, and players type `/familytree` for the chest menus without installing anything. - One jar runs on Paper from 1.20.1 to 26.3 and on Spigot 1.20.1, 1.21.11, and 26.3. Each version in [the guide](../plugin.md#supported-servers) passed its checks on a real server with an unmodded client, and so did Purpur 26.3. - It records the same animals as the mod: tamed pets on their own, and other animals once a player breeds, names, or adds them with the linking stick. Deaths, horse stats, and variants are recorded too. Spigot doesn't report when frogs, sniffers, and turtles breed, so on Spigot those need a name tag or the linking stick. - It has the mod's `/familytree` commands, including `breed`, `reload`, and `settings`, the chest menus with search, rename, Add parents, the family book, Plan breeding, and **Show relatives nearby**, and the same `familytree.*` permission nodes. - `plugins/FamilyTree/config.yml` has the mod's server settings under the same names, each with a comment. - History stays in the mod's `familytree.dat`, in the same place and format. A world keeps its families when a server moves between the mod and the plugin. - Players who have the Family Tree client mod get its screens and the relatives key on a plugin server. Fabric clients were tested on Paper, Purpur, and Spigot, NeoForge 1.21.1 and 26.3 clients on Paper, and the Forge 1.20.1 client on Paper. - On Spigot, item names in the menus show species names in English, and Spigot 1.20.1 asks for search and rename text in chat. Paper shows everything in the player's language and uses an anvil. [Differences from the mod](../plugin.md#differences-from-the-mod) lists the rest. ## Permission nodes for LuckPerms Server owners can now decide who may do what with LuckPerms or another permission mod. Family Tree checks a `familytree.*` node for every command and action, such as `familytree.rename`, `familytree.locate`, `familytree.parents`, `familytree.others.view` for browsing everyone's pets, `familytree.others.manage` for editing them, `familytree.prune`, and `familytree.breed`. [Family Tree on servers](../servers.md#permission-nodes) lists all 15. - It uses fabric-permissions-api on Fabric, which LuckPerms includes, and PermissionAPI on NeoForge and Forge. Fabric doesn't need fabric-permissions-api installed. Family Tree only uses it when a permission mod brings it. - Without a permission mod, or when a node is unset, players get what they got in 1.3.0 by operator level. Nothing changes until an admin sets a node. - A command a player's nodes deny answers with the node it needs, such as "You don't have permission for that (familytree.locate)", and so does a rename refused on the rename screen. Chest menu buttons disappear when their action is denied. The `/familytree` usage line lists only the subcommands the player may run. - Menus check the player's nodes again on every click, so a change made with LuckPerms or `/familytree reload` applies without a relog. - A player who may not locate, because of `ownersCanLocate=false` or a denied `familytree.locate`, receives no pet positions, neither in the family list nor in the reply to a rename. That includes a player who may manage other players' pets. LuckPerms 5.4.140, the last LuckPerms build for NeoForge 1.21.1, disconnects every player at login on NeoForge 21.1.252 and 21.1.265, with or without Family Tree. On NeoForge 1.21.1, use operator levels. ## Server settings with comments and reload `config/familytree-server.properties` now explains every setting in a comment above it, with its default and allowed values. `/familytree reload` reads the file again without a restart and names each value Family Tree can't use, in the log and in the admin's chat, with the value it uses instead. Command aliases still change only after Minecraft's `/reload` or a restart. A misspelled setting stays in the file under "Not recognized" so the typo isn't lost. `/familytree settings` lists what differs from the defaults. New settings, all with 1.3.0's behavior as the default: - `operatorLevel` sets which permission level counts as an operator. - `ownersCanLocate`, `ownersCanRename`, `ownersCanEditParents`, and `ownersCanSetAge` can leave those actions to operators. - Six cooldowns: opening the screens and menu, a player's scans, scans across the server, locating, edits, and the relatives key. - `listLimit` for `/familytree list`. - `linkingStick` turns the linking stick off, `linkingStickName` changes the name it needs, and `linkingSelectionSeconds` sets how long it remembers a selection. - `serverLanguage` answers every player in one language, including players who have the client mod. - `farmLimitMessage=false` stops the message a breeder gets once at the farm limit, and `locateTeleportLink=false` stops operators' Locate coordinates from filling in a teleport command when clicked. - `discoverPetsOnLoad=false` stops tamed pets from joining the history just because their chunk loaded. The locate and edit cooldowns now also cover `/familytree locate`, `pair`, `unpair`, `setage`, `setbirth`, and confirming the linking stick, as they already covered the screens and the chest menu. The console and command blocks have no cooldown. ## Choose species with datapacks Modpacks can add species to the `familytree:tracked` and `familytree:ignored` entity type tags from a datapack or KubeJS. The server's settings file wins when they disagree, and both win over the farm, wildlife, and modded switches. [Family Tree on servers](../servers.md#datapack-tags) has an example. ## Tested on servers Family Tree ran on dedicated Fabric 1.21.11, NeoForge 1.21.1, and Forge 1.20.1 servers with a modded and an unmodded client joined at once, and with LuckPerms on Fabric 1.21.11 and 26.3, NeoForge 1.21.11 and 26.3, and Forge 1.20.1. The servers also ran spark, Lithium or Canary, FerriteCore, ModernFix, C2ME, Krypton, Chunky, ServerCore, No Chat Reports, and Clumps where those have builds. [Family Tree on servers](../servers.md#tested-servers) lists the versions and results. With 5,000 farm animals in the history, Family Tree used 0.4% of the server thread while two players opened its screens, saved, and scanned, and its records took under 1 MB of memory. ## Ready for Minecraft 26.4 Minecraft 26.4 is still in snapshots, so this release has no 26.4 file. The source builds Fabric for 26.4-snapshot-6, and on October 31, 2026 that build passed the server smoke test, the client demo, a real server with a modded and an unmodded client, and the upgrade of a 26.3 world with its history. A Fabric file for 26.4 follows the game's release. It will need Java 25 and Fabric Loader 0.20.1 or newer, because Fabric API for 26.4 requires Loader 0.20. NeoForge has no 26.4 build yet. ## Safer saves and pruning - If the server stopped while Minecraft was writing `familytree.dat`, or another program held the file when the world loaded, Minecraft couldn't read it and Family Tree saved an empty history over it. Every version since 1.1.0 did this. Family Tree now reads the file itself. If that fails too, it copies the file to `familytree.dat.unreadable-<date>_<time>`, stops recording and saving so the file stays as it was, and tells operators in the server log and in chat when they join. Restore a backup or repair the file, then restart the server. Until then, `/familytree list`, `scan`, `info`, `locate`, and `breed`, the screens, and the linking stick say the history can't be used instead of answering as if it were empty. - On 26.x, a world whose older `data/familytree.dat` couldn't be imported started an empty history and never tried the import again. It now stays read-only and writes no new file, so the next start imports the older file once it is fixed. - `/familytree prune` first says how many records it would remove and asks you to run it again with `confirm`. Click the command in chat to fill it in. - Pruning and automatic farm cleanup keep a removed parent's ID on its children, as before. The tree now marks such a child with a short dashed line and a question mark above its card, and selecting the card says a parent was removed from the history. When the tree shows only your own animals, it says the parent was removed or belongs to another player, because Family Tree can't tell those apart there. Exports draw the same mark and explain it in the footer. Kinship still counts a shared removed parent, so two lambs of a pruned ewe stay siblings. - Prune and cleanup backups are named by date and time, such as `before-prune-2026-10-31_14-05-09.json`, instead of random numbers. ## Fixes - Bred foxes are recorded. Since 1.3.0, a fox kit and its parents never joined the history, because foxes breed through their own code instead of the path every other animal takes. Now the kit and both parents join for the player who fed them sweet berries or glow berries, on every loader. - Breeding turtles adds both parents for the player, as breeding frogs and sniffers does. Baby turtles still hatch from eggs without parents, so name or add them and use **Add parents**. - When two players fed the two parents, both parents and the baby went to one of them. Now each parent belongs to the player who fed it, and the baby to the first parent's owner, as before. This covers camels too, and a parent whose feeder logs off before the animals breed. - Riding a camel or a skeleton trap horse no longer adds it to the history when the server ignores its species through `ignoredSpecies` or the `familytree:ignored` tag. - `/familytree info` counts generations only through animals the player can see, so it matches the screens and tooltips and doesn't reveal how deep a hidden pedigree goes. - `/familytree info` with a name two pets share listed the choices and then said "No record". It now lists the choices only, and each choice can be clicked to fill in the command with that pet's UUID. - Locating or editing another player's pet that you can see now says only its owner or an operator can do that, instead of "No record". A pet you can't see still prints "No record" once, not twice. - Quoted names such as `/familytree info "Treename Test"` now work in `info` and `locate`. - `/familytree list` no longer repeats an animal's name inside its death message. Locate names the dimension, such as "in the Overworld", and reports a dead animal's last known location in one line. - "Set Rex to 1 days old" now reads "1 day old", and linking a pig or another animal into its own ancestry says "An animal can't be its own ancestor" instead of calling it a pet. - A death with no attacker, such as thorns damage from `/damage`, showed "%1$s was killed while trying to hurt %2$s". It now says the animal died. An animal shot by a dispenser's arrow is "shot by Arrow", as in Minecraft's own death message. Records saved before this fix read correctly too. - `/familytree setage`, `setbirth`, and their help now say what a world day is: 20 minutes of the world running. Ages still count those days, so sleeping and `/time` don't age animals, and existing birth days keep their meaning. - With Jade's Horse Stats or WTHIT's horse lines on, the Family Tree tooltip no longer repeats a horse's speed and jump, or a llama's strength in Jade. It still shows health and the parent comparisons for the rest. Turn those off in Jade or WTHIT to get Family Tree's speed and jump lines back. - On Minecraft 1.21.9 and newer, the Controls screen named Family Tree's key category `key.category.familytree.familytree`. It now says Family Tree. - A player without the client mod, on a server with the chest menu turned off, saw `key.familytree.open_tree` in the help text. The key hint now goes only to players with the mod. - On Fabric servers, a player without the client mod got every linking stick message twice, and the first click said the animal was already selected. ## Large families in the tree - A species view with more than 40 animals now shows its families a page at a time, largest family first, with **<** and **>** to turn pages and a label such as "Families 1–38 of 241". Before, 1,250 sheep fit to 0% and drew as one line, and 250 cats fit to 9% as empty outlines. Now a page of cats fits at 29% with names and faces. A family larger than a page gets a page of its own. - **Find by name** in a species view jumps to the first animal whose name contains the text, on whatever page it is, and Enter moves to the next match. - **Fit tree** stops at 25%, where cards still show names. When the family doesn't fit, it centers on the selected animal, or starts at the first card in the top row. Scrolling out stops at 10%, which still shows the shape of a family of 1,245 sheep. - A generation with more than 10 animals wraps into rows, so a pair with 45 puppies opens at a readable size and exports. Links into a wrapped generation run down its left side and links out of it down its right side, so no line passes under a card. - A parent's tree now shows each foal's other parent beside it, linked to the foal, so a foal no longer looks like it had one parent. Hiding the parent's branch hides that card too. A foal bred back to its parent or grandparent sits below its younger parent, and in the foal's own tree the older parent sits with the grandparents. The older parent's link to the foal runs down its own lane at the side, so it never runs along another parent's line. A mate whose own parents are in the tree, such as a sibling, links to them. - A tree still opens with six generations above and below the animal. When there are more, the edge cards get a ▲ or ▼ tab with the number of generations left out, such as "▲ +18" on a 25-generation line. Click the tab to show six more. Exported images carry the same marks. - **Show all**, hiding a branch, and turning a page no longer move the tree. The selected card, or another card when nothing is selected, stays where it was. - At 854x480, Minecraft's default window, and other short windows such as 1080p at GUI scale 4, the tree's buttons move to a column beside the tree. In testing, a cow's tree that fit to 12% at 854x480 now fits at 45%. - In a species view too large for one image, export says how many animals the family has and suggests exporting one animal's tree. - Exported images are named after the animal or species and the date, such as `family-tree-Comet-2026-10-31.png`, with `-2` and so on for later exports that day. Before, the name had a random number. ## Tree cards - Text on tree cards now grows and shrinks with the zoom. At 275% it fills the card instead of sitting small in a corner. Zoomed far out, text stops shrinking once a letter would be smaller than a screen pixel, and each card shows the rows that still fit, starting with the name. Hover over a card to read what it left out. - Cards are as tall as their content. A wolf with a name, generation, and owner gets a card about half the old height, and every card in one tree keeps the same height, so rows line up. Exported PNGs keep their old card size. - Long death messages wrap over up to three lines and keep the day, such as "Rex was poked to death by a sweet berry bush on day 3". A message longer than that ends with "..." and reads in full on hover. - A 64-character name takes at most two lines, ending with "..." when it is longer, and the card grows so the lines below it stay inside. The full name shows on hover. - The stats panel moves to another corner of the tree when it would cover the selected card or the card you compare it with. - A name with Arabic or Hebrew letters no longer reverses the sentence it sits in, such as a tree title, a death line, or a chat answer to a `/familytree` command. Chat gets this only on 1.4.0 clients, because older and unmodded clients would draw the marks that keep the name apart as boxes. - **Locate pet** and **Waypoint** still close the tree so you can read the answer in chat, but the open key (H by default) now brings back the same tree, zoomed and panned as you left it. The action bar reminds you. ## Browser and other screens - At GUI scale Auto on a 1920x1080 screen, the browser's buttons took most of the height and the pet list showed half a row. The list now keeps at least two full rows at every GUI scale. Buttons are as wide as their labels, species buttons share one row that you page through with the arrows, and on the smallest screens the less used buttons move into a **More** button. If that still isn't enough, the tabs become one button that steps through them. - Long rows no longer run into the day column. - Species buttons use the game's name for every species, so "Dogs", "Cats", and "Parrots" no longer sit next to "Camel" and "Horse". - Search used to look only in the selected tab. When other tabs have matches, the list now says how many, and clicking that line shows them. - **Find existing pets** now says how many new pets it found, that it found none nearby, or that the server didn't scan because you pressed it too soon. - **Add parents** offers only animals that can be the parents: the pet's species, a horse and a donkey for a mule, and none of the pet's own descendants. Before, the server refused other choices only after Confirm. Rows in the pet picker start with the portrait and name, and Tab, the arrow keys, and Enter still pick a row. The hint and error text are centered under the title. - Escape goes back one screen everywhere, as it does in vanilla's Statistics and Advancements screens. Settings used to close Family Tree instead. - In Japanese, Chinese, and Korean, Getting started breaks lines between characters and keeps "Family Tree" on one line. On small screens its text scrolls instead of running under the buttons. ## Chest menus - The family book opens in the game's book screen instead of a lectern, so the Take Book button that did nothing is gone. Breeding plans open the same way. - A parent's family page said "No recorded children" when its baby belonged to another player. The page and the family book now count every recorded child and say how many the player can't view. - Variant names such as a fox's or a rabbit's coat were in English in menu tooltips and books, whatever the player's language. They now use the player's language. - Family book pages measure names at the width the game draws them, including Cyrillic and other wide letters, so a long list of names continues on the next page instead of running off the bottom. ## Upgrade Update the server and clients together when you can, but 1.4.0 and 1.3.0 still connect to each other. NeoForge and Forge still register protocol 4, and every network addition is optional: - The relatives key uses two new optional channels, `relatives_request_v1` and `relatives_result_v1`. A 1.4.0 client on a 1.3.0 server shows a message for the key, and the rest of Family Tree works. In testing, Fabric 26.3 and NeoForge 1.21.1 clients joined 1.3.0 servers, showed the message, and opened the Family Tree screens normally. - The rename reply has one new status for a denied `familytree.rename`. The server sends it only to 1.4.0 clients, which it recognizes by the relatives channel. A 1.3.0 client gets the 1.3.0 reply and a chat line that names the node. - The breeding planner works from the family list the client already receives. Permission nodes, the new settings, and the species tags add no network channels. Saved records don't change in 1.4.0, and the data version stays 1. A 1.3.0 history loads unchanged, and the Paper plugin reads and writes the same file. A 1.3.0 settings file keeps every value. Family Tree rewrites it once to add the comments and the new settings at their defaults. `/familytree prune` now removes nothing until it is repeated with `confirm`. Scripts and console macros that prune need the extra word. Going back to 1.3.0 keeps every record, because no saved fields changed. Two limits apply: - 1.3.0 rewrites `config/familytree-server.properties` at every start with only its own settings, so the comments and every setting added in 1.4.0 are lost. Keep a copy of the file. 1.3.0 also ignores permission nodes and uses operator levels. - Don't go back to 1.3.0 while 1.4.0 reports an unreadable history. 1.3.0 would save an empty history over `familytree.dat`. The `familytree.dat.unreadable-<date>_<time>` copy stays either way. Minecraft world version restrictions still apply, so each build is for worlds of its own Minecraft version, not for downgrading a newer world. ## Pack authors - Every integration stays optional. Family Tree bundles none of Jade, WTHIT, Mod Menu, JourneyMap, Xaero's Minimap, or fabric-permissions-api, and starts without them. - The relatives key defaults to the grave accent. On NeoForge and Forge it only applies in the world, not in inventory screens. - Family Tree's resources add a zero-width `space` provider for U+2066 to U+2069 to Minecraft's `default` and `uniform` fonts, so the marks that keep right-to-left names apart don't draw as boxes. Font providers from several packs combine, so this doesn't replace a resource pack's fonts. - Datapacks and KubeJS can choose tracked species with the `familytree:tracked` and `familytree:ignored` tags.