SpectateMode
SpectateMode is a highly customizable spectator plugin, meant for servers where players should be able to spectate, but not fly/noclip around. This can, for example, be used for hardcore servers that want players to be able to spectate after death, but don't want to give them permission to noclip (allowing them to find caves, bases, etc). Of course, this plugin can be applied to many other use cases.
Features
SpectateMode can:
  • Make spectators invisible from other players
  • Make spectators invulnerable
  • Make spectators unable to interact with blocks/items
  • Make spectators unable to pickup/drop items

And much more.

Setup
To setup SpectateMode, simply drop the plugin into your plugins folder. Then, configure the relevant permissions for what you want to use SpectateMode for.
Permissions
Here are all of SpectateMode's permission nodes:
  • spectatemode.* - Gives you every permission (excluding negative permissions).
  • spectatemode.spec - Allows you to run the /spec command.
  • spectatemode.specon - Allows you to put yourself into spectate mode.
  • spectatemode.specon.others - Allows you to put yourself and others into spectate mode.
  • spectatemode.specoff - Allows you to take yourself out of spectate mode.
  • spectatemode.specoff.others - Allows you to take yourself and others out of spectate mode.
  • spectatemode.see - Allows you to see players who are in spectate mode.
  • spectatemode.interact.* - Allows you to interact with blocks and entities, as well as being able to use items while in spectate mode.
  • spectatemode.interact.entity - Allows you to interact with and damage entities and players while in spectate mode.
  • spectatemode.interact.other - Allows you to interact with and place blocks and items while in spectate mode.
  • spectatemode.negative.* - Removes a lot of protections that spectatemode gives you.
  • spectatemode.negative.damage - Allows you to be damaged in spectatemode.
  • spectatemode.negative.visible - Makes you visible to everyone in spectatemode.
  • spectatemode.negative.ai - Makes you visible to mob ai in spectatemode.
  • spectatemode.fly - Allows you to fly in spectate mode.
  • spectatemode.drop - Allows you to drop items in spectate mode.
  • spectatemode.pickup - Allows you to pickup items in spectate mode.

Note that giving spectatemode.* is essentially glorified vanish, except without most of the features given to you by vanish.

Commands
Here are all of SpectateMode's commands:
  • /spec - Main command for SpectateMode.
  • /spec help - Will give all SpectateMode commands available to you (based on permissions).
  • /spec on [playername]- Will turn SpectateMode on for you (or a player if they are specified).
  • /spec off [playername]- Will turn SpectateMode off for you (or a player if they are specified).

I hope you enjoy using SpectateMode, and if you run into any bugs, please tell me!
Known Bugs
  • Negative permission nodes will be enabled for ops, meaning ops will be visible to players and ai, and will be damaged while in SpectateMode.