- mcmonkey studios -
Home Page / Pi to one million places / Contact mcmonkey / Donate / Paste Scripts / Denizen Help /
You are browsing as a guest.
Login | Register




Search:

Listing Commands...

Categories:
1: core
2: npc
3: player
4: entity
5: world
6: server
7: item
8: depenizen
9: external
10: addons




Top
Nameadjust
Syntax - adjust [<dObject>/def:<name>|...] [<mechanism>](:<value>)
Short DescriptionAdjusts a dObjects mechanism.
Full DescriptionMany dObjects contains options and properties that need to be adjusted. Denizen employs a mechanism
interface to deal with those adjustments. To easily accomplish this, use this command with a valid object
mechanism, and sometimes accompanying value.

Specify "def:<name>" as an input to adjust a definition and automatically save the result back to the definition.

To adjust an item in an inventory, use command/inventory, as '- inventory adjust slot:<#> <mechanism>:<value>'.


Related Tags<entry[saveName].result> returns the adjusted object.
<entry[saveName].result_list> returns a dList of adjusted objects.

Usages

» Use to set a custom display name on an entity.
- adjust e@1000 'custom_name:ANGRY!'


» Use to set the skin of every online player.
- adjust <server.list_online_players> skin:mcmonkey4eva


» Use to modify an item held in a definition.
- adjust def:stick "display_name:Fancy stick"

Groupcore
Videohttp://one.denizenscript.com/denizen/vids/Properties%20and%20Mechanisms

Nameasync
Syntax - async [<commands>]
Short DescriptionRuns commands asynchronously. Inverse of command/sync. (WARNING: DO NOT USE. See description for safety warning!)
Full DescriptionRuns commands asynchronously. This means that anything executed within will run off the main
thread of the server, allowing server-intensive scripts to have virtually no impact on the amount
of time between ticks (AKA majorly reduces lag).

Generally, this command is only recommended for those who know what they're doing with it, as there
is always a slight possibility of corruption.

The safety of things such as editing worlds is NOT guaranteed.

Do NOT use this. This is VERY dangerous. It is added purely as a tech experiment, not something to use in serious code!

Related TagsNone
Usages

» Use to perform intensive commands without major lag.
- async:
  - repeat 100:
    - some intensive command
Groupcore
WarningDo NOT use this. This is VERY dangerous. It is added purely as a tech experiment, not something to use in serious code!

Namechoose
Syntax - choose [<option>] [<cases>]
Short DescriptionChooses an option from the list of cases.
Full DescriptionChooses an option from the list of cases.
Intended to replace a long chain of simplistic if/else if or complicated script path selection systems.
Simply input the selected option, and the system will automatically jump to the most relevant case input.
Cases are given as a sub-set of commands inside the current command (see Usage for samples).

Optionally, specify "default" in place of a case to give a result when all other cases fail to match.

Cases must be static text. They may not contain tags. For multi-tag comparison, consider the IF command.

Related TagsNone
Usages

» Use to choose the only case.
- choose "1":
  - case "1":
    - debug LOG "Success!"

» Use to choose the default case.
- choose "2":
  - case "1":
    - debug log "Failure!"
  - default:
    - debug log "Success!"

» Use for dynamically choosing a case.
- choose "<def[entity_type]>":
  - case "zombie":
    - narrate "You slayed an undead zombie!"
  - case "skeleton":
    - narrate "You knocked the bones out of a skeleton!"
  - case "creeper":
    - narrate "You didn't give that creeper a chance to explode!"
  - case "pig" "cow" "chicken":
    - narrate "You killed an innocent farm animal!"
  - default:
    - narrate "You killed a <def[entity_type].to_titlecase>!"
Groupcore

Namedebug
Syntax - debug [<type>] [<message>] (name:<name>)
Short DescriptionShows a debug message.
Full DescriptionUse to quickly output debug information to console.

Valid types include:
DEBUG: standard hideable debug.
HEADER: standard hideable debug inside a header line.
FOOTER: a footer line.
SPACER: a spacer line.
LOG: global output, non-hideable.
APPROVAL: "Okay!" output, non-hideable.
ERROR: "Error!" output, non-hideable.
REPORT: normally used to describe the arguments of a command, requires a name, hideable.
EXCEPTION: outputs a full java stacktrace.

TODO: Should [<type>] be required? Perhaps default to 'debug' mode?

Related TagsNone
Usages

» Use to show an error
- debug error "Something went wrong!"

» Use to add some information to help your own ability to read debug output from you script
- debug debug "Time is currently <def[milliseconds].div[1000].round> seconds!"
Groupcore

Namedefine
Syntax - define [<id>] [<value>]
Short DescriptionCreates a temporary variable inside a script queue.
Full DescriptionDefinitions are queue-level (or script-level) 'variables' that can be used throughout a script, once
defined, by using the <def[<id>]> tag. Definitions are only valid on the current queue and are
not transferred to any new queues constructed within the script, such as a 'run' command, without explicitly
specifying to do so.

Definitions are lighter and faster than creating a temporary flag, but unlike flags, are only a single entry,
that is, you can't add or remove from the definition, but you can re-create it if you wish to specify a new
value. Definitions are also automatically removed when the queue is completed, so there is no worry for
leaving unused data hanging around.

Related Tags<def[<id>]> to get the value assigned to an ID
Usages

» Use to make complex tags look less complex, and scripts more readable
- narrate 'You invoke your power of notice...'
- define range '<player.flag[range_level].mul[3]>'
- define blocks '<player.flag[noticeable_blocks]>'
- narrate '[NOTICE] You have noticed <player.location.find.blocks[<def[blocks]>].within[<def[range]>].size> blocks in the area that may be of interest.'

» Use to keep the value of a replaceable tag that you might use many times within a single script. Definitions
can be faster and cleaner than reusing a replaceable tag over and over
- define arg1 <c.args.get[1]>
- if <def[arg1]> == hello:
  - narrate 'Hello!'
- else if <def[arg1]> == goodbye:
  - narrate 'Goodbye!'

» Use to pass some important information (arguments) on to another queue
- run 'new_task' d:hello|world
'new_task' now has some definitions, <def[1]> and <def[2]>, that contains the contents specified, 'hello' and 'world'.

» Use to remove a definition
- define myDef:!
Groupcore

Namedetermine
Syntax - determine (passively) [<value>]
Short DescriptionSets the outcome of a world event.
Full DescriptionTODO: Document Command Details

Related TagsTODO: Document Command Details
Usages

» Use to modify the result of an event
- determine <context.message.substring[5]>

» Use to cancel an event, but continue running script commands
- determine passively cancelled
Groupcore

Nameelse
Syntax - else (if <comparison logic>)
Short DescriptionHelper command for usage with the if command.
Full DescriptionA helper command for ':' syntax if commands.
See IF command documentation.

Related TagsSee IF command documentation.
Usages

» See IF command documentation.
Groupcore
Videohttp://one.denizenscript.com/denizen/vids/Alternate/Dynamic%20Actions:%20The%20If%20Command

Nameforeach
Syntax - foreach [stop/next/<object>|...] [<commands>] (as:<name>)
Short DescriptionLoops through a dList, running a set of commands for each item.
Full DescriptionLoops through a dList of any type. For each item in the dList, the specified commands will be ran for
that list entry. To call the value of the entry while in the loop, you can use <def[value]>.

Optionally, specify "as:<name>" to change the definition name to something other than "value".

To end a foreach loop, do - foreach stop

To jump immediately to the next entry in the loop, do - foreach next

Related Tags<def[value]> to get the current item in the loop
<def[loop_index]> to get the current loop iteration number
Usages

» Use to run commands for 'each entry' in a list of objects/elements.
- foreach li@e@123|n@424|p@BobBarker:
    - announce "There's something at <def[value].location>!"

» Use to iterate through entries in any tag that returns a list
- foreach <server.list_online_players>:
    - narrate "Thanks for coming to our server! Here's a bonus $50.00!"
    - give <def[value]> money qty:50
Groupcore
Videohttp://one.denizenscript.com/denizen/vids/Loops

Namegoto
Syntax - goto [<name>]
Short DescriptionJump forward to a location marked by command/mark.
Full DescriptionJumps forward to a marked location in the script.
For example:
goto potato
narrate "This will never show"
mark potato

Related TagsNone
Usages

» Use to jump forward to a location.
- goto potato
Groupcore

Nameif
Syntax - if [<value>] (!)(<operator> <value>) (&&/|| ...) [<commands>] (else <commands>)
Short DescriptionCompares values, and runs one script if they match, or a different script if they don't match.
Full DescriptionTODO: Document Command Details

Related Tags<el@element.is[<operator>].to[<element>]>
<el@element.is[<operator>].than[<element>]>
Usages

» TODO: Document Command Details
Groupcore
Videohttp://one.denizenscript.com/denizen/vids/Alternate/Dynamic%20Actions:%20The%20If%20Command

Namemark
Syntax - mark [<name>]
Short DescriptionMarks a location for command/goto.
Full DescriptionMarks a location for the goto command. See command/goto for details.

Related TagsNone
Usages

» Use to mark a location.
- mark potato
Groupcore

Namesync
Syntax - sync [<commands>]
Short DescriptionRuns commands synchronously. Inverse of command/async.
Full DescriptionRuns commands synchronously. This means that anything executed within will run on the
main server thread, without the possibility of corrupting anything that an asynchronous
queue could theoretically do. This is only needed for use alongside command/async.

Related TagsNone
Usages

» Use to perform possibly not thread-safe commands.
- sync:
  - edit the world, etc
Groupcore

Namewebget
Syntax - webget [<url>] (post:<data>) (headers:<header>/<value>|...) (timeout:<duration>/{10s})
Short DescriptionGets the contents of a web page.
Full DescriptionTODO: Document Command Details
Note that while this replace URL spaces to %20, you are responsible for any other necessary URL encoding. You may want to use the element.url_encode tag for this.
Optionally, specify a set of data to post to the server (changes the message from GET to POST).
Optionally specify a list of headers as list of key/value pairs separated by slashes.


Related Tags<entry[saveName].failed> returns whether the webget failed.
<entry[saveName].result> returns the result of the webget, if it did not fail.
<el@element.url_encode>

Usages

» Use to download the google home page.
- ~webget "http://google.com" save:google
- narrate "<entry[google].result>"

Groupcore

Namecooldown
Syntax - cooldown [<duration>] (global) (s:<script>)
Short DescriptionTemporarily disables a script-container from meeting requirements.
Full DescriptionCools down a script-container. If an interact-container, when on cooldown, scripts will not pass a
requirements check allowing the next highest priority script to trigger. If any other type of script, a
manual requirements check (<s@script_name.requirements.check>) will also return false until the cooldown
period is completed. Cooldown requires a type (player or global), a script, and a duration. It also requires
a valid link to a dPlayer if using player-type cooldown.

Cooldown periods are persistent through a server restart as they are saved in the saves.yml.


Related Tags<s@script_name.cooled_down[player]>
<s@script_name.cooldown>
<s@requirements.check>

Usages

» Use to keep the current interact script from meeting requirements.
- cooldown 20m


» Use to keep a player from activating a script for a specified duration.
- cooldown 11h s:s@bonus_script
- cooldown 5s s:s@hit_indicator


» Use the 'global' argument to indicate the script to be on cooldown for all players.
- cooldown global 24h s:s@daily_treasure_offering
Groupcore

Nameevent
Syntax - event [<event name>|...] (context:<name>|<object>|...)
Short DescriptionManually fires a world event.
Full DescriptionThis command will trigger a world event (an event within a 'world' type script) exactly the same
as if an actual serverside event had caused it.
You can specify as many event names as you want in the list, they will all be fired. It will also automatically
fire a duplicate of each event name with object identifiers (eg 'i@', see language/dobject) removed.
The script's linked player and NPC will automatically be sent through to the event.
To add context information (tags like <context.location>) to the event, simply specify all context values in a list.
Note that there are some inherent limitations... EG, you can't directly add a list to the context currently.
To do this, the best way is to just escape the list value (see language/property escaping).

NOTE: This command is outdated and bound to be updated.


Related Tags<server.has_event[<event_name>]>
<server.get_event_handlers[<event_name>]>
<entry[saveName].determinations> returns a list of the determined values (if any) from the event.

Usages

» Use to trigger a custom event
- event "player triggers custom event"


» Use to trigger multiple custom events with context
- event "player triggers custom event|player causes event" context:event|custom|npc|<player.selected_npc>
Groupcore

Namefail
Syntax - fail (script:<name>)
Short DescriptionMarks a script as having failed.
Full DescriptionDEPRECATED, use flags instead!


Related TagsDEPRECATED, use flags instead!

DeprecatedThis command is outdated, use flags instead!
Usages

» DEPRECATED, use flags instead!
Groupcore

Namefinish
Syntax - finish (script:<name>)
Short DescriptionMarks a script as having been completed successfully.
Full DescriptionDEPRECATED, use flags instead!


Related TagsDEPRECATED, use flags instead!

DeprecatedThis command is outdated, use flags instead!
Usages

» DEPRECATED, use flags instead!
Groupcore

