Name Forging

Name Forging

Generate natural-sounding names with grammar-aware dictionaries and full resource pack support. Client-side only.

27 downloads

Title

Name Forging

A grammar-aware procedural name generator for Minecraft.

Instead of stitching random words together, Name Forging generates natural-sounding names with support for grammatical agreement, cases, localization, and multiple languages.

The mod adds a Generate Name button to the world creation screen, provides the /namegen command, and exposes an API for other mods.


✨ Features

  • 🎲 Pattern-based generation

    • Templates like {adj} {noun} or {noun.gen} {noun}
    • Weighted word selection
    • Grammatical agreement
    • Case support
  • 🌍 World creation integration

    • Generate a name with one click.
    • Configure whether names are generated:
      • automatically,
      • only when pressing the button,
      • or never.
  • 💬 /namegen command

    • Generate names anywhere.
    • Generated names are clickable for easy copying.
  • 🔌 Developer API

    • Generate names for towns, settlements, NPCs, waystones, dimensions, or anything else.
  • 📦 Data Pack friendly

    • Generators and language files are completely separated.
    • Add new languages without writing any Java code.
  • 🔄 Repeat protection

    • Recently generated names won't immediately appear again.

📚 Included Generators

Generator Languages Description Example
Fantasy English
Russian
Fantasy-inspired places and kingdoms Ancient Hollow, Silent Valley, Lands of Shadows

More generators will be added in future updates.


🚀 Usage

World Creation

Click the 🎲 button next to the world name field.

Command

/namegen

or

/namegen name_forging:fantasy

Configuration

worldNameMode = ...
worldNameGenerator = ...

🛠 API

Optional<String> name = NameForgingApi.generate(
    ResourceLocation.fromNamespaceAndPath(
        "name_forging",
        "fantasy"
    )
);

Generation happens entirely on the client, just like any other player input. The generated name is then sent to the server as a regular string.