NPC Creator
NPC Creator - Professional Tool for Building Virtual Worlds
This revolutionary modification unlocks unprecedented capabilities for map creators to populate their worlds with dynamic characters. The core innovation of NPC Creator lies in its JSON script system that operates directly from user configuration files.
Every loaded game world automatically receives pre-configured NPCs according to established locations. The update mechanism enables instant modifications across all existing saves - simply update the script package as part of a new modification release.
This approach proves particularly valuable for map developers seeking to maintain backward compatibility while updating content. Players no longer face progress loss - standard modpack updates automatically transition altered NPCs to new versions.
Current functionality spans three primary aspects:
Dialogue Systems
Create branching multi-choice conversations
Custom Visual Designs
Complete support for personalized character skins
Commercial Infrastructure
Development of interactive shops of varying complexity
Activation Process
Begin by launching a new world to generate the "npccreator" directory. Manually create a "skins" subfolder alongside the auto-generated "npc", "dialog", and "shop" folders.

Constructing Interactive Characters
To implement characters with dialogue capabilities, employ JSON formatting as demonstrated:
{
"name": "Test",
"posX": 286,
"posY": 38,
"posZ": 1106,
"direction": "south",
"skin": "Test",
"dialog": "Chat1"
}
This configuration positions an NPC named "Test" at specified coordinates, assigns the "Test" skin (with corresponding image in the skins folder), and activates dialogue file "Chat1" upon interaction.
Programming Conversation Scenarios
Access the "dialog" directory to build communication structures. The "Chat1" file illustrates a basic template where the character displays "Welcome" greeting, and users choose between continuing conversation ("Eeeeeh, okay?") with transition to "Chat2" dialogue or ending the interaction:
{
"question": "Welcome! TEXT TEXT TEXT",
"responses": [
{
"answer": "Eeeeeh, okay?",
"type": "next",
"action": "Chat2"
},
{
"answer": "Bye",
"type": "close"
}
]
}

Establishing Commercial Outposts
To transform NPCs into merchants, utilize similar formatting with added "shop" tag:
{
"name": "TestShop",
"posX": 296,
"posY": 27,
"posZ": 1056,
"direction": "south",
"skin": "TestShop",
"shop": "TheShop"
}
Configuring Storefront Displays
The "TheShop.json" file organizes product catalogs. In the presented example, players acquire an Enchanting Table using dirt as currency:
{
"items": [
{
"name": "Enchanting Table",
"costOne": {
"item": "minecraft:dirt"
},
"type": "itemstack",
"data": {
"item": "minecraft:enchanting_table"
}
},
{
"name": "Bookshelf",
"costOne": {
"item": "minecraft:dirt"
},
"type": "itemstack",
"data": {
"item": "minecraft:bookshelf"
}
},
{
"name": "Anvil",
"costOne": {
"item": "minecraft:dirt"
},
"type": "itemstack",
"data": {
"item": "minecraft:anvil"
}
}
]
}
The alternative "Command" option provides execution of system commands during commercial transactions.
