The Village Names mod assigns randomized names to villages and villagers, and also to structures like mineshafts, strongholds, fortresses, and so on.
Harmony Update: Version 3.0
Village Names is a mod I designed for ancillary use in my let's play series, Galaxy Odyssey. My server is 1.7.10 because many really good mods have not updated past that version. As a result, much of the new stuff in Village Names 3.0 is specific to the 1.7.10 version. However, there's something new for everyone—even up through 1.12.2.
Here is the 3.0 change log, roughly in decreasing order of significance to the user:
▪ Notice: Version 3 uses a new config folder. The old VillageNames folder will be ignored, so your config options have been set back to default
▪ Updated all textures and icons
▪ Added new book types to differentiate between temple types (jungle, pyramid, etc). Previously generated books will retain the generic Temple icon
▪ Added naming for village-spawned Iron Golems using a new "Golem" syllable pool
▪ Added main and in-world menu GUI for editing config options during the game
▪ Notice: (1.7.10) In case the in-world config menu GUI conflicts with other mod's, you can disable it in the general config settings
▪ All name pools now support up to seven syllables, with prefixes and suffixes
▪ Added a new config option list for right-click naming or automatic naming of any custom entity.
▪ Notice: (1.9.4 and 1.10.2) Due to Minecraft's GUI setup, custom names do not display for entities with vanilla health bars.
▪ Notice: (1.9+) Due to the way the Ender Dragon battle is regulated, if you try to use Automatic name generation for the Ender Dragon, the name will not be permanent. Every time the End is loaded, the Dragon will have a new name.
▪ Added a new config option list for naming certain mod structures. The structures must be generated and saved using the vanilla format (e.g. Galacticraft's Moon Villages)
▪ Added "Angel," "Demon," and "Dragon" syllable pools
▪ When using the right-click or automatic naming config options, or the vn_name command, You can generate names from multiple combined pools by doing e.g. the following: angel-villager-demon-(etc)
▪ Fixed naming for Mystcraft Archivists
▪ Added a config option to generate village books using the ToroQuest name for a town. This is very buggy and our mods don't always agree on the village's name
▪ Added a blank "Custom" syllable pool for making your own name generator
▪ (1.7.10) Added Guardian mob, which spawns in and around Ocean Monuments
▪ Notice: (1.7.10) Currently, the Guardian mob causes a crashing conflict with Aether Legacy. You can track the issue at: #1
▪ Notice: (1.7.10) Elder Guardians will attempt to retrogen into all previously generated Monuments exactly once: the first time you sign in with the new mod version. If you're on Peaceful when you sign in, you forfeit your chance for Elder retrogen
▪ (1.7.10 & 1.8.9) Backported Igloos. They're not 100% perfect, but they're extremely close
▪ Added Village Names achievements/advancements
▪ Added config option to specify blocks that speed up or slow down the transformation when converting a zombie villager into a villager
▪ Villagers retain their names and professions when inter-converting to/from Zombies
▪ Villagers retain their names when being recruited to Witchery Guards
▪ (1.7.10) Added config option to sub-divide vanilla Villager types into careers, with tiered trades, similar to 1.8+. This option will retroactively and permanently modify all previously generated villager trade offers to fit into the tiered "career" system. This should not result in the removal of modded trades
▪ (1.7.10) Added config option to enable Nitwit villager
▪ (1.7.10, 1.9.4, 1.10.2) Added config option to enable Cartographer villager. The Cartographer will automatically be enabled in 1.7.10 if you're using the Career option as described above. The Cartographer does not sell treasure maps like in 1.11+
▪ Added config where Librarian and Cartographer villagers can unlock high-level trades where they sell enchanted books, potions, and other treasures in exchange for Village Names-specific items.
▪ (1.7.10 & 1.8.9) Backported the varying per-profession skins for Zombie Villagers
▪ (1.7.10 & 1.8.9) Backported Thorns, Squid, Witch, Bucket, Painting, Item Frame, Lead Knot, and Furnace sound effects
▪ (1.7.10 through 1.11.2) Backported Ender Eye sound effects
▪ (1.8.9+) Changed Librarian trades from requiring two identical written books to requiring only one, like in 1.7
▪ (1.8.9+) Added red mushroom to empty flower pots in witch swamp huts
▪ (1.7.10) Replaced Wool blocks in Desert Pyramids with Terracotta
▪ Codex added as rare chest loot
▪ Added config option to deactivate Librarian villagers from producing the Codex item. It would then only be obtainable as chest loot
▪ The top line of Well signs will sometimes say Outpost/Hamlet/Village/Town/City based on the size of the village. This does not preclude the generated name having those words
▪ Added general config option for disabling X, Y, Z coordinates being recorded into books
▪ Added general config option to disable the colored well boundary, or to turn off well decoration altogether
▪ You can right-click any Village Book onto a villager to get a clue of your reputation level with that town
▪ Added naming for Traveling Merchants, Lost Miners, and Sheepmen from Primitive Mobs (uses "Villager" name pool)
▪ Obtaining Codexes from Librarians while in Creative mode won't consume resources
▪ Change: Your reputation no longer increases when trading for Codexes
▪ Villagers won't add their career tag to their names if they're not fully grown
▪ (1.7.10) Priest villagers can now record Ocean Monuments in hint pages if the Careers flag is off
▪ (1.7.10 to 1.11.2) Concrete, Concrete Powder, and Glazed Terracotta texture addresses and unlocalized name addresses have been changed to vanilla
▪ Notice: (1.7.10) Glazed Terracotta addresses have not been changed due to graphics limitations. Resource packs have to reference the Village Names addresses
▪ Turning off the concrete, glazed terracotta, etc in the configs now removes those blocks from the game entirely, rather than just stopping them from generating or being craftable
▪ Removed "dimension blacklist" vn_general.cfg option because it didn't really do anything
▪ (1.7.10) Generated Monuments now record their chunks in the NBT data file, as they should
▪ (1.11.2) Rolled back Forge to recommended version 126.96.36.1996 for maximum compatibility
▪ (1.10.2) Rolled back Forge to recommended version 188.8.131.525 for maximum compatibility
▪ (1.9.4) Rolled back Forge to recommended version 184.108.40.2066 for maximum compatibility
▪ (1.8.9) Rolled back Forge to recommended version 220.127.116.112 for maximum compatibility
▪ (1.7.10) Rolled back Forge to recommended version 13.4.1558 for maximum compatibility
▪ (1.8.9+) Fixed startup errors about block model sub-types
▪ Slightly tweaked and added to existing default syallable pools
▪ Notice: Version 3 uses new .dat files to store generated structure names
▪ Re-wrote name generation code to be more efficient
▪ Re-wrote villager interaction code to be less buggy
Version 3.0 features
The three major features of 3.0 are:
Backporting—Many sounds were backported, especially to 1.7 and 1.8, for improved quality of life. The Cartographer and Nitwit are available in certain versions, with 1.7 receiving an overhaul to the profession system to better match the Careers from later versions. 1.7 and 1.8 now have Igloos, and 1.7 finally has Guardians!
Naming— There is now a flexible config system to allow you the power to assign names to (nearly) any entity either when you right-click on them, or when they spawn into the world! These names can be generated from any of the name pools, or even a combination of them. There are now four new name pools—Angel, Demon, Dragon, and Golem; and there is a fifth blank one, Custom, that you can reference without having to modify the existing pools. All syllable pools now support prefixes and suffixes, and up to seven syllables.
Treasure—The Codex can now occasionally appear as chest loot. Librarians and Cartographers will offer unlockable high-level trades for particularly nice enchantment books, potions, and other treasure. Each version now has five achievements/advancements, and completing them all awards you a (semi-functional) trophy.
Let's go over the major new features below!
The first thing you MUST KNOW is that old config files will no longer be used:
Your old config files will be moved to the folder VillageNamesOLD and ignored. Fresh new default config files will be placed into the VillageNames3 folder, so you will need to change your config settings again.
You can delete the VillageNamesOLD folder whenever you like.
All Village Names art has been updated to better reflect the 1.13 style:
Mostly this means the colors are a bit more vibrant—especially golds. The new art should remain compatible with the old Minecraft textures. If you're using 1.7.10, you can access Jappa's new textures with my Texture Update Backport resourcepack!
Notice that I've added four new book types (in the top right) which use variations on the "sun" pattern. This is to differentiate between the four kinds of "Temple," rather than just using the same design for all of them. If the mod can't figure out which Temple sub-type you're in, it will generate the old book design (second row, all the way to the left).
At long last, you can change (most) config options from the in-game menu:
Some options require a world or client restart, of course.
In-game config works for all versions, but it's not natively implemented in 1.7.10. If another mod tries to use the in-game menu system, the mods might override each other. In that case, you can deactivate the Village Names config menu:
There are new name pools (Angel, Demon, Dragon, Golem), and supported naming for Golems:
Golems will receive names if they weren't created by you, and they're in a village with at least one resident.
Essentially any entity from any mod can be named using the new config system:
Village Names 3.0 has a powerful new system where you can enter in the class path of (nearly) any living entity to be named either by right-clicking, or automatically.
Above is an example of automatic naming. The highlighted line shows that whenever a witch spawns, identified by the class path net.minecraft.entity.monster.EntityWitch, it will gain a random name from the combined villager-goblin syllable pool. If the config option to display professions with names is turned on, witches will show (Witch) next to their name. If the last component is changed from add to remove, then all Witches will lose their custom names when loaded in—this is intended as a failsafe in case you have too many named entities. The config entry comes pre-loaded with a couple vanilla and multiple mod entities.
Similarly, there is a system for naming entities when you right-click them. This is particularly useful for e.g. mod NPCs:
There is also a system for generating names for certain mod structures.
The highlighted example essentially says that if you right click an Alien Villager with a book, it will create an Alien Village Book using the alien village pool, and record its dimension as "Moon." Please note this feature only works for structures that follow the very strict vanilla data formatting. Pre-loaded in the configs are all the nameable mod structures from version 2.0.
You might be wondering how to find the class paths for the entities you would like to name. Village Names has a new miscellaneous config option that can be used to print extra debug messages. This also gives the class paths of entities and blocks that you right-click:
Additional messages and information are printed to the console.
Rejoice! 1.7.10 now has the GUARDIAN MOB!
So now you can actually obtain the resources required to craft Prismarine blocks. The Guardians are essentially fully functional, though a bit flawed: I had to manually backport a lot of 1.8's complicated swim pathfinding. Combined with 1.7.10's odd collision detection and water movement, and my own need to write a manual spawning system, the Guardian behavior is a little off. But it's definitely good enough.
For anybody really interested in my time working through the Guardian problem, you can see my breakthroughs in this imgur gallery.
But what about monuments generated in 2.0? Don't worry: the next time you load your overworld, 3.0 will scan through every previously generated monument and retroactively place three Elder Guardians into each one.
1.7.10 and 1.8.9 now have the 1.9+ Igloo temples which sometimes appear in snowy biomes:
1.9 uses a new Template system to register and construct structures. This was a bit too difficult to backport, so I instead manually re-created the Igloo structure from scratch. They should be pretty faithful reproductions, though the furnace is sometimes rotated incorrectly due to a bug in 1.7 and 1.8 structure generation. Good enough.
Hey all you achievement hunters out there! Village Names now has goals for you:
Achievements for earlier Minecraft versions:
If you manage to complete all five, you get a special memento.
You can influence the healing ritual of a zombie villager:
Did you know that when healing a zombie villager, officially, having beds and iron bars within four blocks makes them convert quicker?
You'd be forgiven for never noticing. The effect is very tiny—at the maximum number of influencing blocks (14), the ritual time is shortened by only a few percent. Now, you can customize which blocks influence the ritual (positively or negatively), and the maximum number:
The config files come pre-loaded with the vanilla blocks and their vanilla influence rates. Similarly to finding entity class paths, you can turn on the debug messages config option and right-click a block to get the information you need.
By the way, 1.7.10 and 1.8.9 display the zombie villager skins used in later versions. Also, villagers keep their names and professions when converting to and from zombies!
1.7.10 now has the Careers system!
In 1.8 and beyond, every differently-dressed villager can be one of a few subtypes. For example, the brown-robed Farmer villager will now be a Farmer, Fletcher, Shepherd, or Fisherman.
Trades are now tiered. The first trade a villager offers you will be from the level-1 trades from 1.8+
When a villager unlocks the next trade, it will either be a level-2 trade, or a trade that another mod might have added:
Unlike 1.8+, you only unlock one trade at a time (with the exception of the shepherd's colored wool variants). Once you've reached the maximum trade level from 1.8+, all subsequent trades unlocked will be the remaining ones the villager can offer. So trades are tiered, but unlocked one at a time—it's like a hybrid of 1.7's and 1.8's trading system.
Ooh! New trades?
1.7, 1.9, and 1.10 now have the special Cartographer variant of the vanilla Librarian. In 1.11, this villager would eventually sell you treasure maps that lead you to ocean monuments and woodland mansions. But I haven't backported the maps (or mansions). So why should you care about Cartographers?
Because now, when you unlock enough trades, Cartographers will offer you cool new treasure trades! These can be special potions, trinkets, or even a name tag set with a custom-generated name for you to use at your discretion.
Eventually, I decided that this feature was too cool not to put into every version, so now you can get specialty trades from Cartographers and Librarians, in all versions from 1.7.10 to 1.12.2!
Cartographers will sell you treasures, and Librarians will sell you enchanted books.
In 1.8.9 there is no Cartographer, so the Librarian will offer any of the special trades.
In every version except 1.7.10, Librarians and Cartographers are limited to three special Village Names offers. Because 1.7.10's trade unlocking system is more convoluted, you can technically wring every possible treasure trade out of these villagers, but it will take very, very many attempts to unlock them.
You can gauge your village reputation:
The cost of generating a Codex and the trigger for certain achievements is dependent on your town reputation. Similarly, villagers won't make you village books or codexes if your reputation is too low. Now, if you right-click any villager with any village book, you can get a gauge for how high your reputation is in that town.
I'd like to give a special shout-out and thanks to:
whrrgarbl for being an excellent and supportive wife, and also being patient and understanding about my comparative lack of Java knowledge.
Darian Stephens for giving me lots of awesome suggestions, playtesting the mod (esp. the feature-heavy 1.7 version), and listening to my non-stop griping about bugs and version issues without ever complaining to me once.
jreneias for sending me his private modpack and world in order to investigate a fatal bug.
Enjoy Village Names 3!
Odyssey Update: Version 2.0
Here is the 2.0 changelog:
▪ Added naming for Galacticraft's Moon Villages and Alien Villagers (uses new "Alien Village" and "Alien Villager" syllable pools).
▪ Added naming for Galacticraft 4's abandoned asteroid mining bases (uses "Alien Village" pool).
▪ Notice: Galacticraft 4 village/structure bounding boxes are a little bananas: e.g. Moon Villagers or the Codex might have trouble producing a book. Try different locations within the structure when making a book.
▪ (1.7.10–1.11.2) Back-ported Concrete, Concrete Powder, and Glazed Terracotta.
▪ Village wells now decorate with a Glazed Terracotta pattern in the roof, and a concrete rim around the well perimeter.
▪ (1.7.10–1.11.2) "Hardened Clay" is renamed to "Terracotta" to match 1.12
▪ Added naming for More Planets's Nibiru/Fronos villagers (uses "Hobgoblin" syllable pool) and villages (uses "Alien Village" syllable pool).
▪ Added naming for More Planets's Koentus villagers and villages ("Alien Villager" and "Alien Village" syllable pool).
▪ Added naming for Witchery's Village Guards, Witch Hunters, and Vampires (uses "Villager" syllable pool).
▪ Added naming for Witchery's Hobgoblins (uses "Hobgoblin" syllable pool).
▪ Added naming for Hardcore Ender Expansion Towers and Island Fortresses (uses "End City" syllable pool)
▪ (1.7.10) Back-ported Prismarine, absorbent Sponges, and Ocean Monument generation.
▪ Village "colors" (previously only used for clay under signs) can now be any of the 16 colors. Though, all are of different rarity.
▪ Notice: A bug in OptiFine prevents structure data from saving properly in local games (thankfully, server games seem unaffected because servers don't boot OptiFine). As a result, it seems like names generated using the Codex aren't always permanent.
▪ Bugfix (maybe?): Biomes O'Plenty should no longer cause a crash when generating a village.
▪ You can add a custom career tag for nitwit villagers to display if addJobToName is true.
▪ You can rename villagers with name tags if you're in Creative mode regardless of if nameVillagers is true.
▪ Bugfix: Two-letter names are now NEVER the same two letters, rather than ALWAYS the same two letters (stupid code mistake on my part).
▪ Added OP command for generating name lists: vn_name <nameType> [numberToMake]
▪ Bugfix: Default Blacksmith career tag is now called "Blacksmith" and not "Armorer"
▪ Notice: vn_othermods.cfg has renamed its categories, so if you changed these values from their defaults, you may need to do that again and delete the vestigial categories.
▪ Change: You can't make a Codex while crouched. This will prevent the double-Codex bug.
▪ Change: The Monument Book icon is different.
▪ Bugfix: Fixed crash related to village books created by non-vanilla villagers.
v1.1b (1.12 only)
▪ Critical update: Forge overhauled its registry system starting at 18.104.22.1688 forward, and this caused version 1.1a to crash.
▪ Added Lunarin Style Iron Brick.
▪ Bugfix (1.8.9 and up): Functionality such as random villager names and Codex creation now works if your Language setting is not English!
▪ Bugfix (1.11.2 and 1.12): Using a name tag on a villager does not permanently rename them (unless "Name villagers"=false, as intended)
▪ Bugfix (1.7.10, 1.11.2, 1.12): Item names now display properly.
▪ When writing a Village Book, villagers can add a second page that hints at the location of an interesting structure to explore.
▪ Added a new item: the Codex. Right-click this while also owning a blank book to discover and record the name of a structure you're in (Village, Temple, Mansion, End City, etc).
▪ Names for all structures draw from different syllable pools and are configurable.
▪ To obtain a Codex, right-click a named Librarian/Cartographer while holding an emerald or iron/gold ingots.
▪ There is now a config option to add/remove a villager's career to their name when you talk to them (off by default).
▪ There is now a config option to handle and include villagers from other mods so that they can generate structure hints and display careers with their name tags.
▪ Bugfix: non-cobblestone wells should now generate signs and rim slabs.
▪ Bugfix (1.7.10): stopped console from spewing out "PopulateChunkEvent triggered."
▪ Generated village books are now dropped directly into the player's inventory (configurable).
▪ Bugfix (1.9.4 and 1.10.2): sneak-right-clicking a book onto a villager does not consume two and produce two Village Books.
▪ Change: villagers don't create a Village Book if you have negative reputation in that village.
▪ Bugfix: generated villages now correctly save the color of their clay sign base. This color info may be used in the future.
▪ Village wells generate with signs on them and slabs around the rim (configurable).
▪ Right-clicking a villager reveals its name (configurable).
▪ Right-clicking a book onto a villager causes it to record the village's name, location, population, and radius into a Village Book.
▪ Syllables in village and villager name pools are configurable.
Version 2.0 features:
Much of 2.0's features are to allow you to name creatures and features from mods that I like.
You can now name Galacticraft's Moon Villages, Alien Villagers, and abandoned asteroid mining bases:
If you have the More Planets add-on, you can name Nibiru, Fronos, and Koentus villagers and villages:
Village Guards, Vampire Hunters, Vampires, and Hogoblins from Witchery can all be named:
You can even name End Towers and Island Fortresses from Hardcore Ender Expansion:
...but some of the new stuff involves playing with back-ported blocks!
In all versions, 1.7.10 up through 1.12.2, village wells generate with 1.12 Concrete and Glazed Terracotta decorations instead of the old stained hardened clay base beneath the sign:
Yes, this means that I've backported Glazed Terracotta and Concrete for your enjoyment!
Note that I don't know how to make G.T. unresponsive to sticky pistons. You'll just have to live with it.
In 1.7.10, you can now find 1.8-style Ocean Monuments constructed from gorgeous Prismarine:
I've only core-ported the monument generation, and not the Guardian mobs. That's quite an undertaking and I don't know if I'll ever do it. For now consider Prismarine to be a finite resource.
Similarly, I probably won't back-port woodland mansions because they're no fun without their unique mobs or the Totem item.
Version 1.1a features:
1.1a only adds one new "feature," the Lunarin Iron Block:
...however, this new feature was just an excuse to motivate me to upload a bugfix: If you were not using English language settings, villager names and Codexes would not generate for versions 1.8.9 and up! This issue should be fixed as of 1.1a.
Here is a mod showcase video I did to cover all the general stuff the mod can do up through v1.1:
Version 1.1 features:
You can add the villager's career to their displayed name:
Villagers only respond to changes in this config setting when you interact with them.
Nitwits do not display any career by default, but you can add your own string in the configs.
When your reputation is high enough, a villager may write a second page when writing you a Village Book. This second page gives a hint about the location of a structure such as a Mineshaft or a Temple!
The generation of this second page is not random, and it's also not guaranteed. It depends on the villager you talk to, your reputation, and the proximity of certain structures. For example, a Butcher will only tell you about temples or other Villages. A Librarian will tell you about Strongholds or Mansions.
For those of you interested in the exact machinery involved in writing a second page, check here:
A villager will generate a "hint page" if its search radius contains a structure of the correct type.
The structure types each villager profession* can find are:
Farmer (not Fisherman): Village
Fisherman: Ocean Monument
Librarian: Stronghold or Mansion
Butcher: Temple or Village
Nitwit: Any of the above
*With the exception of Farmer/Fisherman, a villager's Career subtype is irrelevant.
The search radius around the villager, in blocks, is:
[Player's reputation] × sqrt[(Number of trades the villager offers) + 1] × 64
1.8.9 and up:
[Player's reputation] × sqrt[(Number of trades the villager offers)/2 + 1] × 64
Since the Nitwit does not offer trades, his search radius is different:
[Player's reputation] × 160
The search radius for Strongholds specifically is the above times sqrt(2) ≈ 0.7 for all versions (effectively, half search area compared to other structures).
The villager will always report the nearest valid structure.
A villager will only generate a "hint page" if he's named.
A villager that's a child, or that's not in a village, will not write a Village Book and so won't report a structure, even if there is a valid one. A villager also will not write you a book if you have negative reputation.
Fun development note and disclaimer regarding player reputation in villages:
While making this mod I discovered a bug in vanilla Minecraft that's been in place for as long as 1.9, and probably still exists: whenever a server gets restarted, all player reputations for every village are reset to 0. This is to do with the changeover from username to UUID, and went unnoticed for so long because player rep was hardly used in the vanilla game. LexManos tried to fix it on Forge's end but I don't think it was properly repaired, so I have a band-aid custom reputation handler in place. As a result, player reputation isn't always 100% accurate between server restarts for the mod's 1.9.4 and later versions.
Right-clicking a stack of emeralds, iron ingots, or gold ingots onto a Librarian or Cartographer (white robe) villager allows them to create the new Codex item.
Here is the Codex in-hand:
Generally, a Codex will cost about 4 emeralds, and you can substitute up to one emerald with about 3 gold or 6 iron. The exact details are below for anyone who's interested:
If you have 0 reputation with the village:
Right-clicking with an emerald stack consumes 5 emeralds.
Right-clicking with an iron ingot stack consumes 4 emeralds and 8 iron.
Right-clicking with a gold ingot stack consumes 4 emeralds and 4 gold.
If you have 10 reputation (max) with the village:
Right-clicking with an emerald stack consumes 3 emeralds.
Right-clicking with an iron ingot stack consumes 2 emeralds and 4 iron.
Right-clicking with a gold ingot stack consumes 2 emeralds and 2 gold.
The villager will refuse you if you have negative reputation.
Each time a villager makes you a Codex, there's a 50% chance your reputation will increase by 1.
If you right-click the Codex and you have an ordinary book in your inventory, both will be consumed and you will receive a written book containing the name and coordinates of the structure you're in!
Here I've visited Vinria, as per the hint given to me in the earlier Village Book. I've used the Codex to generate a Temple Book (in hand):
A villager does not need to have discovered a structure before you! Here I've used the Codex to discover the name of this Stronghold:
The Codex can even be used in the Nether and the End to record the long-lost names of Fortresses and End Cities!
Be careful: the Codex can be used in villages! Don't waste a freshly-obtained one by accident!
Names for Villages, Villagers, Mineshafts, Temples, Strongholds, Monuments, Mansions, Fortresses, and End Cities all have their own unique syllable pools in order to lend a different feeling to these features (e.g. Fortresses tend to sound Greek-like). These are completely configurable.
Lastly, version 1.1 allows the above features to be accessible to mod villagers by way of a config file. The default config values and explanation are below:
The Brewer and Apiarist villagers from Growthcraft use Profession IDs 10 and 14 by default. When they write Village Books, they will behave like a Farmer and a Butcher, respectivey: that is, the Brewer will only report other villages, and the Apiarist will report either villages or temples.
Warning! These default values have only been tested for 1.7.10. But as these arrays can be modified, you can fix incorrect values or add functionality for other mods' custom villagers.
Version 1.0 features:
This mod patches up a shortcoming that I'm surprised that nobody else has addressed.
Whenever a village is generated, it also generates a sign nearby the well:
An option in the configs changes the well's rim to slabs so that villagers and players won't get stuck inside.
Anyway, that sign shows a randomly generated name for the village:
Whenever you interact with a villager (i.e., open the trading GUI), the villager will reveal its name to you:
The village's sign can be broken, or may accidentally not generate (they do not generate on SuperFlat for 1.7.10 or 1.8.9!); or you may install this mod after a village has generated, but this mod has no retrogen. In any of these cases you might think that affected villages won't have names. But don't worry:
If you right-click a book onto a villager, it will record the village's name and location into it!
This of course will also work even if the village has a sign by the well. Anyway, according to this Village Book, there is a fourth villager that we haven't discovered.
Ah, there s/he is.
The village and villager names are generated from a pool of many hundreds of real-world and fantasy town/character names that are split apart and reassembled, resulting in so many possible combinations that honestly I can't be bothered to calculate the number. These name pieces are accessible in the config files.
Lastly, since this is my first (and only) modding project, I had to learn Java/Eclipse/Forge—absolutely everything from scratch. As a result of the many tutorials I browsed, I did make one custom decorative block:
This is a shapeless recipe. Just six gold ingots.
Here's an imgur gallery of all the pics above and a number of others showcasing more random names I generated during the testing processes.
This mod was designed with other exploration/adventure mods in mind. Please, use this in modpacks. Just don't be untoward about it.