Strikes-Dialogues
Level Up Your Server’s Storytelling! Tired of flat, boring chat messages for quests, tutorials, or NPC interactions? Strikes-Dialogues transforms how you communicate with players, replacing static text with captivating, animated dialogues presented dynamically right on their screen!What Can Strikes-Dialogues Do?
Imagine guiding new players with an animated tutorial, delivering quest information through immersive character speech, or creating interactive narratives – all without clogging the chat. Strikes-Dialogues makes it possible by presenting text line-by-line, across multiple pages, using a unique on-screen visual system. It’s perfect for:- 📜 Dynamic Storytelling & Quests: Bring your server’s lore and adventures to life.
- 🎓 Interactive Tutorials: Guide players through server features visually.
- 🗣️ Engaging NPC Interactions: Give your non-player characters a real voice.
- 📢 Important Announcements: Display key information in an unmissable way.
Unleash Your Creativity: Key Features
Strikes-Dialogues packs a punch with features designed for flexibility and immersion:- ✨ Dynamic Animated Text: Watch text appear character-by-character for a cinematic feel.
- 📚 Complex Dialogue Structures: Build dialogues with multiple lines showing at once and sequences spanning multiple pages.
- 🎨 Full Visual Control: Customize everything! Use MiniMessage & legacy codes for text colors, gradients, and styles. Choose display colors and visual styles per dialogue or globally.
- 🔊 Immersive Sound Design: Add unique typing sounds and distinct sounds when dialogues begin.
- ⚡ Automated Post-Dialogue Actions: Trigger console commands, player commands, messages, server-wide broadcasts, or sounds automatically when a dialogue ends.
- 🔗 PlaceholderAPI Integration: Seamlessly pull in player stats, server info, and more directly into your dialogues and actions.
- 🔒 Enhanced Immersion Controls: (Optional) Keep players focused by restricting movement, adding a subtle zoom effect, or even locking their camera view during dialogues (requires ProtocolLib).
- ⚙️ Simple Yet Powerful Configuration: Define everything – dialogues, defaults, messages – in a well-structured
config.yml
. - 🚀 Easy In-Game Triggering: Use simple commands to start dialogues, including a custom command for quick, on-the-fly messages.
Dive Deeper!
Ready to transform your server’s interactions? Explore the documentation using the sidebar to learn about:- Configuration: Mastering the
config.yml
. - Commands & Permissions: Putting the plugin into action.
- Creating Dialogues: Craft your own narratives.
- Text Formatting Guide: Style your dialogues.
- Advanced Features: Unlock powerful capabilities.
Required Dependencies
Optional Dependencies
Commands & Permissions
This page lists the commands provided by Strikes-Dialogues and the permissions required to use them.Commands
-
/sd <dialogueId> [player]
- Alias:
/startdialogue <dialogueId> [player]
- Description: Starts a pre-defined dialogue (specified by
<dialogueId>
) for yourself or optionally for another[player]
. - Usage:
- To start for yourself:
/sd <dialogueId>
- To start for another player:
/sd <dialogueId> <playerName>
- To start for yourself:
- Alias:
-
/sd custom <line1>,[line2],...
- Description: Displays a quick, temporary dialogue to yourself using the provided text lines. Lines are separated by commas. Maximum lines are defined in
config.yml
. - Usage:
/sd custom Hello %player_name%!,Welcome to the server.
- (Note: This command can only be run by a player)
- Description: Displays a quick, temporary dialogue to yourself using the provided text lines. Lines are separated by commas. Maximum lines are defined in
-
/sdreload
- Alias:
/dialoguereload
- Description: Reloads the plugin’s
config.yml
file. - Usage:
/sdreload
- Alias:
Permissions
strikesdialogues.start.others
- Description: Allows a player to start pre-defined dialogues for other online players using
/sd <dialogueId> [player]
.
- Description: Allows a player to start pre-defined dialogues for other online players using
strikesdialogues.custom
- Description: Allows a player to use the
/sd custom ...
command.
- Description: Allows a player to use the
strikesdialogues.reload
- Description: Allows a user (player or console) to reload the plugin’s configuration using
/sdreload
.
- Description: Allows a user (player or console) to reload the plugin’s configuration using
Configuration
Strikes-Dialogues | Full Configuration Guide Welcome to the full configuration guide for Strikes-Dialogues! 🌟 Here, we’ll cover every setting in yourconfig.yml
file, providing you with detailed descriptions and tips on how to customize the plugin to your exact needs.
Table of Contents
- General Dialogue Settings
- Predefined Dialogues
- Plugin Messages
General Dialogue Settings
This section contains global settings for all dialogues. These configurations control how dialogues are presented and behave on your server.persistent-background-line
- Type:
String
- Default:
&f
- Defines the background line displayed throughout dialogues. This is useful for adding a visual effect behind the dialogue text, enhancing the player experience. You can change this to any symbol or character you prefer. 🖼️
- Type:
default-animation-delay-ticks
- Type:
Long
- Default:
2
- Controls the delay between the animation of each line, measured in Minecraft ticks. Increasing this value will slow down the dialogue’s appearance, giving players more time to read each line. ⏳
- Type:
default-bar-color
- Type:
BarColor
- Default:
BLUE
- Uses the invisible boss bar from your resource pack (Do not change if not important)
- Type:
default-bar-style
- Type:
BarStyle
- Default:
SOLID
- Uses the invisible boss bar from your resource pack (Do not change if not important)
- Type:
default-hold-time-ticks
- Type:
Long
- Default:
40
- This setting determines how long the dialogue will hold on a page before moving to the next one. If you want the dialogue to last longer, increase the value. 🕒
- Type:
default-typing-sound
- Type:
String
- Default:
"ui.button.click"
- The sound that plays when the dialogue text is being typed. You can change it to any Minecraft sound to match the atmosphere. 🎧
- Type:
default-typing-volume
- Type:
Float
- Default:
0.3
- Controls the volume of the typing sound. You can lower or raise this depending on how audible you want the typing sound to be. 🎵
- Type:
default-typing-pitch
- Type:
Float
- Default:
1.8
- Adjusts the pitch of the typing sound. A higher pitch makes the sound more pronounced, while a lower pitch makes it subtler. 🔊
- Type:
enable-movement-restriction
- Type:
Boolean
- Default:
true
- When enabled, players will be restricted from moving while a dialogue is active. This ensures that players focus on the dialogue and prevents them from moving away. 🚶♂️🚫
- Type:
custom-command-max-lines
- Type:
Integer
- Default:
4
- Limits the number of lines a custom command dialogue can contain. If you try to exceed this number, the dialogue will be cut off. 📝
- Type:
custom-command-background-char
- Type:
String
- Default:
&f
- Defines the background character for custom commands. Similar to
persistent-background-line
, this creates a background for custom command dialogues. 🖋️
- Type:
placeholderapi-enabled
- Type:
Boolean
- Default:
true
- Enables PlaceholderAPI integration for dynamic placeholders. This allows you to insert things like the player’s name, balance, world, etc. in your dialogues. 🌐
- Type:
end-action-delay-ticks
- Type:
Long
- Default:
0
- Defines the delay before executing end actions after a dialogue ends. If you want a pause before actions trigger, adjust this value. ⏲️
- Type:
lock-perspective
- Type:
Boolean
- Default:
true
- Locks the player’s perspective during the dialogue. This prevents them from looking away, keeping their focus on the dialogue. 👁️
- Type:
debug-logging
- Type:
Boolean
- Default:
false
- When enabled, this will print debug information to the console. It’s useful for developers or testers who need to troubleshoot. 💻
- Type:
Predefined Dialogues
This section contains the premade dialogues that come with Strikes-Dialogues. These dialogues can be easily customized or replaced.-
welcome_intro
- This is a welcoming dialogue for players joining your server. It can display the player’s name, balance, and other custom messages.
- Settings:
animation-delay-ticks
: Adjusts how quickly the text is animated.typing-sound
: No typing sound in this dialogue (set to""
).start-sound
: No start sound (set to""
).
- Pages:
- This dialogue includes two pages:
- Page 1:
Hello %player_name%!
Welcome to the world of unknown.
Balance: %vault_eco_balance_fixed%
- Page 2:
SECOND PAGE <3 %player_name%!
Support PlaceholdersAPI %player_world%
- Page 1:
- This dialogue includes two pages:
- End Actions:
Console: say Player %player_name% finished welcome_intro
Message: &aDialogue complete!
-
hardsample
- This dialogue shows off more advanced features, such as placeholders and gradient text.
- Settings:
persistent-background-line
:"<#FFFFFF>"
animation-delay-ticks
:1
typing-sound
:"ui.button.click"
start-sound
:"hardsample"
- Pages:
- This dialogue includes a few pages:
- Page 1:
&9This dialogue showcases various features.
&6&lPlaceholderAPI Supported &8| &2Current World: %player_world%
- Page 2:
Server Performance: %server_tps% TPS
Location: X:%player_x% Y:%player_y% Z:%player_z%
Gamemode: %player_gamemode%
- Page 1:
- This dialogue includes a few pages:
- End Actions:
Console: say Dialogue Finished!
Message: &aDialogue Finished! Hope you learned something!
Player Action: me Is impressed by the dialogue features!
Broadcast: &e[Server] %player_name% just experienced the enhanced dialogue system!
Sound: entity.player.levelup volume:0.8 pitch:1.2
[CONSOLE]
: Execute as console[PLAYER]
: Execute as player[BROADCAST]
: Broadcast to all players (Act as message)[SOUND]
: Play sound after dialogue is finished[MESSAGE]
: Send message to player
-
no_background_dialogue
- This is a basic dialogue with no persistent background.
- Settings:
persistent-background-line
:""
(No background line)
- Pages:
- Page 1:
&aThis dialogue has no persistent background.
- Page 1:
Plugin Messages
This section defines all the messages used by the plugin for interactions with players and admins.no-permission
- Message:
&cYou don't have permission for that.
- Shown when a player tries to use a command they don’t have permission for.
- Message:
player-only
- Message:
&cThis command can only be run by a player.
- Displayed when a command can only be executed by a player.
- Message:
dialogue-not-found
- Message:
&cDialogue '{id}' could not be found.
- This message is shown when the requested dialogue doesn’t exist.
- Message:
custom-line-limit
- Message:
&cYou can only use up to {limit} lines for custom dialogues.
- Displayed when the player exceeds the maximum line limit for custom dialogues.
- Message:
reload-success
- Message:
<#00AA00>Strikes-Dialogues configuration reloaded successfully.
- This message confirms that the plugin’s configuration has been successfully reloaded.
- Message:
reload-fail
- Message:
&cConfiguration reload failed. Check console for errors.
- Displayed when an error occurs during the reload process.
- Message:
must-be-on-ground
- Message:
&cYou must be standing firmly on the ground to start a dialogue!
- This message appears when a player is not on the ground but attempts to start a dialogue.
- Message:
Default config.yml
your_dialogue_id
: This is the unique ID for your dialogue. Make sure it’s descriptive and easy to remember. Used in/sd your_dialogue_id
.settings
: This section allows you to customize how the dialogue behaves, overriding global defaults. You can set animation delays, sounds, and more.pages
: The dialogue text is split into pages. Each page is a list (-
) of lines (-
). Lines are shown sequentially with animation.end-actions
: This is where you define the actions that happen after the dialogue is finished, like sending messages or executing commands.
Setting Up Dialogue Pages
Each dialogue consists of pages that contain multiple lines of text. The text will be shown one line at a time, with animations and sound effects. Here’s a breakdown of how to structure the pages:- Multiple Lines: Each page (
-
) can have multiple lines (-
), allowing for rich content. - Line Breaks: Each string in the list represents a new line displayed. To create a visual break, use separate lines.
- Customization: You can apply formatting (like colors, gradients, etc.) to make the dialogue more visually appealing. Example:
<#FF6347>Welcome!</#FF6347>
or&cImportant!
. Refer to the Text Formatting Guide for more details.
- Color: Use hex color codes like
<#FF6347>
or predefined color names (red, blue, etc.) or legacy codes like&c
. - Gradient: Add color gradients to text, like this:
<gradient:#FF6347:#FFFF00>Gradient Text</gradient>
.
Using Placeholders
Strikes-Dialogues supports PlaceholderAPI, which allows you to dynamically insert player-specific information into the dialogue text and end actions. Ensureplaceholderapi-enabled
is true
in config.yml
.
Common Placeholders:
%player_name%
– The name of the player.%vault_eco_balance_formatted%
– The player’s balance (if using Vault).%player_world%
– The world the player is currently in.%server_tps%
– The current server TPS (ticks per second).%player_x%
,%player_y%
,%player_z%
– The player’s location coordinates.- (Any other PlaceholderAPI placeholder)
Adding Actions
Once your dialogue is finished, you might want to add end actions that occur after the dialogue ends (and after theend-action-delay-ticks
). These actions could be things like sending a message to the player, executing a command, or broadcasting a message to the server.
Example of End Actions:
[CONSOLE] <command>
: Executes a command in the console.[PLAYER] <command>
: Executes a command as the player.[MESSAGE] <message>
: Sends a message to the player.[SOUND] <sound_key> [volume:<vol>] [pitch:<pitch>]
: Plays a sound for the player.[BROADCAST] <message>
: Broadcasts a message to the whole server.[TELEPORT] <world> <x> <y> <z> [yaw] [pitch]
: Teleports the player (syntax might vary, check plugin specifics).- (Check for others if available)
Advanced Features
Strikes-Dialogues also supports some advanced features to make your dialogues even more immersive:- Persistent Background: Keep the background line visible across all pages. Set
persistent-background-line
in the dialogue’ssettings
. - Locking Perspective: Prevent players from looking around during dialogue. Set
lock-perspective: true
insettings
(requires ProtocolLib). - Zoom Effect: Apply a zoom effect during dialogue. Set
enable-zoom-effect: true
and optionallyzoom-walk-speed
insettings
(requires ProtocolLib).
Wrapping It Up!
Now that you’ve learned how to create a custom dialogue, you can mix and match different settings, pages, actions, and placeholders to create a truly dynamic experience for your players! 🎮 The possibilities are endless with Strikes-Dialogues, so go ahead and create immersive, engaging, and interactive dialogues for your Minecraft server! ✨ Happy Configuring! 🎉Text Formatting Guide
Welcome to the Text Formatting Guide! 🎨 This section is dedicated to teaching you all the cool formatting tricks you can use to enhance the text in your dialogues using MiniMessage and Legacy codes. Whether you’re aiming for colorful text or special effects, we’ve got you covered! 🌈 In this guide, you’ll learn how to use colors, gradients, and other basic formatting techniques to create stunning dialogues that stand out.Table of Contents
- Legacy Color Codes
- MiniMessage Formatting (Recommended)
- Colors
- Gradients
- Styles (Bold, Italic, etc.)
- Click/Hover Events (Advanced)
Legacy Color Codes
You can use Minecraft’s built-in color codes (&
followed by a character) for basic formatting.
Color Codes:
&0
Black,&1
Dark Blue,&2
Dark Green,&3
Dark Aqua,&4
Dark Red,&5
Dark Purple,&6
Gold,&7
Gray,&8
Dark Gray,&9
Blue&a
Green,&b
Aqua,&c
Red,&d
Light Purple,&e
Yellow,&f
White
&l
Bold&o
Italic&n
Underlined&m
Strikethrough&k
Obfuscated&r
Reset (Removes previous formatting)
MiniMessage Formatting (Recommended)
MiniMessage offers a more powerful and flexible way to format text, including gradients, hex colors, click/hover events, and more. It uses tags like<tag>
and <tag:value>
.
Colors:
- Named Colors:
<red>
,<blue>
,<gold>
, etc. - Hex Colors:
<#FF0000>
(Red),<#34ebdb>
(Aqua)
- Create smooth transitions between colors.
- Syntax:
<gradient:color1:color2[:color3...]>Text</gradient>
- Example:
<gradient:#FF6347:#FFFF00>This text fades from orange to yellow</gradient>
- Example of Gradient Text:
<bold>
or<b>
for Bold<italic>
or<i>
for Italic<underlined>
or<u>
for Underlined<strikethrough>
or<st>
forStrikethrough<obfuscated>
or<obf>
for Obfuscated<reset>
to remove previous formatting.- Tags automatically close at the end of the string or when another tag of the same type starts, or use closing tags like
</bold>
.
- Click Event:
<click:run_command:/say hello>Click me!</click>
- Hover Event:
<hover:show_text:'<red>Tooltip!'>Hover over me!</hover>
Wrapping It Up
Text formatting is a powerful tool in Strikes-Dialogues. MiniMessage is highly recommended for its flexibility, especially with gradients and hex colors. Experiment with different styles to make your dialogues visually appealing and engaging! ✨ Now you have all the tools to start creating exciting and formatted dialogues that grab your players’ attention. Enjoy experimenting with different styles and have fun customizing your server dialogues! 🚀 Happy Formatting! 🎉Advanced Features
Welcome to the Advanced Features guide! 🚀 This section dives into some of the more powerful functionalities of the Strikes-Dialogues plugin, helping you to create a more dynamic and interactive experience for your players. Whether you’re looking to implement advanced effects, execute custom commands, or control specific player interactions, these features will allow you to take your dialogues to the next level! ✨Table of Contents
- Persistent Background Line
- Locking Player’s Perspective (ProtocolLib)
- Zoom Effect (ProtocolLib) (Temporarily Removed - Will be added back soon)
- Custom End Actions
- Placeholders and Dynamic Content
Persistent Background Line
The persistent background line allows you to add a background element (like a character or symbol) that remains visible throughout all pages of a specific dialogue, rather than potentially changing or disappearing if different pages had different background settings (though typically the background is consistent). This can create a more cohesive visual experience for players. How to Use: Define it in thesettings
section of a specific dialogue in config.yml
to override the global default, or rely on the global dialogue-settings.persistent-background-line
.
- The
&f
character (or<#FFFFFF>
for the specific dialogue) will remain as the background line for the entire duration of the dialogue.
Locking Player’s Perspective (ProtocolLib Required)
This feature restricts the player’s ability to look around (change their camera pitch/yaw) during the dialogue, forcing focus. This can be useful for immersive experiences, like guiding players through important instructions or roleplay scenarios. How to Use: Enable it globally indialogue-settings
or per-dialogue in its settings
. Requires ProtocolLib to be installed.
Zoom Effect (ProtocolLib Required)
Apply a subtle zoom effect (adjusting the player’s FOV) during dialogues for added immersion or intensity. You can also modify walk speed during the zoom. (Note: The prompt mentioned this feature might be temporarily removed/re-added later. Check the latest plugin version for availability.) How to Use: Enable and configure globally or per-dialogue. Requires ProtocolLib.zoom-walk-speed
, you can control how fast or slow the player moves while the zoom effect is applied. Negative values slow them down.
Custom End Actions
One of the most powerful features of Strikes-Dialogues is the ability to define custom end actions. These actions allow you to trigger a variety of events once the dialogue has finished (and after theend-action-delay-ticks
), such as sending messages, executing commands, or playing sounds.
Available End Actions (Review):
[MESSAGE] <message>
: Sends a message to the player.[CONSOLE] <command>
: Executes a command via the console.[PLAYER] <command>
: Makes the player execute a command.[SOUND] <sound_key> [volume:<vol>] [pitch:<pitch>]
: Plays a sound for the player.[BROADCAST] <message>
: Broadcasts a message to the whole server.[TELEPORT] <world> <x> <y> <z> [yaw] [pitch]
: Teleports the player (syntax might vary, check plugin specifics).- (Check for others if available)
end-actions
key for a dialogue. Placeholders can be used here too.
Placeholders and Dynamic Content
Leverage PlaceholderAPI to insert dynamic information into dialogue text and end actions. This makes each dialogue unique and customized for every player! Ensureplaceholderapi-enabled: true
in config.yml
.
Commonly Used Placeholders:
%player_name%
– The player’s name.%vault_eco_balance_formatted%
– The player’s economy balance (if using Vault).%player_world%
– The world the player is currently in.%player_x%
,%player_y%
,%player_z%
– The player’s current coordinates.%server_tps%
– The server’s current TPS (ticks per second).- (Any other PlaceholderAPI placeholder)