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".
@InflamedSebi
I know that you have the skilltree, I was just saying it won't work with HiddenCommandSigns.
@Devil_Boy
I already got a skilltree but the only thing which is missing is an permissioncheck on the sign, so i can add a needed permission to a hcs. f.e.: /hcs needperm "<permission>" and oly user with this permission can use the sign else nothing wil happen.
@insers
Where is the superperms bridge from? I'm thinking addperms should work with your setup. But I won't know for sure until I figure out exactly what that bridge does.
@InflamedSebi
No you can't really do the skill-tree thing with HCS. That'd need to be custom scripted or something. You'll likely have to ask a plugin developer to make that for you by hooking into the HCS database.
I need command hcs addperm but i have permissionsbukkit with superperms bridge. Wil this ever work with :P?
Hay ... do u know a way, to add a needed permission to a sign?
For example i create a HSC with the text "Enchant ur sword with 2x Damage"
so users will gain the permission "enchant.use" and run "/enchant 5 10" and get removed the "enchant.use" permission. (thats what hcs can do) but i want the player to buy this enchantment in a skilltree, so they only can use the sign if the already have the "enchant.sword.damage.2" permission else nothing will happen ... is this possible? and how if it is.
@Xaldre
Make a support ticket with all the information you can supply:
-Database file
-Plugin version
-CraftBukkit version
-Console log
hi i have a problem with this plugin, i rly like the idea its rly awesome, but dont work fine for me :S. i create a hcs with some commands (well just 1) and work fine, even perfect, but just for a few time, then i just realize its not working anymore :S can u help me to figure out why dont work right? if u want to put in touch with me my mail is [email protected] thx for ur time :P
@loserman778
Yes just like InflamedSebi said, you'd just do it through PEX commands. Replacing where the player name should be with %p should work fine.
@loserman778
of course ... this is really simple ... (for users with PEX). because pex is completely command controlable! so the command "/pex user <user> add <permission>" will do the job. for exaple: "/pex user Notch add dragon.fus.roh.da" will grant notch the "dragon.fus.roh.da" permission.
if u want it really skyrim like (need a dragonsoul [in minecraft case experience]) u can use ExpSkills so the sign will grant u the "enabled.fus.roh.da" permission and in skilltree u can configurate that if u get this permission, u are allowed to buy the Shout Fus roh da ("dragon.fus.roh.da") for 10 Skillpoints. ( u will get skillpoints if u farm exp levels)
LG... whats the dragon shout plugin? does it work?
Edit : u will need to add permissions to the sign: "permissions.manage.users.permissions.<user>" donno if it woks if u replace the <user> with %p .. just try it ... if ur not using Pex ... hmmm no idea xD Pex is simply the best xD
Hello,
I recently got a plugin that allows you to get words of power from skyrim. So i wanting to make word walls so if you find you, you click the sign on it, and you get the permission to use the shout permenatly. If there is a way to do this with thise plugin, or any other, please reply. Thanks
-Loserman778
@notcam45 Just add them in sequence like so:
/hcs create "/pex group [group] user add [user]" "/warp [warp]" "/broadcast message"
Then use addperm to give them the required permissions.
Actualy I have a problem, how do i make so ANYONE when right clicking a sign, can do the following of all commands:
/pex group [group] user add [user]
/warp [warp]
/broadcast message
@notcam45
Delete the Permissions.jar
I use Permissions 1.18.jar and the permissions 2.27 that comes with it.
@notcam45
Eh.. You'll need to open up a support ticket and list all your plugins. You may also want to give me the version of PermissionsEx you have installed.
Ok I have a sign set up like so
[SCS]
Right click to use!
Then with Hidden Command Sign I do
/hcs create “say Oi, how you doing!”
/hcs addperm bukkit.command.say
Then the error happens.
Ok tried it with a different sign, the error did not show up but as a default player i was still denied access. Here is the config.
Hey der!
notcam45
say Hello
bukkit.command.say
@notcam45
And you get that when doing what? O.o
I get this error when doing your example.
31.01 01:26:40 [Server] SEVERE at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
31.01 01:26:40 [Server] SEVERE at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:434)
31.01 01:26:40 [Server] SEVERE at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:536)
31.01 01:26:40 [Server] SEVERE at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
31.01 01:26:40 [Server] SEVERE at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:100)
31.01 01:26:40 [Server] SEVERE at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
31.01 01:26:40 [Server] SEVERE at net.minecraft.server.Packet15Place.handle(SourceFile:39)
31.01 01:26:40 [Server] SEVERE at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:602)
31.01 01:26:40 [Server] SEVERE at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:284)
31.01 01:26:40 [Server] SEVERE at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:187)
31.01 01:26:40 [Server] SEVERE at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:453)
31.01 01:26:40 [Server] SEVERE at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:57)
31.01 01:26:40 [Server] SEVERE at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.java:1024)
31.01 01:26:40 [Server] SEVERE at java.lang.reflect.Method.invoke(Method.java:601)
31.01 01:26:40 [Server] SEVERE at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
31.01 01:26:40 [Server] SEVERE at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
31.01 01:26:40 [Server] SEVERE at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
31.01 01:26:40 [Server] SEVERE at pgDev.bukkit.HiddenCommandSigns.HiddenCommandSignsPlayerListener.onPlayerInteract(HiddenCommandSignsPlayerListener.java:67)
31.01 01:26:40 [Server] SEVERE at org.bukkit.craftbukkit.entity.CraftPlayer.performCommand(CraftPlayer.java:208)
31.01 01:26:40 [Server] SEVERE at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:457)
31.01 01:26:40 [Server] SEVERE at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168)
31.01 01:26:40 [Server] SEVERE at org.bukkit.command.defaults.SayCommand.execute(SayCommand.java:37)
31.01 01:26:40 [Server] SEVERE at org.bukkit.Bukkit.broadcastMessage(Bukkit.java:108)
31.01 01:26:40 [Server] SEVERE at org.bukkit.craftbukkit.CraftServer.broadcastMessage(CraftServer.java:289)
31.01 01:26:40 [Server] SEVERE at org.bukkit.craftbukkit.CraftServer.broadcast(CraftServer.java:898)
31.01 01:26:40 [Server] SEVERE at org.bukkit.craftbukkit.entity.CraftHumanEntity.hasPermission(CraftHumanEntity.java:66)
31.01 01:26:40 [Server] SEVERE at ru.tehkode.permissions.bukkit.superperms.PermissiblePEX.hasPermission(PermissiblePEX.java:101)
31.01 01:26:40 [Server] SEVERE at ru.tehkode.permissions.bukkit.superperms.PermissiblePEX.checkPermission(PermissiblePEX.java:109)
31.01 01:26:40 [Server] SEVERE at ru.tehkode.permissions.bukkit.superperms.PermissiblePEX.performCheck(PermissiblePEX.java:123)
31.01 01:26:40 [Server] SEVERE at ru.tehkode.permissions.bukkit.PermissionsEx.getUser(PermissionsEx.java:162)
31.01 01:26:40 [Server] SEVERE at ru.tehkode.permissions.bukkit.PermissionsEx.getPermissionManager(PermissionsEx.java:155)
31.01 01:26:40 [Server] SEVERE java.lang.RuntimeException: Permissions manager is not accessable. Is the PermissionsEx plugin enabled?
@tribulations1 Show me what is in your database file.
Also, I might need a link to that ClassRanks plugin (especially the source code). It could be one of those special plugins we need to code for. We've been trying to build up a list of plugins that use the unconventional method so that we could test with them.
@notcam45 I don't really know if the "*" permission will work :/
Try testing with "bukkit.command.say" first.