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


    Plugins used:

    My Permissions:

    What I do:
    Create Blank Sign
    /srm line1 [command]
    Right-click blank sign
    /srm line2 /say helloworld
    Right-click blank sign
    /commandsign enable
    Right-click blank sign
    [Output]:Sign enabled.
    Right-click blank sign
    [Output]:/say helloworld

    What I want:
    Console to say Helloworld

    What it does:
    Just repeats to me what I added like normal SignReadMore

    This is straight from this post time download from link files. So, not old. All folders show.
    SpacesEndofLine is false
    Have no bugs on serverprompt show.
    Could it be the ?2?
    Also, used newest build of craftbukkit.
    Regular command text on sign setup works normally.

    A wild Suggestion appears!
    Suggestion uses redstone!
    It is super effective!

    How one would use redstone?
    Use the /* and associate commands to signs position!
    Ex.: FalseBook PlayerNear sets off SignCommands. Commandsign uses worldedit to auto generate Statue with arrow dispensers! FalseBook Arrow dispenser start fireing! Falsebook playernear behind each arrow dispenser! Set it up where constant player close will deativate shooter after set time! While at begin on action have command sign say to player **Deactivting** then when waited long enough commandsign says **Done* after all deactivated use command sign to unload and open next room :3. Also, have first playernear a onetime charge. Set player nears through out dungeon on a NOR so when no players in dungeon use command signs to reset it. It would work best in a Adventure play style tho. And yes feasible!
  3. Offline


    Thank you for the detailed report. I cannot duplicate this behavior following your exact steps and setup. An enabled command sign should have §2 at the beginning. This character should also appear in the text file in the SignReadMore directory. I suspect code page weirdness.

    EDIT: Here's a good test: go download and try Edward's SignColors plugin. If it works, I know what I need to change. If it doesn't, it's due to a code page conflict on your end.
  4. Offline


    I have tried it and it did not work yet again. Can it be it is showing up as a ?2,because it is hosted on CentOS and it can't register such a character?

    I will try on a windows server format to see...

    Unfourtanetly I was right works fine for windows server, but the character isn't registered for linux!!!!

    1) Update to let people know about issue with linux.
    2) Teach us(me) how to add the character to map.
    3) Change it to something like '~' or '*^'

    Add a function to let us choose the symbol.

    Changed to Ubuntu and having same problem :O

    § can be used as a in a command or say but it's output is ?
    Same with practically any symbol...It isn't can't use it on linux. You just can't use it on server hosted on linux xD
  5. Offline


    AH! Thanks I better understand the /*. This doesn't suit my needs then... My intentions were to give players an option to use the signs with the commands they don't have access to. For example I don't want everyone having the give command and giving themselves and everyone anything they want. I wanted to simply create afew common give signs so they can click and get basic items without having access to the give command itself. Given this is a client command and doesn't affect everyone then this won't work due to your fake player. Is there anyway to do the scenario I wish to setup? This was the cool thing about the hmod version.
  6. Offline


    The issue is more clear now. Apparently SignReadMore isn't loading or saving things in a format that Linux can understand Unicode. Even when changing the incorrect character to the correct character using vi, it isn't being read back in correctly. This will soon be a non-issue ('soon' as in 'hopefully today'). Thank you for bringing it up.
    Which you can use /* for. There's even a way to do it without commands at all. Let's say you want to give a player 64 Stone. Here's two example signs that can do that:
    /*give <NAME> 1 64
    The above uses Essentials /give syntax.
    The above uses a cost sign with a negative amount to give items.
  7. Offline


    Yes but I would want all people to use some signs. Otherwise I would need to create the same sign for each person, correct?

    EDIT: Ah ic now that the cost sign with a negative works. Thanks for explainign more.
  8. Offline


    No, you just create one sign with the <NAME> placeholder. See this previous post.
  9. Offline


    Ok, I now understand but It still does not work using exactly the example in that previous post. My Permissions...

            default: false
                prefix: ''
                suffix: ''
                build: true
                - '*'
            group: Admins
    On another note the cost does not support numbers for saplings, stumps, and cloths. (6:1, 17:1, 35:1, ect.) Or am I doing it wrong?
  10. Offline


    Before Read:
    These are results of both linux and windows!
    Update everthing! You should not be able to activate the sign without type '/commandsign enable'
    Please post what you running on what OS, like mac, linux, windows. So, I can further investigate.

    For above problem! White Wool is 35:0 not 35:1 so you are aware!
    Ex.: $;35:0,1 means it would cost them 1 WhiteWool or if it was $;35:0,-1 they would get 1 white wool!

    Another problem could be permissions or console op!

    I couldn't get permissions to work for [Yeti]Perms either! I added PermissionsPlus set ranks and just promoted to top &CommandSigns
    These are what I did to get it to work for me!
    Ex.: /promote &CommandSigns
    Ex.: /op &CommandSigns

    My Problem Now:<
    CommandSigns Perms:


    /*say Hellooo

    Takes wool and goes, BUT if I have no wool it says insufficent funds and runs /say Helooo anyways. I did fix it by doing cost before commands, something you should look into!>

    Some Fun:
    adding this /*/ allows sign to issue world edit commands! through sign, BUT!!! the set of positions is random!
    What I tried:
    /*/set stone
    What I expected:
    Block where sign is change to stone.
    What happens:
    Random stone blocks appear in a randomly generated spot.
    Stick with players positioning for now.
  11. Offline


    That's not a problem; it's by design, similar to the @ directive. Order matters.

    I'm already aware of the other problems. They're fixed in the next release, which is starting to look more like tomorrow than today.

    EDIT: 0.6.2 released. Bug fixes are a good reason to release ahead of schedule.
  12. Offline


    Tried it out, other than auto enable on create haven't notice a difference cause items were working to begin with.
    Aware order matter, but way syntax is setup it makes it seem it doesn't in first post. And, with update order still matters :p
    How about:

    Order Matters
    • [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
    • $;<cost1>[;<costN>] where cost is <item id>,<item number> or <item id>:<item data>,<item number> - adds a cost to the sign
    • @player/group - commands following (up to the next @) are limited to that player/group.
    • /command - runs a command as the player using the sign
    • /*command - runs a command as the fictional user &CommandSigns
    • \message - prints in chat
    • <NAME> / <X> / <Y> / <Z> - replaced with the using players name/x/y/z-coord on running.
  13. Offline


    Alternately, a user could read the full-fledged User Guide in the OP. The part in the spoiler tags is a syntax summary (which is why the spoiler is cleverly named "Syntax Summary"). It is not intended to be the complete documentation.

    This is important.

    If you are running a public server and non-admin users have permission to create signs with SignReadMore, there's is a MAJOR security issue. You'll either want to restrict the permission to admin users only or stop running the plugin completely. I'll have a replacement ready in a couple of days.

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


    Now that SignReadMore is enabled, this is now one of the best plugins in the Bukkit universe. BTW, could you please feature how to use CommandSigns with SignReadMore in your Users Guide? That would make this plugin even easier to use and understand :D.
  15. Offline


    I am well aware that 35:1 is not white I purposely used that to show example it does not give colored wool.

    On the back hand I have tried every which way possible and /* just does not work at all. The user is an OP and an admin with all flags and still says command does not exit or fake user does not have permission. I have tried about every command I can think of, they do exist and the fake user has about 3 ways to have permission.
  16. Offline


    Can you add dates next to changes on the log. Please, this just helps me no when you updated. And it might help others who use lots of plugins.
  17. Offline


    0.7 released.

    SignReadMore support is out. Before I get lynched, I should mention that Annotate support is in. It allows much more flexibility on where you can put CommandSigns. It also fixes the issue with not being able to enable CommandSigns in the SRM text on Linux boxes. CommandSigns placed on buttons and pressure plates will trigger when pressed as well as right-clicked.

    Also, some additional permissions have been added to give admins more choices in what advanced options to enable for users.

    The User Guide will be updated shortly with more detailed explanations of these changes.
    I have no explanation for this behavior. I cannot duplicate with the information provided. Perhaps another plugin is conflicting?
    I post a message in the thread every time I update. I can always post a link to my post in the change log, if you'd like.
  18. Offline


    Oh man, this made me soil my pants
  19. Is there any way you could add a something like [override] that bypasses permissions?
  20. Offline


    Do you ever plan on bringing back SignReadMore support? Also, why did you remove that support in the first place?
    I really hope on being able to no be limited to three short lines of commands.

    Edit: Now that I actually know what Annotate is, you don't need to answer these questions and I immediately download. However, you should better explain that Annotate is actually a fork of SignReadMore, but instead of signs, Annotate uses anything. (E.g. "With Annotate, you can have CommandSigns on practically any block and CommandSigns can run any length command!")
  21. Offline


    Great mod keep up good work

    Just thought i would jump in here and suggest that instead of signs being activated by redstone (Because this is limited as you explained) what if activated signs sent out a redstone current. i can think of many ways that this could be used in game especially if your also using falsebook

    Edit looks like i might be able to do what im asking with the annotate mod will have a play around
  22. Offline


    You don't want to redstone powered signs right? Why not just make it so when a redstone torch activates it goes off like pressure plates? Could even do redstone wiring! That way we can do chain of events!

    Want to change the block your sign is associated with, but don't want to retype since it isn't a .txt? USE Worldedit SuperPick! One hit removes old and then place new block in its place! That simple!

    X, Y, Z of CommandSign uses orginal Minecraft Spawn setup where you spawn randomly at Original Minecraft spawn (no spawn changer changes it) so that is why positioning is a fail.

    How is Redstone useful?
    1) I will break any and all /* player limitations!
    How would I do that? I do it by starting with my problems!​
    I was able to get command sign to copy and paste what I need where I needed it using worldedit.​
    Make a building and //copy it. //paste it somewhere where you wan tit auto-generated laters. //copy the pasted copy. Now, //save that copy. Then, destroy that sucker or remove it. Next, setup a command sign like so.​
    line2: /*/load [NAMEofSave] /*/paste -o​
    If, enabled right-click it! BAM now your building has been pasted where you needed it and how you wanted it!​
    2) Placeholders? Lawls!
    I have more stuff that I have working on or finished. These are all for my adventure server. I will not show all examples, but so far these <placeholders> are only useful for my shops.​

    You want redstone support? Well, you can /ann the pressure plates (buttons) them selves! I am current doing my following setup using dispensers that with redstone drop items on wood pressure plates that activate what I want from commandsigns!
    Enables use of redstone.
    Can set uses to how many items in dispenser :p

    Must use third party plugin to control usage timing! Like, a auto deleting item dropper that does it at time intervals. Or using Craft/False Book to create a monster to step on plate one time then have a plugin remove it in time interval.

    Currently using:
    I have towny so I just made a towny plot because in towny config you can control when monsters in spawn disapear intervals.
    I have no other suggestions!

    Breaking News:
    If you add the comprimize and something like this
    line1: [Command]
    line2: x:### y:### z:### [optionalVARIANT]

    Optional Variant Choices(some)
    pNear # (Get first player nearest spot) # is area to search​
    mNear # (monster)​
    bNear # (block)​
    entity, etc.​

    So, we can use them in place of <NAME> or <X> <Y> <Z>
    And, adding like a [pNear # ALL] choice that repeats sign for each player in that area.

    You shall be the first player to create a in-game script line Minecraft API system that works for (I dare say) all plugins!*
    *That allow you use chat to alter said plugins functions

    Sorry all my posts are long winded. I ussually leave editor up as I am playing with a plugin to add more feedback xD
  23. Offline


    As an alternative, I'm considering a command that toggles a lever at x,y,z. That would at least let you activate redstone circuitry from a CommandSign. I'm not sure if this command would have use outside of CommandSigns. If it would, it should be its own (simple) plugin. If not, I'll just add it as a command to CommandSigns.
    This has the same limitations as any other redstone command sign implementation. I don't like introducing something into the plugin that looks similar but works differently. This is why redstone support will be a separate plugin.
    Can you explain this please?
    I like these placeholder ideas.
    It does make it more difficult to read through and find the useful bits. ;)
  24. Offline


    If i want warp signs i need this?

    [/warp name-of-the-warp]
  25. Offline


    You should read the User Guide.
  26. Offline


    I read but i still don't know.
    And i don't really understand the difference between [command], /command and /*command...
  27. Offline


    I can't duplicate this using almost exactly the same sign as you have. Please check the associated annotation file on disk; make sure that the first character in front of [command] is §. Also, what does your CommandSigns config file look like?
  28. Offline


    Do you have it working with /*groupset specifically? I am thinking that that is the issue because I got it working with other "/*" commands. I think it doesn't work as the fake user, but on GM it should work if I select the world first. I will just go back to Groupmanager I guess. My file is like:

    §2[command]/*groupset <NAME> red @red /warp red /ch R

    EDIT: I have done so many stupid things today, of course Permissions is governed by Ops, I just hadn't set &commandsigns to an op. That issue is fixed, I am looking forward to file association.
  29. Offline

    Binder News

  30. Offline


    I was trying to do something like this
    line2: /*/pos1 /*/pos2 /*/set 1
    Remeber that? Well Then I changed it to.
    line2: /*tp & X, Y, Z /*/pos1 /*/pos2 /*/set 1
    To see if I could teleport &command to a spot the use it. Negative. Then, tried change spawn to see if that would work. Negative. &CommandSigns Player Posistion is a random spot from original SMP spawn. You know how in normal you randomly in area of spawn.

    Would you still be able to add it for when a redstone torch changes? Cause, that would still make it really awesome.
    I can /* practically all my needs :p

    Signs with $ costs stopped working...
  31. Offline


    This is not helpful.

    0.7.1 released.

    Indeed, cost signs using item data STILL weren't working right. My apologies for taking so long to get this right; the API doesn't quite work like the documentation would lead you to believe, and in my testing I failed to recognize that I always had the 'cost' item 'first' in my inventory. This should solve the problem.

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

Share This Page