Denizen/Types of Scripts
< Denizen
For more up-to-date information and full details on specific features (individual commands or tags, for example), check the Meta Documentation.
If you want a full tutorial to help get you set up, check out the Tutorial Videos on youtube or the Beginner's Guide text website.
If you need quick help, visit our Discord group.
This wiki is outdated, please view the tutorial videos/guide, meta documentation, or Discord group (all linked above) for up-to-date information!
In Denizen, there are multiple different types of scripts each made to fill a different purpose. When writing a script, you will need to use several of these, so they're important to know!
(Note: Page under construction! There's a lot more than just what's listed here!)
Types: interact, book, item, entity, task, assignment, procedure, world, format, inventory
Also: All the example scripts on this page work together...
To see them all work, add them all to your server and assign "MyAssignmentScript" to an NPC, then right-click it.
Assignment Script
MyAssignmentScript: type: assignment actions: on assignment: - chat "I has been assigned!" - trigger name:proximity state:true
The assignment script is the first script any NPC needs - it lists everything the NPC does!
One of the most important uses is the "on assignment:" action, which is run when the script is assigned to an NPC, in which you normally enable triggers, and run other important commands.
You can link interact scripts by adding:
Interact Scripts: - 10 MyInteractScript
Interact Scripts
MyInteractScript: type: Interact Steps: '1': Proximity trigger: Entry: Script: - chat "Hi there, <player.name>!" - run mytask
Interact scripts control what the NPC does when a player fires triggers such as proximity, click, chat, or damage.
Item Scripts
myitem: type: item material: wool:3 recipe: - air|air|air - dirt|wool|dirt - air|air|air
Item scripts hold data on custom items.
World Scripts
formatybit: type: world events: on formattybit command: - narrate format:formatdemo "Hello, I'm a well-formatted narrate, caused by a world event '/formattybit' command!" - determine fulfilled
World scripts run world events.
Task Scripts
mytask: type: task script: - chat "Here, a book for you!" - give myfancybook
Task scripts contain random scripts to be run by other scripts using the command - run (taskscriptname)
Book Scripts
myfancybook: type: book title: My Fancy Book author: NotNotch text: - This is my book. There are many like it, but this one is mine! - Many <n>new <n> lines! - <p>Paragraphs, <p>too!
Book scripts hold information on a complex book item.
Each - line in the text: category is a new page.
After defining a book in a script, you can give it to a player in any runnable script using - give (bookname)
Format Scripts
formatdemo: type: format format: "<&f>[<&b>Message<&f>- <&2><text><&f>]"
CommandScripts
my custom command: type: command name: formatbit script: - narrate format:formatdemo "Hello, I'm a well-formatted narrate, caused by a command script '/formatbit' command!"
World scripts run world events.