Denizen: Text Tutorials

Welcome to the Denizen Text Tutorials! Here, you will learn about the various parts of Denizen, how to use them, and how to find success in the endless ways to customize your server!

Not sure where to start? No problem! Click here to jump to the first official page of this extended text tutorial and start reading. The bottom of each page will direct you to the next and previous pages of this tutorial.


This guide is scheduled for total replacement. The original primary author of this project is no longer a part of the Denizen team.


This guide largely assumes that you already have a Spigot server set up and ready to use.

Section 1.2 covers the Denizen folder and its various files/directories.


This text tutorial is currently incomplete and is constantly being updated. However, your browser may attempt to keep and display a cached version of the various pages of this text tutorial. It’s a good idea to occasionally refresh your page to force your browser to download the latest version of the page you’re looking at.

Updates to This Text Tutorial

As Denizen continues to evolve, there may be slight changes that are not immediately reflected in this series of tutorials. However, this does not mean that this document will become obsolete. Whenever there is a syntactical or technical change in Denizen, this guide will update as appropriate, as soon as possible.

If you wish to see the full changelog for this guide, or contribute improvements to it, see the Docs GitHub Repo. Any issue reports relating to this guide specifically go there.

You can post issues relating to Denizen itself and view changes to Denizen on the Denizen GitHub Repo.

For a more detailed channel of help and support, consider joining our Discord! The invite link is

The tutorial videos are still a good place to learn Denizen in an interactive manner. Videos 2-13 and 15-27 will be covered by this tutorial. If you want to learn by video and not by a long document, you can view the videos at:

While the videos are still relevant and should be considered good learning material, some of the scripts shown in the videos sometimes have slightly outdated syntax compared to the current standard. We will try to use some or all of the example scripts in the videos while keeping them as modern as possible.

Of course, we won’t limit ourselves to the videos. The purpose of this tutorial is to help you in the best way possible! Additional information and sections may be added as we see fit.