Denizen Script Object Types


Object Types are the fundamental types of data passed around in a Denizen script, often seen as the return type of a tag.
Learn about how objects work in The Beginner's Guide.


Showing all 62 object types...

Categories:

Pseudo ObjectType | Core | External


Category: Pseudo ObjectType


NameAreaObject
PrefixNone
Identity FormatN/A
Description"AreaObject" is a pseudo-ObjectType that represents any object that indicates a world-space area, such as a CuboidTag.
Extended ByCuboidTag, EllipsoidTag, PolygonTag
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/AreaContainmentObject.java#L25

NameFlaggableObject
PrefixNone
Identity FormatN/A
Description"FlaggableObject" is a pseudo-ObjectType that represents any type of object that can hold flags,
for use with Command:flag or any other flag related tags and mechanisms.

Just because an ObjectType implements FlaggableObject, does not mean a specific instance of that object type is flaggable.
For example, LocationTag implements FlaggableObject, but a LocationTag-Vector (a location without a world) cannot hold a flag.
Extended ByBiomeTag, ChunkTag, CuboidTag, EllipsoidTag, EnchantmentTag, EntityTag, InventoryTag, ItemTag, LocationTag, MaterialTag, NPCTag, PlayerTag, PluginTag, PolygonTag, WorldTag, QueueTag, ScriptTag, TimeTag, DiscordBotTag, DiscordChannelTag, DiscordCommandTag, DiscordGroupTag, DiscordInteractionTag, DiscordMessageTag, DiscordReactionTag, DiscordRoleTag, DiscordUserTag
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/flags/FlaggableObject.java#L7

