If the mod keeps freezing your game on world load, it may be because the website hosting my code repository is down. Try setting Version Checker to false.
The Village Names mod assigns randomized names to villages and villagers, and also to structures like mineshafts, strongholds, fortresses, and so on.
Homecoming Update: Village Names 4
I welcome you all to Village Names's final major update.
The single feature that VN4 is focused on is the implementation of the village buildings from the Village and Pillage Update.
VN4 comes with its own Village generator. This generator is able to place down road blocks other than gravel, and will even use certain backported Grass Path blocks in 1.7.
All 160+ of the Village and Pillage buildings are available for your disposal: you can modify their spawn frequency to your heart's content.
Legacy village buildings are deactivated by default, but you can turn them back on if you really want to.
Here is my feature showcase video, which highlights the most important additions:
- You can control the general size and frequency of villages.
- You can choose the biomes that villages do or don't spawn in, including modded.
- You can choose which building types (plains, desert, taiga, savanna, snowy) each building will belong to. They are each assigned to one by default.
- You can control which building type each biome produces, and you can choose what material template the biome uses, and you can demand that other mods don't replace VN building blocks.
- Other mods' buildings still spawn, but you can also control which village type (plains, desert, taiga, savanna, snowy) each modded building won't spawn in.
- You can have village horses spawn with randomized names from the new "Pet" syllable pool. Or, you can name your new pets with it.
Honestly, the customization possibilities far exceed my ability to discuss them.
I recommend watching the above feature showcase video, perusing the changelog in the file downloads section, checking out the brand-new wiki that explains the config values in detail, and having a look at the example gallery below.
Thanks for all the support over the years. Thanks especially to KibaTheBarbarian, jss2a98aj, ozoomaroo, DelirusCrux, Niesan, QTΠHaley, DarianStephens, and Critiri for help with testing the mod. You are each some kind of miracle.
VN4 Example pics and gallery
Example tundra village
Example Taiga village
Example Jungle village
Example Desert village
Example Heathland village (Biomes o' Plenty)
Another snowy village
A room with a view
Happy Halloween 2020!
Note: The 1.7.10 version now has a config option to allow compatibility with Runic Dungeons or other mods that use the namespace minecraft:Guardian. Just set "Alternate Guardian Namespace" to true. However, doing so will replace all Guardians in your world with the other mods' version or will remove them altogether.
Phonetic Update: Version 3.3
In anticipation for Village Names 4, which will not release for a while, I've changed the config directory to configs/VillageNames4.
As a result, the configs will be generated fresh and with their default values.
If you've modified your values away from the defaults, make sure you take a moment to set them again to your liking.
New streamlined name system:
Now, all name generator entries are comma-separated for legibility.
Rather than having separate syllable pools for different syllable positions, there are now only three pools:
Root: Initial, one of which starts a name
Root: Syllables, one or more—or even zero—of these are placed after the initial to give the name its chosen length
Root: Terminal, one of which completes a name.
The probabilities that a prefix or suffix are added are given as floats, and the possible lengths a name type can be are given as an integer array: Syllable Count Weighting.
The Nth integer in Syllable Count Weighting sets the chances of getting a name that's N syllables long. In the above example, two-syllable names are most likely (weight 273) while three-syllable names are second most likely (weight 206). Weights of 0 are allowed.
There is no limit on how many entries you can add to this array, but since core names are hard-capped at 15 characters, names above six syllables become increasingly unlikely.
Backported sounds removed:
Until this point, Village Names had included backported sounds for things like the Witch's cackle, End Portal opening, and so on. This started with me adding the "Thorns" sound because the backported Guardian in the 1.7 was trying to play that sound. Sounds weren't really related to the core concept of Village Names but were gradually added by me because, at the time, VN was my only mod.
Now, those sounds effects—and very many more—have been moved over to a new mod: ASMC.
Heritage Update: Version 3.2
Continuing my enjoyment of the modular skin system introduced in v3.1, and inspired by Technoparadox's post about an Ethnicities variant, I have now added various skin tones!
But first, the changelog:
- Added villager skin tones, which are based on the biome that the villager resides in.
- Added config file / resourcepack support to allow modded villagers to utilize the modular skin system introduced in v3.1. Many mod villagers are natively supported.
- Added "graylist" that allows user to override headwear rendering for modded villagers on a per-profession basis
- (1.7.10) Bugfix: villagers start with a stone badge rather than iron
- (1.9.4+) Changed system for naming villagers from other mods to use profession ResourceLocation strings instead of integer IDs. You will need to delete and re-generate all or parts of your general config file to load in the defaults.
- (1.9.4+) Re-enabled profession-based zombie villager skins when Modern Villager Skins is turned off
- Added Forestry, Psychedelicraft, Growthcraft CE villager IDs to default config mapping. If you already generated your config, you'll have to enter them manually if you want them (look at the default values comment).
- (1.9.4+) Changed default config values involving profession IDs from integers to explicit ProfessionForge type, since professions are generated dynamically unlike in 1.7.10. If you already generated your config, you'll have to enter them manually if you want access to their functionality (look at the default values comment).
- (1.7.10) Added UpToDateMod and EtFuturum 1.6+ Concrete and Glazed Terracotta support in case you would rather use their versions as well decorations and villager trades
- (1.7.10) Mason's slot 3 buying cost may be lower if the player doesn't have any mods that backport the 1.8 stone types
- Changed well concrete/terracotta generation code to prevent certain specific crashes and meta value bugs
The v3.2 update focuses on two core concepts: Skin Tones and Mod Villager Outfits.
A NOTE ON VANILLA VILLAGES AND SKIN COLORS (pre 1.10):
In vanilla Minecraft up through 1.9.4, villages only spawn in plains, desert, and savanna biomes.
Plains villages produce medium-tone skins, with the large variance: that is, you often get slightly lighter or darker tones, with very dark/light tones being rare.
Desert villages produce medium-dark skin tones with low variance.
Savanna villages produce dark skin tones with low variance.
That is, when using only vanilla, getting the lightest skin tone is extremely rare. They would occur as ~1/160 residents of plains villages, or if a village happened to spill over into a cold/snowy biome and spawned some villagers there.
To experience the full gamut of both the skin tone system from v3.2 and the biome garb system from v3.1, you'll want to use a mod that allows villages in non-standard biomes. I recommend Mo' Villages, Biomes O' Plenty, and maybe even Realistic Terrain Generation.
In 1.10 and on, they also spawn in taiga biomes, which produces very light skin tones, so this problem is solved. However, I still recommend those mods just for the pure variety ;)
Similar to the biome garb from the 3.1 update, the new Skin Tones system adjusts villagers' skin and eye color based on the biome they spawn in. Dry savannas and hot jungles produce darker skin colors, while frigid/humid/snowy climes produce lighter skin colors.
Plains Villagers have skin colors centered around a medium value, with high variance. That is, slightly lighter/darker skins are common, and increasingly dark/light skins are increasingly uncommon.
The median skin tone color defaults on the medium vanilla, and is adjusted lightward or darkward based on the biome's tags (e.g. SNOWY or HOT or CONIFEROUS).
The more of these qualifying tags are present in the biome, the smaller the population's skin tone variance gets.
In other words, Desert Villagers have medium-dark skin with occasional individuals having a tone lighter or darker than that. Much darker/lighter tones are extremely rare.
Savanna Villagers have dark skin tones with a similarly small variance:
Snowy/Cold/Taiga villages are where you can find light-skinned villagers in abundance (but as I said above, without a village biomes mod past 1.9, they will be stupidly rare):
The Mod Villager Outfits system integrates the custom villager professions from many popular mods into the modular skin tone / biome garb schematic:
Here's an example of a dark-skinned, forest-style Apothecary villager from Witchery:
Note that only the Forestry Apiarist (yellow) is wearing a villager cowl. New in v3.2 is the config implementation of the Villager Headwear Graylist, which allows you to specify which modded villagers always or never have headwear, irrespective of the Modded Villager Headwear config setting.
Multiple moded villager professions are supported by this system, but you have the ability to enter in custom values for career outfit image files (and zombie career outfit image files), and add them in via a resourcepack. Zombie versions are optional; if none is specified, the mod will fall back on the villager outfit.
Special note for versions 1.9.4 and up: The default config entries involving mod profession mapping have all been changed. Previously, the config files used the deprecated and unreliable ID integer system from 1.7; now, they explicitly reference the profession's ResourceLocation. You will need to blank these config entries, delete the config files entirely, or copy the new default values given in the option's comment if you want to use them.
Herald Update: Version 3.1
True to form, I have managed to update the mod again on a holiday. This time it's my birthday!
Celebrate with me by grabbing Village Names v3.1!
Here's a video showing off the key features added to the mod since the last video (v1.1):
- VN v3.1 does not work with Villager Mantle Fix, but it should act as its replacement—I used VMF as my inspiration and guidelines to implement the new Villager designs.
- (1.7.10) While the new trades in VN v3.1 were implemented with possible support for Et Futurum, you should set EF's Zombie Villager option to false or else they will conflict with VN's.
- IMPORTANT: The Mod Naming config category has been renamed to Mod Integration. Copy over your old values if you want to continue using them.
- Updated Villager and Zombie Villager to modular 1.14 textures. With this option on, all version have access to all merchant careers, including Cartographer and Mason.
- Added multiple new custom villager biome types: forest, highland, aquatic, mushroom, magical, nether, end
- Changed vanilla trades to be more like 1.14 trades.
- (1.7.10) The new vanilla villager trades include backported items if you're using BetterVanilla, Biomes O' Plenty, Botania, Carpenter's Blocks, Chisel, Et Futurum, Gany's Surface, HarvestCraft, Mariculture, and UpToDateMod
- (1.8.9) The new farmer trades can include beetroot if you're using the Simple Beetroot mod.
- (1.7.10) The block under the mat in the igloo basement is polished Andesite if you're using the type from Botania, Chisel, Et Futurum, Gany's Surface, or UpToDateMod
- (1.7.10) There is a config option to control the priority order for which mod's items/blocks to use when there is a redundancy
- Village wells now spawn with a customized banner (1.7.10: requires Et Futurum or Gany's Surface)
- If well banner generation is active: you can control whether well signs and banners face directly away from the well, or inward towards each other, or some angle in between.
- Fixed a bug where villager info doesn't carry over from a zombie converted using nearby catalyst blocks
- (1.7.10 & 1.8.9) Added a config option that will allow Igloos to spawn in mods' snowy plains biomes, rather than just strictly in vanilla Ice Plains or Cold Taiga.
The three major features characterizing the 3.1 update are:
- New Villager Skins
- Revised Trade Offers
- Village Banners
The New Villager Skins is the result of my attempt to back-port the villager skin designs from JE 1.14.
Villagers have modular skins, wearing a clothing layer based on their spawning biome (Desert, Savanna..), and outer garb based on their profession (Fisherman, Armorer...)
All seven official types are included, but that doesn't feel like enough, and many aren't accessible via normal play anyway.
So I made seven additional types to better integrate with village/villager/biome mods:
Villages spanning multiple biomes may be populated with villagers of diverse biome garb:
Zombie villagers are also affected!
New Zombie types:
The Revised Trade Offers modify the vanilla trade pools offered by villagers to be better balanced and more like JE 1.14 / BE 1.12:
The new Mason villager, which is a career subset of the Blacksmith, buys and sells rock, stone, and minerals.
Butcher trades now involve rabbit and mutton:
Many other items are introduced and changed in trades, but I don't want to mention every single one. Check out the Minecraft wiki entry on villager trading to get an idea what to expect.
Village Banners now generate alongside the sign on the village well:
Banner of Viomepest
Collection of banners found in villages:
Some villagers even offer their banner up as a standalone sale or a shield!
Harmony Update: Version 3.0 features
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 188.8.131.526 for maximum compatibility
▪ (1.10.2) Rolled back Forge to recommended version 184.108.40.2065 for maximum compatibility
▪ (1.9.4) Rolled back Forge to recommended version 220.127.116.116 for maximum compatibility
▪ (1.8.9) Rolled back Forge to recommended version 18.104.22.1682 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
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 22.214.171.1248 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 make sure to link back to this project page.