Storyteller - A plugin to tell stories

Introduction

This plugins allows the display of messages to the player through bookview, when players interact with entities like villager or armorstand. Thoses messages supports buttons which can have different output such as teleportation, item trade, objective progression or the following dialog. This way, it becomes possible to create complex dialogs.

Features

Storyteller includes lots of parameters to personalize experience. At the begining, it was designed only to give the player informations, and we gradualy included more complexe outcome behaviour. At this point, we are now able to propose a complete quest system using :

  • Condition of trigger (quest state / item in possesion /mob killed )
  • Quests progression
  • kill counter
  • Item give / remove
  • Teleportation
  • Multiple answers

Get started

The plugin is designed with the sponge API 7.0.0 (minecraft 1.12).
Download the file here then simply drag and drop the jar file of the plugin in your server’s /mods folder. It work with configuration file to store dialogs data and a SQLite database to store players data. Create the file storyteller.conf in your /config folder and try it with the exemple below.

Configuration

See below, an example of a simple dialog. To see how to fully configure dialogs, please refer to our github documentation

  • The id is used as reference, to differ dialogs from others or from a command call.
  • The trigger defines a list of villager names that will trigger the dialog when the player right click them.
  • The pages contains the one or many pages that the BookView contains.
  • The text is the one going to be displayed to the player on this page
dialogs = [
   	{
   		id = 1,
   		trigger = ["Steve the villager"],
   		pages = [
   			{
   				text: "Hello ! Would you kindly bring me some wood please ?",
   				} 
			] 
   	] 

Links

visit the plugin GitHub repository to learn more about how it works.

Feel free to give us feedback about your experience with Storyteller and how we could improve it :slight_smile: .

5 Likes

Is it still supported?

Yes, it’s still supported. I’ve not update this post for a while but we keep on developing it. There is a release on github

Can I use this plugin to create dialoge system for my NPC? I didn’t found command to open dialogs for players from console, wanted to execute this command on right click on NPC.
This plugin looks very tasty for creating own dialoges with own custom NPC’s (while it has cool booklike dialoges and buttons to choose answers), but it looks a little broken now, config is not userfriendly and very sensetive, and some different little things like there is no example config generating.

Still waiting for fixes and hope plugin be fine coz it seems like interesting tool for creating own custom NPC with stories :slight_smile:

Hello, I’m one of the developers behind the plugin Storyteller.
Thank you for your interest, you can of course use the plugin for your own NPCs.

As for your issue, we released a second version where the command doesn’t cause an exception anymore. It now works properly.
We are aware that the configuration is not very user friendly, and we are open to any suggestion to reduce its sensitivity - we are otherwise working on a tool able to generate the config from a web UI, that should help people to use the plugin without being bored with too much syntax.

Cool update! Thank u for your support :slight_smile:

We released a web UI configuration tool that generates JSON you can use for the plugin, it should be faster to write config this way. Note that it is also available on Github.

1 Like

I recommend adding the MoveEntityEvent to your list of available triggers, so that players can trigger quests by walking on blocks at specified locations. And also add support for the plugin to run commands as the console when the quest is finished, so that server owners may use permission nodes to update player’s progression levels (also, adding in a progress level feature so they don’t have to use LuckPerms to keep track of loads of different permission nodes, with a /help command that’s configurable so that when the player types /help, it will pull the message in the config that goes with the player’s progress level and relay that message back to the player) or so the server owner can reward the player with items when they complete certain quests. A /checkprogress and /setprogress command is also recommended. Hope my suggestions help!

hi,
thank you for your feedback. We are considering the other ways to trigger dialogs. like player movement, or block interactions.

You can set commands in button’s action, these commands are executed by the server. soon we will add commands arguments personalisation.

there is a built-in progression system linked with a sqlite database. you can use it with /set-objective player objective value.

you can learn more about how the plugin work here. I remain available for any questions or suggestions.