NameObjectTag
PrefixNone
Identity FormatN/A
Description"ObjectTag" is a pseudo-ObjectType that represents the fundamental root of all object types.
If a tag says it returns an "ObjectTag", that means it can return any type of tag
(for example MapTag.get[...] returns an object of ... well, whatever type the value happens to be, so it's simply documented as "ObjectTag").
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/ObjectTag.java#L10

NamePropertyHolderObject
PrefixNone
Identity FormatN/A
Description"PropertyHolderObject" is a pseudo-ObjectType that represents any object that holds properties.
Extended ByEntityTag, InventoryTag, ItemTag, MaterialTag, TradeTag
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/properties/PropertyParser.java#L276

Nameserver
PrefixNone
Identity FormatN/A
Description"server" is an internal pseudo-ObjectType that is used as a mechanism adjust target for some global mechanisms.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/tags/core/ServerTagBase.java#L2320

Namesystem
PrefixNone
Identity FormatN/A
Description"system" is an internal pseudo-ObjectType that is used as a mechanism adjust target for some core mechanisms.
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/tags/core/UtilTagBase.java#L472



Category: Core


NameBiomeTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for biomes is a world name, then a comma, then the biome key. For example: 'hub,desert', or 'space,minecraft:desert'.
DescriptionA BiomeTag represents a world biome type. Vanilla biomes are globally available, however some biomes are world-specific when added by datapacks.

A list of all vanilla biomes can be found at URL:https://minecraft.fandom.com/wiki/Biome#Biome_IDs.

BiomeTags without a specific world will work as though they are in the server's default world.

This object type is flaggable.
Flags on this object type will be stored in the server saves file, under special sub-key "__biomes"
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/BiomeTag.java#L29

NameChunkTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for chunks is <x>,<z>,<world>
For example, '[email protected],3,world'.
DescriptionA ChunkTag represents a chunk in the world.

Note that the X/Z pair are chunk coordinates, not block coordinates.
To convert from block coordinates to chunk coordinates, divide by 16 and round downward.
Note that negative chunks are one unit lower than you might expect.
To understand why, simply look at chunks on a number line...
x x x x x
-2 -1 b 0 a 1 2
The block 'a' at block position '1' is in chunk '0', but the block 'b' at block position '-1' is in chunk '-1'.
As otherwise (if 'b' was in chunk '0'), chunk '0' would be double-wide (32 blocks wide instead of the standard 16).

For example, block at X,Z 32,67 is in the chunk at X,Z 2,4
And the block at X,Z -32,-67 is in the chunk at X,Z -2,-5

This object type is flaggable.
Flags on this object type will be stored in the chunk file inside the world folder.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/ChunkTag.java#L32

NameColorTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for colors is <red>,<green>,<blue> or the name of a color.
For example, '[email protected],64,128' or '[email protected]'.
DescriptionA ColorTag represents an RGB color code.

Note that a ColorTag is NOT a base dye color (used by wool, etc). That is handled by a separate naming system.

Construction a ColorTag also accepts 'random' to pick a random RGB color, or hex code like '#FF00FF'.

A list of accepted color names can be found at
URL:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Color.html

Red/green/blue values are each from 0 to 255.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/ColorTag.java#L21

NameCuboidTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject, AreaObject
Identity FormatThe identity format for cuboids is <world>,<x1>,<y1>,<z1>,<x2>,<y2>,<z2>
Multi-member cuboids can simply continue listing x,y,z pairs.
For example, '[email protected],1,2,3,4,5,6'.
DescriptionA CuboidTag represents a cuboidal region in the world.

The word 'cuboid' means a less strict cube.
Basically: a "cuboid" is to a 3D "cube" what a "rectangle" is to a 2D "square".

One 'cuboid' consists of two points: the low point and a high point.
a CuboidTag can contain as many cuboids within itself as needed (this allows forming more complex shapes from a single CuboidTag).

Note that the coordinates used are inclusive, meaning that a CuboidTag always includes the blocks identified as the low and high corner points.
This means for example that a cuboid from "5,5,5" to "5,5,5" will contain one full block, and have a size of "1,1,1".

This object type can be noted.

This object type is flaggable when it is noted.
Flags on this object type will be stored in the notables.yml file.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/CuboidTag.java#L34

NameCustomObjectTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for custom objects is the script name, followed by property syntax listing all fields with their values.
DescriptionCustom objects are custom object types.
They use a script basis to create an object similar to the base object types (ListTag, PlayerTags, etc).

Usage of these should generally be avoided, as they can be considered 'over-engineering'...
That is, using a very complicated solution to solve a problem that can be solved much more simply.

Custom objects exist for experimental reasons. Do not use these in any real scripts.
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/core/CustomObjectTag.java#L19

NameDurationTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for DurationTags is the number of seconds, followed by an 's'.
DescriptionDurations are a unified and convenient way to get a 'unit of time' throughout Denizen.
Many commands and features that require a duration can be satisfied by specifying a number and unit of time, especially command arguments that are prefixed 'duration:', etc.
The unit of time can be specified by using one of the following:
t=ticks (0.05 seconds), s=seconds, m=minutes (60 seconds), h=hours (60 minutes), d=days (24 hours), w=weeks (7 days), y=years (365 days).
Not using a unit will imply seconds.
Examples: 10s, 50m, 1d, 20.

Specifying a range of duration will result in a randomly selected duration that is in between the range specified.
The smaller value should be first. Examples: '10s-25s', '1m-2m'.

The input of 'instant' or 'infinite' will be interpreted as 0 (for use with commands where instant/infinite logic applies).
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/core/DurationTag.java#L18

NameElementTag
Prefix[email protected]
Identity FormatJust the plain text of the element value, no prefix or formatting.
DescriptionElementTags are simple objects that contain a simple bit of text.
Their main usage is within the replaceable tag system,
often times returned from the use of another tag that isn't returning a specific object type, such as a location or entity.
For example, <player.name> or <list[item1|item2|item3].comma_separated> will both return ElementTags.

Pluses to the ElementTag system is the ability to utilize its tag attributes,
which can provide a range of functionality that should be familiar from any other programming language,
such as 'to_uppercase', 'split', 'replace', 'contains', and many more.
See 'ElementTag.*' tags for more information.

While information fetched from other tags resulting in an ElementTag is often times automatically handled,
it may be desirable to utilize element attributes from text/numbers/etc. that aren't already an element object.
To accomplish this, the standard 'element' tag base can be used for the creation of a new element.
For example: <element[This_is_a_test].to_uppercase>
will result in the value 'THIS_IS_A_TEST'.

Note that while other objects often return their object identifier ([email protected], [email protected], [email protected], etc.), elements usually do not (except special type-validation circumstances).
They will, however, recognize the object notation "[email protected]" if it is used.
Extended ByBiomeTag, ChunkTag, ColorTag, CuboidTag, EllipsoidTag, EnchantmentTag, EntityTag, InventoryTag, ItemTag, LocationTag, MaterialTag, PluginTag, PolygonTag, TradeTag, WorldTag, CustomObjectTag, DurationTag, ListTag, MapTag, QueueTag, ScriptTag, TimeTag, AreaShopTag, BigDoorsDoorTag, FactionTag, NationTag, GriefPreventionClaimTag, JobsJobTag, LibsDisguiseTag, LuckPermsTrackTag, PartyTag, MobArenaArenaTag, MythicMobsMobTag, MythicSpawnerTag, PlotSquaredPlotTag, PVPArenaArenaTag, ResidenceTag, ShopKeeperTag, SkillAPIClassTag, TownTag, WorldGuardRegionTag, DiscordBotTag, DiscordButtonTag, DiscordChannelTag, DiscordCommandTag, DiscordEmbedTag, DiscordGroupTag, DiscordInteractionTag, DiscordMessageTag, DiscordReactionTag, DiscordRoleTag, DiscordSelectionTag, DiscordUserTag
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/core/ElementTag.java#L27

NameEllipsoidTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject, AreaObject
Identity FormatThe identity format for ellipsoids is <x>,<y>,<z>,<world>,<x-radius>,<y-radius>,<z-radius>
For example, '[email protected],2,3,space,7,7,7'.
DescriptionAn EllipsoidTag represents an ellipsoidal region in the world.

The word 'ellipsoid' means a less strict sphere.
Basically: an "ellipsoid" is to a 3D "sphere" what an "ellipse" (or "oval") is to a 2D "circle".

This object type can be noted.

This object type is flaggable when it is noted.
Flags on this object type will be stored in the notables.yml file.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/EllipsoidTag.java#L28

NameEnchantmentTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for enchantments is the vanilla ID, Denizen ID, or full key. Can also be constructed by Denizen script name.
For example, '[email protected]', '[email protected]_custom_ench', or '[email protected]:customench'.
DescriptionAn EnchantmentTag represents an item enchantment abstractly (the enchantment itself, like 'sharpness', which *can be* applied to an item, as opposed to the specific reference to an enchantment on a specific item).

This object type is flaggable.
Flags on this object type will be stored in the server saves file, under special sub-key "__enchantments"
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/EnchantmentTag.java#L28

NameEntityTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject, PropertyHolderObject
Identity FormatThe identity format for entities is a spawned entity's UUID, or an entity type.
For example, '[email protected]' or '[email protected]'.
DescriptionAn EntityTag represents a spawned entity, or a generic entity type.

Note that players and NPCs are valid EntityTags, but are generally represented by the more specific
PlayerTag and NPCTag objects.

Note that a spawned entity can be a living entity (a player, NPC, or mob) or a nonliving entity (a painting, item frame, etc).

This object type is flaggable.
Flags on this object type will be stored in the world chunk files as a part of the entity's NBT.
Extended ByNPCTag, PlayerTag
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/EntityTag.java#L57

NameInventoryTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject, PropertyHolderObject
Identity FormatThe identity format for inventories is a the classification type of inventory to use. All other data is specified through properties.
DescriptionAn InventoryTag represents an inventory, generically or attached to some in-the-world object.

Inventories can be generically designed using inventory script containers,
and can be modified using the inventory command.

Valid inventory type classifications:
"npc", "player", "crafting", "enderchest", "workbench", "entity", "location", "generic"

This object type can be noted.

This object type is flaggable when it is noted.
Flags on this object type will be stored in the notables.yml file.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/InventoryTag.java#L54

NameItemTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject, PropertyHolderObject
Identity FormatThe identity format for items is the basic material type name, or an item script name. Other data is specified in properties.
For example, '[email protected]'.
DescriptionAn ItemTag represents a holdable item generically.

ItemTags are temporary objects, to actually modify an item in an inventory you must add the item into that inventory.

ItemTags do NOT remember where they came from. If you read an item from an inventory, changing it
does not change the original item in the original inventory. You must set it back in.

Find a list of valid materials at:
URL:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
Note that some materials on that list are exclusively for use with blocks, and cannot be held as items.

This object type is flaggable.
Flags on this object type will be stored in the item NBT.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/ItemTag.java#L43

NameListTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for ListTags is each item, one after the other, in order, separated by a pipe '|' symbol.
For example, for a list of 'taco', 'potatoes', and 'cheese', it would be '[email protected]|potatoes|cheese|'
A list with zero items in it is simply '[email protected]',
and a list with one item is just the one item and a pipe on the end.

If the pipe symbol "|" appears in a list entry, it will be replaced by "&pipe",
similarly if an ampersand "&" appears in a list entry, it will be replaced by "&amp".
This is a subset of Denizen standard escaping, see Language:Escaping System.
DescriptionA ListTag is a list of any data. It can hold any number of objects in any order.
The objects can be of any Denizen object type, including another list.

List indices start at 1 (so, the tag 'get[1]' gets the very first entry)
and extend to however many entries the list has (so, if a list has 15 entries, the tag 'get[15]' gets the very last entry).
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/core/ListTag.java#L31

NameLocationTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for locations is <x>,<y>,<z>,<pitch>,<yaw>,<world>
Note that you can leave off the world, and/or pitch and yaw, and/or the z value.
You cannot leave off both the z and the pitch+yaw at the same time.
For example, '[email protected],2.15,3,45,90,space' or '[email protected],99,3.2'
DescriptionA LocationTag represents a point in the world.

Note that 'l' prefix is a lowercase 'L', the first letter in 'location'.

This object type is flaggable.
Flags on this object type will be stored in the chunk file inside the world folder.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java#L62

NameMapTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for MapTags is a replica of property syntax - square brackets surrounded a semi-colon separated list of key=value pairs.
For example, a map of "taco" to "food", "chicken" to "animal", and "bob" to "person" would be "[email protected][taco=food;chicken=animal;bob=person]"
A map with zero items in it is simply '[email protected][]'.

If the semicolon symbol ";" appears in a key or value, it will be replaced by "&sc", an equal sign "=" will become "&eq",
a left bracket "[" will become "&lb", a right bracket "]" will become "&rb", and an ampersand "&" will become "&amp".
This is a subset of Denizen standard escaping, see Language:Escaping System.
DescriptionA MapTag represents a mapping of keys to values.
Keys are plain text, case-insensitive.
Values can be anything, even lists or maps themselves.

Any given key can only appear in a map once (ie, no duplicate keys).
Values can be duplicated into multiple keys without issue.

Order of keys is preserved. Casing in keys is preserved in the object but ignored for map lookups.
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/core/MapTag.java#L19

NameMaterialTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject, PropertyHolderObject
Identity FormatThe identity format for materials is the material type name.
For example, '[email protected]'.
DescriptionA MaterialTag represents a material (a type of block or item).

Block materials may sometimes also contain property data,
for specific values on the block material such as the growth stage of a plant or the orientation of a stair block.

Material types: URL:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html.

This object type is flaggable.
Flags on this object type will be stored in the server saves file, under special sub-key "__materials"
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/MaterialTag.java#L33

NameNPCTag
Prefix[email protected]
Base TypeEntityTag
ImplementsFlaggableObject
Identity FormatThe identity format for NPCs is the NPC's id number.
For example, '[email protected]'.
Or, an NPC's id number, followed by a comma, followed by a custom registry name.
For example '[email protected],specialnpcs'
DescriptionAn NPCTag represents an NPC configured through Citizens.

This object type is flaggable.
Flags on this object type will be stored in the Citizens saves.yml file, under the 'denizen_flags' trait.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/NPCTag.java#L50

NamePlayerTag
Prefix[email protected]
Base TypeEntityTag
ImplementsFlaggableObject
Identity FormatThe identity format for players is the UUID of the relevant player.
DescriptionA PlayerTag represents a player in the game.

This object type is flaggable.
Flags on this object type will be stored in the file "plugins/Denizen/player_flags/(UUID).dat",
with automatic loading only when the player is online and caching for interacting with offline player flags.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/PlayerTag.java#L62

NamePluginTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for plugins is the plugin's registered name.
For example, '[email protected]'.
DescriptionA PluginTag represents a Bukkit plugin on the server.

This object type is flaggable.
Flags on this object type will be stored in the server saves file, under special sub-key "__plugins"
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/PluginTag.java#L21

NamePolygonTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject, AreaObject
Identity FormatThe identity format for polygons is <world>,<y-min>,<y-max>,<x1>,<z1>,... (the x,z pair repeats for as many points as the polygon has).
DescriptionA PolygonTag represents a polygonal region in the world.

The word 'polygon' means an arbitrary 2D shape.
PolygonTags, in addition to a 2D polygon, contain a minimum and maximum Y coordinate, to allow them to function in 3D.

PolygonTags are NOT polyhedra.

A PolygonTag with 4 points at right angles would cover an area also possible to be defined by a CuboidTag, however all other shapes a PolygonTag can form are unique.

Compared to CuboidTags, PolygonTags are generally slower to process and more complex to work with, but offer the benefit of supporting more intricate shapes.

Note that forming invalid polygons (duplicate corners, impossible shapes, etc) will not necessarily give any error message, and may cause weird results.

This object type can be noted.

This object type is flaggable when it is noted.
Flags on this object type will be stored in the notables.yml file.
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/PolygonTag.java#L27

NameQueueTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for queues is simply the queue ID.
DescriptionA QueueTag is a single currently running set of script commands.
This is not to be confused with a script path, which is a single set of script commands that can be run.
There can be one, multiple, or zero queues running at any time for any given path.

This object type is flaggable.
Flags on this object type will be reinterpreted as definitions.
Flags on queues should just not be used. Use definitions directly.
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/core/QueueTag.java#L22

NameScriptTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for scripts is simply the script name.
DescriptionA ObjectTag that represents a script container. ScriptTags contain all information inside the script,
and can be used in a variety of commands that require script arguments.
For example, run and inject will 'execute' script entries inside of a script container when given a matching ScriptTag object.

ScriptTags also provide a way to access attributes accessed by the replaceable tag system by using the object fetcher or any other entry point to a ScriptTag object.

This object type is flaggable.
Flags on this object type will be stored in the server saves file, under special sub-key "__scripts"
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/core/ScriptTag.java#L78

NameTimeTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for TimeTags is "yyyy/mm/dd_hh:mm:ss:mill_offset"
So, for example, '[email protected]/05/23_02:20:31:123_-07:00'
DescriptionA TimeTag represents a real world date/time value.

TimeTags can also be constructed from 'yyyy/mm/dd', 'yyyy/mm/dd_hh:mm:ss', or 'yyyy/mm/dd_hh:mm:ss:mill'.
(Meaning: the offset is optional, the milliseconds are optional, and the time-of-day is optional,
but if you exclude an optional part, you must immediately end the input there, without specifying more).

This object type is flaggable.
Flags on this object type will be stored in the server saves file, under special sub-key "__time"
Sourcehttps://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/com/denizenscript/denizencore/objects/core/TimeTag.java#L26

NameTradeTag
Prefix[email protected]
Base TypeElementTag
ImplementsPropertyHolderObject
Identity FormatThe identity format for trades is just the text 'trade'. All other data is specified through properties.
DescriptionMerchant trades are the parts of a special merchant inventory that is typically viewed by right clicking
a villager entity. Any number of trades can fit in a single merchant inventory.

Trades are represented by TradeTags.

The properties that can be used to customize a merchant trade are:

result=<item>
inputs=<item>(|<item>)
uses=<number of uses>
max_uses=<maximum number of uses>
has_xp=true/false

For example, the following command opens a virtual merchant inventory with two merchant trades.
The first trade offers a sponge for two emeralds, can be used up to 10 times,
and offers XP upon a successful transaction.
The second trade has zero maximum uses and displays a barrier.

- opentrades trade[max_uses=10;inputs=emerald[quantity=2];result=sponge]|trade[result=barrier]
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/TradeTag.java#L17

NameWorldTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for worlds is the name of the world it should be associated with.
For example, to reference the world named 'world1', use simply 'world1'.
World names are case insensitive.
DescriptionA WorldTag represents a world on the server.

This object type is flaggable.
Flags on this object type will be stored in the world folder in a file named 'denizen_flags.dat', like "server/world/denizen_flags.dat".
Sourcehttps://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/WorldTag.java#L51



Category: External


NameAreaShopTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for shops is <shop_name>
For example, '[email protected]_shop'.
DescriptionAn AreaShopTag represents an AreaShop shop.
RequiresDepenizen, AreaShop
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/areashop/AreaShopTag.java#L19

NameBigDoorsDoorTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for a door is it's Door ID as a number. NOT the name of the door you have set.
For example, '[email protected]'.
DescriptionA BigDoorsDoorTag represents a Big Doors door.
RequiresDepenizen, Big Doors
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/bigdoors/BigDoorsDoorTag.java#L22

NameDiscordBotTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for Discord bots is the bot ID (as chosen in Command:discord).
For example: mybot
DescriptionA DiscordBotTag is an object that represents a Discord bot powered by dDiscordBot.

This object type is flaggable.
Flags on this object type will be stored in: plugins/dDiscordBot/flags/bot_(botname).dat
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordBotTag.java#L20

NameDiscordButtonTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for Discord button is a map of button data. Do not alter raw button data, use the with.as tag instead.
DescriptionA DiscordButtonTag is an object that represents a Discord button for use with dDiscordBot.
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordButtonTag.java#L23

NameDiscordChannelTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for Discord channels is the bot ID (optional), followed by the channel ID (required).
For example: 1234
Or: mybot,1234
DescriptionA DiscordChannelTag is an object that represents a channel (text or voice) on Discord, either as a generic reference,
or as a bot-specific reference (the relevant guild is inherently linked, and does not need to be specified).

This object type is flaggable.
Flags on this object type will be stored in: plugins/dDiscordBot/flags/bot_(botname).dat, under special sub-key "__channels"
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordChannelTag.java#L21

NameDiscordCommandTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for Discord commands is the bot ID (optional), followed by the guild ID (optional), followed by the command ID (required).
For example: 1234
Or: 12,1234
Or: mybot,12,1234
DescriptionA DiscordCommandTag is an object that represents a created slash command on Discord, as a bot-specific reference.

This object type is flaggable.
Flags on this object type will be stored in: plugins/dDiscordBot/flags/bot_(botname).dat, under special sub-key "__commands"
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordCommandTag.java#L28

NameDiscordEmbedTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for Discord embeds is a map of embed data. Do not alter raw embed data, use the with.as tag instead.
DescriptionA DiscordEmbedTag is an object that represents a Discord embed for use with dDiscordBot.
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordEmbedTag.java#L26

NameDiscordGroupTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for Discord groups is the bot ID (optional), followed by the guild ID (required).
For example: 1234
Or: mybot,1234
DescriptionA DiscordGroupTag is an object that represents a group on Discord, either as a generic reference,
or as a bot-specific reference.

Note that the correct name for what we call here a 'group' is inconsistent between different people.
The Discord API calls it a "guild" (for historical reasons, not called that by *people* anymore usually),
messages in the Discord app call it a "server" (which is a convenient name but is factually inaccurate, as they are not servers),
many people will simply say "a Discord" (which is awkward for branding and also would be confusing if used in documentation).
So we're going with "group" (which is still confusing because "group" sometimes refers to DM groups, but... it's good enough).

