Stunned
ALL BELOW UPDATED AS OF 1.0.4
Simple and powerful standalone plugin or hook into it with your own plugin.
OTHER PLUGINS
Check out my other plugins which make up a suite of compatible plugins.
- Upgradable - http://dev.bukkit.org/bukkit-plugins/upgradable (Add upgradable weapon, armor and tools)
- Skills - http://dev.bukkit.org/bukkit-plugins/mc-skills (Add a GUI-based leveling skill system)
- Special Arrows - TBA (Allow players to unlock special arrows through a simple GUI system)
- Stunned - http://dev.bukkit.org/bukkit-plugins/stunned (Increased difficulty by allowing players to be stunned by mobs)
SERVER OWNERS:
You can allow your staff to "stun" players at a location. Can be used to punish players or integrate with custom mobs to stun players. Players cannot interact with the world like break blocks, move, attack, use Enderpearls, teleport. I'll add some config options to make each a toggle later on.
To give a player permission to use the commands, give them "stun.allow" permissions. You can change this permission node in the config file.
COMMAND LINE
/stun PLAYERNAME
/stun PLAYERNAME SECONDS
/stun reload
MOB STUNS
As an added extra, I have allowed you to determine if mobs will gain the ability to stun players as well. It is OFF by default, so if you want this functionality, since go into the config and ENABLE by setting 'mob_active: true'
You can then set whatever mob type to 'true' and set how long they will stun a player for. If you set 'mob_random: true' it will stun player for 1 to whatever seconds you list.
PVP STUNS
You can turn on the option to allow Players to stun Players during PvP. Same rules apply, set the chance for a stun and duration as well as deciding to randomize the duration.
DEVELOPERS
Developers can easily hook into Stunned and use its friendly API.
- Simply add a reference to the Stunned.JAR
- Create a reference to the API: StunAPI stun = new StunAPI();
- Then just issue the command stun.start(); (starts the tracker - stun.stop() to stop it)
I'll polish up the methods accessible below but most are self explanatory. You must pass the Player UUID to the methods.
- stun.add(UUID, Int) - Add a player to the stun list, Int is the duration in seconds
- stun.remove(UUID) - Remove player from stun list
- stun.isStunned(UUID) - return boolean if player is stunned or not
- stun.getLocation(UUID) - returns location the player was stunned at
- stun.message(UUID) - tells player they are stunned
- stun.process() - forces an update of stun list (happens every second automatically)
Configurable options will be released with a future release based on feedback.
All features listed above as as of 1.0.3 - please wait for the file to be accepted.
@JacketPotato
Its mainly a tool for developers to add the ability to lock/freeze/stun a player from within their plugin. This could be used in a custom mob, PvP, mini game or other plugin quite easily. (It is how I use it but pulled out the functionality so any could use it.)
For NON-developers, right now it only allows those who are OP'd to use the command /stun. I am, however, hooking it into Vault so you will be able to give permissions to mods/admins to use as a punishment tool.
Aside from that, you could technically use it with command blocks in some way issue the command randomly to those online to be mischievous :)
I could add the feature to vanilla mobs for you if you like so that they have a chance to stun players :)
What does this plugin do for nondevelopers?
1.0.1 adds OP requirement to using the STUN command (sorry missed that) and added DURATION parameter to the /stun player command.
/stun PLAYER (default 10 sedonds) /stun PLAYER TIME (stuns for TIME seconds)
@sama2010
Done so through the API: stun.add(UUID, Int) - Add a player to the stun list, Int is the duration in seconds.
I'll add the command line counterpart so you can /stun PLAYER TIME
Good idea, missing time for stunning: ex. /stun (player name) (time in seconds)