QuickSign
QuickSign
Edit signs with commands - Version 0.7.7
QuickSign let's you use simple commands (or a custom GUI with Spoutcraft) to edit, colorize and erase text on a selected sign. It also supports WorldGuard and Residence, so players can't edit signs in regions they aren't allowed to build in without a specific permission node.
Features
- Edit signs without having to remove them.
- Erase and edit specific lines of text.
- Add and delete colors.
- Copy and paste text.
- Edit multiple signs at once.
- Spout support, the fastest way to edit a sign.
- Color signs when placing them.
- Chat or execute commands with signs.
- Color signs with dyes.
- Create and select signs up to 100 block away.
- Undo and redo your last edit.
- Supports WorldGuard regions.
- Supports Residence.
- Supports Regios.
- Supports LogBlock.
- Supports Permissions.
- Supports LWC
- Supports ChestShop
Permission usage
Note: without any permissions, players can't select signs, unless no supported protection plugins are on.
- quicksign.use : allows a player to use commands starting with /qs and select signs when no supported protection plugins are on.
- quicksign.reloadconfig : allows a player to reload the config.
- quicksign.wgmember : allows a player to select signs in regions where he's a member, according to WorldGuard (includes region in which he's an owner).
- quicksign.wgowner : allows a player to select signs in regions where he's an owner, according to WorldGuard.
- quicksign.wgcanbuild : allows a player to select signs in regions where he can build, according to WorldGuard.
- quicksign.rscanbuild : allows a player to select signs in residences where he can build, according to Residence. Unclaimed land will return true.
- quicksign.rscanbuildfp : allows a player to select signs in residences where he can build, according to Residence. Unclaimed land will return false (force protection).
- quicksign.freeuse : allows a player to select any sign, no matter what the protection.
- quicksign.allowics : allows a player to create ICs using the plugin ([MCXXXX] format, where X is a number between 0 and 9).
- quicksign.noreachlimit : allows a player to select signs that are not within the normal Minecraft range, wither it be by left or right clicking (depends on config), or via the command.
- quicksign.fastsign : allows a player to create signs using a single command, up to 100 blocks away.
- quicksign.fsnoinv : if a player uses the fast sign command with this permission, no signs will be removed from his inventory.
- quicksign.colorcmd : allows a player to use /qs color commands and color codes in other edit commands.
- quicksign.colordyes : allows a player to color signs with dyes.
- quicksign.colorsignchange : allows a player to color signs on placement (using the color codes).
- quicksign.usechatsigns : allows a player to use chat signs.
- quicksign.usecommandsigns : allows a player to use command signs. Permissions for the commands being executed on sign interaction are still handled by the plugin they're associated to.
- quicksign.useconcommandsigns : allows a player to use console command signs (send commands as console). Warning! Those can be dangerous!
- quicksign.placechatsigns : allows a player to place chat signs.
- quicksign.placecommandsigns : allows a player to place command signs.
- quicksign.placeconcommandsigns : allows a player to place console command signs.
- quicksign.usespout : allows a player to use Spout mode.
- quicksign.colorspout : allows a player to use colors when using Spout mode.
- quicksign.recanbuild : allows a player to select signs where he can build, according to Regios. Unclaimed land will return true.
- quicksign.recanbuildfp : allows a player to select signs where he can build, according to Regios. Unclaimed land will return false (force protection).
- quicksign.lwccanaccess : allows a player to select signs he can access according to LWC. Unclaimed signs will return true.
- quicksign.lwccanaccessfp : allows a player to select signs he can access according to LWC. Unclaimed signs will return false (force protection).
- quicksign.ignoreblacklist : Ignore the black list. Players with this permission can put anything on signs (doesn't include ICs).
- quicksign.editchestshopsigns : allows a player to select ChestShop signs, according to ChestShop.
Usage
First enable QuickSign (see commands bellow), find a sign you want to edit, and, if you have permission to select it (according to WorldGuard / Residence and Permissions) right click it (or left click, depends on the config), and the sign will be registered. You deselect it by right clicking it (or left click, depends on the config) again. You can select more in the same way, just don't select a ton. You may then edit it/them using the commands, and once done, you can disable QuickSign, which will clear your selection. Breaking a sign you have selected, or the block supporting it will clear it from your selection. If another player attempts to do so, the event will be cancelled instead. A sign that is already selected can't be reselected, even if another player tries to.
IMPORTANT NOTE: If you want to select a sign from afar with the selection method set to right_click, you need to hold an item in your hand. Sorry, but it's a Bukkit limitation.
Commands
- /qs rc : Reload the config.
- /qs : Enables and disables the plugin (toggle).
- /qs spout : Enables and disables Spout mode (toggle).
- /qs (line number) (new text) : Changes the text at the specified line.
- /qs all (new text) : Changes the text on all line.
- /qs clear (line number) : Clears the text at the specified line.
- /qs clear all : Clears all the text.
- /qs clear : Clears the current selection (not the text).
- /qs color (color name) (line number) (line index) : Adds color to the line, starting at the specified index (index includes color data, 2 characters per color, index is between 1 and 15).
- /qs color (color name) all (line index) : Adds color to all of the lines of text.
- /qs color clear (line number) : Removes the colors at the specified line.
- /qs color clear all : Removes all the color from the sign.
- /qs copy : Copies all the text of the selected sign.
- /qs paste all : Pastes all the text from the clipboard to the sign.
- /qs paste (line) all : Pastes the line from the clipboard to all lines on the selected sign.
- /qs paste (line) (line) : Pastes the line from the clipboard to the line on the selected sign.
- /qs cb clear : clears the clipboard. Otherwise it is only cleared upon disabling the plugin (includes reloads and stops).
- /qs replace (line) (word to replace) (world to replace with) : Replace the first word with the second one on the designated line.
- /qs append (line) (text) : Adds the specified the text to the end of the text on the sign, with a space in between.
- /qs insert (line) (index) (text) : Inserts the the text at the specified index (between 1 and 15).
- /qs undo : undoes the last edit on the selected sign, if any. Deselecting a sign will clear it's history.
- /qs redo : redoes the last undo for the selected sign.
- /qs s : Select the sign in your line of sight, if any. Requires a special permission to use (quicksign.noreachlimit). Also checks for selection permissions.
- /qs fs (position) (txt) : Places a sign from the player's inventory with the desired text where the player is looking. Only works if the block accepts signs. For positions, use "n" for North, "e" for "East", "s" for South, "w" for West (this will create a wall sign attached to the block, overwriting any block occupying the desired location), "u" for Up (creates a sign post facing the player, again overwriting the block), or "d" for default (creates a wall sign facing the player, if the location is free, or else it will create a sign post, overwriting any blocks above the selected one, and facing the player). For the text, separate lines with "&/". Colors are supported, use the codes bellow.
Colors and formats
For colors or formats, use the following codes when changing the text or placing a sign:
- Black: &0
- Dark blue: &1
- Dark green: &2
- Dark aqua: &3
- Dark red: &4
- Dark purple: &5
- Gold: &6
- Gray: &7
- Dark gray: &8
- Blue: &9
- Green: &a
- Aqua: &b
- Red: &c
- Light purple: &d
- Yellow: &e
- White: &f
- Magic: &k
- Bold: &l
- Strikethrough: &m
- Underline: &n
- Italic: &o
- Reset: &r
Note: These codes take two character spaces on the text. So, a line with one color can only take 13 characters instead of the usual 15. You can also use more than one code per line. If using the "/qs color" command, use the name of the codes, for two word code names, just bring them together in one word, and use only lower case. So "Light purple" becomes "lightpurple".
Using dyes on signs
To color a sign with a dye, just activate QS and use the opposite action from the one set in the config on the sign (right click -> left click, left click -> right click). Checks for building rights. This wont take in consideration the character limit, so you might loose some letters if a line is longer than 15. To clear a color, use an ink sack. After using a dye, it will be deleted from the inventory, but, due to some bug with the remove method, this wont work with more than 1 stack of dyes.
Using chat/command signs
Works somewhat like the dyes. Use the opposite action on a sign that has for first line [QSCHAT]. The lines bellow (2 to 4) will be joined (without adding spaces between them) and sent to the player's chat. If holding a dye while interacting, the sign won't get colored. For commands use [QSCMD] instead, you don't need to add any "/" for the command. Example: "time day". If you need to have the command ignore permissions, use [QSCCMD]. Commands will be ran as console. This can be very dangerous, be careful!
When using command signs, you can add the field {USER} to specify the username of the player using the sign. Same thing for chat signs, but with those, you also have the {USERF} field, which specifies the player's display name (name or nick including colors).
Spout usage
You will need Spoutcraft. Activate QuickSign, toggle the Spout support with /qs spout. Right click a sign (checks for build rights), and the editing screen will popup. Colors will be converted back to codes. You can now freely edit the lines, I even added a color code chart on the side! When done, click the "done" button. Only one problem, sometimes if you edit and then click "done" very quickly, the text won't be edited, probably due to packet delay.
Black List
This is the black_list.yml file which can be found under /plugins/QuickSign/black_list.yml
This config is case sensitive, but the expressions in the list aren't.
BlackList: - '[qsccmd]' - '[sell]'
Any text found in this list cannot be edited onto signs, and signs containing it can't be selected either. The black list can be overridden with the "quicksign.ignoreblacklist" permission. If you want to black list all ICs for FalseBook/CraftBook, it's done by default, just use the "quicksign.allowics" permission to allow them back.
Config
useResidence: true
usePermissions: true
useRegios: true
useLogBock: false
useSpout: true
useLWC: false
useChestShop: true
useWorldGuard: true <---
These seven properties allow you to override plugin support.
maxReach: 100 <---
Maximum reach when selecting signs from afar. Max 100 blocks.
noReachLimit: true <---
Activate sign selection from afar.
selectionMethod: left_click <---
left_click or right_click only. Else defaults to right_click.
colorOnPlacement: true
colorWithDyes: true
chatSigns: true <---
These three allow you do enable or disable the extra functions.
Permissions config
This config can be found in the QuickSign folder, it's called perms_config, and is generated on plugin startup. For most applications, you may not need to change it, but if you do not use any permission plugin, you will need to edit it.
PermissionsSystem: SuperPerms #This config is case sensitive!!# PlayerPerms: - quicksign.use
"PermissionsSystem" is the permission checking system to use. If you use any up-to-date permissions plugin that support SuperPerms, leave the config as is.
If you do not use a permissions plugin, set the field to "PlayerAndOP". This will set all permissions at op only, unless you add them to the "PlayerPerms" field. This basically creates a simple group system: players, the default group with no permissions, except the ones added to the "PlayerPerms" field, and ops, who have all the permissions.
Bugs to fix
- None ATM.
Source
The source code can be found here: https://github.com/DDoS/QuickSign
Feel free to contribute!
Donate
If you want to make a donation for all my hard work, here's a link: Donate here!
Changelog
Version 0.7.7
- Fixed color names not working (for real this time)
- Update for latest Bukkit API release
Version 0.7.6
- Fixed color names not working
- Update for latest Bukkit API release
Version 0.7.5
- Added ChestShop support
- Improved selection permission checks
Version 0.7.4
- Added support for the new formatting codes. See the "Colors and formats" sections.
- Improved the Spout GUI.
Version 0.7.3
- Fixed the SpoutPlugin hard-dependecy issue (which would disable the listener).
Version 0.7.2
- Added a permission-less command sign
- Added a command to reload the config
- Compatibility for the latest 1.2 release builds
Version 0.7.1
- Bug fixes
- Better blacklist
- Added special fields to command and chat signs
Version 0.7
- Improved the permissions system
- Improved the editing history
- Improved sign handling
- Added the missing white to the Spout color chart
- Brand new command system (code)
- Support for the latest RB API
- Added a black list
Version 0.6.1
- Support for the new config API
- LWC support
- Modified the code for selection rights handling
- Improved Regios and Residence support
Version 0.6
- Added Spout support.
- Added LogBlock logging.
- Added Regios support.
- Separate signs for commands and chat.
Version 0.5
- Recoded most of the classes.
- Color signs on placement.
- Better undo and redo (full history).
- Color with dyes.
- Chat/command signs.
- New permissions.
- FS now checks for building rights.
- Bug fixes.
Version 0.4
- Undo, redo
- Multi sign editing
- More selection options
- Config
- Place signs instantly with a command, at any distance (max 100 blocks).
- Bug fixes.
Version 0.3.2
- Bug fix.
- Added append, insert and replace commands.
- Better anti-IC mesures.
Version 0.3.1
- Players can't use QuickSign to create CraftBook format ICs unless they have a special permission.
Version 0.3
- Bug fixes.
- Colors.
- Copy paste.
Version 0.2
- Improved WorldGuard support
- Added Residence support.
- Fixed sign breaking.
Version 0.1
- Initial release
@aviator1014
That was a small coding mistake I fixed for 0.7. I'll release the update once a recommended build for 1.0.0 will be out.
Having a bit of an issue with line index. say if i was making a line say "type /buy" and i wanted to have "/buy" in a different color, i would type "/qs color 2 6", but the message returned is "invalid index". However, if the line were "do /buy" and my command was "/qs color 2 4" it would work. It seems to not like indexes of 5 or greater, at least if a space is involved.
@Sayshal
The "/qs color" command needs some improvement, when it comes to adding more then 1 color to a line. I suggest using "/qs 2 &6- &4Elite &6-" and "/qs 3 &6- &4 Embassy &6-", although the last one won't fit, this is due to the way minecraft handles color characters: even if they don't show, they are part of the 15 character count.
@yoyosamo
I think people get the idea. It's not a typo.
When you said: To color a sign with a dye, just activate QS and use the opposite action from the one set in the config on the sign (right click -> left click, left click -> right click)." did you mean to say left click twice or just once? Shold it of been: (right click -> left click -> right click) or should it of been: (right click -> left click, left click -> right click) as saying left click twice looks to me as a typo. Thanks in advance, Yoyosamo
(P.S. Sorry for any typos myself as I am using a VERY bad keyboard.)
<3
Feature suggestion too, if you're up for it! I'd like it if QuickSign and its Spout functionality defaulted to enabled for everyone; maybe some config options, defaultOn and spoutDefaultOn????
As well, a config option to set if the dye is actually used up when colouring a sign would be marvellous!
@GameFreakDude
Ok, I look into it.
Well this is strange indeed. I'm running a Bukkit server on my machine, 1337, and I disabled all plugins except Spout and this to make sure that this wasn't because of a plugin conflict of any kind. If I /qs and then /qs spout, I'm not able to put down any signs. I get Minecraft's standard sign editing window GUI, but the sign is never actually placed down and just returns to my inventory. Are you able to reproduce this? >:?
I don't use permissions, at all. I have no knowledge of how it works and I go out of my way to make sure I don't have to use it, because it's complicated and unnecessary for my purposes; all I want to have are players and OPs. Sadly, this means this plugin isn't useful to me right now because it defaults to OPs for all its permissions when there is no permissions system present, and I want everybody to be able to use this plugin's features. Could you perhaps add a config option, maybe defaultToOps, to let this be easily configured?
Also a note of interest: your colour code chart is very handy! But it's missing white: &f :P
@Liger_XT5
Help is a very good idea, but I'm very busy ATM, so it might take a while before I add it.
Just got the plugin, but maybe a future feature suggestion? A small help system for users that are new.
I use rTriggers, so setting one up to use for my server isn't that hard. But here's the idea I have set up.
/qs help - Lists commands with description. /qs help 2 for second page and so forth. /qs guide - small tutorial of quickly using the editing feature.
Otherwise, I love it. Makes it a lot easier making changes to Chest Shop signs (without having to repay just to make a small change to the sign) and long signs easily colored or edited when need be. Can't forget the copy past and mass sign editing. :D
@Bobacadodl
I've just added LWC support to the next version. I'll have to do some testing, before I can release it, but that won't take too long.
Does this plugin work with LWC? if not, please add LWC support! (someone can't edit a sign unless they are the owner/they know the password to the sign)
I like this :)
@MadeOke
Are you talking about their sign protection system? I'm not sure there's an API for it, but I could take a look.
not work with essentials?
I WANT THIS PLUGIN NOW!!!