The Chocolate Quest Wiki

NPC Tutorial-0

<Video version in the making as you read :3>

2015-01-08 17.41

Speaking to a new NPC on creative mode.

1. Spawning an NPC[]

In the creative mode inventory, one can find an item called "Spawn NPC." when the player right-clicks the ground with this item, an NPC will spawn. He will look like a Pirate, with a strange red hat. The NPC spawning item will not be consumed, even if the user is on survival mode. You can right-click your new NPC to get the default dialog. If you are on creative mode, when you right-click him/her, you will see 4 different buttons in the top left corner. These are what you will use to edit your NPC.

2015-01-08 17.41

The stats GUI. Red text was added in later to make diagram more useful.

2. Editing an NPC's stats[]

Clicking the button second from the top will open the 'stats' window. From here you can edit your NPC's appearance, name, and sounds. what follows are the options here:


2015-01-08 16.57

CRAZY amounts of customization! What are you even going to DO with all of this!??!?!

The NPC's name. Mostly used inside of the programming, and not actually visible to an interacting user on survival or adventure.

Display name:[]

what name will be shown above the text bar when you talk to this NPC?


2015-01-08 16.46

All of the available models for an npc, with some of the available skins.

Here you can select the texture used by the NPC. You can select one of the default textures by clicking the '+' button, or you can specify a different file location in the black section for your own custom textures. The file location that you type should start with an @ symbol and start inside of the chocolate folder. Example: @DungeonConfig\myCustomDungeon\textures\mobSkin.png


choose the model that the NPC will use. Clicking on this will swap it out for the next one on the list. Note that not all textures will look good with all models.


Use this button to switch between the animal textures and a player texture. As of the demo being used here, this button has minimal use, as the default skin is also an option in the skin list.


2015-01-08 14.52

The maximum and minimum sizes for npcs. Note that the smaller one IS a dwarf.

Change the size of your NPC. NPCs can be a huge variety of sizes! Note that some species are smaller than others.

R G & B:[]

Change the color balances on your NPC. This also may change around the coloration of some of their equipment. It's recommended to primarily use skins to edit your NPC, and keep RBG use to a minimum.


2015-01-08 17.56

Our tutorial NPC, Herbert!

Choose whether this skin uses the thick or thin arm style.


change the social awesomeness of your NPC!


Change the faction this NPC is a member of. NPCs will fight with those of the same faction, instead of against them.

Yes/No Options:[]

2015-01-08 17.56

Herbert, with a dialog added.

choose whether:

  • The Display Name of the NPC also appears above its head.
  • The NPC can move
  • The NPC will pick up items on the ground.


Pick the noise sets that the NPC will use. Whether it be bat, monkey, or Silverfish, or many more!


2015-01-08 17.57

Herbert's inventory.

Click this option to edit your NPC's Inventory. Here you can put items or blocks in either of the NPC's hands, Put armor on it's torso, legs, and feet, and put armor and blocks on it's head! You can also change whether or not it's on your team, and it's various AIs, such as to follow the player, or sit down, or shoot things with its bow or gun.


Here you can place items in your NPC's right and left hands, as well as add armor, and modify the number of healing potions. There's also an image of how the NPC looks.

Drop Sliders:[]

Slide around these things to determine how often the NPC drops its equipment when killed. 1.0 is always and 0.0 is never.

Join my team:[]

Click here to have the NPC join your team. Click again to make them leave.

Attack style:[]

Choose how the NPC attacks. Go here for more.

Movement style:[]

Choose how the NPC moves. Go here for more.

2015-01-08 17.42

The Saving and loading GUI.


Here you can change your NPC into any of the default NPCs, or the ones you've already saved. You can also of course, save NPCs here! you can then put them in in other places. To save an NPC, type in in the black bar whatever you want to name your NPC, then press 'save' Note that loading an NPC will overwrite whatever has been done on the current NPC, but if you saved it, you can just load it up again.

2015-01-08 16.31

The dialog GUI

Edit Dialogs[]

To edit an NPC's Dialogs, click the 'edit dialogs' section on the main GUI, the button on top. To make a new Dialog, simply type in the name you want the Dialog to use in the 'Option name' Section. You can change where the Dialog is saved in the "file" section. Then, in the main section with the black lines, you can type the message you want. You can also use the "+" symbol next to the 'Option name' to look through the already saved dialogs, and select one to overwrite the current one. Each black bar represents one line of text in the chat area. 

There are many more things that can be done with dialogs, not mentioned above, but it would take an entire other tutorial to do all that! So.... Click HERE for more, Such as how to put pictures of blocks in the chat bar, how to address the player reading the message by username, and how to make the NPC open a shop.

Further Information[]

If you are looking for information that is not detailed by this tutorial, don't hesitate to ask!

Here Is a link to an NPC who has almost all of the things in this tutorial in use, working fine. If you are not playing Beta3, spawning in this small structure may do irreversible damage to your game. Sorry :\ So currently this is unavailable to the masses, but that's likely to change fairly soon.

If you ignore the above warnings and use the rocket dungeon anyway, it's your own fault if something breaks.

To spawn in the above NPC, go to "C:\Users\YourNameHere\AppData\Roaming\.minecraft\config\Chocolate\Building\test" and place the file there. Then in game Right-click the ground with the 'test.prop' item.