Plugin Configuration
Global settings and fixes available in the plugin's config.yml file.
Fixes & Patches
fakeinternaldata command on Minecraft 1.21 and higher.
This patch is provided because the Denizen developers still haven't fixed this command on newer game versions. Default is true.
fixes: # Fix for Denizen 'fakeinternaldata' command on MC 1.21+ fakeinternaldata: true
Overview & Core Setup
Dialog script containers allow you to define native Paper API UI screens rendered on the client side.
Anatomy of a Script
my_dialog: type: dialog base: type: multi title: <gold>Header Title bodies: ... inputs: ... buttons: ...
Universal Base Properties
multi, list, confirm, or notice.true (default), ESC closes the window.Layout: Multi
A versatile form layout. Supports multiple inputs and custom buttons.
Multi-specific `base:` Properties
Multi-specific Root Properties
Layout: List
Designed to display buttons that open other dialog scripts.
List-specific `base:` Properties
List-specific Root Properties
Layout: Confirm
A simple confirmation box with two actions.
Confirm-specific Root Properties
Layout: Notice
A simple alert box.
Notice-specific Root Properties
Components: Inputs
Inputs defined under inputs:. Values available via <context.key_name>.
Text Input (type: text)
max lines and height.Boolean Input (type: boolean)
Number Input (type: number)
"Val: %s").Single Choice (type: single)
id, display, initial).Components: Bodies
Defined under bodies: root key.
message: The text.•
width: Fixed width.item: ItemTag.•
width / height: Visual size.•
show tooltip / decorations: Booleans.•
description: Nested message-type body.Buttons & Actions
Common properties and action types.
Action Types (type:)
script:. Runs Denizen commands.command:. Runs a player command. Must include slash (/).url:. Opens a link.text:. Copies text.Full Example
st: type: dialog base: type: multi title: <yellow>Staff Application columns: 1 bodies: header: type: message message: <gray>Please fill out the form below carefully. inputs: 1: type: text label: Your Real Name key: applicant_name 2: type: number label: Your Age start: 13 end: 99 initial: 18 step: 1 key: applicant_age has_experience: type: boolean label: Previous Experience? buttons: 1: label: <green>Submit Application script: - narrate "Name: <context.applicant_name>" - narrate "Age: <context.applicant_age>" - narrate "Experience: <context.has_experience>" 2: type: OPEN_URL label: Join Support Discord url: https://discord.gg/example

player connection configure
Triggers when a player's connection is being configured (Paper specific).
Contexts
ConnectionTag associated with the joining player.Determinations
Determine
connect mechanism within 1 minute, the connection will be dropped.BiomeTag
Additions for interacting with Biomes.
Tags
ColorTag of the biome's sky color.ColorTag of the biome's skylight color.Mechanisms
Input: ColorTag
Input: ColorTag
ConnectionTag
Methods and properties for interacting with client connections.
Tags
ElementTag containing the player profile's UUID associated with this connection.ElementTag containing the player profile's name associated with this connection.Mechanisms
Input: None
Input: ElementTag
Input: ElementTag
Input: None
PlayerTag
Additions for interacting with Players.
Mechanisms
Input: ElementTag
Input: None
- bmmodel
Attaches a specific BetterModel to an entity or removes an existing one. An entity can have multiple models at once.
- bmmodel entity:<context.entity> model:dragon - bmmodel entity:<context.entity> model:dragon remove
- bmlimb
Plays a specific limb animation for a player or NPC. Target must be a player-type entity.
player_arm from BetterModel's limbs list).PLAY_ONCE (default), LOOP, or HOLD.- bmlimb target:<player> model:player_arm animation:wave loop:PLAY_ONCE
- bmstate
Starts, stops, or modifies animations on a model. Optionally targets specific bones.
BMModelTag instance to target.remove.PLAY_ONCE (default), LOOP, or HOLD.1.0.state given stops all animations.- bmstate model:<[my_model]> state:walk loop:LOOP speed:1.2 - bmstate model:<[my_model]> state:nod bones:head|waist loop:PLAY_ONCE - bmstate model:<[my_model]> state:walk remove
- bmpart
Applies a limb texture from an online player's skin to a specific bone. Useful for player-skin-based models.
BMModelTag to modify.head, chest, right_arm).BetterModel/players templates (e.g. HEAD, TORSO).PlayerTag whose skin provides the texture source.- bmpart model:<[my_model]> bone:head part:HEAD from:<player> - bmpart model:<[my_model]> bone:chest part:TORSO from:<player[PlayerName]>
bm start reload
Triggers when the BetterModel plugin begins the reload process (before models and resource packs are regenerated).
bm end reload
Triggers when the BetterModel plugin finishes reloading models and generating the resource pack.
SUCCESS, FAILURE, or RELOAD.BMModelTag
Prefix: bmmodel@. Represents an active BetterModel tracker instance attached to an entity.
Tags
Mechanisms
CENTER, VERTICAL, HORIZONTAL).BMBoneTag
Prefix: bmbone@. Represents a specific bone within an active model.
Tags
Mechanisms
CENTER, VERTICAL, HORIZONTAL).- skin
Changes the skin of the specified player(s). If no targets are specified, the player attached to the script queue will be used.
http URL, or raw texture data in value;signature format.PlayerTag objects.- skin Notch - skin https://minesk.in/7db... targets:<[some_player]> - skin <player.skin_blob> targets:<server.online_players>
player skin apply
Triggers when a player's skin is being applied via SkinsRestorer.
Contexts
Determinations
value;signature format.PlayerTag (SkinsRestorer)
Tags injected into standard Player objects by the bridge.
CUSTOM (linked to custom value/sig), LEGACY (pre-v15 skin), PLAYER (linked to a player UUID), or URL.player links discord account
Triggers when a Minecraft player successfully links their Discord account.
player unlinks discord account
Triggers when a Minecraft player unlinks their Discord account.
PlayerTag (DiscordSRV)
Tags injected into standard Player objects by the bridge.
null if the player has not linked their Discord account.