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".
@rampragej
Yes, that would help. If, with Legacy installed, those same console errors as in the support ticket show up, then I'll just drop legacy support in HCS.
@Devil_Boy
Ok, awesome :D. Take your time, no rush. If you'd like I can try installing legacy and test if that's the problem.
@rampragej
Yup, that's the plan, though I'd really rather test if that is the issue or not. It may take me more time than normal to get it fixed, as I'm working on a paid-plugin right now.
@Devil_Boy: I think I understand what you're saying, but I use PEX, not Legacy Permissions. Could you make it possible for people to config the plugin in such a way that it wouldn't do that thing of trying to use legacy?
@rampragej
CS_Hague says that he's the one lacking the permissions when running addperm.
You're saying the the sign user is lacking permissions when the sign is used.
Not the same issue...
Check if your issue is similar to this ticket: http://dev.bukkit.org/server-mods/hiddencommandsigns/tickets/3-could-not-pass-event/
It could be an issue in relation to plugins that give backwards compatibility with Legacy Permissions. Normally HCS checks if Legacy Permissions is installed or not by checking if the PermissionsHandler is there. Because these plugins emulate the PermissionsHandler, HCS tries using Legacy Permissions instead.
I'll fix it according to whether or not people actually still use the real Legacy Permissions.
I'm having the exact same problem as CS_Hague. The commands work fine if the user already has the permissions needed, but the addperm thing doesn't work at all for me.
@CNoiise
This plugin requires the SimpleCommandSigns plugin as a dependency: http://dev.bukkit.org/server-mods/simplecommandsigns/
@Devil_Boy,
Hi, great work! But... CraftBukkit returns this error, when I start a server with any version of HCS:
[INFO] This server is running Craftbukkit version git-Bukkit-1.0.1-R1-b 1597jnks (MC: 1.0.1) (Implementing API version 1.0.1-R1) [SEVERE] Could not load 'plugins\HiddenCommandSigns.jar' in folder 'plu gins': SimpleCommandSigns org.bukkit.plugin.UnknownDependencyException: SimpleCommandSigns at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:135) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:215) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager .java:136) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:151) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:127) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur ationManager.java:52) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:399) at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
Thanks in advance.
@CS_Hague
It's highly suggested that the ini database isn't touched. Yes the plugin is compatible with PEX. Are you absolutely sure you've given yourself those permissions? The only reason you would receive that output is a lack of permissions. :/
You might need to open up a support ticket if giving yourself the permissions and reloading the server doesn't work.
I cannot seem to use the /hcs addperm command.
I'm attempting to make a user group/teleporting sign. However, when I attempt to use /hcs addperm permissions.manage.membership.* it tells me "You do not have permission to run this command"
I've given myself the hcs.* hcs.addperm and hcs.addperm.any with no results?
Is this plugin compatible with PEX?
At the very least, could you give me an example of a valid HiddenCommands.ini file for these so I can manually add the permissions?
The 'unknown command' error is a result of the sign no longer triggering the HCS command, and instead triggering the arbitrary text on the SCS sign.
I'll continue this in the ticket, rather than front page comments. ;)
@Odiumxxx
I responded to your support ticket. 'Unknown command' is not any part of this plugin. If anything you would receive:
ChatColor.RED + "That is a HiddenCommandSign, but the command link could not be found. Perhaps the database file was edited or is missing?"
I can't seem to stop the signs resetting after either reloading the config / server. Suddenly they all default to an 'unknown command' error.
Up until that point the plugin is brilliant.
@Zenonic
Updated. The new permission is: hcs.addperm.any
@Zenonic
Hmm... You can give ANY permission. Thanks for pointing that out. I'll probably make a permission node called hcs.anyperm. If you don't have it, then you can only list permissions that you have.
I'll make sure to have it in the next release.
I'm loving this! Got one question though, about giving permissions. If for example im in a VIP group and have hcs.create permission node, does that mean i can give ANY permission with hcs or just the ones that im entitled to?
This plugin might work out nicely with the SkyrimRPG plugin to give people permissions to use shouts through signs (learning a shout right-clicking the sign).