promotional bannermobile promotional banner
premium banner
A simple NPC mod that lets you add dialogue any entity.

Description


Like my mods? Support my work:

Buy Me a Coffee at ko-fi.com Donate using Liberapay


A simple NPC mod that lets you add dialogue to any entity.


Forge 1.20 - 1.20.1

This small mod makes it so map makers can create custom dialogue, using datapacks, for entities in the world.


Usage

Dialogue can be applied to any entity using the command:
/conversations set <entity> <conversation id>

 

Dialogue can be forcibly started without a speaker entity for any player using the command
/conversations start <player> <conversation id> <speaker #optional>


Creating Dialogue

Creating dialoge is very easy, just make a datapack and in your data directory under your namespace add a "conversations" folder then create a .json file in there.

  • The name of the file will be the id of the conversation, and your pack's namespace will be the name space. EX: my pack's name is "pack" and my filename is "test.json" so the conversation id will be "pack:test"

The following is a list of the json structure for dialogue files.

  • #required means that that key is required for the dialogue to be read.
{
"title": "string", #string #required
"starting_index": 0, #integer
"global_actions": [ #optional list of actions that can be called from anywhere.
    { #example of a conditional action object
        "condition":"", #string
        "action":"" #string #requried
    }
],
"dialogues": [ #required
    {
        "dialogue": "", #string #required
        "replies":[ #required
            {
                "reply":"", #string #required
                "action": #list or single action object #required
            }
        ],
        "condition": "", #string
        "type_sound":"", #string
        "talk_sound": {
            "sound":"", #string
            "volume": 0.5, #double
            "pitch": 0.5 #double
           },
        "timings": [0.5, 1.5, 5.0, 10.0] #array of doubles
    }
]
}

Sorry for the breif and possibly incomplete documentation, this mod is still a WIP.



Feel free to join our discord!