A spectate plugin designed to add some additional security and usability to Vanilla Minecraft's spectator mode, providing servers with an easy-to-use spectate mechanic to be used for events with a playerbase. It's designed to be simple but useful in preventing exploits. I also got a bit carried away so there's a fair amount of unnecessary optimisation. Anyway enjoy and reach out if you've found this plugin useful, I'd love to hear <3
How it works
In its most basic form: A player's location and gamemode is stored when they enter spectate mode. Then, when they unspectate, it teleports them back to where they were and puts them back in their original gamemode. Additionally, players are automatically removed from spectate mode when they leave or are kicked from the server
Spectate points: Server admins also have the option to set one "spec point" and one "unspec point". If the spec point is set, any player entering spectate mode will be teleported there. And the unspec point works the same way but with players exiting spectate mode. If the respective point isn't set, then the command will work as stated in the "In it's most basic form" paragraph
For event staff: Those with the required permissions are allowed to put specified players in spectate mode or take them out of it. Their locations will still be saved and will be put back upon exiting spectate mode. Just remember, if you don't want players to be able to unspectate after staff place them in spectate, you need to remove their permission to the unspectate command
Spectate teleport: Server admins can specify whether or not they'd like players in spectate mode to be able to use the Vanilla spectator teleport feature. This is done using the spectatesafety.teleport permission
How to use it
To start using Spectate Safety, firstly download this resource (using the download button near the top-right of this page). Then drag it into your server's "plugins" folder. And, hey presto, Spectate Safety should now work on your server! It's that simple
Bug Reports
If you encounter a bug, we ask that you report it as an issue on our GitHub repository. If you don't feel confident enough to do that, you can alternatively bring it up in our discord server
Keeping up to date
You can keep up to date with upcoming features in the Discussions page of our GitHub repository. You can suggest new features there too
Thanks for your interest and I hope you've found this useful <3