Skip to content

Commands & Permissions

Vaibhav Vishwakarma edited this page Dec 27, 2025 · 1 revision

Commands & Permissions

This guide covers all available commands and permissions in SpectatorPlusPlus.


📋 Permissions Overview

Basic Access Permissions

Permission Description Default
spectatorplusplus.use Allows players to use the main spectator commands OPs only
spectatorplusplus.admin Grants access to all admin commands OPs only

Command-Specific Permissions

Permission Description Default
spectatorplusplus.command.lobby Use lobby management commands OPs only
spectatorplusplus.command.reload Reload configuration OPs only
spectatorplusplus.command.help View help command Everyone
spectatorplusplus.command.version Check plugin version Everyone

Feature Permissions

Permission Description Default
spectatorplusplus.firstperson Use first-person spectating Inherits from spectatorplusplus.use
spectatorplusplus.compass Access player selection compass Inherits from spectatorplusplus.use
spectatorplusplus.bypass.cooldown Bypass command cooldowns OPs only
spectatorplusplus.bypass.world Spectate in restricted worlds OPs only

🎮 Player Commands

Main Spectator Command

/spectator Aliases: spec, spectate

Description: Toggle spectator mode on and off. When entering spectator mode, you'll be teleported to the spectator lobby. When leaving, you'll return to your original location.

Permissions: spectatorplusplus.use

Cooldown: 3 seconds (configurable)


Player Selection GUI

Item: Compass (Hotbar slot 0)

Description: Right-click the compass to open the player selection GUI. No command needed.

Permissions: spectatorplusplus.use and spectatorplusplus.compass


Help Command

/spectator help Aliases: spec help, spectate help

Description: Display all available commands and their usage.

Permissions: spectatorplusplus.command.help (default: everyone)


Version Command

Aliases: spec version, spectate version, spectator v, spec v

Description: Check the installed version of SpectatorPlusPlus.

Permissions: spectatorplusplus.command.version (default: everyone)


⚙️ Admin Commands

Set Spectator Lobby

/spectator lobby set Aliases: spec lobby set, spectate lobby set

Description: Set your current location as the spectator lobby. This location is where players spawn when entering spectator mode and return to when leaving.

Permissions: spectatorplusplus.admin or spectatorplusplus.command.lobby

Usage Notes:

  • Must be run before players can use spectator mode
  • Saves coordinates, world, and rotation
  • Overwrites any previously set lobby

Remove Spectator Lobby

/spectator lobby remove Aliases: spec lobby remove, spectate lobby remove

Description: Remove the current spectator lobby location.

Permissions: spectatorplusplus.admin or spectatorplusplus.command.lobby

Warning: Removing the lobby will prevent players from using spectator mode until a new one is set.


Reload Configuration

/spectator reload Aliases: spec reload, spectate reload

Description: Reload the plugin configuration from config.yml without restarting the server.

Permissions: spectatorplusplus.admin or spectatorplusplus.command.reload

Files Reloaded:

  • config.yml
  • messages.yml (if separate)
  • Permission cache

Force Spectator Mode

/spectator force Aliases: spec force, spectate force

Description: Force a player into spectator mode.

Permissions: spectatorplusplus.admin

Arguments:

  • <player>: Target player username

Example: /spectator force Notch


Force Exit Spectator Mode

/spectator forceexit Aliases: spec forceexit, spectate forceexit

Description: Force a player to exit spectator mode.

Permissions: spectatorplusplus.admin

Arguments:

  • <player>: Target player username

Example: /spectator forceexit Notch


🔧 Permission Setup Examples

LuckPerms Configuration

# Basic player access
lp group default permission set spectatorplusplus.use false

# Staff group with full access
lp group staff permission set spectatorplusplus.use true
lp group staff permission set spectatorplusplus.admin true

# Event spectators (limited access)
lp group event_spec permission set spectatorplusplus.use true
lp group event_spec permission set spectatorplusplus.compass true
lp group event_spec permission set spectatorplusplus.firstperson true

