How Trees was built
Raw game files read
worldgen/treengenproperties.jsonworldgen/treegen/*.jsonblocktypes/plant/*.json (sapling variants only)
Processing
worldgen/treengenproperties.json lists every tree/shrub generator as a climate band
(temperature/rain/fertility/forest-density range, each stored 0-255 and normalized to 0-1 here).
Each generator's own worldgen/treegen/<Generator>.json file is read just for
its log/leaves block codes, and saplings are matched back to their generator via the sapling
block's own glob-keyed attributes.treeGenByType -- this is how a species climate band
ends up cross-linked to the concrete sapling/log/leaves block codes that actually show up on
those blocks' own item pages.