Inactive [MECH] CommandSigns v1.2.0 - Issue commands using signs[1317]

Discussion in 'Inactive/Unsupported Plugins' started by HansAnderson, Aug 26, 2011.

  1. Offline

    HansAnderson

    CommandSigns:
    Version: v1.2.0

    This plugin is a complete rewrite of CommandSigns based off the original by Edward Hand. With CommandSigns, you can add invisible text or commands to signs. When the sign is right clicked, the command runs and/or the player gets a message.

    The /* feature of this plugin will not work properly with PermissionsExtended (PEX).
    There is a small issue where PEX doesn't utilize the permissions.yml from the root server folder.
    It has been tested with PermissionsBukkit and bPermissions.

    Features:
    • Run commands from signs
    • Signs can have any other text on them, the commands are linked to the sign behind the scenes
    • Uses a new permissions node so that players can use commands they wouldn't normally have access to!
    How to use:
    1. Place a sign, add any writing you want
    2. Add lines to your clipboard with /commandsigns line<number> <text>
    3. Right click a sign to make it a CommandSign
    Commands:
    Code:
    /commandsigns line<number> <text>
      - Add a line with one command (see Command Formatting). Number may be 0-9
    
    /commandsigns read
      - Read a CommandSign (the command lines associated with it)
      - Note: You need permission to create a sign in order to read
    
    /commandsigns copy
      - Copy a CommandSign to clipboard (the command lines associated with it)
      - Note: You need permission to create a sign in order to read
    
    /commandsigns clear
      - Clear your CommandSigns clipboard
    
    /commandsigns remove
      - Remove a CommandSign
    Command Formatting:
    In the place of <text> for a line, you may write a single command or sign formatting (such as @group). There are 10 total lines for separate commands or sign formatting. See Examples.
    Code:
    /command
      -  Runs a command from the player who clicked the sign
    /*command
      - Runs command with elevated permissions from the 'CommandSigns.permissions' node
      - Doesn't work for OP commands like /stop
      - (For WorldEdit //wand, use /*/wand)
    @group
      - Limits the sign use to only that group
      - **Check the permissions section below for usage!**
    \message
      - Print the message to the player's chat
    <NAME>
      - Replaced in the command by the player's name
    <X>/<Y>/<Z>
      - Replaced in the command by the player's x, y, or z coordinates
    Examples:
    examples (open)
    Code:
    /commandsigns line0 \say Hello server! <NAME> just logged on.
      - "Hello server! <playername> just logged on."
    
    /commandsigns line0 \You just clicked
    \commandsigns line1 \a sign!
      - "You just clicked
          a sign!"
      - (Message sent to the  player who clicked)
    
    /commandsigns line0 /*warp point1
      - Warps the player to point1
      - (If the /* nodes are set up correctly)
    
    /commandsigns line0 @mods
    /commandsigns line1 /*warp point1
      - Warps the player to point1 only if they have the 'CommandSigns.group.mods' permission node
      - (If the /* nodes are set up correctly)

    Permissions:
    permission nodes (open)
    Code:
    'CommandSigns.*'
      - All permissions
    
    'CommandSigns.create.*'
      - All create permissions
    
    'CommandSigns.create.regular'
      - Create signs without /* commands
    
    'CommandSigns.create.super
      - Create signs with /* commands
    
    'CommandSigns.remove'
      - Remove CommandSigns
    
    'CommandSigns.use.*'
      - Use all signs
    
    'CommandSigns.use.regular'
      - Use signs without /* commands
    
    'CommandSigns.use.super'
      - Use signs with /* commands
    
    'CommandSigns.group.<group>'
      - Replace<group> with the group name from @group
      - Allows use of signs with the matching group name
    
    'CommandSigns.group.*'
    - Allows use of all @group signs

    In your permissions.yml (in main server folder) create parent node 'CommandSigns.permissions' and attach children nodes from plugins you want to give permissions for when using the /* prefix.
    permissions.yml example (open)
    Code:
    CommandSigns.permissions:
        children:
            warp.go: true
    Now using /*warp <somewhere> on a sign will allow a player who doesn't normally have access to the /warp command to use the sign.

    Download CommandSigns
    Source

    Changelog:
    Version 1.2.0
    • Only one command per line now (commands can have many more syntax options)
    • Added ability to copy a CommandSign text to 'clipboard'
    • Fixed 'CommandSigns.group.*' permission node
    Version 1.1.0
    • Now supports all superperms permissions plugins!
    Version 1.0.1
    • Fixed a missing permissions node from the plugin.yml
    Version 1.0.0
    • Initial release

    I wanted the functionality of the old plugin, but the /* feature was broken. After becoming frustrated trying to figure out and update Fluff's version, I went back to the original and completely rewrote it. This is really my first plugin and Java experience.

    If this is not an acceptable submission, that is fine. I wrote it for my server and don't have time to go nuts adding features we don't need. However, I saw many people also wanted the /* feature, so I shared my work.

    I'm open to changing the name to something different, or withdrawing the submission. My main goal was to make this available to anyone who wants to use it.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  2. @HansAnderson The permissions.yml in the root folder is loaded by bukkit itself, No permissions plugins are involved in that file. They may use the alias permissions inside it, but they don't play a role in loading them. However I must congratulate you on using that file as it provides a very elegant solution.

    Might I add that there's a way to make it truely compatible with any perms plugin, and any plugin using superperms (the builtin player.has() method). Utilise the commandsigns.groups subnodes.

    Granted it's one more perm node for a server owner to setup, but it means that compatibility with all superperms plugins is pretty much guarenteed.

    It also allows more complex setups without needing a ton of groups. Such as a group of area reset signs designated for eventmanagers, those with commandsigns.groups.eventmanager permission node could use these signs. of that group a select few might have access to signs that open/close an area. So on and so forth.

    I hope I've helped with my explanation of the permissions.yml, and how you could improve commandsigns. This looks to be an excellent plugin and I look forward to utilising it.
     
  3. Offline

    rockxz2135

    Does this work with PermissionsEX? If not can you make it compatible thank you!
     
  4. @rockxz2135 I patched it to use CommandSigns.groups.<GROUP> instead of permsbukkit groups.
    It also has CommandSigns.groups.* as an all groups (admin functionality).

    I won't release it yet as I don't want to steal the awesomeness Hans hath delivered, but if it hits next week without replies from him, I might as well publish the link in here.
     
  5. Offline

    CraftLourens

    Decals can be activated with Redstone?
    (sorry for my bad english.I am from Russia =\)
     
  6. Offline

    MG127

    what chat-color-plugin do you use?
    i got rid of defaultCommands cause it got laggy
     
  7. Offline

    HansAnderson

    @tehbeard
    Thanks for the explanation. If the CommandSigns.permissions will work with any superperms plugin, then I have no need to keep it PermissionsBukkit only. That's a good suggestion for the @groups functionality. When writing the plugin, I wasn't sure if people would be annoyed at using nodes instead of groups, but it makes for sense to keep it compatible with the other permissions plugins.

    @CraftLourens
    No, this doesn't work with redstone at this time. I know there is a plugin which does something with redstone and commands (I saw it in submissions a while back), but I'm not sure what other functionality it has.

    @all
    It's been a super busy last few weeks (I'm a EE at the University of Illinois...) and on top of that, I've been preparing for a demonstration for a mobile security conference next week. After it's over, and I get my server updated to 1.8, I'll be looking to update for general permissions and expanding to add economy support.
     
  8. Offline

    Grimmy777

    where does this store the data that store on line 0-10 after you right click on a sign?
     
  9. Offline

    Waltzy

    use /commandsigns read to read a sign after it has been written


    Mr Anderson, (sorry I couldn't help myself)

    That's a lovely mod you've got there, its the only one that runs in 1.8 at the moment, however, i cant seem to get <Name> working, it just uses the string "<Name>" instead of the player name, any suggestions?
     
  10. Offline

    HansAnderson

    @Grimmy777
    Into a file in the CommandSigns folder.
     
  11. Offline

    Grimmy777

    has anyone tried this on 1.8? the <name> part does not seem to actually insert a name =/
     
  12. Offline

    HansAnderson

    @Waltzy
    Thanks for letting me know. It could have something to do with 1.8. I will look into it after a RB is out.
     
  13. Offline

    Grimmy777

    any chance of getting the source on this plugin?
     
  14. Offline

    Waltzy

    I'll second that, would love to have a look.
     
  15. Offline

    TheShadow777

    why no permission support for other permplugins ?
     
  16. That's just how it's going to be more and more, just use PEX, it bridges bukkit perms
     
  17. How can I use this to make a sign which changes your Permissionsbukkit group by clicking ?
     
  18. Offline

    Waltzy

    set the permissions in your permissions.ym in to root mc folder to

    Code:
    CommandSigns.permissions:
        children:
            permissions.*: true
    
    then use

    Code:
    /commandsigns line0 /*perm player setperm <name> some.node.here true
    We're waiting to the dev to update the plugin because at present <name> doesn't work :C
     
  19. Offline

    HansAnderson

    @Waltzy and @Grimmy777
    I found the problem with <Name>. It's actually <NAME>. I'll change that on the OP. Thanks for letting me know!

    I'm going to have much more time after this week to work on different projects. So I will be adding support for all superperms plugins, economy, and trying to get the source set up on GitHub. The priority is pretty much in that order.
     
  20. Offline

    Grimmy777

    I see. Sweet. I will test it here shortly. This plugin rocks btw! Doing some really cool stuff with it. Thank you!
     
  21. Offline

    niugnip

    When doing economy, do the item-based one too (like in the original CommandSigns)
    Thanks for keeping it up ;)
     
  22. Offline

    desht

    Hi, I decided to go ahead and create my own implementation of the old command parser. See https://github.com/desht/ScrollingMenuSign - in particular me.desht.scrollingmenusign.CommandParser, and me.desht.util.PermissionsUtils. You're welcome to use code/ideas from there (though I would appreciate it if you do use any of my opensource code that you also make your code opensource... a fair bit of the code there is adapted from the original CommandSigns code - share & share alike etc :) ).
     
  23. Offline

    Grimmy777

    working like a charm. thanks again!
     
  24. Offline

    Waltzy


    Ahah! I'm such a fool, I probably should have tried this variation, thanks for getting back to me :)
     
  25. Offline

    lipe123

    I'm using permissionsex thats supposed to have a superperms bridge and does seem to work. I'm able to use the /commandsigns commands to create a sign but after creating it the sign does nothing when rightclicked.

    Using CB 1149 and MC 1.8.
     
  26. Offline

    Grimmy777

    could you make a /commandsigns reload command so that the file can be edited rather then manually updating the sign. Either that or make it possible to update the command sign after it is attached. Having to re-enter all the lines each time you want to update it is annoying.
     
  27. Offline

    TheFluffey

    Hey, my signs aren't saving. I make them with full permissions, and the degrade myself to a certain group to see if it works... It does, (I gave the group I degrade to, member, permission to use the sign)

    but when I end my server, it won't save that command. The command is from the plugin tribu.
     
  28. Offline

    heifinator

    Wondering how economy support is going.

    Also, are you willing to share your source? My dev team has some things they want to try with it =)

    Thanks again for the great plugin!
     
  29. Yes, with economy support and the ability to switch groups it will be fundamental for all kind of servers.
    I used 4 plugins to get a similar effect.
     
  30. Offline

    niugnip

    This plugin is essential for my server :)
    i need the @group, money+item-support, and of /* ... :D
     
  31. Offline

    lipe123

    Please can you add support for PermissionsEX ?

    Bukkitperms came to late and by that time PEX already had all the features and much more, Even now it still works way better with modifyworld support directly added into permissions.
     

Share This Page