HiddenCommandSigns
This plugin utilizes and adds to SimpleCommandSigns by storing a hidden commands database. Because we wish to keep SimpleCommandSigns simple and lightweight, we kept these extra features separate.
Features:
- You no longer need to have the command(s) being executed on the sign itself.
- You can have multiple commands run in sequence.
- You can list the permission(s) you wish the player to have when running the command and they will be granted temporarily during command execution.
- You can set permissions nodes allowing players to view the true commands behind the sign.
- The true commands are linked to the text on the sign rather than the sign block. This means there will be no issues with sign block removal and modification. Hiddencommandsigns with the same sign text will run the same commands.
- You can make the hiddencommandsigns look exactly like a normal commandsign.
- If you understand the formatting, you can manually edit the human-readable database file. (Not recommended though)
How to create a HiddenCommandSign:
- Create a SimpleCommandSign as you normally would. The text on the lines that usually holds the command can be anything arbitrary now.
- Use: /hcs create "<command>" (Note: If your command contains quotation marks, replace them with "\''" - that is: forward slash, single quote, single quote)
- If the people running the sign need additional permissions to run the command, use: /hcs addperm "<permission>"
- Right click the sign and the command(s) you specified will be run!
Commands:
- /hcs create "<command>" ["othercommands"] - Creates a hiddencommandsign with the command(s) given within parenthesis. (Example: /hcs create "/cp points" "/day")
- /hcs detect - Tells you if the next block you hit is a hiddencommandsign and its author.
- /hcs obtainreal - Tells you the real command that will run when you right-click the sign.
- /hcs addperm "<permission>" ["otherpermissions"] - Adds the specified permissions to the sign. They will be given to the player right before they run the command, and removed immediately after. (Example: /hcs addperm "CommandPoints.give")
- /hcs quickcreate - If the text on a simplecommandsign already has a hidden command sequence linked to it. This allows you to turn it into a hiddencommandsign with the original commands.
Permissions:
- hcs.create: Can create a hidden command sign.
- hcs.detect: Can detect and get the creator of hidden command signs.
- hcs.obtainreal: Can get the real command behind the sign.
- hcs.addperm: Can add permissions to a sign.
- hcs.addperm.any: Can add any permissions to a sign, including those which they do not own.
Note: If you do not use Legacy Permissions as your permissions handler, remove any Permissions compatibility bridge (such as the one from Essentials) if you want to be able to use "/hcs addperm".
@swampshark19
The bridge pretends to be Legacy Permissions. Thus, HiddenCommandSigns, thinks that you are using Legacy Permissions instead of GroupsManager. Once you remove the bridge, HiddenCommandSigns will know that you are using GroupsManager and all will work fine.
@JackofSpades1113
Yea, it has totally been done before. What is the command in PermissionsEx to rank a player up? Just add that command to the sign and the permission required to run it.
Is there a way I can promote people to a rank in permissionsex using the sign? Im creating a super big threaded RPG server, and I want to be able to make ranking up classes simple with this plugin, let me know if I can advance say, a default ranking person to a moderator, using permissions, and or some command that might tie in with it?
Okay, but I like this plugin much more than that crummy commandsigns but I just don't know why it doesn't work with bridges.
I have also noticed it works until you restart or reload the server, then it fails.
@swampshark19
Do you even read the full description of plugins?...
Legacy Permissions is another name for Permissions 3.1.6 created by Nijikokun. This was the original permissions system which came before all others. Legacy Permissions is now outdated and has since been replace by various other permissions systems. However, these newer permissions systems sometimes create bridge plugins that allow older Legacy Permissions plugins to work. If you do not have any plugins dependent on Legacy Permissions, you do not need the bridge.
This is not some issue for us to fix as it is your own stubborn case of operator error. If you cannot accept our solution when we give it to you, you're best off using a much simpler and less dynamic plugin.
What is legacy permissions?
Why is this the only plugin that cannot run with the bridge and is it fixable, it's either this or commandsigns but commandsigns does not have the feature for multiple lines but it can still run with a bridge plugin. I hope the issue is fixable so I can use this plugin.
@swampshark19
GroupManager should work fine without it so long as you don't have plugins that require Legacy Permissions.
But the bridge is the only plugin that makes it so group manager works.
@swampshark19
You can, but you need to remove the bridge.
So I cannot use group manager?
@swampshark19
You have a permissions bridge plugin on your server. You must remove it.
What does the following error mean:
2012-05-07 20:56:23 [SEVERE] Could not pass event PlayerInteractEvent to HiddenCommandSigns
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459)
at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:176)
at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:287)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:636)
at net.minecraft.server.Packet15Place.handle(SourceFile:39)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:169)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.UnsupportedOperationException: Not supported yet.
at org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy.addUserPermission(NijikoPermissionsProxy.java:60)
at pgDev.bukkit.HiddenCommandSigns.HiddenCommandSignsPlayerListener.onPlayerInteract(HiddenCommandSignsPlayerListener.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
... 13 more
@bladedpenguin
Nope. That would be done by the plugin handling the command.
Is it possible to suppress output from the commands?
@cosmoscraft
Well... I'm sure it is possible? o.o (Probably)
But we would probably end up having to rewrite a bit of the system to support threads. (Not something pretty or anything I want to have to do)
@cosmoscraft
Could there be an timer option added? For axample: an countdown by hitting one sign.
@Sungee
SimpleCommandSigns gets the data from the signs themselves.
Thus, it need no special database.
D: I'm really confused. Where is SimpleCommandSings saving it's data? There is only the .cfg in the folder lol.
Could there be an timer option added? For axample: an countdown by hitting one sign.
@JoshzPruitt
What permission are you trying to add?
Maybe I'm misunderstanding something, but I can't get "/hcs addperm" to work with PermissionsBukkit. :S