# Temporary permission for events
lp user EventPlayer01 permission set spectatorplusplus.use true temporary 2h

permissions.yml (Bukkit)

permissions:
  spectatorplusplus.use:
    description: "Use spectator mode"
    default: op
    children:
      spectatorplusplus.compass: true
      spectatorplusplus.firstperson: true
  
  spectatorplusplus.admin:
    description: "Admin commands"
    default: op
    children:
      spectatorplusplus.command.lobby: true
      spectatorplusplus.command.reload: true
  
  # Individual permissions
  spectatorplusplus.command.lobby:
    description: "Manage spectator lobby"
    default: op
  
  spectatorplusplus.command.reload:
    description: "Reload configuration"
    default: op

Essentials Group Manager

groups:
  Default:
    permissions:
    - -spectatorplusplus.use
    
  Moderator:
    permissions:
    - spectatorplusplus.use
    - spectatorplusplus.command.lobby
    
  Admin:
    permissions:
    - spectatorplusplus.*

Permission Inheritance

Permission Tree

spectatorplusplus.admin
├── spectatorplusplus.command.*
│   ├── spectatorplusplus.command.lobby
│   ├── spectatorplusplus.command.reload
│   └── spectatorplusplus.command.help
├── spectatorplusplus.bypass.*
│   ├── spectatorplusplus.bypass.cooldown
│   └── spectatorplusplus.bypass.world
└── spectatorplusplus.use
    ├── spectatorplusplus.compass
    └── spectatorplusplus.firstperson

Wildcard Permissions

Permission Grants
spectatorplusplus.* All permissions
spectatorplusplus.command.* All command permissions
spectatorplusplus.bypass.* All bypass permissions

Note: Use wildcards carefully as they grant access to current AND future permissions.

⚠️ Common Permission Issues

Problem: Players can't use /spectator

Solution:

  1. Check if player has spectatorplusplus.use permission
  2. Verify permission plugin is working
  3. Ensure spectator lobby is set with /spectator lobby set

Problem: Players can't see compass GUI

Solution:

  1. Grant spectatorplusplus.compass permission
  2. Check if player is in spectator mode
  3. Verify hotbar item slots in config

Problem: First-person spectating not working

Solution:

  1. Grant spectatorplusplus.firstperson permission
  2. Check config: first-person-spectating.enabled: true
  3. Ensure player is in spectator mode

Problem: Admin commands not working

Solution:

  1. Grant spectatorplusplus.admin or specific command permission
  2. Check OP status (some permission systems require OP + permission)
  3. Verify command syntax

🔄 Command Cooldowns

Default Cooldowns

Command Cooldown Bypass Permission
/spectator 3 seconds spectatorplusplus.bypass.cooldown
/spectator help 1 second spectatorplusplus.bypass.cooldown
GUI Interactions 0.5 seconds spectatorplusplus.bypass.cooldown

Cooldown Messages

  • "Please wait before using that command again."
  • "You're doing that too fast!"

Cooldowns can be configured in the configuration file.

# Regular players - no access
default: -spectatorplusplus.use

# VIP players - basic spectator access
vip: spectatorplusplus.use

# Staff - full access
staff: spectatorplusplus.admin

For Events

# Event staff - full control
event_staff: spectatorplusplus.admin

# Spectators - view only
event_spectator: 
  - spectatorplusplus.use
  - spectatorplusplus.compass
  - -spectatorplusplus.firstperson  # Disable first-person

For Staff Training

# Trainee staff - limited access
trainee:
  - spectatorplusplus.use
  - spectatorplusplus.compass
  - -spectatorplusplus.command.*  # No admin commands

📝 Additional Notes

  1. OP Status: Some permission systems require players to be OP even with permissions granted
  2. Permission Conflicts: Check for negative permissions (-permission.node)
  3. World Permissions: Use world-specific permissions if supported by your permission plugin
  4. Temporary Permissions: Useful for events or temporary staff
  5. Inheritance: Set up proper group inheritance to manage permissions efficiently

Clone this wiki locally