This object type is flaggable.
Flags on this object type will be stored in: plugins/dDiscordBot/flags/bot_(botname).dat, under special sub-key "__guilds"
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordGroupTag.java#L22

NameDiscordInteractionTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for Discord interactions is the bot ID, followed by the interaction ID.
For example: mybot,5678
DescriptionA DiscordInteractionTag is an object that represents an interaction on Discord, either as a generic reference, or as a bot-specific reference.
Interactions are temporary - they only exist for 15 minutes.

This object type is flaggable.
Flags on this object type will be stored in temporary memory.
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordInteractionTag.java#L29

NameDiscordMessageTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for Discord messages is the bot ID (optional), followed by the channel ID (optional), followed by the message ID (required).
For example: 1234
Or: 12,1234
Or: mybot,12,1234
DescriptionA DiscordMessageTag is an object that represents a message already sent on Discord, either as a generic reference,
or as a bot-specific reference.
Note that this is not used for messages that *are going to be* sent.
Note that this often does not contain data for messages that have been deleted (unless that data is cached).

This object type is flaggable.
Flags on this object type will be stored in: plugins/dDiscordBot/flags/bot_(botname).dat, under special sub-key "__messages"
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordMessageTag.java#L25

NameDiscordReactionTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for Discord reactions is the bot ID, followed by the channel ID, followed by the message ID, followed by the reaction ID.
Or: mybot,12,1234,99
The reaction ID for custom reactions is an ID number, and for default emojis is the unicode text format of the emoji.
DescriptionA DiscordReactionTag is an object that represents a reaction to a message already sent on Discord, as a generic reference.

