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".
@opis08
Yes
@Marlorne
What commands are you putting on the sign that requires you to put all permissions? o.o
Wait I'm confused, do you need simple command signs to use this?
How can I add ALL permissions to a sign, does it work with Group Manager and can you add please the possibility to make a group check for example that only group X can use the sign?
@LeonMatthes
Try it, then tell us o.o
Will this be updated anytime again? Does it work with Bukkit 1.4.2 R0.1?
@SeroeCraft
Ah brilliant :)
@Devil_Boy
Okay, fixed it. I needed the permission node "permissions.*" Works like a charm
@FusionLego36
With a HiddenCommandsign, the text on the sign doesn't matter.
@SeroeCraft
It should work with PEX, we added support for it a good while back.
However, there is a chance that something may have changed in their system that is preventing this.
Okay, here's a doozy:
I recently closed my server for innovation (basically, the implementation of organized teams). There are four different teams, and when a player joins he spawns in a room with four HCS signs, each labeled "Join <team name>!" The command that goes along with it is:
/hcs create "pex user %p prefix &4[<team name>]" and the permission is: /hcs addperm "permissions.manage.users.prefix" like it should be. Yet I am only able to use this sign if I set my rank to the group already containing the - permissions.manage.users.prefix node, which is my Admin group. As you probably know, that defeats the point.
I spent about 2 hours this morning reformatting my permissions file (I had 14 ranks before doing this) so that there were only 4 ranks, Default, Donor, Mod and Admin. Unfortunately, I did this all before realizing this plugin isn't compatible with PEX.
So my questions are: 1. Can you make this plugin PEX compatible? 2. Can you tell me how I can fix this otherwise?
I had an idea that somehow I could use SuperPerms and PEX, and then give the permission node - permissions.manage.users.prefix in the SuperPerms permissions.yml file so that SuperPerms authorizes running a PEX command.
Would this work, or would I be wasting my time?
Thanks, The SeroeCraft team
Whenever I put it on a SimpleCommandSign, it works, but the command written on the sign doesn't take effect. Is this supposed to happen? Also, when I addperm, it won't do the command.
@xclucky
Yea, this is definitely something I should've added earlier. However, I'm too busy right now. Could you put it in a support ticket so that I can remember?
Please do add a way to add more commands than the chatbox allows. perhaps a "/hcs addcmd <"command"> ["another command..."] ..." command?
Do you know of a client mod that makes the text not have a limit? Spoutcraft used to do that for me but its not updated now and I need to enter in more commands (/pex group GROUPNAME user add NAME " 3-4 times won't fit in one typing and this mod only adds one grouping at a time.
@jackpg98
Did you check to make sure that you don't have a legacy permissions bridge?
When ops or people with the permission node '*' right click on a sign, it works fine. But when people who have scsigns.use right click on a sign, absolutely nothing happens and the console spits out a bunch of errors that essentially mean Bukkit couldn't pass PlayerInteractEvent to SimpleCommandSigns. What is happening here?
@Devil_Boy
Essentials /me, it's not got a cool down. D:
@ghostyboy5
Then you surely don't understand how commands are parsed ;)
Some plugins (hopefully not Essentials) handle commands through the Chat in order to avoid registering them beforehand.
@321DJ_Amos123
That shouldn't have to be handled by a sign. The plugin running the command should handle this.
SUGGESTION: Cool down, unable to spam the sign.
I don't see how a command that makes people say something. Would help with Warping.
@ghostyboy5
Essentials has often had issues with our addperm function while other plugins do not... Do you think running the command with the ChatCommand plugin might help?