Inactive [MECH] CommandSigns v0.9 - Issue commands using signs [953]

Discussion in 'Inactive/Unsupported Plugins' started by Fluff, May 5, 2011.

  1. Offline


    CommandSigns v0.9

    Tired of having to type out the same commands again and again? Want to allow your players to use commands only at certain places? Help is at hand!

    Feature Summary
    • Allows chat commands and chat messages to be send on right-clicking a sign.
    • Allows commands to be run on signs that players wouldn't be able to use through chat.
    • Sign usage can be limited to specific players or groups.
    • Supports 'variables' for player name and x,y,z position.
    • Won't allow users to gain access to forbidden commands without permission (secure).
    • Add a cost to use a sign, or a reward for clicking the sign!
    • Limit the number of times a sign can be used.
    • Enable and disable signs without destroying them.
    • Permissions-friendly
    • Developer API available
    User's Guide

    About The Developers

    Want to ensure your bug or suggestion isn't lost in the thread? Post it on our issue tracker.

    Command Summary (open)

    • /commandsign enable - Enables the next command sign you right-click on.
    • /commandsign enable <x> <y> <z> - Enables the command sign at x,y,z in the current world.
    • /commandsign enable <x> <y> <z> [w:]<world> - Enables the command sign in world <world> at x,y,z.
    • /commandsign enable [a:]<alias> - Enables the command sign at the alias.
    • /commandsign enable <uses> - Enables the next command sign you right-click on with a number of uses.
    • /commandsign enable <uses> <x> <y> <z> - Enables the command sign at x,y,z in the current world with a number of uses.
    • /commandsign enable <uses> <x> <y> <z> [w:]<world> - Enables the command sign in world <world> at x,y,z with a number of uses.
    • /commandsign enable <uses> [a:]<alias> - Enables the command sign at the alias with a number of uses.
    • /commandsign disable - Disables the next command sign you right-click on.
    • /commandsign disable <x> <y> <z> - Disables the command sign at x,y,z in the current world.
    • /commandsign disable <x> <y> <z> [w:]<world> - Disables the command sign at x,y,z in world <world>.
    • /commandsign disable [a:]<alias> - Disables the command sign at the alias.
    • /commandsign alias - Right-click on a block to get the alias of its location.
    • /commandsign alias <x> <y> <z> - Get the alias of the location x,y,z in the current world.
    • /commandsign alias <x> <y> <z> w:<world> - Get the alias of the location x,y,z in world <world>.
    • /commandsign alias [a:]<name> - Right-click on a block to set the alias of its location.
    • /commandsign alias <x> <y> <z> [a:]<name> - Set the alias of the location x,y,z in the current world.
    • /commandsign alias <x> <y> <z> w:<world> [a:]<name> - Set the alias of the location x,y,z in world <world>.
    • /commandsign alias remove - Right-click on a block to remove the alias of its location.
    • /commandsign alias remove [a:]<name> - Removes the alias.
    • /commandsign alias remove <x> <y> <z> - Remove the alias at location x,y,z in the current world.
    • /commandsign alias remove <x> <y> <z> w:<world> - Remove the alias at location x,y,z in world <world>.
    • /commandsign alias [a:]<name> [a:]<newname> - Set the alias of the location at <name> to <newname>.
    • /commandsign config - Lists all the configuration nodes.
    • /commandsign config <node> - Lists the configuration node.
    • /commandsign config <node> <value> - Sets the configuration node to the value.
    • /commandsign exec [a:]<alias> - Executes the command sign at the location pointed to by the alias.
    • /commandsign exec <x> <y> <z> - Executes the command sign at location x,y,z in the current world.
    • /commandsign exec <x> <y> <z> [w:]<world> - Executes the command sign at location x,y,z in world <world>.
    Syntax Summary (open)

    • [command] - use on the first line of a sign to define a command sign.
    • **[title] - use on the first line in place of [command] to customise the title of the sign
    • /command - runs a command as the player using the sign
    • /*command - runs a command as the fictional user &CommandSigns
    • /@command - elevates the player's permissions (using the permissions assigned to &CommandSigns) if necessary to run the command
    • @player/group - commands following (up to the next @) are limited to that player/group.
    • \message - prints the message to chat
    • \\message - prints the message to the player
    • <NAME> / <X> / <Y> / <Z> / <I> - replaced with the using players name/x/y/z-coord/current held item id on running.
    • $;<cost1>[;<costN>] where cost is <item id>,<item number> or <item id>:<item data>,<item number> - adds a cost to the sign
    • $$ - break evaluation of a command sign
    Permission Nodes (open)

    • commandSigns.use - Use a command sign.
    • commandSigns.create - Create, enable, or disable a command sign.
    • commandSigns.super - Create, enable, or disable a command sign using /*command, /@command, @player/group, or $.
    • commandSigns.super.cost - Create, enable, or disable a command sign using $.
    • commandSigns.super.elevated - Create, enable, or disable a command sign using /@command.
    • commandSigns.super.fakeuser - Create, enable, or disable a command sign using /*command.
    • commandSigns.super.restricted - Create, enable, or disable a command sign using @player/group.
    • commandSigns.default.<default group name> - A flag stating that the group is the default group.
    • commandSigns.config - Allows a user to manage the configuration.
    • commandSigns.alias - Allows a user to manage aliases.
    • commandSigns.exec - Allows a user to remotely trigger command signs.
    Reporting a Problem (open)
    The following bits of information are helpful to include when reporting a problem:
    1. Bukkit and plugin version.
    2. Excerpt from server log of the failed command usage, preferably with the debug configuration option set to true.
    3. Complete command sign text.
    4. Command sign configuration file.
    5. Name of plugin that the failed command comes from, preferably with a link to the plugin's forum thread.

    Recommended Plugins
    • With Annotate, you can have CommandSigns on practically any block with an almost unlimited amount of room for commands! They can even activate when pressing a button or a pressure plate!
    • With ScrollingMenuSign, your signs can look even nicer while allowing your users to scroll through a menu of commands!

    Download Latest Version
    MD5: 7f4076eea7198f2c0f17cde3f62f7c1f
    Download 0.8.1i - RB 803 and previous
    MD5: 72a60e16bfd775b3d15a03aca70e86e0


    To Everyone Asking For Redstone Support (open)

    Yes, I also think redstone support would be very cool. Unfortunately, there are some major limitations on what you can do with a redstone-controlled sign. You can read about those limitations in this post, and you can read a rationale about why those limitations exist in this post. Given those two limitations, I don't think redstone support is currently a useful feature to add, especially given what Annotate can do for you. (If you disagree, please post on the issue tracker on how you would use redstone support.) In the (not too distant) future, redstone support may will be added in a separate plugin due to the different nature of redstone command signs.

    Change Log
    version 0.9 - See Post
    • If PEX permissions work, this plugin supports it.
    • Economy redone; added Essentials Economy.
    • Localization support added.
    • Added new command: /commandsign exec
    • Events properly unregistered when plugin is disabled.
    version 0.8.13
    • Default groups should work for real.
    Older Entries (open)

    version 0.8.12
    • Added handling for default groups.
    • Added support for command aliases.
    • Added /commandsign config.
    version 0.8.11
    • Fixed @ directive.
    • Fixed '/commandsign disable' bug.
    • Added aliases.
    version 0.8.10
    • Fixed /@ permissions error.
    • Added exception handling for removing permissions from users.
    version 0.8.9
    • Added PEX and Permissions 3.0 support.
    • Added new placeholders: <N> and <I>
    • Fixed bug with regular / commands.
    • Added new directives: $$ and \\
    • Added additional debug messages.
    version 0.8.8
    • Fixed /* and /@ working without permissions support.
    • Fixed Permissions creating new users with the wrong casing.
    version 0.8.7
    • Fixed command sign creation permissions.
    • Added debug configuration option.
    version 0.8.6
    • Added Permissions checks to developer API.
    • Fixed enabling bug with /* and /@.
    • Updated to work with GroupManager and fake Permission plugins.
    version 0.8.5 - See Post
    • Fixed multi-world Permissions bug.
    • Changed @ group directive
    version 0.8.4
    • Removed support for Permissions 3.x
    • Updated to 818
    version 0.8.3
    • Fixed API bug
    version 0.8.2
    • Updated for Permissions 3.x
    version 0.8.1
    • Fixed GroupManager integration
    version 0.8
    • Added /@ to temporarily elevate a user's permissions.
    • Added developer API.
    version 0.7.1
    • Fixed item data bug - for real, this time.
    version 0.7 - See Post
    • Removed SignReadMore support.
    • Added Annotate support.
    • Added more granular permissions for advanced sign creation.
    • Removed a debug message that looked like an error.
    version 0.6.2
    • Fixed enable bug on sign creation.
    • Fixed item data bug.
    version 0.6.1
    • Fixed berating of users who can't create command signs but were just innocently putting up a sign.
    version 0.6
    • Added SignReadMore support.
    version 0.5.1
    • Can no longer place blocks directly on enabled command signs.
    • Fixed @ directive.
    • Changed fake user network code.
    version 0.5 - See Post
    • Added /commandsign commands.
    • Added finite-use signs.
    version 0.4.10
    • Fixed BOSEconomy support
    version 0.4.9
    • Supports BOSEconomy
    version 0.4.8
    • Trimming commands in hopes it fixes some problems.
    version 0.4.7 - See Post
    • Added cost signs.
    version 0.4.6
    • Hackish solution to 'items not showing up in inventory' bug.
    version 0.4.5 - See Post
    • Updated support for GroupManager.
    • Added configuration option to change the display name of the fake user.
    • Added configuration option to allow command parser to understand // commands.
    version 0.4.4
    • Fixed numerous bugs when not using Permissions.
    • Beginnings of an API for other plugin devs.
    version 0.4.3
    • Added configuration file.
    • Fixed chat command bugs.
    • Rearranged code for simpler maintenance.
    version 0.4.2 - See Post
    • BREAKING CHANGE - The fake user is now named &CommandSigns.
    version 0.4.1
    • Fixed for 740
    version 0.4
    • Bukkit team trying to break everything again
    version 0.35
    • Fixed conflict when using <NAME> in commands overriding permissions.
    version 0.3
    • Added NAME, X, Y and Z variables
    • Added permission filter
    • Allowed creation of signs that call commands user would not usually have access to
    • Allowed customisation of [command] to other text.
    version 0.15
    • Bugfix ("Insufficient Permissions" annoyance bug)
    version 0.1
    • Plugin Released
    Dimochka, c_dric, Flipp and 5 others like this.
  2. Offline


    FUCK YEAH!!!! A fork of it! will try as soon as possible.

    Redstone? Delay? Single use sign? Iten cost sign? Iconomy sign? PLOX!
  3. Offline


    I briefly tested this on command signs that were giving me errors before, and it worked. Of course, I'm not discounting the possibility that bugs still exist. Let me know if it works.
  4. Offline



    Is there a way to get "/*kit" to work?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 15, 2016
    Fluff and cholo71796 like this.
  5. Offline


    I suspect all of these will be added to the queue. In addition, I plan on integrating SignReadMore support (another inactive plugin), letting you add many more commands to a single sign.

    However, please understand that our main focus is keeping this plugin (and several others) up to date and off the inactive list. Adding features will always be a low-priority task.

    Without knowing more details, it's difficult to know where to begin. However, I suspect that whatever plugin is giving you /kit does not let you give the kit to a user other than yourself. Basically, if /kit has a syntax like '/kit <kit-identifier> <player>', then there should be no problem. If you can't specify another player, that's not an issue for CommandSigns. Go bug the other plugin developer to add the command for a user to give another user a kit.
  6. Offline


    Alright thanks, I tried essentials and kitplugin and neither worked.

    So, I figured out how to get it to work using <NAME> and kitplugin, but there is an issue when using /warp and /*kit on the same sign. I have yet to figure out what exactly is causing the problem, but when I use both (for a pvp loadout) you only get one item from the kit, until you relog.

    EDIT: I bet if I could find a plugin that has a warmup warp (like Essentials, but without the ability to cancel it), it would probably cause the two commands to be far enough apart to avoid this bug, and I would be able to have it be 1 kit per life.

    EDIT: This plugin might work

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 15, 2016
  7. Offline


    Great plugin but now new line adds a " "! :'(
  8. Offline


    22:55:02 [INFO] ยบ9[PLAYER_COMMAND] dylanstosz: /warp rbattle
    22:55:02 [INFO] [Kit] /CommandSigns requested kit mage
    22:55:02 [INFO] [Kit] Giving a kit to /CommandSigns: Mage
    22:55:02 [SEVERE] plugins\KitPlugin\kits-\command
    signs.txt (The system cannot find the path specified)
    22:55:02 [SEVERE]       at Method)
    22:55:02 [SEVERE]       at<init>(Unknown Source)
    22:55:02 [SEVERE]       at<init>(Unknown Source)
    22:55:02 [SEVERE]       at<init>(Unknown Source)
    22:55:02 [SEVERE]       at com.floyd.bukkit.kit.KitPlugin.saveHistory(KitPlugin.
    22:55:02 [SEVERE]       at com.floyd.bukkit.kit.KitPlugin.onCommand(KitPlugin.ja
    22:55:02 [SEVERE]       at org.bukkit.command.PluginCommand.execute(PluginComman
    22:55:02 [SEVERE]       at com.earth2me.essentials.Essentials.onCommand(Essentia
    22:55:02 [SEVERE]       at org.bukkit.command.PluginCommand.execute(PluginComman
    22:55:02 [SEVERE]       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo
    22:55:02 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.dispatchCommand(Cr
    22:55:02 [SEVERE]       at com.edwardhand.commandsigns.SignListener.onBlockRight
    22:55:02 [SEVERE]       at com.edwardhand.commandsigns.SignPlayerListener.onPlay
    22:55:02 [SEVERE]       at$9.execute(Jav
    22:55:02 [SEVERE]       at org.bukkit.plugin.RegisteredListener.callEvent(Regist
    22:55:02 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl
    22:55:02 [SEVERE]       at org.bukkit.craftbukkit.event.CraftEventFactory.callPl
    22:55:02 [SEVERE]       at net.minecraft.server.ItemInWorldManager.interact(Item
    22:55:02 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHand
    22:55:02 [SEVERE]       at net.minecraft.server.Packet15Place.a(SourceFile:57)
    22:55:02 [SEVERE]       at net.minecraft.server.NetworkManager.a(NetworkManager.
    22:55:02 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHand
    22:55:02 [SEVERE]       at net.minecraft.server.NetworkListenThread.a(SourceFile
    22:55:02 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServe
    22:55:02 [SEVERE]       at
    22:55:02 [SEVERE]       at
    My sign is:
    @mage /warp
    rbattle /*kit
    mage <NAME>@

    I have tried the commands in reverse order as well.
  9. Offline


    You would be incorrect in assuming that the changes we made introduced the "space at end of line" behavior. A simple look at the source history would show you that. The changes we made were quite simple and would not have affected command parsing at all. I might consider adding this behavior back as a configurable option, but I assure you it will remain at the bottom of the list until you change your attitude. Go read About The Developers and see if there's any part in there that says that you are entitled to changes.
    While I understand what you're trying to accomplish, you're not going about it correctly. The problem is that /*kit will give the kit to the fake player /CommandSigns. Neither Essentials nor kitplugin includes a command that allows a player to give the kit to another player, which is what you'll need for /* to work for you. It's not a matter of delaying the command. It's that /* acts as if /CommandSigns does the command.
  10. Offline


    In fact, kitplugin does allow you to, I can do it easily from real admin to player. It is "/kit [kit] [player]" However with the sign (I have tested it and the warp has nothing to do with it), it causes and error with kitplugin. I guess I will test giveto and see if I have any luck.
  11. Offline


    Okay, I didn't see that as a command option in the thread, but now that I read the changelog I do see it. I'll take a look at <NAME>.

    EDIT: Does it work with a sign that only uses /*kit mage <NAME>?

    EDIT2: Of course it does. You said so yourself. Reading works. Why are you enclosing both commands inside @@?
  12. Offline


    Ok your idea beat mine. Sign read more suppor would be awsome. Can already think of gigantic macros to run :D
    Please do this.
  13. Offline


    I don't know when it changed. Also sorry for the attitude but I gotta be honest, posting problems are not ever addressed for long durations of time and I have to make a decision tonight. I am actually quiet amazed I am talking to someone right now.

    Really my intent was to give serious feedback that someone would see weeks down the road and realize people are upset. I didn't want the author to think my issue went away because its been weeks down the road. I can't possibly be the first person with this issue heh
  14. Offline


    Literally just:

    /*kit mage

    gives the same error.

    SignReadMore support would be awesome, it would enable you to do cleaner looking signs too, right?
  15. Offline


    Thank you for being patient with me, Brvtvs. Now that I've tried it, the error makes sense. kitplugin attempts to save a record of which kits have been used per user under a file that's named according to the user. However, the current user when using /* is /CommandSigns, which looks like a subdirectory. Hence, it causes an error because the plugin cannot find the kits- directory when it's trying to create a kits-/CommandSigns.txt file.

    To fix this and any other plugin conflicts due to a slash in the name of the fake player, I will be renaming the fake user from /CommandSigns to &CommandSigns. This will be a breaking change for all users. To fix easily, edit your Permissions file and change the user from /CommandSigns to '&CommandSigns' (single quotes included).

    EDIT: On future plans...
    My plan is for it to first check for [command] on the first line of the sign. If it doesn't appear there and the sign has SignReadMore text, it will check the first line of the SignReadMore text for [command]. This will let you entirely hide the command sign in the SignReadMore text and keep your signs looking nice.

    But like I said before, don't plan on this feature implementation being a quick thing. Our first priority is keeping plugins maintained and bug-free. Adding features is low on the list. It helps that I'm particularly interested in this plugin, so if I have some free time to code, I'll probably bang on this one.
  16. Offline


    Sounds like a plan
  17. Offline


    Wow, this is ridiculous. As I already said, the "space at end of line" behavior was already in the code when I copied it. Don't believe me? Think I'm just making it up? This behavior is at line 62 in; go download a copy of the source from the inactive thread and take a look. Further, you can do a diff from our most recent changeset all the way back and see that line hasn't been touched.

    If anyone else wants to rage about this issue, you can do so elsewhere. If you just want to show up and say we're "misinforming" people, that can also go elsewhere. If we make a change and we know it's going to be a breaking one, we'll tell you about it.
  18. Offline


    Preach Brother!

    The name &CommandSigns causes plugins to crash, at least with GroupManager.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 15, 2016
  19. Offline


    Did you put it in single quotes '&CommandSigns' ?
  20. Offline


    Why would I put a player's name in quotes?

    EDIT: Wow I'm dumb, I didn't see that in fluff's post

    The error was fixed, however the bug still persists where you only have 1 of the items until you relog, I am going to try giveto.

    EDIT: Giveto has the exact same bug.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 15, 2016
  21. Offline


    latest 2 changes have to be visible, changed that for you and moved
    you maybe wanna reformat that
  22. Offline


    Thanks Plague. Looks like we were editing at the same time, but I fixed it up.
  23. Offline


    That is so awsome, just made a request!
    -Iconomy Support - most needed feature right now (commands from signs is just a shortcut not really something new)
  24. Offline


    0.4.3 released.
    I noticed this same error when trying kitplugin. I used a kit that gave me a wooden sword and a wooden shovel. I noticed that after the first time from the sign, I would only get a wooden shovel. However, if I moved the wooden shovel to a different spot in my inventory, I would also get the wooden sword. I'm not sure what this means at this time.
  25. Offline


    having a problem:
    tried /region addowner plot1 <NAME>
    but because of short line it comes:
    /*region addown
    er plot1 <NAME>

    and it acts like it doesn't recognize "addowner" and tells me all of the possible vars after /region command,
    i tried meny varitions, (and with ignoreSpacesAtEndOfLine: true"

    i added #CommandSigns as an owner of the plot (only an owner can add other owners).

    what could be the problem?
  26. Offline


    Ok, first off thank you for putting time into this I've wanted this functionality for some time now. Only problem I'm having is getting the /* commands to work. I have '&CommandSigns' in permissions with all permissions. I must be dong something wrong.
  27. Offline


    Ok, say I have 2 groups one Registered and one Warrior. What would be the sign format for it to add any player from the Registered group to the Warrior group. The actual command to do so is /group <Playername> <group> world ... I've tried that but it doesn't seem to work.
  28. Offline


    @QuackzMcDuck: you can use the next line of the sign. note that a next line is actually replaced by a Space. so dont just continue typing but remove the last space from the line.

    and i got a little suggestion. that the Sign can be activated by redstone? cuz im making portal 2 maps and im using items that players can drop on pressureplates. but if they finnished the map i want them to remove the dropped items using worldedit, so the next player can try.

    thanx, Jucko13
  29. Offline


    @Jucko13 theres a plugin for killing drops.
  30. Offline


    0.4.4 released.
    By default, &CommandSigns is the fake user.

    EDIT: You should also check to make sure &CommandSigns has the necessary permissions to use addowner. I could not duplicate this using both * permissions and worldguard.region.addowner.* permissions.
    I was unable to duplicate this in the latest version with &CommandSigns having * permissions (and no other node). I'll need more details.

Share This Page