This object type is flaggable.
Flags on this object type will be stored in: plugins/dDiscordBot/flags/bot_(botname).dat, under special sub-key "__reactions"
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordReactionTag.java#L25

NameDiscordRoleTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for Discord roles is the bot ID (optional), followed by the guild ID (optional), followed by the role ID (required).
For example: 4321
Or: 1234,4321
Or: mybot,1234,4321
DescriptionA DiscordRoleTag is an object that represents a role on Discord, either as a generic reference,
or as a guild-specific reference, or as a bot+guild-specific reference.

This object type is flaggable.
Flags on this object type will be stored in: plugins/dDiscordBot/flags/bot_(botname).dat, under special sub-key "__roles"
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordRoleTag.java#L24

NameDiscordSelectionTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for Discord selection menu is a map of menu data. Do not alter raw menu data, use the with.as tag instead.
DescriptionA DiscordSelectionTag is an object that represents a Discord selection menu for use with dDiscordBot.
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordSelectionTag.java#L24

NameDiscordUserTag
Prefix[email protected]
Base TypeElementTag
ImplementsFlaggableObject
Identity FormatThe identity format for Discord users is the bot ID (optional), followed by the user ID (required).
For example: 1234
Or: mybot,1234
DescriptionA DiscordUserTag is an object that represents a user (human or bot) on Discord, either as a generic reference,
or as a bot-specific reference.

