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

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

  1. Offline

    Fluff

    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

    Source

    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

    Fluff

    No, I have no idea. Please post which plugin you're using for /i. It could be related to an earlier issue with kits.
     
  3. Offline

    imjoe

  4. Offline

    yup8

    jjtcomkid, if you had read the thread you would know he is working on adding a feature from "SignReadMore"
    which allows this kind of connection between signs and .txt file
     
  5. Offline

    badbh222

    It seems to happen with every plugin that places items in your inventory, instead of throwing them in front on you like the default /give does, the items will show up after an inventory change, or reconnect, though.
     
  6. Offline

    yup8

    i managed to get the "buy-a-plot" thing with
    /*region addowner plot1 <NAME>

    now just waiting for "finit-use" and Iconomy [=
     
  7. Offline

    Fluff

    0.4.6 released.

    This should clear up the inventory bugs. My solution is pretty hackish; sorry folks, but I've only been working in Java since Wednesday. Sorry Brvtvs, I should have cleared this up when you first reported the issue and I was able to duplicate. I just didn't know enough to go investigating at the time.

    For any plugin devs that wander by and want to give me a clue, you can see what I did here. I'm pretty sure it's not the best way to accomplish the goal, but it works. If you know a better way, please tell me about it.
     
  8. Offline

    jjtcomkid

    Thanks for pointing that out, but it seems like SignReadMore is inactive. However, I do see how this would really help commands work. This is eventually going to become a really amazing mod.
     
  9. Offline

    yup8

    SRM is fully working at my server (CB 740)
    indeed once "'finite-use'" will be added also iConomy Support
     
  10. Offline

    Me4502

    hi. looks like a very good plugin. i would use this but do you think you could make it people need to pay a certain amount of a resource (for example gold ingots(its my servers currency)) to pay per command use. for example pay 5 gold ingots for use of the /god command from worldguard
     
  11. Offline

    Fluff

    Suggestions on the command prefix? I thought
    • /commandsign
    • /cs
    I'd really prefer the second one, but I don't know if any other plugin conflicts. The first one is long, but I'm pretty sure it doesn't conflict with any other plugin. Anyone else have some ideas?
     
  12. Offline

    WebFrogeye

    I've a bug, when I create the "&CommandSigns" user, and i reload permissions, CraftBukkit write an error and Permissions don't work.

    My config :

    CraftBukkit: 740
    Permissions: 2.7.2
    CommandSigns: 0.4.6

    Permissions :
    Code:
        &CommandSigns:
            group: Admins
            permissions:
                - '-derp.derp'
    Error message :
    Code:
    >permissions -reload all
    18:00:59 [WARNING] Unexpected exception while parsing console command
    org.bukkit.command.CommandException: Unhandled exception executing command 'perm
    issions' in plugin Permissions v2.7.2
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85
    )
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:2
    47)
            at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:394)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:379)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.NullPointerException
            at com.nijiko.permissions.Control.load(Control.java:227)
            at com.nijiko.permissions.Control.forceLoadWorld(Control.java:114)
            at com.nijiko.permissions.Control.reload(Control.java:80)
            at com.nijikokun.bukkit.Permissions.Permissions.onCommand(Permissions.ja
    va:256)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 6 more
    >permissions -reload all
    18:01:55 [WARNING] Unexpected exception while parsing console command
    org.bukkit.command.CommandException: Unhandled exception executing command 'perm
    issions' in plugin Permissions v2.7.2
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85
    )
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:2
    47)
            at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:394)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:379)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.NullPointerException
            at com.nijiko.permissions.Control.load(Control.java:227)
            at com.nijiko.permissions.Control.forceLoadWorld(Control.java:114)
            at com.nijiko.permissions.Control.reload(Control.java:80)
            at com.nijikokun.bukkit.Permissions.Permissions.onCommand(Permissions.ja
    va:256)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 6 more
    Is it a real problem or just I'm a noob ?
     
  13. Offline

    Thumm

    put &CommandSigns in single quotes like this '&CommandSigns' and see if that helps.
     
  14. Offline

    WebFrogeye

    Ok thanks, i'm just a noob ;)
    Sorry for that
     
  15. Offline

    wokka1

    RB 740
    CommandSigns 0.4.6
    Essentials Group Manager 2.2 (reports as alpha 5 of GM, latest version available)

    Mydrox had posted earlier about our server and using the admin commands. Simple commands like /time day work as expected. If I try to use a more advanced command, like something from WorldEdit, I get the following error on the console: [SEVERE] com.sk89q.minecraft.util.commands.WrappedCommandException: java.lang.IllegalArgumentException: Offline player not allowed

    I also get a message in game 'An error has occurred. See console.'

    I can understand this type of plugin being a large challenge, and we thank you very much for the effort. Anything that we can do to help, provide more info, we'll gladly do.
     
  16. Offline

    Fluff

    So far this has worked with every plugin I've tried. Can you please test and verify that it's only sk89q's plugins that are doing this?
     
  17. Offline

    wokka1

    @Fluff yeah, it seems to be just his plugins. After a couple of restarts, I don't get the error anymore in the console, we are back to the "You don't have permission." message in game, nothing in the logs. He's so backlogged on his plugins for things, getting a change in there would be near impossible. :/

    Thoughts on a quick fix on your end? Also, do you have a donate link that I've missed?
     
  18. Offline

    Fluff

    I've got a couple of ideas I'm going to try out. Your experience is odd; while I haven't tried all of the commands in WorldEdit or WorldGuard, I've hooked up signs with the /region command just fine. It seems strange that he'd put that sort of a check (a VERY paranoid sort of check) only in some places.
    For real, don't donate to me. I do this because it's fun and because our own server needs it. I'd be doing this privately anyway. Releasing it like this is no big deal. I don't need your money, and our server is plenty well funded. If you need to donate, give a few bucks to a charity; I'm a fan of these guys. (Direct link to Paypal)
     
  19. Offline

    luke738

    I'm not sure if that's your problem, I've had similar issues with TooManyItems and Essentials, might be a bukkit thing.
     
  20. Offline

    Fluff

    It might be, but I found a workaround in the latest version.

    @wokka1 Sorry, but no dice. Even my "extremely ugly, more likely to crash the server than fix the problem" workaround didn't do a thing to help. And like you say, sk89q's plugins update so rarely that it's unlikely it will be fixed soon. I'm certain I could do a workaround, but it'd involve parsing out commands for WorldGuard and WorldEdit (and probably any of his other plugins), and then passing them through their respective APIs instead of using the dispatcher. It'd be a lot of work, and I'm not certain it's worth it. It would have been nice to be able to toggle what a certain area is filled with just by right-clicking on a sign, though.

    It really is odd. Every command that players and the console issues goes through the dispatcher, just like the commands I'm sending. He's got to be doing something ugly on his end.

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

    wokka1

    Will do, thanks for that!

    Thanks again, /me sighs...
     
  22. Offline

    Brvtvs

    I just got around to updating to 4.6 and it seems like the signs don't work at all. I have tried on op and regular players and the signs will turn green when I create them, but there is no console error or command or anything when they are used. I am on cb740. I have the permission node, nothing is working. Was there something I had to change that I missed?
     
  23. Offline

    Fluff

    No change was necessary. I can't duplicate your experience; all my test signs still work just fine.
     
  24. Offline

    Brvtvs

    Alright I'll start disabling other plugins to find if one is the culprit.
     
  25. Offline

    Darkenvy

    Hey I don't know if I said thanks already, but thanks again guys!

    Love the "Legacy" support. :cool:
     
  26. Offline

    Fluff

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

    badbh222

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

    Joe12o

    How can I make it so the people pay me when buying an item from a sign? :D
     
  29. Offline

    badbh222

    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. :(
     
  30. Offline

    Fluff

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

    jamescosten

    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.
     

Share This Page