Back to mods
Dialogue project artwork

CurseForge · Hytale mod

Dialogue

Dialogue is a mod designed for server owners and developers to facilitate adding custom dialogue and interactivity to any NPC.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Dialogue release should I use?

Updated today
Latest stable file Dialogue 1.5.0 (Hytale Update 6 Support)
Game version 0.5
Mod system Built-in Hytale mod system

Dialogue 1.5.0 (Hytale Update 6 Support) targets Hytale. Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer. No required dependencies listed for this file.

Where it goes

Where should Dialogue be installed in Hytale?

Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.

Separate client mod Not supported
World host / dedicated server Required
Mod system for this release Built-in Hytale mod system
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

Put Hytale mods on the world host or dedicated server. Singleplayer runs a local server too; Hytale does not use separate client mods.

What else does Dialogue 1.5.0 (Hytale Update 6 Support) need?

Dialogue 1.5.0 (Hytale Update 6 Support). Change the file and its required mods may change too.

No required dependencies listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional project dependencies. Check the creator notes before changing an existing world.

Before you install it

Add Dialogue without breaking your instance.

Built for Dialogue 1.5.0 (Hytale Update 6 Support). Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use Dialogue 1.5.0 (Hytale Update 6 Support). It targets Hytale; another release may target a different game build or dependency set.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Enable it on the world host

    Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside Dialogue 1.5.0 (Hytale Update 6 Support). It opens that exact file at the source.

About this project

What does Dialogue add?

Hytale CurseForge Java

Get Started

Dialogue adds a new NPC action BeginDialogue which is used to start a dialogue with a player. I recommend using this inside of the InteractionInstructions block for your NPC. Here's a basic setup for your InteractionInstruction block:

{
  "InteractionInstruction": {
    "Instructions": [
      {
        "Continue": true,
        "Sensor": {"Type": "Any"},
        "Actions": [
          {
            "Type": "SetInteractable",
            "Interactable": true,
            "Hint": "dialogue.interactionHints.talk"
          }
        ]
      },
      {
        "Sensor": {"Type": "HasInteracted"},
        "Instructions": [
          {
            "Sensor": {
              "Type": "Not",
              "Sensor": {
                "Type": "State",
                "State": "$Interaction"
              }
            },
            "Actions": [
              {"Type": "LockOnInteractionTarget"},
              {
                "Type": "BeginDialogue",
                "Dialogue": "IntroDialogue01"
              },
              {
                "Type": "State",
                "State": "$Interaction"
              }
            ]
          }
        ]
      }
    ]
  }
}

The Dialogue parameter for the BeginDialogue refers to the ID of a DialogueAsset, which should be placed in Server/Dialogue/. These assets are the core of Dialogue's functionality, as they define the content and flow of the interaction with NPCs. An example DialogueAsset is included below:

{
  "Type": "Dialogue",
  "Entries": [
    {
      "Content": "dialogue.IntroDialogue01.content.0"
    }
  ],
  "NextId": "IntroDialogue02"
}

Localisation and .lang Files

Dialogue fully supports localisation of NPC dialogue, simply supply the .lang keys in your DialogueAssets and the mod will take the correctly localised string for the given player.

Dynamic and Rich Text Content

Sometimes you want a splash of colour in your dialogue, or perhaps some italics, or maybe even to refer to the player by name? You can do all of this using placeholders and rich text tags. This is all supported in .lang files as well, so you can keep your dynamic and rich text localised.

Placeholder Result
<i>Italics</i> Italics
<b>Bold</b> Bold
<color is="#2e94ad">Colourful!</color> Colourful!
{username} The player's username
{uuid} The player's UUID
{lang} The language the player is using, e.g. en-US

You can even specify your own custom placeholders. Here's how we register the last three placeholders above:

DialogueMod.get().registerParameter("{username}", PlayerRef.class, PlayerRef::getUsername);
DialogueMod.get().registerParameter("{uuid}", PlayerRef.class, p -> p.getUuid().toString());
DialogueMod.get().registerParameter("{lang}", PlayerRef.class, PlayerRef::getLanguage);

Integration with NPC behaviour

NPCs which are being interacted with include the NPCDialogueComponent, which describes the current state of the dialogue. This also comes paired with a Dialogue sensor which can be used to detect the current dialogue screen of the NPC, and adjust the NPC behaviour accordingly. For example, we could release particles when a certain dialogue is shown:

{
  "Sensor": {
    "Type": "Dialogue",
    "BlockIdentifier": "IntroDialogue02"
  },
  "Actions": [
    {
      "Type": "SpawnParticles",
      "ParticleSystem": "Alerted",
      "Once": true,
      "Offset": [ 0.5, 2, 0.5 ]
    }
  ]
}

Example Assets

Dialogue includes an example NPC and dialogue flow with the Test_Dialogue NPC role. Spawn them in your world to see how it all works.

Credits

See the wiki for full a full overview and guide of what's possible with Dialogue!

Project description from CurseForge.

Pick your setup

Dialogue releases for each Hytale build.

Choose the version and loader you play, then open the matching release.

1 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Dialogue releases and Hytale builds

10 of 10 releases match

Looking for an older file? The official CurseForge project page is in Resources.