This object type is flaggable.
Flags on this object type will be stored in: plugins/dDiscordBot/flags/bot_(botname).dat, under special sub-key "__users"
RequiresdDiscordBot
Sourcehttps://github.com/DenizenScript/dDiscordBot/blob/master/src/main/java/com/denizenscript/ddiscordbot/objects/DiscordUserTag.java#L25

NameFactionTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for factions is <faction_name>
For example, '[email protected]_faction'.
DescriptionA FactionTag represents a Factions faction.
RequiresDepenizen, Factions
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/factions/FactionTag.java#L21

NameGriefPreventionClaimTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for claims is <claim_id>
For example, '[email protected]'.
DescriptionA GriefPreventionClaimTag represents a GriefPrevention claim.
RequiresDepenizen, GriefPrevention
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/griefprevention/GriefPreventionClaimTag.java#L26

NameJobsJobTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for jobs is <job_name>
For example, '[email protected]_name'.
DescriptionA JobsJobTag represents a Jobs job.
RequiresDepenizen, Jobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/jobs/JobsJobTag.java#L18

NameLibsDisguiseTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for disguises is <disguise_name>
For example, '[email protected]'.
DescriptionA LibsDisguiseTag represents a LibsDisguises disguise type.
RequiresDepenizen, LibsDisguises
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/libsdisguises/LibsDisguiseTag.java#L17

NameLuckPermsTrackTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for tracks is <track_name>
For example, '[email protected]_track'.
DescriptionA LuckPermsTrackTag represents a LuckPerms track.
RequiresDepenizen, LuckPerms
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/luckperms/LuckPermsTrackTag.java#L23

NameMobArenaArenaTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for arenas is <arena_name>
For example, '[email protected]_arena'.
DescriptionA MobArenaArenaTag represents a mob arena in the world.
RequiresDepenizen, MobArena
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/mobarena/MobArenaArenaTag.java#L18

NameMythicMobsMobTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for MythicMobsMobTag is <uuid>
For example, '[email protected]'.
DescriptionA MythicMobsMobTag represents a Mythic mob entity in the world.
RequiresDepenizen, MythicMobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/mythicmobs/MythicMobsMobTag.java#L28

NameMythicSpawnerTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for a MythicSpawner is its name.
For example, '[email protected]'.
DescriptionA MythicSpawnerTag represents a MythicMobs spanwer in the world.
RequiresDepenizen, MythicMobs
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/mythicmobs/MythicSpawnerTag.java#L29

NameNationTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for nations is <nation_name>
For example, '[email protected]_nation'.
DescriptionA NationTag represents a Factions nation.
RequiresDepenizen, Factions
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/factions/NationTag.java#L19