Nameflag
Syntax - flag ({player}/npc/server/<entity>) [<name>([<#>])](:<action>)[:<value>] (duration:<value>)
Short DescriptionSets or modifies a flag on the player, NPC, entity, or server.
Full DescriptionThe flag command sets or modifies custom value storage database entries connected to
each player, each NPC, each entity, and the server.
Flags can have operations performed upon them, such as:
Increment a flag:
- flag player counter:++
Increase a flag by 3:
- flag player counter:+:3
Decrease a flag by 2:
- flag player counter:-:2

See language/flags for more info.

All the flag values are stored by default in "plugins/denizen/saves.yml" file.
For an alternative way of storing values, use either yaml (See command/yaml)
or sql (See command/sql)



Related Tags<p@player.flag[<flag>]>
<p@player.has_flag[<flag_name>]>
<p@player.list_flags[(regex:)<search>]>
<n@npc.flag[<flag>]>
<n@npc.has_flag[<flag_name>]>
<n@npc.list_flags[(regex:)<search>]>
<e@entity.flag[<flag_name>]>
<e@entity.has_flag[<flag_name>]>
<e@entity.list_flags[(regex:)<search>]>
<server.flag[<flag>]>
<server.has_flag[<flag_name>]>
<server.list_flags[(regex:)<search>]>
<server.get_online_players_flagged[<flag_name>]>
<server.get_players_flagged[<flag_name>]>
<server.get_spawned_npcs_flagged[<flag_name>]>
<server.get_npcs_flagged[<flag_name>]>
<fl@flag_name.is_expired>
<fl@flag_name.expiration>
<fl@flag_name.as_list>

Usages

» Use to create or set a flag on a player.
- flag player playstyle:agressive


» Use to flag an npc with a given tag value.
- flag npc location:<npc.location>


» Use to apply mathematical changes to a flag's value on a unique object.
- flag <context.damager> damage_dealt:+:<context.damage>


» Use to add an item to a server flag as a new value without removing existing values.
- flag server cool_people:->:p@TheBlackCoyote


» Use to add both multiple items as individual new values to a server flag.
- flag server cool_people:|:p@mcmonkey4eva|p@morphan1


» Use to remove an entry from a server flag.
- flag server cool_people:<-:p@morphan1


» Use to clear a flag and fill it with a new list of values.
- flag server cool_people:!|:p@mcmonkey4eva|p@morphan1|p@xenmai


» Use to completely remove a flag.
- flag server cool_people:!


» Use to modify a specific index in a list flag.
- flag server myflag[3]:HelloWorld
Groupcore

Namefilecopy
Syntax - filecopy [origin:<origin>] [destination:<destination>] (overwrite)
Short DescriptionCopies a file from one location to another.
Full DescriptionCopies a file from one location to another.
The starting directory is server/plugins/Denizen.
May overwrite existing copies of files.


Related Tags<entry[saveName].success> returns whether the copy succeeded (if not, either an error or occurred, or there is an existing file in the destination.)

Usages

» Use to copy a custom YAML data file to a backup folder, overwriting any old backup of it that exists.
- filecopy o:data/custom.yml d:data/backup.yml overwrite save:copy
- narrate "Copy success<&co> <entry[copy].success>"

Groupcore

Nameinject
Syntax - inject (locally) [<script>] (path:<name>) (instantly)
Short DescriptionRuns a script in the current ScriptQueue.
Full DescriptionInjects a script into the current ScriptQueue.
This means this task will run with all of the original queue's definitions and tags.
It will also now be part of the queue, so any delays or definitions used in the injected script will be
accessible in the original queue.


Related TagsNone

Usages

» Injects the InjectedTask task into the current queue
- inject InjectedTask
Groupcore
Videohttp://one.denizenscript.com/denizen/vids/Run%20And%20Inject

Namelog
Syntax - log [<text>] (type:{info}/severe/warning/fine/finer/finest/none/clear) [file:<name>]
Short DescriptionLogs some debugging info to a file.
Full DescriptionThis is a quick and simple way to store debugging information for admins to read.
You just input a file name and some text, and it will store that information in the file
with a date/time stamp and the chosen type ('INFO' by default). If you don't want the
date/time stamp and type, you can set the type to 'none' and it will only add the
message text.
Regardless of type, each usage of the log command will add a new line to the file, you can't
just keep adding to one line.
You might choose to use this to record some important things, for example, every time a player
uses a dangerous command you might log the player's name and their location, so you'll know
who to blame if you find something damaged.
Remember that the file location is inside the server's primary folder. You most likely want to prefix
file names with a folder name, For example: 'file:logs/security.log'

Warning: Remember that file operations are dangerous! A typo in the filename could ruin your server.
It's recommended you use this command minimally.


Related TagsNone

Usages

» Use to log some information to a file.
- log "Security breach on level 3!" type:severe file:securitylog.txt


» Use to log a player's name and location when they did something dangerous.
- log "<player.name> used the '/EXPLODE' command at <player.location.simple>!" type:warning file:security.log


» Use to write information directly to a file.
- log "This won't have a date or type" type:none file:example.log


» Use to clear a log file and write some text at the start.
- log "// Log File Generated by my Denizen script, do not edit!" type:clear file:myfile.log


» Use to clear a log file entirely.
- log "" type:clear file:myfile.log
Groupcore

Namenote
Syntax - note [<Notable dObject>/remove] [as:<name>]
Short DescriptionAdds or removes a notable object.
Full DescriptionAdd or remove a notable object that can be referenced in events or scripts.
Notable objects are "permanent" versions of other dObjects. (See: language/dObject)
Notable objects keep their properties when added.


Related Tags<server.list_notables[<type>]>
<cu@cuboid.notable_name>
<in@inventory.notable_name>
<i@item.notable_name>
<l@location.notable_name>

Usages

» Use to add a notable cuboid.
- note cu@1,2,3,world|4,5,6,world as:mycuboid


» Use to remove a notable cuboid.
- note remove as:mycuboid


» Use to note a location.
- note l@10,5,10,world as:mylocation


» Use to note a region with WorldEdit selection.
- note <player.selected_region> as:mycuboid
Groupcore

Namequeue
Syntax - queue (<queue>) [clear/stop/pause/resume/delay:<#>]
Short DescriptionModifies the current state of a script queue.
Full DescriptionAllows queues to be modified during their run. It can also be used to modify other queues currently running
Clearing a queue will remove it and not run any of the next commands in the queue.
It is possible to pause a queue but it will try to finish its last command that was executed.
TODO: Document Command Details


Related Tags<queue>
<queue.id>
<queue.size>
<queue.list>
<queue.stats>
<queue.exists[queue_id]>
<s@script.list_queues>

Usages

» Use to clear the current queue.
- queue clear


» Use to force-stop a given queue.
- queue <server.flag[OtherQueue]> clear


» Use to delay the current queue (use command/wait instead!)
- queue delay:5t


» Use to pause the given queue.
- queue <server.flag[OtherQueue]> pause


» Use to resume the given queue.
- queue <server.flag[OtherQueue]> resume
Groupcore

Namerandom
Syntax - random [<#>/<commands>]
Short DescriptionSelects a random choice from the following script commands.
Full DescriptionThe random command picks one of the following script command
and skips all the other script commands that are in range.

Specifying a number as argument will get the next following
scripts commands in the queue to be picked at random.
Example "- random 3" will get the next 3 commands
in the current queue and pick one of those 3 to run,
the other 2 commands, that was in range, will be skipped.

If braces are used for argument, then it is for every
denizen command, in the brace, one of them will be picked
and the rest, in the brace, will be skipped.


Related Tags<entry[saveName].possibilities> returns an Element of the possibility count.
<entry[saveName].selected> returns an Element of the selected number.

Usages

» Use to choose randomly from the following commands
- random 3
- narrate "hi"
- narrate "hello"
- narrate "hey"


» Use to choose randomly from a braced set of commands
- random:
  - narrate "hi"
  - narrate "hello"
  - narrate "hey"


» Use to perform multiple commands randomly
- random:
  - repeat 1:
    - narrate "Hello"
    - narrate "How are you?"
  - repeat 1:
    - narrate "Hey"
    - narrate "It is a nice day."
Groupcore

Namerepeat
Syntax - repeat [stop/next/<amount>] [<commands>] (as:<name>)
Short DescriptionRuns a series of braced commands several times.
Full DescriptionLoops through a series of braced commands a specified number of times.
To get the number of loops so far, you can use <def[value]>.

Optionally, specify "as:<name>" to change the definition name to something other than "value".

To stop a repeat loop, do - repeat stop

To jump immediately to the next number in the loop, do - repeat next


Related Tags<def[value]> to get the number of loops so far

Usages

» Use to loop through a command several times
- repeat 5 {
    - announce "Announce Number <def[value]>"
  }
Groupcore
Videohttp://one.denizenscript.com/denizen/vids/Loops

Namereset
Syntax - reset (<player>|...) [fails/finishes/cooldown/saves/global_cooldown] (<script>)
Short DescriptionResets various parts of Denizen's saves.yml, including a script's fails, finishes, or cooldowns.
Full DescriptionTODO: Document Command Details


Related TagsNone

Usages

» TODO: Document Command Details
Groupcore

Namerun
Syntax - run (locally) [<script>] (path:<name>) (def:<element>|...) (id:<name>) (instantly) (speed:<value>) (delay:<value>)
Short DescriptionRuns a script in a new ScriptQueue.
Full DescriptionRuns a new script queue, either in the local script or in a different task script.

You can set the queue speed using the speed argument
this makes the queue run each script command with a delay.
Specifying the "instantly" argument will run the queue instantly
(speed at 0 ticks; queue running in total of 1 tick, just like an event script)
If no speed or "instantly" argument are applied,
it assumes the default script speed that are configured.

Specifying context or definitions as argument
allows the transfer of definitions to the new queue.
Definitions are not carried over if not specified.
(See command/define)

Specifying a player argument will run the queue with a player attached
to that queue. The same can be done to attach an npc.
Player and npc are not carried over to the new queue if not specified.


Related Tags<entry[saveName].created_queue> returns the queue that was started by the run command.

Usages

» Use to run a new queue instant
- run MyNewTask instantly


» Use to run a new queue instant
- run MyNewTask instantly context:4|20|true


» Use to run a new queue with an attached player and npc with a definition
- run MyNewTask context:friends player:p@bob npc:<player.selected_npc>


» Use to run a new queue instant with the same attached player
- run MyNewTask instantly player:<player>


» Use to run a new queue from a local script
- run locally MyNewTask
Groupcore
Videohttp://one.denizenscript.com/denizen/vids/Run%20And%20Inject

Namesql
Syntax - sql [id:<ID>] [disconnect/connect:<server> (username:<username>) (password:<password>) (ssl:true/{false})/query:<query>/update:<update>]
Short DescriptionInteracts with a MySQL server.
Full DescriptionThis command is used to interact with a MySQL server. It can update the database or query it for information.
The general usage order is connect -> update/query -> disconnect.
It is not required that you disconnect right after using, and in fact encouraged that you keep a connection open where possible.
When connecting, the server format is IP:Port/Database, EG 'localhost:3306/test'.
You can switch whether SSL is used for the connection (defaults to false).
Note that when using tag, it is recommended you escape unusual inputs to avoid SQL injection.
The SQL command is merely a wrapper for SQL queries, and further usage details should be gathered from an official
MySQL query reference rather than from Denizen command help.
SQL connections are not instant - they can take several seconds, or just never connect at all.
It is recommended you hold the connection command by doing "- ~sql ..." rather than just "- sql ..."
as this will delay the commands following the connect command until after the connection is established.


Related Tags<entry[saveName].result> returns a dList of all rows from a query or update command, of the form li@escaped_text/escaped_text|escaped_text/escaped_text
<entry[saveName].affected_rows> returns how many rows were affected by an update command.

Usages

» Use to connect to an SQL server.
- ~sql id:name connect:localhost:3306/test username:space password:space


» Use to connect to an SQL server over an SSL connection.
- ~sql id:name connect:localhost:3306/test username:space password:space ssl:true


» Use to connect to an SQL server with a UTF8 text encoding.
- ~sql id:name connect:localhost:3306/test?characterEncoding=utf8 username:space password:space


» Use to update an SQL server.
- sql id:name "update:CREATE table things(id int,column_name1 varchar(255),column_name2 varchar(255));"


» Use to update an SQL server.
- sql id:name "update:INSERT INTO things VALUES (3, 'hello', 'space');"


» Use to query an SQL server.
- sql id:name "query:SELECT id,column_name1,column_name2 FROM things;" save:saveName
- narrate <entry[saveName].result>


» Use to query an SQL server.
- sql id:name "query:SELECT id,column_name1,column_name2 FROM things WHERE id=3;" save:saveName2
- narrate <entry[saveName2].result>


» Use to disconnect from an SQL server.
- sql disconnect id:name
Groupcore

Namewait
Syntax - wait (<duration>) (queue:<name>)
Short DescriptionDelays a script for a specified amount of time.
Full DescriptionPauses the script queue for the duration specified. If no duration is specified it defaults to 3 seconds.
Accepts the 'queue:<name>' argument which allows the delay of a different queue.


Related Tags<q@queue.speed>

Usages

» Use to delay the current queue for 1 minute.
- wait 1m
Groupcore

Namewhile
Syntax - while [stop/next/[<value>] (!)(<operator> <value>) (&&/|| ...)] [<commands>]
Short DescriptionRuns a series of braced commands until the tag returns false.
Full DescriptionRuns a series of braced commands until the tag returns false.
To end a while loop, use the 'stop' argument.
To jump to the next entry in the loop, use the 'next' argument.


Related Tags<def[loop_index]> to get the number of loops so far.

Usages

» Use to loop until a player sneaks, or the player goes offline.
- while !<player.is_sneaking> && <player.is_online> {
    - narrate "Waiting for you to sneak..."
    - wait 1s
  }

Groupcore
Videohttp://one.denizenscript.com/denizen/vids/Loops

Nameyaml
Syntax - yaml [create]/[load:<file> (fix_formatting)]/[loadtext:<text> (fix_formatting)]/[unload]/[savefile:<file>]/[set <key>([<#>])(:<action>):<value>] [id:<name>]
Short DescriptionEdits a YAML configuration file.
Full DescriptionEdits a YAML configuration file.
This can be used for interacting with other plugins' configuration files.
It can also be used for storing your own script's data.
TODO: Document Command Details
When loading a script, optionally add 'fix_formatting' to run the file through
Denizen's built in script preparser to correct common YAML errors,
such as tabs instead of spaces or comments inside braced blocks.
Use holdable syntax ("- ~yaml load:...") with load or savefile actions to avoid locking up the server during file IO.


Related Tags<yaml[<idname>].contains[<path>]>
<yaml[<idname>].read[<path>]>
<yaml[<idname>].read[<path>].as_list>
<yaml[<idname>].list_keys[<path>]>

Usages

» Use to create a new YAML file.
- yaml create id:myfile


» Use to load a YAML file from disk.
- yaml load:myfile.yml id:myfile


» Use to modify a YAML file similarly to a flag.
- yaml id:myfile set my.key:HelloWorld


» Use to save a YAML file to disk.
- yaml savefile:myfile.yml id:myfile


» Use to unload a YAML file from memory.
- yaml unload id:myfile


» Use to modify a YAML file similarly to a flag.
- yaml id:myfile set my.key:+:2


» Use to modify a YAML file similarly to a flag.
- yaml id:myfile set my.key[2]:hello
Groupcore

Namezap
Syntax - zap (<script>) [<step>] (<duration>)
Short DescriptionChanges the current script step.
Full DescriptionTODO: Document Command Details


Related Tags<s@script.step[<player>]>

Usages

» Use to change the step to 2
- zap 2


» Use to change the step to 3 in a script called Interact_Example.
- zap 3 s@Interact_Example


» Use to change the step to 1 for player bob in a script called InteractScript.
- zap 1 s@InteractScript player:p@bob
Groupcore



Top
Nameaction
Syntax - action [<action name>|...] (<npc>|...) (context:<name>|<object>|...)
Short DescriptionManually fires an NPC action.
Full DescriptionThis command will trigger an NPC action (an action within an 'assignment' type script attached to the NPC) exactly the same
as if an actual serverside event had caused it.
You can specify as many action names as you want in the list, they will all be fired.
You may also specify as many NPCs as you would like to run the action on, in a list.
If no NPCs are specified, the NPC linked to the script will be assumed.
The script's linked player and the specified NPC will automatically be sent through to the action.
To add context information (tags like <context.location>) to the action, simply specify all context values in a list.
Note that there are some inherent limitations... EG, you can't directly add a list to the context currently.
To do this, the best way is to just escape the list value (see language/property escaping).


Related TagsNone

Usages

» Use to trigger a custom action
- action "custom action"


» Use to trigger multiple custom action with context on a different NPC
- action "player dances|target enemy" n@10 context:action|custom|target|<player.selected_npc>
Groupnpc

Nameanchor
Syntax - anchor [id:<name>] [assume/remove/add <location>/walkto/walknear (r:#)]
Short DescriptionControls an NPC's Anchor Trait.
Full DescriptionThe anchor system inside Citizens2 allows locations to be 'bound' to an NPC, saved by an 'id'. The anchor
command can add and remove new anchors, as well as the ability to teleport NPCs to anchors with the 'assume'
argument.
The Anchors Trait can also be used as a sort of 'waypoints' system. For ease of use, the anchor command
provides function for NPCs to walk to or walk near an anchor.
As the Anchor command is an NPC specific command, a valid npc object must be referenced in the script entry.
If none is provided by default, the use of the 'npc:n@id' argument, replacing the id with the npcid of the
NPC desired, can create a link, or alternatively override the default linked npc.


Related Tags<n@npc.anchor[anchor_name]>
<n@npc.anchor.list>
<n@npc.has_anchors>

Usages

» Use to add and remove anchors to an NPC.
- define location_name <context.message>
- chat "I have saved this location as <def[location_name]>.'
- anchor add <npc.location> "id:<def[location_name]>"


» Use to make an NPC walk to or walk near a saved anchor.
- anchor walkto i:waypoint_1
- anchor walknear i:waypoint_2 r:5
Groupnpc

Nameassignment
Syntax - assignment [set/remove] (script:<name>)
Short DescriptionChanges an NPC's assignment.
Full DescriptionChanges an NPC's assignment as though you used the '/npc assignment' command.
Uses the script: argument, which accepts an assignment script type. For this command to work an npc must
be attached to the script queue or an npc specified with npc:n@npc.


Related Tags<n@npc.script>
<n@npc.has_script>
<server.get_npcs_assigned[<assignment_script>]>

Usages

» Use to assign an npc with an assignment script named 'Bob the Builder'.
- assignment set "script:Bob the Builder"


» Use to give an npc with the id of 3 an assignment.
- assignment set "script:Bob the Builder" npc:n@3


» Use to remove an npc's assignment.
- assignment remove
Groupnpc

Namecreate
Syntax - create [<entity>] [<name>] (<location>) (traits:<trait>|...)
Short DescriptionCreates a new NPC, and optionally spawns it at a location.
Full DescriptionCreates an npc which the entity type specified, or specify an existing npc to create a copy. If no location
is specified the npc is created despawned. Use the 'save:<savename>' argument to return the npc for later
use in a script.


Related Tags<server.list_npcs>
<entry[saveName].created_npc> returns the NPC that was created.

Usages

» Use to create a despawned NPC for later usage.
- create player Bob


» Use to create an NPC and spawn it immediately.
- create spider Joe <player.location>
Groupnpc

Namedespawn
Syntax - despawn (<npc>|...)
Short DescriptionTemporarily despawns the linked NPC or a list of NPCs.
Full DescriptionThis command will temporarily despawn either the linked NPC or
a list of other NPCs. Despawning means they are no longer visible
or interactable, but they still exist and can be respawned.


Related Tags<n@npc.is_spawned>

Usages

» Use to despawn the linked NPC.
- despawn


» Use to despawn several NPCs.
- despawn <npc>|<player.selected_npc>|n@32
Groupnpc

Namedisengage
Syntax - disengage
Short DescriptionEnables an NPCs triggers that have been temporarily disabled by the engage command.
Full DescriptionRe-enables any toggled triggers that have been disabled by disengage. Using
disengage inside scripts must have an NPC to reference, or one may be specified
by supplying a valid dNPC object with the npc argument.

This is mostly regarded as an 'interact script command', though it may be used inside
other script types. This is because disengage works with the trigger system, which is an
interact script-container feature.

NPCs that are interacted with while engaged will fire an 'on unavailable' assignment
script-container action.

See command/Engage


Related Tags<n@npc.is_engaged>

Usages

» Use to reenable an NPC's triggers, disabled via 'engage'.
- engage
- chat 'Be right there!'
- walk <player.location>
- wait 5s
- disengage

Groupnpc

Nameengage
Syntax - engage (<duration>)
Short DescriptionTemporarily disables an NPCs toggled interact script-container triggers.
Full DescriptionEngaging an NPC will temporarily disable any interact script-container triggers. To reverse
this behavior, use either the disengage command, or specify a duration in which the engage
should timeout. Specifying an engage without a duration will render the NPC engaged until
a disengage is used on the NPC. Engaging an NPC affects all players attempting to interact
with the NPC.

While engaged, all triggers and actions associated with triggers will not 'fire', except
the 'on unavailable' assignment script-container action, which will fire for triggers that
were enabled previous to the engage command.

Engage can be useful when NPCs are carrying out a task that shouldn't be interrupted, or
to provide a good way to avoid accidental 'retrigger'.

See command/Disengage


Related Tags<n@npc.is_engaged>

Usages

» Use to make an NPC appear 'busy'.
- engage
- chat 'Give me a few minutes while I mix you a potion!'
- walk <npc.anchor[mixing_station]>
- wait 10s
- walk <npc.anchor[service_station]>
- chat 'Here you go!'
- give potion <player>
- disengage


» Use to avoid 'retrigger'.
- engage 5s
- take quest_item
- flag player finished_quests:->:super_quest
Groupnpc

Namefish
Syntax - fish [<location>] (catch:{none}/default/junk/treasure/fish) (stop) (chance:<#>)
Short DescriptionCauses an NPC to begin fishing around a specified location.
Full DescriptionCauses an NPC to begin fishing at the specified location.
Setting catch determines what items the NPC may fish up, and
the chance is the odds of the NPC fishing up an item.

Also note that it seems you must specify the same location initially chosen for the NPC to fish at
when stopping it.


Related TagsNone

Usages

» Makes the NPC throw their fishing line out to where the player is looking, with a 50% chance of catching fish
- fish <player.location.cursor_on> catch:fish chance:50


» Makes the NPC stop fishing
- fish <player.location.cursor_on> stop
Groupnpc

Namelookclose
Syntax - lookclose (<npc>) (state:<true/false>) (range:<#>) (realistic)
Short DescriptionInteracts with an NPCs 'lookclose' trait as provided by Citizens2.
Full DescriptionUse this command with any NPC to alter the state and options of its 'lookclose'
trait. When an NPC's 'lookclose' trait is toggled to true, the NPC's head will
follow nearby players. Specifying realistic will enable a higher precision
and detection of players, while taking into account 'line-of-sight', however can
use more CPU cycles. You may also specify a range integer to specify the number
of blocks that will trigger the NPC's attention.


Related Tags
Usages

» Use to cause the NPC to begin looking at nearby players.
- lookclose true <npc>


» Use to cause the NPC to stop looking at nearby players.
- lookclose false <npc>


» Change up the range and make the NPC more realistic
- lookclose true range:10 realistic
Groupnpc

Namepause
Syntax - pause [waypoints/activity] (<duration>)
Short DescriptionPauses an NPC's waypoint navigation or goal activity temporarily or indefinitely.
Full DescriptionTODO: Document Command Details


Related Tags<n@npc.navigator.is_navigating>

Usages

» Use to pause an NPC's waypoint navigation indefinitely.


» - pause waypoints
Use to pause an NPC's goal activity temporarily.
- pause activity 1m


» Use to pause an NPC's waypoint navigation and then resume it.
- pause waypoints
- resume waypoints
Groupnpc

Nameresume
Syntax - resume [waypoints/activity] (<duration>)
Short DescriptionResumes an NPC's waypoint navigation or goal activity temporarily or indefinitely.
Full DescriptionTODO: Document Command Details


Related Tags<n@npc.navigator.is_navigating>

Usages

» Use to pause an NPC's waypoint navigation indefinitely.


» - pause waypoints
Use to pause an NPC's goal activity temporarily.
- pause activity 1m


» Use to pause an NPC's waypoint navigation and then resume it.
- pause waypoints
- resume waypoints
Groupnpc

Namepose
Syntax - pose (add/remove/{assume}) [id:<name>] (player/{npc}) (<location>)
Short DescriptionRotates the player or NPC to match a pose, or adds/removes an NPC's poses.
Full DescriptionMakes a player or NPC assume the position of a pose saved on an NPC, removes a
pose with a specified ID from the current linked NPC, or adds a pose to the NPC
with an ID and a location, although the only thing that matters in the location
is the pitch and yaw.


Related Tags<n@npc.has_pose[<name>]>
<n@npc.get_pose[<name>]>

Usages

» Make an NPC assume a pose.
- pose id:MyPose1


» Add a pose to an NPC. (Note that only the last 2 numbers matter)
- pose add id:MyPose2 l@0,0,0,-2.3,5.4,world


» Remove a pose from an NPC.
- pose remove id:MyPose1
Groupnpc

Namepushable
Syntax - pushable (state:true/false/{toggle}) (delay:<duration>) (returnable:true/false)
Short DescriptionEdits the pushable trait for NPCs.
Full DescriptionEnables, disables, toggles, or edits the Pushable trait on the attached NPC.


Related TagsNone

Usages

» Use to toggle the Pushable trait for a specified NPC.
- pushable npc:n@321


» Use to enable the Pushable trait and return after 2 seconds.
- pushable state:true delay:2s returnable:true
Groupnpc

Namerename
Syntax - rename [<name>]
Short DescriptionRenames the linked NPC.
Full DescriptionRenames the linked NPC.
Functions like the '/npc rename' command.
NPC names may exceed the 16 character limit of normal Minecraft names.


Related Tags<n@npc.name>
<n@npc.name.nickname>

Usages

» Use to rename the linked NPC.
- rename Bob


» Use to rename a different NPC.
- rename Bob npc:n@32
Groupnpc

Namesit
Syntax - sit (<location>)
Short DescriptionCauses the NPC to sit. To make them stand, see command/Stand.
Full DescriptionMakes the linked NPC sit at the specified location.
Use command/Stand to make the NPC stand up again.


Related TagsNone

Usages

» Make the linked NPC sit at the player's cursor location.
- sit <player.location.cursor_on>

Groupnpc

Namestand
Syntax - stand
Short DescriptionCauses the NPC to stand. To make them sit, see command/Sit.
Full DescriptionMakes the linked NPC stop sitting.
To make them sit, see command/Sit.


Related TagsNone

Usages

» Make the linked NPC stand up.
- stand

Groupnpc

Nametrait
Syntax - trait (state:true/false/{toggle}) [<trait>]
Short DescriptionAdds or removes a trait from an NPC.
Full DescriptionTODO: Document Command Details


Related Tags<n@npc.has_trait[<trait>]>
<n@npc.list_traits>

Usages

» TODO: Document Command Details
Groupnpc

Nametrigger
Syntax - trigger [name:chat/click/damage/proximity] (state:{toggle}/true/false) (cooldown:<duration>) (radius:<#>)
Short DescriptionEnables or disables a trigger.
Full DescriptionTODO: Document Command Details


Related Tags<n@npc.has_trigger[<trigger>]>

Usages

» Use to enable the click trigger.
- trigger name:click state:true


» Use to enable the chat trigger with a 10-second cooldown and a radius of 5 blocks.
- trigger name:chat state:true cooldown:10s radius:5


» TODO: Document Command Details
Groupnpc

Namevulnerable
Syntax - vulnerable (state:{true}/false/toggle)
Short DescriptionSets whether an NPC is vulnerable.
Full DescriptionToggles whether an NPC can be hurt or not.


Related Tags<n@npc.invulnerable>

Usages

» Makes an NPC vulnerable.
- vulnerable state:true


» Makes an NPC vulnerable if it is not, and invulnerable if it is.
- vulnerable

Groupnpc



Top
Nameactionbar
Syntax - actionbar [<text>] (targets:<player>|...) (format:<name>)
Short DescriptionSends a message to a player's action bar.
Full DescriptionSends a message to the target's action bar area. If no target is specified it will default to the attached
player. Accepts the 'format:<name>' argument, which will reformat the text according to the specified
format script.


Related TagsNone

Usages

» Use to send a message to the player's action bar.
- actionbar "Hey there <player.name>!"


» Use to send a message to a list of players.
- actionbar "Hey, welcome to the server!" targets:p@Fortifier42|p@mcmonkey4eva|p@Morphan1


» Use to send a message to a list of players, with a formatted message.
- actionbar "Hey there!" targets:p@Fortifier42|p@mcmonkey4eva format:ServerChat
Groupplayer

Nameadvancement
Syntax - advancement [id:<name>] (delete/grant:<players>/revoke:<players>/{create}) (parent:<name>) (icon:<item>) (title:<text>) (description:<text>) (background:<key>) (frame:<type>) (toast:<boolean>) (announce:<boolean>) (hidden:<boolean>) (x:<offset>) (y:<offset>)
Short DescriptionControls a custom advancement.
Full DescriptionControls custom Minecraft player advancements. You should generally create advancements manually on server start.
Currently, the ID argument may only refer to advancements added through this command.
The default action is to create and register a new advancement.
You may also delete an existing advancement, in which case do not provide any further arguments.
You may grant or revoke an advancement for a list of players, in which case do not provide any further arguments.
The parent argument sets the root advancement in the advancements menu, in the format "namespace:key".
If no namespace is specified, the parent is assumed to have been created through this command.
The icon argument sets the icon displayed in toasts and the advancements menu.
The title argument sets the title that will show on toasts and in the advancements menu.
The description argument sets the information that will show when scrolling over a chat announcement or in the advancements menu.
The background argument sets the image to use if the advancement goes to a new tab.
If the background is unspecified, defaults to "minecraft:textures/gui/advancements/backgrounds/stone.png".
The frame argument sets the type of advancement - valid arguments are CHALLENGE, GOAL, and TASK.
The toast argument sets whether the advancement should display a toast message when a player completes it. Default is true.
The announce argument sets whether the advancement should display a chat message to the server when a player completes it. Default is true.
The hidden argument sets whether the advancement should be hidden until it is completed.
The x and y arguments are offsets based on the size of an advancement icon in the menu. They are required for custom tabs to look reasonable.

WARNING: Failure to re-create advancements on every server start may result in loss of data.


Related TagsNone

Usages

» Creates a new advancement that has a potato icon.
- advancement "id:hello_world" "icon:baked_potato" "title:Hello World" "description:You said hello to the world."


» Creates a new advancement with the parent "hello_world" and a CHALLENGE frame. Hidden until it is completed.
- advancement "id:hello_universe" "parent:hello_world" "icon:ender_pearl" "title:Hello Universe" "description:You said hello to the UNIVERSE." "frame:challenge" "hidden:true" "x:1"


» Grants the "hello_world" advancement to the current player.
- advancement "id:hello_world" "grant:<player>"

Groupplayer

Namechat
Syntax - chat [<text>] (no_target/targets:<entity>|...) (talkers:<entity>|...) (range:<#.#>)
Short DescriptionCauses an NPC/NPCs to send a chat message to nearby players.
Full DescriptionChat uses an NPCs DenizenSpeechController provided by Denizen, typically inside 'interact' or 'task'
script-containers. Typically there is already player and NPC context inside a queue that is using
the 'chat' command. In this case, only a text input is required. Alternatively, target entities
can be specified to have any Entity chat to a different target/targets, or specify 'no_target' to
not send the message to any specific target.

Chat from an NPC is formatted by the settings present in Denizen's config.yml. Players being chatted
to see a slightly different message than surrounding players. By default, a 'chat' will allow other
players nearby to also see the conversation. For example:
chat 'Hello!'
The player being chatted to, by default the attached Player to the script queue, will see a message
'Jack says to you, Hello!', however surrounding entities will see something along the lines of
'Jack says to aufdemrand, Hello!'. The format for this is configurable.

If sending messages to the Player without any surrounding entities hearing the message is desirable,
it is often times recommended to instead use the 'narrate' command. Alternatively, on a server-wide scale,
the configuration node for the 'range' can be set to 0, however this is discouraged.


Related TagsNone

Usages

» Use to emulate an NPC talking out loud to a Player within an interact script-container.
- chat "Hello, <player.name>! Nice day, eh?"


» Use to have an NPC talk to a group of individuals.
- flag <npc> talk_targets:!
- foreach <npc.location.find.players.within[6]> {
    - if <def[value].has_flag[clan_initiate]> {
      - flag <npc> talk_targets:->:<def[value]>
    }
  }
- chat targets:<npc.flag[talk_targets].as_list> "Welcome, initiate!"
Groupplayer

Namecompass
Syntax - compass [<location>/reset]
Short DescriptionRedirects the player's compass to target the given location.
Full DescriptionRedirects the compass of the player, who is attached to the script queue.

This is not the compass item, but the command is controlling the pointer the item should direct at.
This means that all item compasses will point the same direction but differently for each player.

The y-axis is not used but its fine to be included in the location argument.

Reset argument will turn the direction to default (spawn or bed)


Related Tags<p@player.compass_target>

Usages

» Use to reset the compass direction to its default
- compass reset


» Use to point with a compass to the player's current location
- compass <player.location>


» Use to point with a compass to the world's spawn location
- compass <w@world.spawn_location>
Groupplayer

Nameexperience
Syntax - experience [{set}/give/take] (level) [<#>]
Short DescriptionGives or takes experience points to the player.
Full DescriptionThis command allows modification of a players experience points.
Experience can be modified in terms of XP points, or by levels.
Note that the "set" command does not affect levels, but xp bar fullness.
(E.g. setting experience to 0 will not change a players level, but will
set the players experience bar to 0)


Related Tags<p@player.xp>
<p@player.xp.to_next_level>
<p@player.xp.total>
<p@player.xp.level>

Usages

» Use to set a player's experience bar to 0.
- experience set 0


» Use give give a player 1 level.
- experience give level 1


» Use to take 1 level from a player.

- experience take level 1

» Use to give a player with the name Morphan1 10 experience points.
- experience give 10 player:p@Morphan1
Groupplayer

Nameglow
Syntax - glow [<entity>|...] (<should glow>)
Short DescriptionMakes the linked player see the chosen entities as glowing.
Full DescriptionMakes the link player see the chosen entities as glowing.
BE WARNED, THIS COMMAND IS HIGHLY EXPERIMENTAL AND MAY NOT WORK AS EXPECTED.
This command works by globally enabling the glow effect, then whitelisting who is allowed to see it.
This command does it's best to disable glow effect when the entity is unloaded, but does not guarantee it.


Related Tags<e@entity.glowing>

Usages

» Use to make the player's target glow.
- glow <player.target>


» Use to make the player's target not glow.
- glow <player.target> false
Groupplayer

Namegroup
Syntax - group [add/remove/set] [<group>] (<world>)
Short DescriptionAdds a player to, removes a player from, or sets a player's permissions group.
Full DescriptionControls a player's permission groups, which the ability to add, remove or set a player's groups.
The 'add' argument adds the player to the group and any parent groups, while the remove command does
the opposite, removing the player from the group and any inheriting groups. The set command removes all
existing groups and sets the player's group.
Note: This requires a permissions plugin.


Related Tags<p@player.in_group[<group>]>
<p@player.in_group[<group>].global>
<p@player.in_group[<group>].world>
<p@player.groups>
<server.list_permission_groups>

Usages

» Use to add a player to the Admin group.
- group add Admin


» Use to remove a player from the Moderator group.
- group remove Moderator


» Use to set a player to the Member group in the Creative world.
- group set Member w@Creative
NoteThis command requires the plugin(s) Vault!
Groupplayer

Nameitemcooldown
Syntax - itemcooldown [<material>|...] (duration:<duration>)
Short DescriptionPlaces a cooldown on a material in a player's inventory.
Full DescriptionPlaces a cooldown on a material in a player's inventory.


Related Tags<p@player.item_cooldown[<material>]>

Usages

» Places a 1 second cooldown on using an ender pearl.
- itemcooldown ender_pearl


» Places a 10 minute cooldown on using golden apples.
- itemcooldown golden_apple d:10m

Groupplayer

Namekick
Syntax - kick [<player>|...] (reason:<text>)
Short DescriptionKicks a player from the server.
Full DescriptionKick a player or a list of players from the server and optionally specify a reason.
If no reason is specified it defaults to "Kicked."


Related TagsNone

Usages

» Use to kick the player with the default reason.
- kick <player>


» Use to kick the player with a reason.
- kick <player> "reason:Because I can."


» Use to kick another player with a reason.
- kick p@mcmonkey4eva "reason:Because I can."
Groupplayer

Namemoney
Syntax - money [give/take/set] (quantity:<#.#>) (players:<player>|...)
Short DescriptionManage a player's money.
Full DescriptionGive money to, take money from, and set the balance of a player.
If no quantity is specified it defaults to '1'. You can specify a list of
players to give to or take from. If no player(s) are specified defaults to the attached player.
NOTE: This requires an economy plugin. May work for offline players depending on economy plugin.


Related Tags<p@player.money>

Usages

» Use to give 1 money to the player.
- money give


» Use to take 10 money from a player.
- money take quantity:10 from:p@mcmonkey4eva


» Use to give all players on the server 100 money.
- money give quantity:100 to:<server.list_players>


» Use to set the money of all online players to 250.
- money set quantity:250 players:<server.list_online_players>
NoteThis command requires the plugin(s) Vault!
Groupplayer

Namenarrate
Syntax - narrate [<text>] (targets:<player>|...) (format:<name>)
Short DescriptionShows some text to the player.
Full DescriptionPrints some text into the target's chat area. If no target is specified it will default to the attached player
or the console. Accepts the 'format:<name>' argument, which will reformat the text according to the specified
format script.


Related TagsNone

Usages

» Use to narrate text to the player.
- narrate "Hello World!"


» Use to narrate text to a list of players.
- narrate "Hello there." targets:p@mcmonkey4eva|p@Morphan1|p@Fortifier42
Groupplayer

Nameopentrades
Syntax - opentrades [<entity>/<trade>|...] (title:<title>) (players:<player>|...)
Short DescriptionOpens the specified villager entity's trading inventory or a list of trades.
Full DescriptionForces a player to open a villager's trading inventory or a virtual trading inventory.
If an entity is specified, only one player can be specified.
Otherwise, if a list of trades is specified, more than one player can be specified.
If the title is not specified, no title will be applied to the virtual trading inventory.
If no player is specified, by default the attached player will be forced to trade.


Related Tags<p@player.selected_trade_index>
<e@entity.is_trading>
<e@entity.trades>
<e@entity.trading_with>

Usages

» Use to open an unusable trade.
- opentrades trade@trade


» Use to open a list of trades with an optional title.
- opentrades trade@trade[result=i@stone;inputs=li@i@stone;max_uses=9999]|trade@trade[result=i@barrier] "title:Useless Trades"


» Use to force a player to trade with a villager.
- opentrades <def[villager_entity]>
Groupplayer

Nameoxygen
Syntax - oxygen [<#>] (type:{remaining}/maximum) (mode:{set}/add/remove)
Short DescriptionGives or takes breath from the player.
Full DescriptionUsed to add to, remove from or set the amount of current oxygen of a player. Also allows for the changing of the
player's maximum oxygen level. Value is in ticks, so 30 equals to 1 bubble.


Related Tags<p@player.oxygen>
<p@player.oxygen.max>

Usages

» Use to set the player's current oxygen level to 5 bubbles.
- oxygen 150


» Use to add 1 bubble to the player's current oxygen level.
- oxygen 30 mode:add


» Use to set the player's maximum oxygen level to 20 bubbles.
- oxygen 600 type:maximum
Groupplayer

Namepermission
Syntax - permission [add/remove] [permission] (group:<name>) (<world>)
Short DescriptionGives or takes a permission node to/from the player or group.
Full DescriptionAdds or removes a permission node from a player or group. Accepts a world for world-based permissions
plugins. By default changes the attached player's permissions. Accepts the 'group:<name>' argument to change
a group's permission nodes rather than a player's.
Note: This requires a permissions plugin.


Related Tags<p@player.has_permission[permission.node]>
<p@player.has_permission[permission.node].global>
<p@player.has_permission[permission.node].world[<world>]>
<server.has_permissions>

Usages

» Use to give the player a permissions node.
- permission add bukkit.version


» Use to remove a permissions node from a player.
- permission remove bukkit.version


» Use to give the group 'Members' a permission node.
- permission add bukkit.version group:Members


» Use to remove a permissions node from the group 'Members' in the Creative world.
- permission remove bukkit.version group:Members w@Creative
NoteThis command requires the plugin(s) Vault!
Groupplayer

Namesidebar
Syntax - sidebar (add/remove/{set}) (title:<title>) (lines:<#>|...) (values:<line>|...) (start:<#>/{num_of_lines}) (increment:<#>/{-1}) (players:<player>|...) (per_player)
Short DescriptionControls clientside-only sidebars.
Full DescriptionThis command was created as a simpler replacement for using the Scoreboard command to display
per-player sidebars. By using packets and dummies, it enables you to have non-flickering, fully
functional sidebars without wasting processing speed and memory on creating new Scoreboards for
every single player.

Using this command, you can add, remove, or set lines on the scoreboard. The 'lines' parameter
is used to specify which line you want to set using 'values:' or remove. It can also be used to
add lines in between existing lines. To change multiple lines at once, simply use a list in both
the 'lines:' and 'values:' arguments and have each index correspond with the other.

Setting the title of the sidebar is extremely simple, and can be done by using the 'title:'
parameter in any case where the action is 'set'.

To control which score numbers are shown, use the 'start:' and 'increment:' arguments in any case
where the action is 'set'. 'Start' is the score where the first line will be shown with. The default
'start' value is determined by how many items are specified in 'values:'. 'Increment' is the difference
between each score and the default is -1. Using the default values of these, the sidebar displays each
line in order with the score counting down from the total number of lines to 1.

The per_player argument is also available, and helps to reduce the number of loops required for
updating multiple players' sidebars. When it is specified, all tags in the command will fill based
on each individual player in the players list. So, for example, you could have <player.name> on a
lines and it will show each player specified their name on that line.


Related Tags<p@player.sidebar.lines>
<p@player.sidebar.title>
<p@player.sidebar.scores>
<p@player.sidebar.start>
<p@player.sidebar.increment>

Usages

» Show all online players a sidebar.
- sidebar set "title:Hello World!" "values:This is|My Message!|Wee!" "players:<server.list_online_players>"


» Show a few players their ping.
- sidebar set "title:Info" "value:Ping<&co> <player.ping>" "players:p@Morphan1|p@mcmonkey4eva|p@Matterom" per_player


» Set a line on the sidebar a player is viewing.
- sidebar set "line:2" "value:This is my line now!"


» Add a line to the bottom of the sidebar.
- sidebar add "value:This is the bottom!"


» Remove multiple lines from the sidebar.
- sidebar remove "lines:2|4|6"


» Stop showing the sidebar.
- sidebar remove
Groupplayer

Nameshowfake
Syntax - showfake [<material>|.../cancel] [<location>|...] (players:<player>|...) (d:<duration>{10s})
Short DescriptionMakes the player see a block change that didn't actually happen.
Full DescriptionShows a fake block for a player which is not affected on server-side.
You can show a block for a player without anyone else can see it.

If a player stands on a showfake block which is originally and air block,
then the server will treat this as the player is flying/falling.

If a player tries to interact with the block (usually by right-clicking or left-click),
the server will then update the block for the player with the original block and the
effect of showfake is lost.

If no duration is specefied, then it assumes the default duration of 10 seconds.


Related Tags<l@location.block.material>

Usages

» Use to place a fake gold block at where the player is looking
- showfake GOLD_BLOCK <player.location.cursor_on> players:<player> duration:1m


» Use to place a stone block right on player's face
- showfake STONE <player.location.add[0,1,0]> players:<player> duration:5s


» Use to place fake lava (shows visual fire if standing in it)
- showfake LAVA <player.location> players:<server.list_online_players> duration:5s
Groupplayer

Namestatistic
Syntax - statistic [<statistic>] [add/take/set] (<#>) (qualifier:<material>/<entity>)
Short DescriptionChanges the specified statistic value for a player.
Full DescriptionChanges the specified statistic for the player.
For more info on statistics, see https://minecraft.gamepedia.com/Statistics
For statistic names, see https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Statistic.html



Related Tags<p@player.statistic[<statistic>]>
<p@player.statistic[<statistic>].qualifier[<material>/<entity>]>

Usages

» TODO: Document Command Details
Groupplayer

Nameteam
Syntax - team (id:<scoreboard>/{main}) [name:<team>] (add:<entry>|...) (remove:<entry>|...) (prefix:<prefix>) (suffix:<suffix>)
Short DescriptionControls scoreboard teams.
Full DescriptionThe Team command allows you to add modify a team's prefix and suffix, as well as adding to
and removing entries from teams.
NOTE: Prefixes and suffixes cannot be longer than 16 characters!


Related Tags<server.scoreboard[(<board>)].team_members[<team>]>

Usages

» Use to add a player to a team.
- team name:red add:<player.name>


» Use to add an NPC to a team.
- team name:blue add:<npc.name>


» Use to change the prefix for a team.
- team name:red "prefix:[<red>Red Team<reset>]"
Groupplayer

Nametitle
Syntax - title (title:<text>) (subtitle:<text>) (fade_in:<duration>/{1s}) (stay:<duration>/{3s}) (fade_out:<duration>/{1s}) (targets:<player>|...)
Short DescriptionDisplays a title to specified players.
Full DescriptionShows the players a large, noticeable wall of text in the center of the screen.
You can also show a "subtitle" below that title.
You may add timings for fading in, staying there, and fading out.
The defaults for these are: 1 second, 3 seconds, and 1 second, respectively.


Related TagsNone

Usages

» Use to alert players of impending server restart.
- title "title:<red>Server Restarting" "subtitle:<red>In 1 minute!" stay:1m targets:<server.list_online_players>


» Use to inform the player about the area they have just entered.
- title "title:<green>Tatooine" "subtitle:<gold>What a desolate place this is."
Groupplayer

Nametoast
Syntax - toast [<text>] (targets:<player>|...) (icon:<item>) (frame:{task}/challenge/goal) (background:<texture>)
Short DescriptionShows the player a custom advancement toast.
Full DescriptionDisplays a client-side custom advancement "toast" notification popup to the player(s).
If no target is specified it will default to the attached player.
The icon argument changes the icon displayed in the toast pop-up notification.
The frame argument changes the type of advancement.
The background texture can be specified as a file path with an optional namespace key prefix.
By default, the background texture is "minecraft:textures/gui/advancements/backgrounds/adventure.png"


Related TagsNone

Usages

» Welcomes the player with an advancement toast.
- toast "Welcome <player.name>!"


» Sends the player an advancement toast with a custom icon.
- toast "Diggy Diggy Hole" icon:iron_spade


» Sends the player a "Challenge Complete!" type advancement toast.
- toast "You finished a challenge!" frame:challenge icon:diamond

Groupplayer



Top
Nameage
Syntax - age [<entity>|...] (adult/baby/<age>) (lock)
Short DescriptionSets the ages of a list of entities, optionally locking them in those ages.
Full DescriptionSome living entity types are 'ageable' which can affect an entities ability to breed, or whether they appear
as a baby or an adult. Using the 'age' command allows modification of an entity's age. Specify an entity and
either 'baby', 'adult', or an integer age to set the age of an entity. Using the 'lock' argument will
keep the entity from increasing its age automatically. NPCs which use ageable entity types can also be
specified.


Related Tags<e@entity.age>

Usages

» Use to make an ageable entity a permanant baby.
- age e@50 baby lock
...or a mature adult.
- age e@50 adult lock


» Use to make a baby entity an adult.
- age n@puppy adult


» Use to mature an animals so that it is old enough to breed.
- age <player.location.find.entities.within[20]> 10
Groupentity

Nameanimate
Syntax - animate [<entity>|...] [animation:<name>]
Short DescriptionMakes a list of entities perform a certain animation.
Full DescriptionMinecraft implements several player and entity animations which the animate command can use, just
specify an entity and an animation.

Player animations require a Player-type entity or NPC. Available player animations include:
ARM_SWING, CRIT, HURT, and MAGIC_CRIT, SIT, SLEEP, SNEAK, STOP_SITTING, STOP_SLEEPING, STOP_SNEAKING,
START_USE_MAINHAND_ITEM, START_USE_OFFHAND_ITEM, STOP_USE_ITEM, EAT_FOOD, ARM_SWING_OFFHAND

All entities also have available Bukkit's entity effect list:
url/https://hub.spigotmc.org/javadocs/spigot/org/bukkit/EntityEffect.html

In addition, Denizen adds a few new entity animations:
SKELETON_START_SWING_ARM, SKELETON_STOP_SWING_ARM, POLAR_BEAR_START_STANDING, POLAR_BEAR_STOP_STANDING

Note that the above list only applies where logical, EG 'WOLF_' animations only apply to wolves.


Related TagsNone

Usages

» Use to make a player appear to get hurt.
- animate <player> animation:hurt


» Use to make a wolf NPC shake
- animate '<n@aufdemrand's wolf>' animation:wolf_shake
Groupentity

Nameattack
Syntax - attack (<entity>|...) (target:<entity>/cancel)
Short DescriptionMakes an entity, or list of entities, attack a target.
Full DescriptionBy itself, the 'attack' command will act as an NPC command in the sense that an attached
NPC will attack the attached player, or specified target. It can also accept a specified entity,
or list of entities, to fulfill the command, just specify a 'fetchable' entity object. This includes
player objects (dPlayers) and NPC objects (dNPCs). To specify the target, prefix the entity
object with 'target:' or 't:'.

To cancel an attack, use the 'cancel' argument instead of specifying a target.


Related Tags<n@npc.navigator.is_fighting>
<n@npc.navigator.attack_strategy>
<n@npc.navigator.target_entity>

Usages

» Use to make an NPC attack a player in an interact script.
- attack


» Use to make an NPC attack a nearby entity.
- attack target:<npc.location.find.living_entities.within[10].random>


» Use to make a specific entity attack an entity, including players or npcs.
- attack <player.location.find.living_entities.within[10].random> target:<player>


» Use to stop an attack
- attack n@Herobrine stop
Groupentity

Nameburn
Syntax - burn [<entity>|...] (duration:<value>)
Short DescriptionSets a list of entities on fire.
Full DescriptionBurn will set a list of entities on fire. Just specify a list of entities (or a single entity) and
optionally, a duration. Normal mobs and players will see damage afflicted, but NPCs will block damage
from a burn unless 'vulnerable'. Since this command sets the total time of fire, it can also be used
to cancel fire on a burning entity by specifying a duration of 0. Specifying no duration will result
in a 5 second burn.


Related Tags<e@entity.fire_time>

Usages

» Use to set an entity on fire.
- burn <player> duration:10s


» Use to cancel fire on entities.
- burn <player.location.find.living_entities.within[10]> duration:0
Groupentity

Namecast
Syntax - cast [<effect>] (remove) (duration:<value>) (power:<#>) (<entity>|...) (no_ambient) (hide_particles)
Short DescriptionCasts a potion effect to a list of entities.
Full DescriptionCasts or removes a potion effect to or from a list of entities. If you don't specify a duration,
it defaults to 60 seconds. If you don't specify a power level, it defaults to 1.
To cast an effect with a duration which displays as '**:**' or 'infinite' use a duration
of '1639s' (1639 seconds) or greater. While it may display as infinite, it will still wear off.

If no player is specified, the command will target the player. If no player is present, the
command will target the NPC. If an NPC is not present, there will be an error!

Optionally, specify "no_ambient" to hide some translucent additional particles, while still
rendering the main particles.
Optionally, specify "hide_particles" to remove the particle effects entirely.


Related Tags<e@entity.has_effect[<effect>]>
<server.list_potion_effects>

Usages

» Use to cast an effect onto the player for 120 seconds with a power of 3.
- cast jump d:120 p:3


» Use to remove an effect from the player.
- if <player.has_effect[jump]> {
  - cast jump remove <player>
  }
Groupentity

Nameequip
Syntax - equip (<entity>|...) (hand:<item>) (offhand:<item>) (head:<item>) (chest:<item>) (legs:<item>) (boots:<item>) (saddle:<item>) (horse_armor:<item>)
Short DescriptionEquips items and armor on a list of entities.
Full DescriptionThis command equips an item or armor to an entity or list of entities to the specified slot(s).
Set the item to 'i@air' to unequip any slot.


Related Tags<e@entity.equipment>
<e@entity.equipment.helmet>
<e@entity.equipment.chestplate>
<e@entity.equipment.leggings>
<e@entity.equipment.boots>
<in@inventory.equipment>

Usages

» Use to equip a stone block on the player's head.
- equip <player> head:i@stone


» Use to equip a iron helmet on two players named Bob and Steve.
- equip p@bob|p@steve head:i@iron_helmet


» Use to unequip all armor off the player.
- equip <player> head:i@air chest:i@air legs:i@air boots:i@air


» Use to equip a saddle on a horse.
- equip e@horse saddle:i@saddle


» Use to equip a saddle on a pig.
- equip e@pig saddle:i@saddle
Groupentity

Namefeed
Syntax - feed (amount:<#>) (target:<entity>)
Short DescriptionFeed the player or npc.
Full DescriptionFeeds the player or npc specified. By default targets the player attached to the script queue and feeds
a full amount. Accepts the 'amount:' argument, which is in half bar increments, for a total of 20 food
points. Also accepts the 'target:<entity>' argument to specify the entity which will be fed the amount.
NOTE: This command is outdated and bound to be updated.


Related Tags<p@player.food_level>
<p@player.food_level.formatted>

Usages

» Use to feed the player for 5 foodpoints or 2.5 bars.
- feed amount:5


» Use to feed an npc with id 5 for 10 foodpoints or 5 bars.
- feed amount:10 target:n@5
Groupentity

Namefly
Syntax - fly (cancel) [<entity>|...] (controller:<player>) (origin:<location>) (destinations:<location>|...) (speed:<#.#>) (rotationthreshold:<#.#>)
Short DescriptionMake an entity fly where its controller is looking or fly to waypoints.
Full DescriptionTODO: Document Command Details


Related Tags<p@player.can_fly>
<p@player.fly_speed>
<p@player.is_flying>

Usages

» TODO: Document Command Details
Groupentity

Namefollow
Syntax - follow (followers:<entity>|...) (stop) (lead:<#.#>) (max:<#.#>) (speed:<#.#>) (target:<entity>) (allow_wander)
Short DescriptionCauses a list of entities to follow a target.
Full DescriptionTODO: Document Command Details
The 'max' and 'allow_wander' arguments can only be used on non-NPC entities.


Related Tags<n@npc.navigator.target_entity> returns the entity the npc is following.

Usages

» To make an NPC follow the player in an interact script
- follow followers:<npc> target:<player>
TODO: Document Command Details
Groupentity

Namehead
Syntax - head (<entity>|...) [skin:<player_name>]
Short DescriptionMakes players or NPCs wear a specific player's head.
Full DescriptionEquips a player's head onto the player(s) or npc(s) specified. If no player or npc is specified, it defaults
to the player attached to the script queue. It accepts a single entity or list of entities.


Related Tags<i@item.skin>
<i@item.has_skin>

Usages

» Use to stick an awesome head on your head with the head command.
- head <player> skin:mcmonkey4eva


» Use to equip an npc with id 5 with your own head.
- head n@5 skin:<player.name>


» Use to equip all online players with Notch's head.
- head <server.list_online_players> skin:Notch
Groupentity

Nameheal
Syntax - heal (<#.#>) ({player}/<entity>|...)
Short DescriptionHeals the player or list of entities.
Full DescriptionThis command heals a player, list of players, entity or list of entities. If no amount is specified it will
heal the specified player(s)/entity(s) fully.


Related Tags<e@entity.health>

Usages

» Use to fully heal a player.
- heal


» Use to heal a player 5 hearts.
- heal 10


» Use to heal a player by the name of Morphan1 fully.
- heal p@Morphan1
Groupentity

Namehealth
Syntax - health ({npc}/<entity>|...) [<#>] (state:{true}/false/toggle)
Short DescriptionChanges the target's maximum health.
Full DescriptionUse this command to modify an entity's maximum health. If the target is an NPC,
you can use the 'state' argument to enable, disable, or toggle the Health trait
(which is used to track the NPC's health, and handle actions such as 'on death')
the Health trait will be enabled by default.
By default, this command will target the linked NPC but can be set to target any
other living entity, such as a player or mob.
Additionally, you may input a list of entities, each one will calculate the effects
explained above.


Related Tags<e@entity.health>
<n@npc.has_trait[health]>

Usages

» Use to set the NPC's maximum health to 50.
- health 50


» Use to disable tracking of health value on the NPC.
- health state:false


» Use to change a player's health limit to 50.
- health <player> 50


» Use to change a list of entities' health limits all to 50.
- health <player.location.find.living_entities.within[10]> 50
Groupentity

Namehurt
Syntax - hurt (<#.#>) ({player}/<entity>|...) (cause:<cause>)
Short DescriptionHurts the player or a list of entities.
Full DescriptionDoes damage to a list of entities, or to any single entity.

If no entities are specified: if there is a linked player, the command targets that. If there is no linked
player but there is a linked NPC, the command targets the NPC. If neither is available, the command will error.

Does a specified amount of damage usually, but, if no damage is specified, does precisely 1HP worth of damage
(half a heart).
Optionally, specify (source:<entity>) to make the system treat that entity as the attacker,
be warned this does not always work as intended, and is liable to glitch.
You may also optionally specify a damage cause to fire a proper damage event with the given cause,
only doing the damage if the event wasn't cancelled. Calculates the 'final damage' rather
than using the raw damage input number. See language/damage cause for damage causes.
To make the source only be included in the initial damage event, and not the application of damage, specify 'source_once'.


Related Tags<e@entity.health>
<e@entity.last_damage.amount>
<e@entity.last_damage.cause>
<e@entity.last_damage.duration>
<e@entity.last_damage.max_duration>

Usages

» Use to hurt the player for 1 HP.
- hurt


» Use to hurt the NPC for 5 HP.
- hurt 5 <npc>


» Use to cause the player to hurt the NPC for all its health (if unarmored).
- hurt <npc.health> <npc> cause:CUSTOM source:<player>
Groupentity

Nameinvisible
Syntax - invisible [<entity>] (state:true/false/toggle)
Short DescriptionMakes an NPC or entity go invisible
Full DescriptionFor non-armor stand entities, applies a maximum duration invisibility potion.
For armor stands, toggles them invisible.
Applies the 'invisible' trait to NPCs.

NPCs can't be made invisible if not added to the playerlist.
(The invisible trait adds the NPC to the playerlist when set)
See language/invisible trait)


Related TagsNone

Usages

» - invisible <player> state:true
Makes the player invisible


» - invisible <npc> state:toggle
Makes the attached NPC visible if previously invisible, and invisible if not
Groupentity

Nameleash
Syntax - leash (cancel) [<entity>|...] (holder:<entity>/<location>)
Short DescriptionSticks a leash on target entity, held by a fence or another entity.
Full DescriptionAttaches a leash to the specified entity.
The leash may be attached to a fence, or another entity.
Players and Player NPCs may not be leashed.
Note that releasing a mob from a fence post may leave the leash attached to that fence post.

Non-player NPCs can be leashed if '/npc leashable' is enabled.


Related Tags<e@entity.is_leashed>
<e@entity.get_leash_holder>

Usages

» Use to attach a leash to the player's target.
- leash <player.target> holder:<player>


» Use to attach the closest cow in 10 blocks to the fence the player is looking at.
- leash <player.location.find.entities[cow].within[10].first> holder:<player.location.cursor_on>


» Use to release the target entity.
- leash cancel <player.target>
Groupentity

Namelook
Syntax - look (<entity>|...) [<location>] (duration:<duration>)
Short DescriptionCauses the NPC or other entity to look at a target location.
Full DescriptionMakes the entity look towards the location, can be used on players. If a duration is set, the entity cannot
look away from the location until the duration has expired unless they are forces to look at a different
location.


Related Tags<l@location.yaw>
<l@location.pitch>

Usages

» Use to point an npc towards a spot.
- look <npc> <player.location>


» Use to force a player to stare at a spot for some time.
- look <player> <npc.location> duration:10s
Groupentity

Namemount
Syntax - mount (cancel) [<entity>|...] (<location>)
Short DescriptionMounts one entity onto another.
Full DescriptionMounts an entity onto another as though in a vehicle. Can be used to force a player into a vehicle or to
mount an entity onto another entity. e.g. a player onto an npc. If the entity(s) don't exist they will be
spawned. Accepts a location, which the entities will be teleported to on mounting.


Related Tags<e@entity.vehicle>
<e@entity.inside_vehicle>
<entry[saveName].mounted_entities> returns a list of entities that were mounted.

Usages

» Use to mount an NPC on top of a player.
- mount <npc>|<player>


» Use to spawn a mutant pile of mobs.
- mount cow|pig|sheep|chicken


» Use to place a diamond block above a player's head.
- mount falling_block,diamond_block|<player>


» Use to force an entity in a vehicle.
- mount <player>|boat
Groupentity

Namepush
Syntax - push [<entity>|...] (origin:<entity>/<location>) (destination:<location>) (speed:<#.#>) (<duration>) (script:<name>) (def:<element>|...) (force_along) (precision:<#>) (no_rotate) (no_damage)
Short DescriptionPushes entities through the air in a straight line.
Full DescriptionPushes entities through the air in a straight line at a certain speed and for a certain duration,
triggering a script when they hit an obstacle or stop flying. You can specify the script to be run
with the (script:<name>) argument, and optionally specify definitions to be available in this script
with the (def:<element>|...) argument. Using the 'no_damage' argument causes the entity to receive no damage
when they stop moving.


Related Tags<e@entity.velocity>

Usages

» Use to launch an arrow straight towards a target
- push arrow destination:<player.location>


» Use to launch an entity into the air
- push cow
Groupentity

Nameremove
Syntax - remove [<entity>|...] (world:<world>)
Short DescriptionDespawns an entity or list of entities, permanently removing any NPCs.
Full Description TODO: CUBOID OPTION
Removes the selected entity. May also take a list of entities to remove.
Any NPC removed this way is completely removed, as if by '/npc remove'.
If a generic entity name is given (see: language/entities)
it will remove all entities of that type from the given world.
Optionally, you may specifiy a world to target.
(Defaults to the world of the player running the command)



Related Tags<e@entity.is_spawned>

Usages

» Use to remove the entity the player is looking at.
- remove <player.target>


» Use to remove all nearby entities around the player, excluding the player itself.
- remove <player.location.find.entities.within[10].exclude[<player>]>


» Use to remove all dropped items in the world called cookies.
- remove dropped_item world:cookies
Groupentity

Namerotate
Syntax - rotate (cancel) (<entity>|...) (yaw:<#.#>) (pitch:<#.#>) (infinite/duration:<duration>) (frequency:<duration>)
Short DescriptionRotates a list of entities.
Full DescriptionInduces incremental rotation on a list of entities over a period of time.

The yaw and pitch arguments specify how much the entity will rotate each step. Default to 10 and 0 respectively.

The frequency argument specifies how long it takes between each rotation step. Defaults to 1t.

The duration argument specifies how long the whole rotation process will last. Defaults to 1s.
Alternatively, use "infinite" if you want the entity to spin forever.

You can use "cancel" to prematurely stop the ongoing rotation (useful when set to infinite)


Related Tags<e@entity.location.yaw>
<e@entity.location.pitch>

Usages

» Use to rotate the player's yaw by 10 every tick for 3 seconds total
- rotate <player> duration:3s


» Use to rotate the player's pitch by 20 every 5 ticks for a second total
- rotate <player> yaw:0.0 pitch:20.0 frequency:5t


» Use to prematurely stop the player's rotation
- rotate cancel <player>
Groupentity

Nameshoot
Syntax - shoot [<entity>|...] (origin:<entity>/<location>) (destination:<location>) (height:<#.#>) (gravity:<#.#>) (speed:<#.#>) (script:<name>) (def:<element>|...) (shooter:<entity>) (spread:<#.#>) (lead:<location>) (no_rotate)
Short DescriptionShoots an entity through the air, useful for things like firing arrows.
Full DescriptionShoots an entity through the air up to a certain height, optionally using a custom gravity value and triggering a script on impact with a target.
If the origin is not an entity, specify a shooter so the damage handling code knows how to assume shot the projectile.
Normally, a list of entities will spawn mounted on top of each other. To have them instead fire separately and spread out,
specify the 'spread' argument with a decimal number indicating how wide to spread the entities.
In the script ran when the arrow lands, the following definitions will be available:
<def[shot_entities]> for all shot entities, <def[last_entity]> for the last one (The controlling entity),
<def[location]> for the last known location of the last shot entity, and
<def[hit_entities]> for a list of any entities that were hit by fired projectiles.
Optionally, specify a speed and 'lead' value to use the experimental arrow-aiming system.
Optionally, add 'no_rotate' to prevent the shoot command from rotating launched entities.


Related Tags<entry[saveName].shot_entities> returns a dList of entities that were shot.

Usages

» Use to shoot an arrow from the NPC to perfectly hit the player.
- shoot arrow origin:<npc> destination:<player.location>


» Use to shoot an arrow out of the player with a given speed.
- shoot arrow origin:<player> speed:2
Groupentity

Namespawn
Syntax - spawn [<entity>|...] [<location>] (target:<entity>) (persistent)
Short DescriptionSpawns a list of entities at a certain location.
Full DescriptionSpawn an entity or list of entities at the specified location. Accepts the 'target:<entity>' argument which
will cause all spawned entities to follow and attack the targetted entity.
If the persistent argument is present, the entity will not despawn when no players are within range, causing
the enity to remain until killed.


Related Tags<e@entity.is_spawned>
<server.entity_is_spawned[<entity>]>
<server.list_entity_types>
<entry[saveName].spawned_entities> returns a list of entities that were spawned.
<entry[saveName].spawned_entity> returns the entity that was spawned (if you only spawned one).

Usages

» Use to spawn a spider at the player's location.
- spawn spider <player.location>


» Use to spawn a spider at the player's location which will automatically target the player.
- spawn spider <player.location> target:<player>


» Use to spawn a swarm of creepers around the npc, which will not despawn until killed.
- spawn creeper|creeper|creeper|creeper|creeper <npc.location> persistent
Groupentity

Nameteleport
Syntax - teleport (<entity>|...) [<location>]
Short DescriptionTeleports the entity(s) to a new location.
Full DescriptionTeleports the entity or entities to the new location. Entities can be teleported between worlds using this
command, assuming the location is valid.


Related Tags<e@entity.location>

Usages

» Use to teleport a player to the location its cursor is pointing on
- teleport <player> <player.location.cursor_on>


» Use to teleport a player high above
- teleport <player> <player.location.add[0,200,0]>


» Use to teleport to a random online player
- teleport <player> <server.list_online_players.random.location>


» Use to teleport all players to your location
- teleport <server.list_online_players> <player.location>
Groupentity

Namewalk
Syntax - walk (<entity>|...) [<location>/stop] (speed:<#.#>) (auto_range) (radius:<#.#>) (lookat:<location>)
Short DescriptionCauses an entity or list of entities to walk to another location.
Full DescriptionTODO: Document Command Details


Related Tags<n@npc.navigator.is_navigating>
<n@npc.navigator.speed>
<n@npc.navigator.range>
<n@npc.navigator.target_location>

Usages

» TODO: Document Command Details
Groupentity



Top
Nameanimatechest
Syntax - animatechest [<location>] ({open}/close) (sound:{true}/false) (<player>|...)
Short DescriptionMakes a chest appear to open or close.
Full DescriptionThis command animates a chest in the world to open or close at a specified location.
The command by default will open the chest. It accepts a sound argument which specifies whether
the open or close sound will play aswell as the animation. The sound plays by default and
can be disabled with 'sound:false' It also accepts a player or list of players to animate the chest to,
allowing only selected players to see the chest animate as opened or closed.


Related TagsNone

Usages

» Use to animate a chest to open at 15,89,-45 in world: world
- animatechest l@15,89,-45,world


» To then close the chest at 15,89,-45 in world: world
- animatechest l@15,89,-45,world close


» Use to animate a chest to open with no sound at 12,12,-64 in world: peter
- animatechest l@12,12,-64,peter sound:false


» If only a player by the name of Morphan1 should see the chest open
- animatechest l@12,12,-64,peter sound:false p@Morphan1


» The command also accepts a list of players to view the animation
- animatechest l@12,12,-64,peter sound:false p@Morphan1|p@mcmonkey4eva|p@Fortifier42
Groupworld

Nameblockcrack
Syntax - blockcrack [<location>] [progress:<#>] (stack) (players:<player>|...)
Short DescriptionShows the player(s) a block cracking animation.
Full DescriptionYou must specify a progress number between 1 and 10, where 1 is the first stage and 10 is the last.
To remove the animation, you must specify any number outside of that range. For example, 0.
Optionally, you can stack multiple effects


Related TagsNone

Usages

» Use to show a crack in a block to the currently attached player.
- blockcrack l@12,43,20,world progress:4


» Use to stop showing a crack in a block to all online players.
- blockcrack l@12,43,20,world progress:0 players:<server.list_online_players>


» Use to show all 10 layers of block cracking at the same time.
- repeat 10:
  - blockcrack l@12,43,20,world progress:<def[value]> stack
Groupworld

Namebreak
Syntax - break [<location>] (<npc>) (radius:<#.#>)
Short DescriptionMakes an NPC walk over and break a block.
Full DescriptionBy itself, the 'break' command will act as an NPC command in the sense that an attached
NPC will navigate to and break the block at the attached location. It can also accept a specified npc,
to fulfill the command, just specify a 'fetchable' npc object. It can also accept a radius to start
breaking the block from within. To specify the radius, prefix the radius with 'radius:'.


Related Tags<n@npc.navigator.is_navigating>
<n@npc.navigator.target_location>

Usages

» Use to make the npc break a block at 17,64,-87 in world.
- break l@17,64,-87,world


» Use to make an npc with the id 12 break a block at 17,64,-87 in world.
- break l@17,64,-87,world n@12


» Use to make an npc with the name bob break a block at 17,64,-87 and start digging from 5 blocks away.
- break l@17,64,-87,world n@bob radius:5
Groupworld

Namechunkload
Syntax - chunkload ({add}/remove/removeall) [<chunk>] (duration:<value>)
Short DescriptionKeeps a chunk actively loaded and allowing NPC activity.
Full DescriptionForces a chunk to load and stay loaded in the world for the duration specified or until removed.  This is
persistent over server restarts. If no duration is specified it defaults to 0 (forever). While a chunk is
loaded all normal activity such as crop growth and npc activity continues.


Related Tags<w@world.loaded_chunks>
<ch@chunk.is_loaded>

Usages

» Use to load a chunk.
- chunkload ch@0,0,world


» Use to temporarily load a chunk.
- chunkload ch@0,0,world duration:5m


» Use to stop loading a chunk.
- chunkload remove ch@0,0,world


» Use to stop loading all chunks.
- chunkload removeall
Groupworld

Namecopyblock
Syntax - copyblock [<location>/<cuboid>] [to:<location>] (remove_original)
Short DescriptionCopies a block or cuboid to another location, keeping metadata when possible.
Full DescriptionCopies a block or cuboid to another location.
You may also use the 'remove_original' argument to delete the original block.
This effectively moves the block to the target location.


Related Tags<l@location.material>

Usages

» Use to copy the block the player is looking at to their current location
- copyblock <player.location.cursor_on> to:<player.location>


» Use to move the block the player is looking at to their current location (removing it from its original location)
- copyblock <player.location.cursor_on> to:<player.location> remove_original
Groupworld

Namecreateworld
Syntax - createworld [<name>] (g:<generator>) (worldtype:<type>) (environment:<environment>) (copy_from:<world>) (seed:<seed>)
Short DescriptionCreates a new world, or loads an existing world.
Full DescriptionThis command creates a new minecraft world with the specified name, or loads an existing world by thet name.
TODO: Document Command Details (generator)
It accepts a world type which can be specified with 'worldtype:'.
If a worldtype is not specified it will create a world with a world type of NORMAL.
For all world types, see: url/https://hub.spigotmc.org/javadocs/spigot/org/bukkit/WorldType.html
An environment is expected and will be defaulted to NORMAL. Alternatives are NETHER and THE_END.
Optionally, specify an existing world to copy files from.


Related Tags<server.list_world_types>
<server.list_worlds>

Usages

» Use to create a normal world with name 'survival'
- createworld survival


» Use to create a flat world with the name 'superflat'
- createworld superflat worldtype:FLAT


» Use to create an end world with the name 'space'
- createworld space environment:THE_END
Groupworld

Namedrop
Syntax - drop [<entity_type>/xp/<item>|...] (<location>) (quantity:<#>) (speed:<#.#>) (delay:<duration>)
Short DescriptionDrops an item, entity, or experience orb on a location.
Full DescriptionTo drop an item, just specify a valid item object. To drop
an entity, specify a generic entity object. Drop can also reward players
with experience orbs by using the 'xp' argument.

For all three usages, you can optionally specify an integer with 'quantity:'
prefix to drop multiple items/entities/xp.
For items, you can add 'speed:' to modify the launch velocity.
You can also add 'delay:' to set the pickup delay of the item.


Related Tags<e@entity.item>
<entry[saveName].dropped_entities> returns a list of entities that were dropped.

Usages

» Use to drop some loot around the player.
- drop i@gold_nugget <cuboid[cu@<player.location.add[-2,-2,-2]>|<player.location.add[2,2,2]>].get_spawnable_blocks.random>


» Use to reward a player with 500 xp.
- drop xp quantity:500 <player.location>


» Use to drop a nasty surprise (exploding TNT).
- drop e@primed_tnt <player.location>


» Use to drop an item with a pickup delay at the player's location.
- drop i@diamond_sword <player.location> delay:20s
Groupworld

Nameexplode
Syntax - explode (power:<#.#>) (<location>) (fire) (breakblocks)
Short DescriptionCauses an explosion at the location.
Full DescriptionThis command causes an explosion at the location specified (or the npc / player location) which does not
destroy blocks or set fire to blocks within the explosion. It accepts a 'fire' option which will set blocks
on fire within the explosion radius. It also accepts a 'breakblocks' option which will cause the explosion to
break blocks within the power radius as well as creating an animation and sounds.
Default power: 1
Default location: npc.location, or if no NPC link, player.location.
It is highly recommended you specify a location to be safe.


Related TagsNone

Usages

» Use to create an explosion at a player's location.
- explode <player.location>


» Use to create an explosion at a player, which breaks blocks and causes fire with a power of 5.
- explode power:5 <player.location> fire breakblocks


» Use to create an explosion with a power radius of 3 at an NPC's location.
- explode power:3 <npc.location>


» Use to create an explosion with a power radius of 3 at a 12,12,-1297 in a world called survival which breaks blocks.
- explode power:3 l@12,12,-1297,survival breakblocks
Groupworld

Namefirework
Syntax - firework (<location>) (power:<#>) (<type>/random) (primary:<color>|...) (fade:<color>|...) (flicker) (trail)
Short DescriptionLaunches a firework with specific coloring
Full DescriptionThis command launches a firework from the specified location. The power option, which defaults to 1
if left empty, specifies how high the firework will go before exploding. The type option
which specifies the shape the firework will explode with. The primary option specifies what colour the
firework will initially explode as. The fade option specifies what colour the firework will
fade into after exploding. The flicker option means the firework will leave a trail behind it, and the
flicker option means the firework will explode with a flicker effect.


Related Tags<e@entity.firework_item>
<i@item.is_firework>
<i@item.firework>
<entry[saveName].launched_firework> returns a dEntity of the firework that was launched.

Usages

» Use to launch a star firework which explodes yellow and fades to white afterwards at the player's location
- firework <player.location> star primary:yellow fade:white


» Use to make the firework launch double the height before exploding
- firework <player.location> power:2 star primary:yellow fade:white


» Use to launch a firework which leaves a trail
- firework <player.location> random trail


» Use to launch a firework which leaves a trail and explodes with a flicker effect at 10,43,-76 in world
- firework l@10,43,-76,world random trail flicker
Groupworld

Namelight
Syntax - light [<location>] [<#>/reset] (duration:<duration>)
Short DescriptionCreates a light source at the location with a specified brightness.
Full DescriptionThis command can create and reset a light source at a specified location, regardless of the type
of block. It will be shown to all players near the location until it is reset.
The brightness must be between 0 and 15, inclusive.
Optionally, specify the amount of time the light should exist before being removed.
WARNING: May cause lag spikes, use carefully.


Related Tags<l@location.light>
<l@location.light.blocks>

Usages

» Use to create a bright light at a noted location.
- light l@MyFancyLightOfWool 15


» Use to reset the brightness of the location to its original state.
- light l@MyFancyLightOfWool reset
Groupworld

Namemidi
Syntax - midi (cancel) [<file>] (<location>/<entity>|...) (tempo:<#.#>) (volume:<#.#>)
Short DescriptionPlays a midi file at a given location or to a list of players using note block sounds.
Full DescriptionThis will fully load a midi song file stored in the '../plugins/Denizen/midi/' folder. The file
must be a valid midi file with the extension '.mid'. It will continuously play the song as
noteblock songs at the given location or group of players until the song ends. If no location or
entity is specified, by default this will play for the attached player.

Also, an example Midi song file has been included: "Denizen" by Black Coyote. He made it just for us!
Check out more of his amazing work at: http://www.youtube.com/user/BlaCoyProductions


Related TagsNone

Usages

» Use to play a midi song file on the current player.
- midi file:Denizen


» Use to play a midi song file at a given location.
- midi file:Denizen <player.location>


» Use to play a midi song file at a given location to the specified player(s), and wait for it to finish.
- ~midi file:Denizen <server.list_online_players>
Groupworld

Namemodifyblock
Syntax - modifyblock [<location>|.../<ellipsoid>/<cuboid>] [<material>|...] (radius:<#>) (height:<#>) (depth:<#>) (no_physics/naturally) (delayed) (<script>) (<percent chance>|...)
Short DescriptionModifies blocks.
Full DescriptionChanges blocks in the world based on the criteria given. Specifying no radius/height/depth will result
in only the specified blocks being changed. Use 'no_physics' to place the blocks without
physics taking over the modified blocks. This is useful for block types such as portals. This does NOT
control physics for an extended period of time.
Specify (<percent chance>|...) to give a chance of each material being placed (in any material at all).
Use 'naturally' when setting a block to air to break it naturally, meaning that it will drop items.
Use 'delayed' to make the modifyblock slowly edit blocks at a time pace roughly equivalent to the server's limits.
Note that specify a list of locations will take more time in parsing than in the actual block modification.
Optionally, specify a script to be ran after the delayed edits finish. (Doesn't fire if delayed is not set.)
This command is ~holdable.


Related Tags<l@location.material>

Usages

» Use to change the block a player is looking at to stone.
- modifyblock <player.location.cursor_on> stone


» Use to modify an entire cuboid to half stone, half dirt.
- modifyblock cu@<player.location>|<player.location.cursor_on> li@stone|dirt


» Use to modify an entire cuboid to some stone, some dirt, and some left as it is.
- modifyblock cu@<player.location>|<player.location.cursor_on> li@stone|dirt li@25|25


» Use to clear the area around the player and drop their respective items.
- modifyblock <player.location> air radius:5 naturally delayed


» Use to modify the ground beneath the player's feet.
- modifyblock cu@<player.location.add[2,-1,2]>|<player.location.add[-2,-1,-2]> WOOL,14
Groupworld

Nameplayeffect
Syntax - playeffect [effect:<name>] [at:<location>|...] (data:<#.#>) (special_data:<data>) (visibility:<#.#>) (quantity:<#>) (offset:<#.#>,<#.#>,<#.#>) (targets:<player>|...)
Short DescriptionPlays a visible or audible effect at the location.
Full DescriptionAllows the playing of particle effects anywhere without the need of the source it comes from originally.
The particles you may use, can come from sources such as a potion effect or a portal/Enderman with their particles respectively.
Some particles have different data which may include different behavior depending on the data. Default data is 0
Specifying a visibility value changes the sight radius of the effect. For example if visibility is 15; Targeted players won't see it unless they are 15 blocks or closer.
You can add a quantity value that allow multiple of the same effect played at the same time. If an offset is set, each particle will be played at a different location in the offset area.
Everyone will see the particle effects unless a target has been specified.
See language/Particle Effects for a list of valid effect names.

Version change note: The original PlayEffect command raised all location inputs 1 block-height upward to avoid effects playing underground when played at eg a player's location.
This was found to cause too much confusion, so it is no longer on by default. However, it will still happen for older commands.
The distinction is in whether you include the (now expected to use) "at:" prefix on your location argument.
If you do not have this prefix, the system will assume your command is older, and will apply the 1-block height offset.

Some particles will require input to the "special_data" argument. The data input is unique per particle.
- For REDSTONE particles, the input is of format: <size>|<color>, for example: "1.2|red". Color input is any valid dColor object.


Related TagsNone

Usages

» Use to create a fake explosion.
- playeffect effect:EXPLOSION_HUGE at:<player.location> visibility:500 quantity:10 offset:2.0


» Use to play a cloud effect.
- playeffect effect:CLOUD at:<player.location.add[0,5,0]> quantity:20 data:1 offset:0.0


» Use to play some effects at spawn.
- playeffect effect:FIREWORKS_SPARK at:<w@world.spawn_location> visibility:100 quantity:375 data:0 offset:50.0
Groupworld

Nameplaysound
Syntax - playsound [<location>|.../<player>|...] [sound:<name>] (volume:<#.#>) (pitch:<#.#>) (custom) (sound_category:<category name>)
Short DescriptionPlays a sound at the location or to a list of players.
Full DescriptionPlays a sound to a player or nearby players at a location.
The sound is played through the player's client just like
any other sounds in Minecraft. Sounds are respecfully played
with their sound types.
For example; zombie sounds are under the type: Mobs/Animals

Specifying a player or list of players will only play
the sound for them for each of their current location.
Sounds are played at fixed locations and will not
follow a player while playing.
If a location is specified, it will play the sound for
all players if they are nearby that location specified.

Optionally, specify 'custom' to play a custom sound added by a resource pack, changing the sound name to something like 'random.click'

For a list of all sounds, check url/https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html

For a list of all valid sound categories, check url/https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/SoundCategory.html


Related Tags<server.list_sounds>

Usages

» Use to play a sound for a player
- playsound <player> sound:ENTITY_EXPERIENCE_ORB_PICKUP pitch:1

» Use to play a sound at a location for all nearby
- playsound <player.location> sound:ENTITY_PLAYER_LEVELUP

» Use to notify all players with a sound
- playsound <server.list_online_players> sound:ENTITY_PLAYER_LEVELUP volume:0.5 pitch:0.8
Groupworld

Nameschematic
Syntax - schematic [create/load/unload/rotate/paste/save/flip_x/flip_y/flip_z] [name:<name>] (filename:<name>) (angle:<#>) (<location>) (<cuboid>) (delayed) (noair)
Short DescriptionCreates, loads, pastes, and saves schematics (Sets of blocks).
Full DescriptionCreates, loads, pastes, and saves schematics. Schematics are files containing info about
blocks and the order of those blocks.

Denizen offers a number of tools to manipulate and work with schematics.
Schematics can be rotated, flipped, pasted with no air, or pasted with a delay.
The "noair" option skips air blocks in the pasted schematics- this means those air blocks will not replace
any blocks in the target location.
The "delayed" option delays how many blocks can be pasted at once. This is recommended for large schematics.


Related Tags<schematic[<name>].height>
<schematic[<name>].length>
<schematic[<name>].width>
<schematic[<name>].block[<location>]>
<schematic[<name>].origin>
<schematic[<name>].blocks>
<schematic[<name>].exists>
<schematic[<name>].cuboid[<origin location>]>
<schematic.list>

Usages

» Use to create a new schematic from a cuboid and an origin location
- schematic create name:MySchematic cu@<player.location.sub[5,5,5]>|<player.location.add[5,5,5]> <player.location>


» Use to load a schematic
- schematic load name:MySchematic


» Use to unload a schematic
- schematic unload name:MySchematic


» Use to paste a loaded schematic with no air blocks
- schematic paste name:MySchematic <player.location> noair


» Use to save a created schematic
- schematic save name:MySchematic
Groupworld

Namesign
Syntax - sign (type:{automatic}/sign_post/wall_sign) ["<line>|..."] [<location>] (direction:n/e/w/s)
Short DescriptionModifies a sign.
Full DescriptionModifies a sign that replaces the text shown on it. If no sign is at the location, it replaces the location with the modified sign.
The direction arguement tells which direction the text shown. If a direction is not specified, it defaults to south.
Specify 'automatic' as a type to use whatever sign type and direction is already placed there.
If there is not already a sign there, defaults to a sign_post.


Related Tags<l@location.block.sign_contents>

Usages

» Use to edit some text on a sign
- sign type:automatic "Hello|this is|some|text" <player.location>


» Use to show the time on a sign that points north
- sign type:automatic "I point|North.|System Time<&co>|<util.date.time>" l@233,65,123,world direction:n


» Use to force a sign to be a wall_sign if no sign is found.
- sign type:wall_sign "Player<&co>|<player.name>|Online Players<&co>|<server.list_online_players.size>" l@233,65,123,world

Groupworld

Namestrike
Syntax - strike (no_damage) [<location>]
Short DescriptionStrikes lightning down upon the location.
Full DescriptionCauses lightning to strike at the specified location, which can optionally have damage disabled.
The lightning will still cause fires to start, even without the 'no_damage' argument.
Lightning caused by this command will cause creepers to activate. Using the no_damage argument makes the
lightning do no damage to the player or any other entities, and means creepers struck will not activate.


Related TagsNone

Usages

» Use to cause lightning to strike the player.
- strike <player.location>


» Use to strike the player with lightning causing no damage.
- strike no_damage <player.location>
Groupworld

Nameswitch
Syntax - switch [<location>|...] (state:[{toggle}/on/off]) (duration:<value>)
Short DescriptionSwitches state of the block.
Full DescriptionChanges the state of a block at the given location.
Can specify a duration before it returns to the previous state.
By default, will toggle the state (on to off, or off to on).
Works on any interactable blocks.


Related Tags<l@location.switched>

Usages

» At the player's location, switch the state of the block to on, no matter what state it was in before.
- switch <player.location> state:on


» Opens a door that the player is looking at.
- switch <player.location.cursor_on> state:on


» Toggle a block at the player's location.
- switch <player.location>

Groupworld

Nametime
Syntax - time ({global}/player) [<time duration>] (<world>)
Short DescriptionChanges the current time in the minecraft world.
Full DescriptionChanges the current time in a world or the time that a player sees the world in.
If no world is specified, defaults to the NPCs world. If no NPC is available,
defaults to the player's world. If no player is available, an error will be thrown.
If a player is specified, it will change their personal time.
This is separate from the global time, and does not affect other players.
When that player logs off, their time will be reset to the global time.


Related Tags<w@world.time>
<w@world.time.period>

Usages

» Use to set the time in the NPC or Player's world.
- time 500t


» Use to make the player see a different time than everyone else.
- time player 500t


» Use to set the time in a specific world.
- time 500t w@myworld

Groupworld

Nameweather
Syntax - weather [type:{global}/player] [sunny/storm/thunder] (world:<name>)
Short DescriptionChanges the current weather in the minecraft world.
Full DescriptionChanges the weather in the specified world.
You can also set weather for the attached player, where that player will experience personal
weather that is different from the global weather.
Logging off will reset personal weather.


Related Tags<b@biome.downfall_type>
<p@player.weather>
<w@world.has_storm>
<w@world.weather_duration>
<w@world.thundering>
<w@world.thunder_duration>

Usages

» Makes the weather sunny
- weather sunny


» Makes the weather storm in world "cookies"
- weather storm world:cookies


» Make the weather storm for the attached player.
- weather type:player storm

Groupworld

Nameworldborder
Syntax - worldborder [<world>/<player>|...] (center:<location>) (size:<#.#>) (current_size:<#.#>) (damage:<#.#>) (damagebuffer:<#.#>) (warningdistance:<#>) (warningtime:<duration>) (duration:<duration>) (reset)
Short DescriptionModifies a world border.
Full DescriptionModifies the world border of a specified world or a list of players.
NOTE: Modifying player world borders is client-side and will reset on death, relog, or other actions.
Options are:
center: Sets the center of the world border.
size: Sets the new size of the world border.
current_size: Sets the initial size of the world border when resizing it over a duration.
damage: Sets the amount of damage a player takes when outside the world border buffer radius.
damagebuffer: Sets the radius a player may safely be outside the world border before taking damage.
warningdistance: Causes the screen to be tinted red when the player is within the specified radius from the world border.
warningtime: Causes the screen to be tinted red when a contracting world border will reach the player within the specified time.
duration: Causes the world border to grow or shrink from its current size to its new size over the specified duration.
reset: Resets the world border to its vanilla defaults for a world, or to the current world border for players.


Related Tags<l@location.is_within_border>
<w@world.border_size>
<w@world.border_center>
<w@world.border_damage>
<w@world.border_damage_buffer>
<w@world.border_warning_distance>
<w@world.border_warning_time>

Usages

» Use to set the size of a world border.
- worldborder <player.location.world> size:4


» Use to update a world border's center, and then the size over the course of 10 seconds.
- worldborder <def[world]> center:<def[world].spawn_location> size:100 duration:10s


» Use to show a client-side world border to the attached player.
- worldborder <player> center:<player.location> size:10
Groupworld



Top
Nameannounce
Syntax - announce [<text>] (to_ops/to_console/to_flagged:<flag_name>) (format:<name>)
Short DescriptionAnnounces a message for everyone online to read.
Full DescriptionAnnounce sends a raw message to players. Simply using announce with text will send
the message to all online players. Specifing the 'to_ops' argument will narrow down the players
in which the message is sent to ops only. Alternatively, using the 'to_flagged' argument
will send the message to players only if the specified flag does not equal true. You can also
use the 'to_console' argument to make it so it only shows in the server console. Announce
can also utilize a format script with the 'format' argument. See the format script-container
for more information.

Note that the default announce mode (that shows for all players) relies on the Bukkit broadcast
system, which requires the permission "bukkit.broadcast.user" to see broadcasts.


Related TagsNone

Usages

» Use to send an important message to your players.
- announce 'Warning! This server will restart in 5 minutes!'


» Use to send a message to a specific 'group' of players.
- announce to_flagged:clan_subang '[<player.name>] Best clan ever!'


» Use to easily send a message to all online ops.
- announce to_ops '<player.name> requires help!'


» Use to send a message to just the console (Primarily for debugging / logging).
- announce to_console 'Warning- <player.name> broke a mob spawner at location <player.location>'
Groupserver

Nameban
Syntax - ban ({add}/remove) [<player>|.../addresses:<address>|...] (reason:<text>) (duration:<duration>) (source:<text>)
Short DescriptionBan or un-ban players or ip addresses.
Full DescriptionAdd or remove player or ip address bans from the server. Banning a player will also kick them from the server.
You may optionally specify both a list of players and list of addresses.
Options are:
reason: Sets the ban reason. Defaults to "Banned.".
duration: Sets the duration of the temporary ban. This will be a permanent ban if not specified.
source: Sets the source of the ban. Defaults to "(Unknown)".


Related Tags<p@player.is_banned>
<p@player.ban_info.reason>
<p@player.ban_info.expiration>
<p@player.ban_info.created>
<p@player.ban_info.source>
<server.is_banned[<address>]>
<server.ban_info[<address>].expiration>
<server.ban_info[<address>].reason>
<server.ban_info[<address>].created>
<server.ban_info[<address>].source>
<server.list_banned_addresses>
<server.list_banned_players>

Usages

» Use to ban a player.
- ban p@mcmonkey4eva


» Use to ban a list of players with a reason.
- ban p@mcmonkey4eva|p@Morphan1 "reason:Didn't grow enough potatoes."


» Use to ban a list of players for 10 minutes with a reason.
- ban p@mcmonkey4eva|p@Morphan1 "reason:Didn't grow enough potatoes." duration:10m


» Use to ban a player with a source.
- ban p@Mergu "reason:Grew too many potatoes." source:<player.name>


» Use to ban an ip address.
- ban addresses:127.0.0.1


» Use to temporarily ip ban all online players.
- ban addresses:<server.list_online_players.parse[ip]> duration:5m


» Use to unban a list of players.
- ban remove p@mcmonkey4eva|p@Morphan1


» Use to unban an ip address.
- ban remove addresses:127.0.0.1
Groupserver

Namebossbar
Syntax - bossbar ({create}/update/remove) [<id>] (players:<player>|...) (title:<title>) (progress:<#.#>) (color:<color>) (style:<style>) (flags:<flag>|...)
Short DescriptionShows players a boss bar.
Full DescriptionDisplays a boss bar at the top of the screen of the specified player(s). You can also update the
values and remove the bar.

Requires an ID. Progress must be between 0 and 1.

Valid colors: BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW.
Valid styles: SEGMENTED_10, SEGMENTED_12, SEGMENTED_20, SEGMENTED_6, SOLID.
Valid flags: CREATE_FOG, DARKEN_SKY, PLAY_BOSS_MUSIC.


Related Tags<server.current_bossbars>

Usages

» Shows a message to all online players.
- bossbar MyMessageID players:<server.list_online_players> "title:HI GUYS" color:red


» Update the boss bar's color and progress.
- bossbar update MyMessageID color:blue progress:0.2


» Add more players to the boss bar.
- bossbar update MyMessageID players:<server.flag[new_players]>


» Remove a player from the boss bar.
- bossbar remove MyMessageID players:<server.match_player[BlackCoyote]>


» Delete the boss bar.
- bossbar remove MyMessageID
Groupserver

Nameexecute
Syntax - execute [as_player/as_op/as_npc/as_server] [<Bukkit command>] (silent)
Short DescriptionExecutes an arbitrary server command as if the player, NPC, or server typed it in.
Full DescriptionAllows the execution of server commands through a Denizen Script. Commands can be executed as the server,
as an npc, an op or as a player, as though it was typed by the respective source.


Related Tags<entry[saveName].output> returns the output to an as_server sender.

Usages

» Use to execute the save-all command as the server.
- execute as_server "save-all"


» Use to add the player to the op list as if an existing op had typed it.
- execute as_op "op <player.name>"
Groupserver

Namescoreboard
Syntax - scoreboard ({add}/remove) (viewers:<player>|...) (lines:<player>/<text>|...) (id:<value>/{main}) (objective:<value>) (criteria:<criteria>/{dummy}) (score:<#>) (displayslot:<value>/{sidebar}/none)
Short DescriptionAdd or removes viewers, objectives and scores from scoreboards.
Full DescriptionLets you make players see a certain scoreboard and then a certain objective in that scoreboard.

There are currently three slots where objectives can be displayed: in the sidebar on the right of
the screen, below player names and in the player list that shows up when you press Tab. The names
of these slots can be found here:
http://jd.bukkit.org/rb/apidocs/org/bukkit/scoreboard/DisplaySlot.html

Every objective has several lines of scores. Technically, the lines track players, but fake player
names can be used by Denizen to let you call the lines anything you want.

When using the sidebar as the display slot, all the scores set for an objective will be displayed
there, but you will need to put actual player names in the lines to be able to use the below_name
display slot (which displays each player's score underneath his/her name) and the player_list
display slot (which displays each player's score to the right of his/her name in the player list).

If you do not specify a display slot, the sidebar will be used. You can also use "none" as the
display slot if you want to add a hidden objective without automatically making it get displayed.

You can set scores manually, or you can use different Minecraft criteria that set and update the
scores automatically. A list of these criteria can be found here:
http://minecraft.gamepedia.com/Scoreboard#Objectives

You can use the "remove" argument to remove different parts of scoreboards. The more arguments
you use with it, the more specific your removal will be. For example, if you only use the "remove"
argument and the "id" argument, you will completely remove all the objectives in a scoreboard,
but if you specify an objective as well, you will only delete that one objective from that
scoreboard, and if you also specify certain lines, you will only delete those specific lines from
that objective. Similarly, if you use the "remove" argument along with the "id" and "viewers"
arguments, you will only remove those viewers from the scoreboard, not the entire scoreboard.


Related Tags<server.scoreboard[(<board>)].exists>
<server.scoreboard[(<board>)].team_members[<team>]>

Usages

» Add a score for the player "mythan" to the default scoreboard under the objective "cookies" and let him see it
- scoreboard add obj:cookies lines:mythan score:1000 viewers:p@mythan


» Add a new current objective called "food" to the "test" scoreboard with 3 lines that each have a score of 50:
- scoreboard add id:test obj:food lines:Cookies|Donuts|Cake score:50


» Make a list of players see the scoreboard that has the id "test":
- scoreboard add viewers:p@Goma|p@mythan|p@Ares513 id:test


» Change the value of one of the scores in the "food" objective:
- scoreboard add id:test obj:food lines:Cake score:9000


» Remove one of the lines from the "food" objective in the "test" scoreboard
- scoreboard remove obj:food lines:Donuts


» Remove one of the viewers of the "test" scoreboard:
- scoreboard remove viewers:p@mythan


» Make the player "dimensionZ" see the health of other players below their names
- scoreboard add viewers:p@dimensionZ id:test obj:anything criteria:health displayslot:below_name


» Make all the players on the world "survival" see each other's number of entity kills in the player list when pressing Tab
- scoreboard add "viewers:<w@survival.players>" id:test obj:anything criteria:totalKillCount displayslot:player_list
Groupserver



Top
Namedisplayitem
Syntax - displayitem [<item>] [<location>] (duration:<value>)
Short DescriptionMakes a non-touchable item spawn for players to view.
Full DescriptionThis command drops an item at the specified location which cannot be picked up by players.
It accepts a duration which determines how long the item will stay for until disappearing.
If no duration is specified the item will stay for 1 minute, after which the item will disappear.


Related Tags<e@entity.item>
<entry[saveName].dropped> returns a dEntity of the spawned item.

Usages

» Use to display a stone block dropped at a players location
- displayitem i@stone <player.location>


» Use to display a diamond sword dropped at 12,64,-847 in world survival
- displayitem i@diamond_sword l@12,64,-847,survival


» Use to display redstone dust dropped at -54,100,-87 in world creative disappear after 10 seconds
- displayitem i@redstone l@-54,100,-87,creative duration:10s


» Use to save the dropped item to save entry 'item_dropped'
- displayitem i@redstone l@-54,100,-87,creative duration:10s save:item_dropped
Groupitem

Namefakeitem
Syntax - fakeitem [<item>|...] [slot:<slot>] (duration:<duration>) (players:<player>|...) (player_only)
Short DescriptionShow a fake item in a player's inventory.
Full DescriptionThis command allows you to display an item in an inventory that is not really there.
To make it automatically disappear at a specific time, use the 'duration:' argument.
By default, it will use any inventory the player currently has open. To force it to use only the player's
inventory, use the 'player_only' argument.


Related TagsNone

Usages

» Use to show a clientside-only pumpkin on the player's head.
- fakeitem i@pumpkin slot:head


» Use to show a fake book in the player's hand for 1 tick.
- fakeitem "i@written_book[book=author|Morphan1|title|My Book|pages|This is my book!]" slot:<player.item_in_hand.slot> duration:1t
Groupitem

Namegamerule
Syntax - gamerule [<world>] [<rule>] [<value>]
Short DescriptionSets a gamerule on the world.
Full DescriptionSets a gamerule on the world. A list of valid gamerules can be found here: http://minecraft.gamepedia.com/Commands#gamerule
Note: Be careful, gamerules are CASE SENSITIVE.


Related TagsTODO: Add tags and then document them!

Usages

» Use to disable fire spreading in world "Adventure".
- gamerule w@Adventure doFireTick false


» Use to avoid mobs from destroying blocks (creepers, endermen...) and picking items up (zombies, skeletons...) in world "Adventure".
- gamerule w@Adventure mobGriefing false
Groupitem

Namegive
Syntax - give [money/xp/<item>|...] (quantity:<#>) (engrave) (unlimit_stack_size) (to:<inventory>) (slot:<slot>)
Short DescriptionGives the player an item, xp, or money.
Full DescriptionGives the linked player or inventory any form of giveable object, including items, xp, or money.
If the player's inventory if full, the item will be dropped at the inventory location.
Specifying a slot will give the player the item to that slot.
If an item is already in that slot, the item will not be given
unless they are exactly the same items, then it will stack.
Specifying "unlimit_stack_size" will allow an item to stack up to 64. This is useful for stacking items
with a max stack size that is less than 64 (for example, most weapon and armor items have a stack size
of 1).
If an economy is registered, specifying money instead of a item will give money to the player's economy.
TODO: Document Command Details


Related Tags<p@player.money>

Usages

» Use to give money to the player.
- give money quantity:10


» Use to give XP to the player.
- give xp quantity:10


» Use to give an item to the player.
- give i@iron_sword


» Use to give an item and place it in a specific slot if possible.
- give WATCH slot:5
Groupitem

Nameinventory
Syntax - inventory [open/close/copy/move/swap/add/remove/set/keep/exclude/fill/clear/update/adjust <mechanism>:<value>] (destination:<inventory>) (origin:<inventory>/<item>|...) (slot:<slot>)
Short DescriptionEdits the inventory of a player, NPC, or chest.
Full DescriptionUse this command to edit the state of inventories. By default, the destination inventory
is the current attached player's inventory. If you are copying, swapping, removing from
(including via "keep" and "exclude"), adding to, moving, or filling inventories, you'll need
both destination and origin inventories. Origin inventories may be specified as a list of
dItems, but destinations must be actual dInventories.
Using "open", "clear", or "update" only require a destination. "Update" also requires the
destination to be a valid player inventory.
Using "close" closes any inventory that the currently attached player has opened.


Related Tags<p@player.inventory>
<p@player.enderchest>
<p@player.open_inventory>
<n@npc.inventory>
<l@location.inventory>

Usages

» Use to open a chest inventory, at a location.
- inventory open d:l@123,123,123,world


» Use to open a virtual inventory with a title and some items.
- inventory open d:in@generic[size=27;title=BestInventory;contents=li@i@snow_ball|i@clay_brick]


» Use to open another player's inventory.
- inventory open d:<p@calico-kid.inventory>


» Use to remove all items from a chest, except any items in
the specified list.
- inventory keep d:in@location[holder=l@123,123,123,world] o:li@i@snow_ball|i@ItemScript


» Use to remove items specified in a chest from the current
player's inventory, regardless of the item count.
- inventory exclude origin:l@123,123,123,world


» Use to swap two players' inventories.
- inventory swap d:in@player[holder=p@mcmonkey4eva] o:<p@fullwall.inventory>


» Use to adjust a specific item in the player's inventory.
- inventory adjust slot:5 "lore:Item modified!"
Groupitem

Namemap
Syntax - map [<#>/new:<world>] [reset:<location>/image:<file> (resize)/script:<script>] (x:<#>) (y:<#>)
Short DescriptionModifies a new or existing map by adding images or text.
Full DescriptionThis command modifies an existing map, or creates a new one. Using this will override existing
non-Denizen map renderers with Denizen's custom map renderer.
You can reset this at any time by using the 'reset:<location>' argument, which will remove all
images and texts on the map and show the default world map at the specified location.
Note that all maps have a size of 128x128.
The file path is relative to the 'plugins/Denizen/images/' folder.
Use escaping to let the image and text arguments have tags based on the player viewing the map.
Custom maps will persist over restarts using the 'maps.yml' save file in the Denizen plugins folder.


Related Tags<entry[saveName].created_map> returns the map created by the 'new:' argument if used.

Usages

» Use to add an auto-resized background image to map 3
- map 3 image:my_map_images/my_background.png resize


» Use to add an image with the top-left corner at the center of a new map
- map new:w@world image:my_map_images/my_center_image.png x:64 y:64


» Reset map to have the center at the player's location
- map 3 reset:<player.location>
Groupitem

Namenbt
Syntax - nbt [<item>] [<key>:<value>]
Short DescriptionSets the value of an item's NBT key.
Full DescriptionEdits an NBT key on an item and the edited item to the 'new_item' entry tag.
This can be useful for storing hidden information on items.


Related Tags<entry[saveName].new_item> returns the item resulting from the NBT change.

Usages

» Use to set a hidden value on an item and give the item to a player.
- nbt i@snow_ball "MyCustomNBT.Damage:10" "save:SnowballOfDeath"
- give <entry[SnowballOfDeath].new_item>


» Use to edit the NBT of a player's item in hand.
- nbt <player.item_in_hand> "MyCustomNBT.Owner:<player>" "save:edited"
- inventory set "slot:<player.item_in_hand.slot>" "o:<entry[edited].new_item>"


» Use to remove an NBT tag from a player's item in hand.
- nbt <player.item_in_hand> "MyCustomNBT.Owner:!" "save:item"
- inventory set "slot:<player.item_in_hand.slot>" "o:<entry[item].new_item>"
Groupitem

Namescribe
Syntax - scribe [<script>] (<item>/give/equip/{drop <location>})
Short DescriptionWrites information to a book from a book-type script or a book item.
Full DescriptionCreate a book item from a book-type script or book item.
This can then be directly given to a player, or dropped at a specific location
Read more about book-scripts here: language/book script containers


Related Tags<i@item.book.author>
<i@item.book.title>
<i@item.book.page_count>
<i@item.book.get_page[<#>]>
<i@item.book.pages>


Usages

» Gives the book "Cosmos Book" to the player
- scribe "Cosmos Book" give


» Drops the "Cosmos Book" at the players location
- scribe "Cosmos Book" drop <player.location>


» Puts the "Cosmos Book" in the players hand
- scribe "Cosmos Book" equip
Groupitem

Nametake
Syntax - take [money/iteminhand/scriptname:<name>/bydisplay:<name>/bycover:<title>|<author>/slot:<slot>/<item>|...] (quantity:<#>) (from:<inventory>)
Short DescriptionTakes an item from the player.
Full DescriptionTakes items from a player or inventory.
If the player or inventory does not have the item being taken, nothing happens.
Specifying a slot will take the items from that specific slot.
If an economy is registered, specifying money instead of a item will take money from the player's economy.
If no quantity is specified, it is assumed one.


Related Tags<p@player.item_in_hand>
<p@player.money>

Usages

» Use to take money from the player
- take money quantity:10

» Use to take an arrow from the player's enderchest
- take arrow from:<player.enderchest>

» Use to take the current holding item from the player's hand
- take iteminhand

» Use to take 5 emeralds from the player's inventory
- take emerald quantity:5
Groupitem



Top
Namebn
Syntax - bn [add/kick/start/end]
Short DescriptionAdds/kicks player, starts/ends battle.
Full DescriptionWith this command, you can add or kick players to/from the current battle. By default,
this uses the player currently attached to the running Denizen queue. However, you can
change the player by using Denizen's command-wide "player:" prefix. You can also use
this command to start or end a battle.

Related TagsNone
Usages

» Use to add the current player to a battle.
- bn add

» Use to kick unattached player from a battle.
- bn kick player:BlackCoyote

» Use to start a battle.
- bn start

» Use to end a battle.
- bn end
NoteThis command requires the plugin(s) DepenizenBukkit, BattleNight!
Groupdepenizen

Namejobs
Syntax - jobs [promote/demote/join/quit] [<job>] (<#>)
Short DescriptionModifies the specified job of a player.
Full DescriptionThis allows you to promote or demote a player's job level. This also allows you
to force a player to join or quit a job.

Related Tags<p@player.jobs[<job>]>
Usages

» Use to promote a player.
- jobs promote Woodcutter

» Use to demote a player multiple times.
- jobs demote Builder 3

» Use to make a player join a job.
- jobs join Worker player:Jeebiss
NoteThis command requires the plugin(s) DepenizenBukkit, Jobs!
Groupdepenizen

Namemcmmo
Syntax - mcmmo [add/remove/set] [levels/xp/xprate/vampirism/hardcore/leader] (skill:<skill>) (state:{toggle}/true/false) (qty:<#>) (party:<party>)
Short DescriptionEdits mcMMO information.
Full DescriptionThis command allows you to add or remove skill levels and experience for players, add or remove
players to/from parties, set the level, xp, xprate, vampirism state, hardcore state of a player's
skill, or set the leader of a party.

Related Tags<player.mcmmo. * >
Usages

» Use to add 5 levels to a player's skill.
- mcmmo add levels skill:acrobatics qty:5

» Use to remove a player from a party.
- mcmmo remove player:SerpentX party:SerpentPeople

» Use to set vampirism mode for a player's skill.
- mcmmo set vampirism skill:woodcutting state:true
NoteThis command requires the plugin(s) DepenizenBukkit, mcMMO!
Groupdepenizen

Namebossshop
Syntax - bossshop [<shop name>] (target:<player>)
Short DescriptionOpens a BossShop inventory for a player.
Full DescriptionUse to open up a BossShop inventory for either
the player attached to the queue or specified target.
Useful for rewarding players using the BossShop plugin.
Shops are made with the BossShop system.


Related Tags<in@inventory.is_bossshop>
Usages

» Use to open a bossshop inventory for the player in the queue as a Player.
- bossshop "MyShop"

» Use to open a bossshop inventory for the target.
- bossshop "MyShop" target:<player>
NoteThis command requires the plugin(s) DepenizenBukkit, BossShop!
Groupdepenizen

Namebungee
Syntax - bungee [<server>|...] [<commands>]
Short DescriptionSends commands to other Bukkit servers via BungeeCord.
Full DescriptionThis command allows you to send multiple lines of script to your BungeeCord
server, which then relays it to the dServer(s) you specified. Tags and definitions
will be parsed on the destination(s), and the definitions in the current queue will
carry over.

NOTE: This command will only work for Bukkit servers. For a cross-compatible
option, use the BungeeRun command.

Related TagsNone
Usages

» Use to send network-wide join messages.
- define name <player.name.display>
- bungee <bungee.list_servers>:
  - announce "<yellow>%name% has joined the network."

» Use to keep a player's inventory consistent across 2 creative servers.
- define player <player>
- define contents <player.inventory.list_contents>
- bungee creative2:
  - if <def[player].has_played_before||false> {
    - inventory set d:<def[player].inventory> o:<def[contents]>
    }
NoteThis command requires the plugin(s) DepenizenBukkit, DepenizenBungee!
Groupdepenizen

Namebungeeexecute
Syntax - bungeeexecute [<command>]
Short DescriptionExecutes a command on the BungeeCord proxy server.
Full DescriptionThis command allows you to execute a BungeeCord command, as if it
was typed into the proxy server's console.

Related TagsNone
Usages

» Send an alert message through BungeeCord.
- bungeeexecute "alert Hey! Listen!"
NoteThis command requires the plugin(s) DepenizenBukkit, DepenizenBungee!
Groupdepenizen

Namebungeepriority
Syntax - bungeepriority [<server>|...]
Short DescriptionSets the server priority list for the bungee connection handler.
Full DescriptionWith this command you can change the fallback server priority list in bungee.
The priority list is used for when a connecting player has no valid reconnect server defined.
Bungee will try to connect the player to the first responsive server in the list.

Related Tags<bungee.list_servers>
Usages

» Sets the fallback priority to first try the server "lobby", then "survival", and finally "creative".
- bungeepriority "server@lobby|server@survival|server@creative"
NoteThis command requires the plugin(s) DepenizenBukkit, DepenizenBungee!
Groupdepenizen

Namebungeereconnect
Syntax - bungeereconnect
Short DescriptionAttempts to reconnect to the BungeeCord socket server.
Full DescriptionThis command allows you to try to manually reconnect to the server.
Note that you don't typically need to use this, as the client will automatically
attempt to reconnect on its own. The main use of this is manual handling.

Related TagsNone
Usages

» Try to reconnect to the server.
- bungeereconnect
NoteThis command requires the plugin(s) DepenizenBukkit, DepenizenBungee!
Groupdepenizen

Namebungeerun
Syntax - bungeerun [<server>|...] [<script_name>] (def:<name>|<value>|...) (debug:<boolean>)
Short DescriptionRuns a script on other servers by name via BungeeCord socket.
Full DescriptionThis command allows you to run a named script on the specified servers
connected to your BungeeCord socket. You may optionally specify a list
of definitions to send for the script to use.

By default, the script will run with the same debug mode as the queue
that runs this command, but you may also specify true or false to force
it one way or the other.

Related TagsNone
Usages

» Use to send network-wide join messages with a script called JoinMessageScript that takes a definition of the player's name.
- bungeerun <bungee.list_servers> JoinMessageScript def:name|<player.name.display>

» Use to keep a player's inventory consistent across 2 creative servers without debug.
- bungeerun creative2 UpdatePlayerInventory def:player|<player>|contents|<player.inventory.list_contents> debug:false
NoteThis command requires the plugin(s) DepenizenBukkit, DepenizenBungee!
Groupdepenizen

Namebungeetag
Syntax - bungeetag [<tag>] [server:<server>]
Short DescriptionGets tags from other servers on the BungeeCord network. Requires you ~wait for it.
Full DescriptionThis command allows you to request and receive data from Denizen tags on other servers
connected to BungeeCord. The tag argument should be written just like a normal tag; you
don't have to change anything about it. All definitions in the current queue are also
sent, so you may use them in the tag as usual.

NOTE: You MUST ~wait for the command to use it. This means DO NOT use "- bungeetag", but
rather, "- ~bungeetag". This is so that the data can be correctly sent and received.

Related Tags<entry[entryName].result> returns the value of the tag as parsed on the other server.
Usages

» Use to check a player's experience on another server.
- define player <player>
- ~bungeetag <def[player].xp> server:Survival save:xp
- narrate "You have <entry[xp].result> XP in Survival."
NoteThis command requires the plugin(s) DepenizenBukkit, DepenizenBungee!
Groupdepenizen

Nameclientrun
Syntax - clientrun [<script_name>] (def:<name>|<value>|...)
Short DescriptionRuns a client script on a client, assuming they have the Forge mod 'Clientizen'.
Full DescriptionThis command is used to run a script on the Minecraft client by utilizing the Denizen2 Forge mod
implementation, Clientizen.
The script must be sent beforehand, either automatically when the player joined or sent by
the command/ClientScripts command.

Related TagsNone
Usages

» Runs the script 'server_update_gui' on the client.
- clientrun server_update_gui def:text|Hello
NoteThis command requires the plugin(s) DepenizenBukkit!
Groupdepenizen

Nameclientscripts
Syntax - clientscripts [add/remove] [<file_name>|...] (players:<player>|...)
Short DescriptionSends or removes client scripts, assuming they have the Forge mod 'Clientizen'.
Full DescriptionThis command allows dynamic control of loading and unloading client scripts.
The file name will never include subfolders, as no two files should share names. For example,
if you have a file at '/client_scripts/subfolder/myscript.yml', you would input simply
it as 'myscript.yml'.

Related TagsNone
Usages

» Loads the script file "myscript.yml" for all online players.
- clientscripts add myscript.yml <server.list_online_players>
NoteThis command requires the plugin(s) DepenizenBukkit!
Groupdepenizen

Nametrader
Syntax - trader [open/close] ({buy}/sell) ({stock}/relation)
Short DescriptionOpens or closes an NPC's trading menu.
Full DescriptionThis command allows you to open or close the trading menu of an NPC
that has the Trader trait from dtlTraders.
You can specify whether to open the buy or sell menu, with default as buying.
Optionally, you can specify whether to open the stock menu or relations menu.
This command requires an attached player and NPC.

Related TagsNone
Usages

» Use to open the buy menu of an attached NPC.
- trader open buy

» Use to close an open trading menu.
- trader close
NoteThis command requires the plugin(s) DepenizenBukkit, dtlTraders!
Groupdepenizen

Nameeffectlib
Syntax - effectlib (type:<effect name>) (duration:<duration>) (target:<entity>)
Short DescriptionShow custom effects using EffectLib
Full DescriptionUse to show custom effects in a easier way using the config file in EffectLib.
The effect names comes from the config file.
Specify a location instead of a target to show the effect at a location instead.

Related TagsNone
Usages

» Use to show a effect on the attached player in queue.
- effeclib bleed duration:10s

» Use to show a effect on a target entity.
- effeclib atom target:<player.target> duration:10s

» Use to show effect at a position of the player.
- effeclib type:atom duration:10s location:<player.location>
NoteThis command requires the plugin(s) DepenizenBukkit, EffectLib!
Groupdepenizen

Nameheroesxp
Syntax - heroesxp [add/remove/set] [<heroesclass>] [quantity:<#.#>]
Short DescriptionManipulate Heroes' experience.
Full DescriptionThis command allows you add, remove or set experience of a player's Hero.
NOTE: Currently unable to change levels of Heroes' easily. (Maybe a TODO.)

Related Tags<player.heroes. * >
Usages

» Use to add 100 xp to the player's warrior class.
- heroesxp add warrior quantity:100

» Use to remove 100 xp from the player's warrior class.
- heroesxp remove heroesclass@warrior quantity:100

» Use to set the xp of the player's warrior class to 100.
- heroesxp set heroesclass@warrior quantity:100

» Use to remove 10xp from another player's archer class.
- heroesxp remove archer quantity:10 player:p@mcmonkey4eva
NoteThis command requires the plugin(s) DepenizenBukkit, Heroes!
Groupdepenizen

Namedisguise
Syntax - disguise [remove/player/mob/misc] (type:<entity type>) (target:<entity>) (name:<text>) (baby:true/false) (id:<number>) (data:<number>) (self:true/false)
Short DescriptionDisguises an entity as a different entity.
Full DescriptionDisguises an entity using Lib's Disguises.
This hides the true entity and replaces it with a fake entity as a disguise.
The entity mimics the same actions and movement as the entity in a disguise.

The required arguement depends on the first arguement:
If the disguise is a mob, a type is required.
If the disguise is a misc, a type is required.
If the disguise is a player, a name is required instead of a type.

Specify if mob is a baby or not, otherwise its default adult.
Specify id and/or data for misc disguises. Default is 1 and 0 respectively.
Removing a disgsuise shows the true entity again for all players.
Only one disguise can be allowed, if another one is set, the preious disguise is removed.
Specify self arguement, if it is set to true, the disguise will be hidden from the player who is disguised.
Otherwise it is default set to false, showing the disguised character the player is disguising as.

Related Tags<e@entity.is_disguised>
<e@entity.disguise>
Usages

» Use to disguise the attached player in the queue as a Player.
- disguise player name:Bob

» Use to disguise the attached player in the queue as a Zombie.
- disguise mob type:ZOMBIE baby:true self:true

» Use to disguise the attached player in the queue as a Boat.
- disguise misc type:Boat

» Use to disguise the attached player in the queue as a Sponge Block.
- disguise misc type:Falling_Block id:19 data:0

» Use to remove the disguise from the attached player in the queue.
- disguise remove

» Use to diguise a entity.
- disguise player target:<player.target> name:Bob

» Use to remove a diguise from a entity.
- disguise remove target:<player.target>
NoteThis command requires the plugin(s) DepenizenBukkit, LibsDisguises!
Groupdepenizen

Namemobarena
Syntax - mobarena [<mobarena>] (add:<player>|...) (remove:<player>|...) (spectate:<player>|...)
Short DescriptionMake a player join, remove a player from or make a player spectate a MobArena.
Full DescriptionThis command allows you to make a player join an arena, make them leave an arena or make them spectate an arena.
Follows normal MobArena functionality, so acts as if the player has typed '/mobarena join'.
NOTE: You can use all 3: ("add", "remove", and "spectate") as once, however avoid conflicts.

Related Tags<player.mobarena.*>
Usages

» Use to force the player to join an arena.
- mobarena mobarena@Default add:<player>

» Use to force the player to leave an arena.
- mobarena mobarena@Default remove:<player>

» Use to force a player to join an arena and another to leave..
- mobarena mobarena@Default add:<player> remove:p@mcmonkey4eva

» Use to cause all players who aren't in an arena to spectate.
- mobarena mobarena@Default spectate:<server.list_online_players.filter[mobarena.in_arena.not]>
NoteThis command requires the plugin(s) DepenizenBukkit, MobArena!
Groupdepenizen

Namemythicspawn
Syntax - mythicspawn [<name>] [<location>] (level:<#>)
Short DescriptionSpawns a MythicMob at a location.
Full DescriptionThis allows you to spawn a MythicMob at a location using the mob's internal name.

Related Tags<entry[saveName].spawned_mythicmob> returns the spawned MythicMobsMob.
Usages

» Use to spawn a BarbarianMinion at a player's location.
- mythicspawn BarbarianMinion <player.location>
NoteThis command requires the plugin(s) DepenizenBukkit, MythicMobs!
Groupdepenizen

Nameplayerpoints
Syntax - playerpoints [set/give/take] (amount:<amount>) (target:<player>)
Short DescriptionAdjusts the amount of points the player has.
Full DescriptionTake, give or set the amount of points a player has.
This is useful for plugins supporting this kind of economy
which uses the points instead of money as an alternative system.
This works for offline players.

Related Tags<p@player.playerpoints_points>
Usages

» Use to give 5 points to the player
- playerpoints give 5

» Use take 2 points from a target player
- playerpoints take 2 target:p@Mwthorn

» Use to set 10 points to the player
- playerpoints set 10
NoteThis command requires the plugin(s) DepenizenBukkit, PlayerPoints!
Groupdepenizen

Nameregion
Syntax - region [{add} <cuboid>/remove <world>] [id:<name>]
Short DescriptionAdds or removes a protected region.
Full DescriptionAdds a protected region to a region manager based on the specified cuboid,
or removes a protected region from a region manager based on the specified
world. Currently, this command only supports cuboid-shaped regions.

Related TagsNone
Usages

» Use to add a region based on a cuboid.
- region add cu@l@123,0,321,world|l@321,256,123,world id:MyRegion

» Use to remove a region from a world.
- region remove w@world id:MyRegion
NoteThis command requires the plugin(s) DepenizenBukkit, WorldGuard!
Groupdepenizen



Top
Nameirc
Syntax - IRC [message <channel> <message>/notice <channel> <message>/raw <server> <message>/join <channel>/leave <channel>/connect <server>/quit <server>]
Short DescriptionConnects to and interacts with an IRC server.
Full DescriptionConnects to and interacts with an IRC server.

the CONNECT and JOIN options function as ~waitable commands. Everytihng else is considered instant.
TODO: Document Command Details

Related TagsTODO: Make tags
Usages

» Use to connect to an IRC server.
- ~irc connect ircserver@irc.esper.net
- irc raw ircserver@irc.esper.net "USER dIRCBot mcmonkey.org mcmonkey.org dIRCBot"
- irc raw ircserver@irc.esper.net "NICK dIRCBot"

» Use to join a channel within an IRC server.
- ~irc join ircchannel@irc.esper.net#denizen-dev

» Use to greet the channel you've joined.
irc message ircchannel@irc.esper.net#denizen-dev "Hello everyone!"

» Use to leave the channel you've joined.
irc leave ircchannel@irc.esper.net#denizen-dev

» Use to log into nickserv. (WARNING: Be very careful with passwords in scripts! Recommended: Read from a YAML file, then immediately unload it.)
- irc message ircchannel@irc.esper.net#?nickserv "identify password"
NoteThis command requires the plugin(s) dIRCBot!
Groupexternal

Namediscord
Syntax - discord [id:<id>] [connect code:<botcode>/disconnect/message/addrole/removerole/status (status:<status>) (activity:<activity>)/rename] (<message>) (channel:<channel>) (user:<user>) (guild:<guild>) (role:<role>)
Short DescriptionConnects to and interacts with Discord.
Full DescriptionConnects to and interacts with Discord.

Commands may fail if the bot does not have permission within the Discord group to perform them.

When setting the status of the Discord bot, the status argument can be: ONLINE, DND, IDLE, INVISIBLE, OFFLINE or UNKNOWN,
and the activity argument can be: PLAYING, STREAMING, LISTENING or WATCHING.


Related TagsTODO: Make tags

Usages

» Use to connect to Discord via a bot code.
- discord id:mybot connect code:<def[code]>


» Use to disconnect from Discord.
- discord id:mybot disconnect


» Use to message a Discord channel.
- discord id:mybot message channel:<discord[mybot].server[Denizen].channel[bot-spam]> "Hello world!"


» Use to send a message to a user through a private channel.
- discord id:mybot message user:<def[user_id]> "Hello world!"


» Use to add a role on a user in a Discord guild.
- discord id:mybot addrole user:<def[user_id]> role:<def[role_id]> guild:<def[guild_id]>


» Use to remove a role on a user in a Discord guild.
- discord id:mybot removerole user:<def[user_id]> role:<def[role_id]> guild:<def[guild_id]>


» Use to set the online status of the bot, and clear the game status.
- discord id:mybot status "Minecraft" "status:ONLINE"


» Use to set the game status of the bot.
- discord id:mybot status "Minecraft" "status:ONLINE" "activity:PLAYING"


» Use to change the bot's nickname.
- discord id:mybot rename "<def[nickname]>" guild:<def[guild_id]>


» Use to give a user a new nickname.
- discord id:mybot rename "<def[nickname]>" user:<def[user_id]> guild:<def[guild_id]>
NoteThis command requires the plugin(s) dDiscordBot!
Groupexternal
Warningtags are not yet implemented!



Top
Nameweb
Syntax - Web [start/stop] (port:<#>)
Short DescriptionManages the web server ran on your minecraft server
Full DescriptionLets you start or stop a web server
Only one web server can run on the server at once
The default port when the port argument is not specified, is 80
TODO: Document command details!


Related Tags
Usages

» Use to start the web server on port 10123
- web start port:10123


» Use to stop the web server
- web stop

NoteThis command requires the plugin(s) Webizen!
Groupaddons