Multiple modes

You can configure multiple staff modes inside the modes.yml file. All modes extend, by default, the default mode. You cannot remove the default mode from the configuration but you can alter it.

  • If a staff-mode module is disabled it won't show up in the GUI

  • Custom modules can also be used inside the GUI config. Make sure the key name matches.

Example configuration

We'll go over the following example configuration.

modes:
  default:
    damage: false
    enable-commands: []
    disable-commands: []
    initial-item-states: []
    disable-on-world-change: false
    creative: false
    night-vision: false
    flight: false
    inventory-interaction: false
    invincible: false
    item-drop: false
    item-pickup: false
    vanish-type: NONE
    enable-on-login: false
    disable-on-logout: true
    original-location: true
    block-manipulation: false
    silent-chest-interaction: false
    hunger-loss: true
    allowed-worlds:
    - world
    gui:
    - counter-module:1
  Helper:
    permission: rank.helper
    weight: 1
    flight: true
    hunger-loss: false
    gui:
    - compass-module:1
    - vanish-module:2
    - counter-module:3
    - follow-module:4
  Mod:
    permission: rank.moderator
    weight: 2
    extends: Helper
    invincible: true
    allowed-worlds:
    - world
    - world_nether
    gui:
    - compass-module:1
    - random-teleport-module:2
    - vanish-module:3
    - counter-module:4
    - freeze-module:5
    - follow-module:6
    - Whip:7
  Admin:
    permission: rank.admin
    weight: 3
    extends: Mod
    creative: true
    allowed-worlds:
    - world
    - world_nether
    - world_the_end
    gui:
    - compass-module:1
    - random-teleport-module:2
    - vanish-module:3
    - gui-module:4
    - counter-module:5
    - freeze-module:6
    - cps-module:7
    - examine-module:8
    - follow-module:9
    - player-details-module:10
    
  # --------------------  
  Investigator:
    permission: rank.investigator
    weight: -1
    gui:
    - compass-module:1

Default mode

The default mode is a mandatory mode which needs to be present. It contains all possible configuration options. To access this mode you need at least the staff.mode permission. In this setup I configured the default mode to be as basic as possible. In reality no one will ever enter just "default" mode in this setup. They will always use one of the other configured modes. To see all configuration options explained see the staff mode section.

default:
    damage: false
    enable-commands: []
    disable-on-world-change: false
    creative: false
    night-vision: false
    flight: false
    inventory-interaction: false
    invincible: false
    staff-see-staff-in-mode: false
    disable-commands: []
    item-drop: false
    item-pickup: false
    vanish-type: NONE
    enable-on-login: false
    disable-on-logout: true
    original-location: true
    block-manipulation: false
    silent-chest-interaction: false
    hunger-loss: true
    allowed-worlds:
    - world
    gui:
    - counter-module:1

Helper

Every custom mode must provide a permission and weight property. These properties are used during mode calculation. The helper mode has no extends property so it extends from the default mode. When you create a new mode it inherits all properties from the default mode. You can overwrite every property by defining it inside your mode config. In this example I give Helpers flight and no hunger loss. I also provide them with different Staff items.

Helper:
    permission: rank.helper
    weight: 1
    flight: true
    hunger-loss: false
    gui:
    - compass-module:1
    - vanish-module:2
    - counter-module:3
    - follow-module:4

Mod

The Mod mode extends from the Helper mode. So it automatically gets flight and disables hunger loss. In addition to that I configure invincibility. I also add the nether to allowed worlds. And Mods get a different GUI with some more staff items. Notice it also has a higher weight. So if a staff member has both the helper and mod permission, the mod staff mode has priority.

Mod:
    permission: rank.moderator
    weight: 2
    extends: Helper
    invincible: true
    allowed-worlds:
    - world
    - world_nether
    gui:
    - compass-module:1
    - random-teleport-module:2
    - vanish-module:3
    - counter-module:4
    - freeze-module:5
    - follow-module:6
    - Whip:7

Admin

Admin is the highest staff mode that is available. This is indicated by the weight. It extends the Mod mode and thus inherits everything from Mod mode. In addition to this Admin mode can be enabled in more worlds and his GUI has been extended. Admins also get creative mode.

Admin:
  permission: rank.admin
  weight: 3
  extends: Mod
  creative: true
  allowed-worlds:
  - world
  - world_nether
  - world_the_end
  gui:
  - compass-module:1
  - random-teleport-module:2
  - vanish-module:3
  - gui-module:4
  - counter-module:5
  - freeze-module:6
  - cps-module:7
  - examine-module:8
  - follow-module:9

Investigator

The last mode in my configuration file is the Investigator mode. This mode is special because it won't be considered during mode calculation. In other words, you can only access the mode if you have the permission to switch to a specific staff mode staff.mode.specific or if it gets enabled programmatically. This is indicated by the weight. It is set to -1 , which means don't use it for staff mode calculation. Notice it does not define an extends property, thus it gets all properties defined in the default mode.

When enabled the player gets vanished automatically and gains the compass module.

Investigator:
  permission: rank.investigator
  weight: -1
  vanish-type: TOTAL
  gui:
  - compass-module:1

Last updated