NamePartyTag
Prefixpart[email protected]
Base TypeElementTag
Identity FormatThe identity format for parties is <party_name>
For example, '[email protected]_party'.
DescriptionA PartyTag represents an McMMO party.
RequiresDepenizen, McMMO
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/mcmmo/PartyTag.java#L20

NamePlotSquaredPlotTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for plots is <x>,<z>,<world>
For example, '[email protected],10,Hub'.
DescriptionA PlotSquaredPlotTag represents a PlotSquared plot in the world.
RequiresDepenizen, PlotSquared
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/plotsquared/PlotSquaredPlotTag.java#L25

NamePVPArenaArenaTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for arenas is <arena_name>
For example, '[email protected]'.
DescriptionA PVPArenaArenaTag represents a PvP Arena in the world.
RequiresDepenizen, PvPArena
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/pvparena/PVPArenaArenaTag.java#L17

NameResidenceTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for residences is <residence_name>
For example, '[email protected]'.
DescriptionA ResidenceTag represents a Residence in the world.
RequiresDepenizen, Residence
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/residence/ResidenceTag.java#L17

NameShopKeeperTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for shopkeepers is <uuid>
For example, '[email protected]'.
DescriptionA ShopKeeperTag represents a ShopKeeper entity in the world.
RequiresDepenizen, Shopkeepers
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/shopkeepers/ShopKeeperTag.java#L27

NameSkillAPIClassTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for regions is <class_name>
For example, '[email protected]'.
DescriptionA SkillAPIClassTag represents a SkillAPI class.
RequiresDepenizen, SkillAPI
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/skillapi/SkillAPIClassTag.java#L14

NameTownTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for towns is <town_name>
For example, '[email protected]'.
DescriptionA TownTag represents a Towny town in the world.
RequiresDepenizen, Towny
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/towny/TownTag.java#L24

NameWorldGuardRegionTag
Prefix[email protected]
Base TypeElementTag
Identity FormatThe identity format for regions is <region_name>,<world_name>
For example, '[email protected],Hub'.
DescriptionA WorldGuardRegionTag represents a WorldGuard region in the world.
RequiresDepenizen, WorldGuard
Sourcehttps://github.com/DenizenScript/Depenizen/blob/master/src/main/java/com/denizenscript/depenizen/bukkit/objects/worldguard/WorldGuardRegionTag.java#L29