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

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

     
  1. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    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.


    • /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>.

    • [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

    • 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.
    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

    Source


    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.

    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.  
  3. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    0.4.7 released.

    SignReadMore support is waiting on Milton to incorporate my changes into his source, so I decided to work on a much-requested feature: cost signs!

    The syntax for adding a cost is a little arcane, but it's as simple as I could make it. The syntax is:
    $;<cost1>[;<costN>]

    where a cost is defined by:
    <item id>,<item number>

    To use iConomy, use an item id of 0. To use items that require numeric data (such as dyes), <item id> can also be <item id>:<data>.

    For example, if I wanted to add a cost of 5 stone and 100 iConomy credits, I'd use the following:
    $;1,5;0,100
    If I wanted to add a cost of 7 purple wool, I'd use the following:
    $;35:10,7

    You can also use negative costs, allowing you to gain items and money from signs. In fact, you can use these costs to create a fixed-price, infinite-inventory sign shop. Evaluation of a sign's commands will cease when the player cannot pay the cost. Only ops (if you're not using Permissions) or players with the commandSigns.super permission can create cost signs.

    Please test these signs out and report any errors.
  4. Offline

    badbh222

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Would this be the correct way to get a cost sign working?

    Using 8 gold ingots to get 64 cobblestone for example:

    Line 1: [command]
    Line 2: $;266,8
    Line 3: /*give <NAME>
    Line 4: 4 64

    If not, could you please explain a bit further?

    Thanks
  5. Offline

    Joe12o

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    How can I make it so the people pay me when buying an item from a sign? :D
  6. Offline

    badbh222

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    When SignReadMore support is added, I'm sure you could make the sign /give you an item as well as the person using the sign, as for iConomy credits, I'm not quite sure how that is done since I don't use iConomy, but for now, there just isn't enough room on the signs to do anything too advanced. :(
  7. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yes, you can do it that way. Here's three other ways you can do it:

    Assuming you have ignoreSpacesAtEndOfLine set to false,
    Line 1: [command]
    Line 2: $;266,8 /*give
    Line 3: <NAME> 4 64

    Assuming you have ignoreSpacesAtEndOfLine set to true:
    Line 1: [command]
    Line 2: $;266,8/*give <
    Line 3: NAME> 4 64

    Without even using a plugin that allows /give:
    Line 1: [command]
    Line 2: $;266,8;4,-64
    You cannot do that yet, and I'm not sure you'll ever be able to. If you want to make a real sign store, use a different plugin. The focus of this plugin is to allow players to run commands from signs. Besides, if you can make a command sign with $, then you can make one to give you whatever you want. Why would you want to get stuff from players too?

    EDIT:
    It took me a few minutes to grasp what you're getting at, but yes, with SignReadMore support you'll be able to script the costs coming to you. Item costs probably won't work unless you're online (unless you've got a plugin that lets you give items to offline players), but iConomy commands will work.
  8. Offline

    jamescosten

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Ok i want this, but im using a mac and when i open zip im confronted with multiple files including META-Inf. What do i do now, sorry if i sound noobish with this. I got it to work once before but im at a mind blank at mo.
  9. Offline

    Brvtvs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Now I am getting this error:
    Code:
    08:54:27 [SEVERE] Could not pass event PLAYER_INTERACT to CommandSigns
    java.lang.ArrayIndexOutOfBoundsException: 0
            at com.edwardhand.commandsigns.SignPlayerListener.runCommand(SignPlayerL
    istener.java:285)
            at com.edwardhand.commandsigns.SignPlayerListener.onPlayerInteract(SignP
    layerListener.java:49)
            at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.ja
    va:280)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:289)
            at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEven
    t(CraftEventFactory.java:162)
            at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.j
    ava:207)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:526)
            at net.minecraft.server.Packet15Place.a(SourceFile:57)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:196)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:372)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:287)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    >
    I am on CB 766 now, that is with no other plugins.
  10. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I'm pretty sure I read once somewhere on the forums that the default program used to unzip will unzip the jar too. Try the new download link.

    EDIT:
    Yeah, that doesn't look good. Please post the command sign being used.
  11. Offline

    jamescosten

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Cheers works like a dream :)
  12. Offline

    Brvtvs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Ok, I have to do more testing, I figured out that the error came from the fact that the command didn't exist because I had disabled the plugin. However, when I do a simple text sign, it does work. It is some sort of plugin overlap obviously
  13. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I'd still like to make it so that error doesn't pop up...a nice single-line error from CommandSigns would be better. Please post the command sign used.
  14. Offline

    Brvtvs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    That was pretty confusing because it was apparently two plugins, VanishNoPickup and Sploderrows. I am not sure about the first one but the seconds one has some sort of issue with signs if they aren't used for its function and they are taking their time fixing it. As I recall there is another plugin to replace sploderrows for fire arrows and I have no need for vanishnopickup

    The sign I used to get that error was:

    **[Red Base]
    @red /warp red@

    hm... I disabled Roles too, which is really outdated and shouldn't be trusted even though it still works. Roles controlled that group to some extent so it might have something to do with it.
  15. Offline

    Brvtvs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    It might be a problem with roles also, because even though I got the signs working, none of the group signs work any more.
  16. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Why are you surrounding it with @? If you're just trying to get it to work with red group, you only need the @red; all commands after that will only work for red group (or a player named 'red') until the next @ directive. I see the source of the error, so I'll fix it so that it returns something nicer.
  17. Offline

    Brvtvs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Oh, so I don't need the second one to make it work? I guess I was just stuck in forum mode
  18. Offline

    Shirtlesscow

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I love the idea of it BUT it sounds buggy and I would love to know what plugins its compatible with befor it try it
  19. Offline

    Brvtvs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I don't think there are many issues, I am just using unstable and inactive plugins.
  20. Offline

    Teser

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    can you point me to a plugin or if you dont know of one that works look at supporting it for your plugin.
    **[command] woks great but is it possilbe to hide or override the actual command line text with something else.
    first reason, most commands are ugly. Second, some commands i dont want users to see how its typed out to do it on there own in commandline.

    I am hoping you can help me with one issue, not sure if the issue is me, your mod, or other 2.

    I am using your great plugin, and it works great, with one exception.
    The issue i am having is somewhere between Permissions, CS, MinecartMania.
    I have a sign with "/st home", this cant be done with /* as its very user specific.
    every user lvl in permissions has access to the CS use permission.
    every user has permission to use /st with minecartmania.
    using the CS sign with the command, there is no returned text (failed permissions or accepted process call notification) on client or server side.
    if the users manual type the command it works.
  21. Offline

    Joy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Having issues with latest:

    09:59:03 [INFO] &CommandSigns could not execute command "/raffle ". Does command exist?
    09:59:03 [INFO] If so, perhaps you should op &CommandSigns

    Of course I gave CommandSigns the proper permission node. The command works fine for anyone else who I manually give the node.

    I don't get why it adds spaces after the command....maybe that's the problem?
  22. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    @Teser, @Joy: I wonder if your issues are not related. The only reason I can think of that players can do it and a command sign can't (other than plugin developer paranoia) is that some plugins just don't handle the trailing space very well. I've added code to remove any trailing spaces. I'm going to take a look over the task list and see if I can't fit anything else in before I release today.
  23. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    0.4.8 released. Let me know if this doesn't fix any issues for you.
  24. Offline

    yup8

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    wow, this plugin is awsome! Great work!
    Thanks For the "costs" thing, cant wait for SRM , gone be one of the MUST-HAVE plugins in your server
  25. Offline

    Shanev

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Could you get this to work with uQuest and Jobs? The problem is: I only want people to be able to get quests and jobs via signs, but when I use your dummy-user '&CommandSigns' he is the one who gets the quest/job and not the player :(

    edit: this is just frustrating. Is there a way for players to only being able to trigger commands with signs and not via chat?
  26. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    For /* to do what you want, you usually have to use commands that take the player's name as one of the arguments. If you want to use it with a plugin that doesn't offer those kinds of commands, you'll have to bug the plugin author to add them.
  27. Offline

    Reil

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Hey there, CommandSignsMan. I was taking a look at your code, and was wondering if you'd be okay with me using it as an example for making a fake/fictional player like your &CommandSigns.

    It'd be a great addition to rTriggers, and credit will be given where due. Thanks!
  28. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Use as much as you want. I update these because we're using them on our server, not because I have a stake in carving out a space for myself as an awesome plugin developer.
  29. Offline

    Lanuk

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    You don't think you could make this do the same thing it does with iConomy with BOSEconomy, do you?!

    I'd really love this plugin for warping and stuff, but a plugin that could let players obtain boseconomy money from signs? I would freaking worship you.
  30. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    0.4.9 released.

    BOSEconomy support added. In addition, if you've got both iConomy and BOSEconomy installed and you want a sign to use one or the other, set the item data. For iConomy, use an item data of 0. For BOSEconomy, use an item data of 1. For example:

    [command]
    $;0:0,-200

    will always give 200 iConomy credits while

    [command]
    $;0:1,-200

    will always give 200 BOSEconomy credits.

    Please note that it's only necessary to specify this item data if you have both economy plugins installed. If you've only got one, then it'll do the right thing without the item data specified.
  31. Offline

    Lanuk

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    You... read my mind... (points to post above)... I LOVE YOU!

    Wait.... there isn't a way to use signs to obtain cash.. is there? These money commands are realllly confusing me. (Yeah, I am using BOSEconomy).
  32. Offline

    Fluff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yes, use a negative cost. In the examples in my previous post, both of the signs had a negative cost, so they actually gave money instead of taking it.

    Here's an example of a sign that takes 100 iConomy credits and gives 100 BOSEconomy credits:
    [command]
    $;0:0,100;0:1,-
    100
    This sign will only work if you have ignoreSpacesAtEndOfLine set to true in the configuration file.

Share This Page