To make staff mode more configurable Staff++ has the option to add custom staff modules.
These staff modules can be used when a player enters staff mode.
Custom modules can be configured underneath the custom-modules section of the staff-mode .
There are 2 types of custom modules: Command modules & Plain Modules.
Command module
# Name of the module, can be anything you want as long as it's a valid yaml key
ExampleCommandModule:
# Indicates if this module should be enabled
enabled: true
# Type of command module: COMMAND_STATIC;COMMAND_DYNAMIC;COMMAND_CONSOLE
type: COMMAND_STATIC
# The inventory slot where this item should be placed while in staff-mode
slot: 30
# The material of the item
item: DIAMOND
name: "&4Ban all god kids"
lore: "&4line1, &6line2, &3line3"
# The command to execute when this item is used
command: "ban Shortninja &4For coding 2hard!!11!1!one!"
Type
Description
COMMAND_STATIC
Execute the configured command as the player who clicked the item.
This command takes only %clicker% as placeholder. No target must be provided.
COMMAND_DYNAMIC
Execute the configured command as the staff member who clicked the item.
Use this if you are writing a command module that targets a player.
The command will target the player the staff member is pointing at.
You can use the following placeholders: "%clicker%" & "%clicked%".
Clicker is the name of the staff member, clicked is the name of the target player. If the staff member is not targeting a player, nothing will happen.
COMMAND_CONSOLE
Execute the configured command as the console. This can either target a player or not. The command will target the player the staff member is pointing at. You can use the following placeholders: "%clicker%" & "%clicked%".
"Clicker" is the name of the staff member, "clicked" is the name of the target player
Plain Module
Plain modules just add a regular item inside the staff's inventory.
Make sure to define "TYPE: ITEM"
# Name of the module, can be anything you want as long as it's a valid yaml key
ExamplePlainModule:
# Indicates if this module should be enabled
enabled: true
# Type always ITEM for plain modules.
type: ITEM
# The inventory slot where this item should be placed while in staff-mode
slot: 34
# The material of the item
item: STICK
name: "&7Knock out stick"
lore: "&8Knock em out!!"
# Optional enchantment
# The enchantment for the item format is name:level
# for names of enchantments reference https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
enchantment: "knockback:2"
Input
Modules can have an input prompt popup before they get executed. The input can then be used as a placeholder in the command.
CustomBanModule:
enabled: true
type: COMMAND_DYNAMIC
slot: 30
item: DIAMOND
name: '&4Ban target player, provide reason in chat'
lore: '&4Ban a player after providing reason'
command: ban %clicked% %input%
require-input: true
input-prompt: Please provide a reason for banning %clicked%.
Confirmation
Modules can have a confirmation GUI or Chat pop up before the action is executed.
This is useful to prevent accidents from happening, especially for modules that execute severe actions.
You can combine confirmation with input as shown in the example below. Confirmation can of course also be used standalone without the input option.
CustomBanModule:
enabled: true
type: COMMAND_DYNAMIC
slot: 30
item: DIAMOND
name: '&4Ban target player, provide reason in chat'
lore: '&4Ban a player after providing reason'
command: ban %clicked% %input%
require-input: true
input-prompt: Please provide a reason for banning %clicked%.
confirmation: CHAT
confirmation-message: Are you sure you want to ban %clicked% for reason "%input%".