[MECH] SpeedSign v0.8.2 - Now with groups! [1317]

Discussion in 'Inactive/Unsupported Plugins' started by needspeed10, Mar 29, 2011.

  1. Offline

    needspeed10

    SpeedSign - Advanced signeditor:
    Version: v0.8.2

    With SpeedSign you can edit a sign you are looking at, restrict access to it, overload it and much much more.

    I'm looking for testers or someone who makes a nice tutorial.

    Features:
    • Edit signs with commands
    • Edit the sign by simply rightclicking it with a sign
    • Have multiple colors in one line
    • Colored text while typing on a sign
    • Permissions/Lockette support
    • Restrict sign access
    • Clear text with doubleclick
    • Remote/Group access to signs
    • Config file for colors, color character and more
    • Shout out or read the sign text
    • Colors over all lines
    • Per color permissions
    Install (open)


    Move the speedsign.jar to yourserver/plugins.
    The plugin supports Permissions(GroupManager too) but doesn't need it.
    If there is no Permissions just ops can use the functions.
    Lockette is supported but not needed.

    For the client mod you just have to copy the .class file into your .minecraft/bin/minecraft.jar file. Then delete the META-INF folder out of it.

    Commands OLD (open)

    /sign set <line> <text> - sets the "line" of sign to "text"
    /sign add <line> <text> - adds to the "line" of sign "text"
    /sign clear - clears sign
    /sign super - changes you to overload-mode (just needed forthe client mod users)
    /sign list - shows owners of a sign
    /sign listperm - shows all owners of signs
    /sign listover - shows all overloaded signs
    /sign perms add <player> - add "player" to owners of a sign
    /sign perms del <player> - del "player" from owners of a sign
    /sign perms rem - grants access to a sign to everyone
    /sign destroy - destroys sign you're looking at
    /sign coord <signX> <signY> <signZ> <command> <args> - executes "command" on sign
    /sign version
    /sign help <page> - shows help
    /sign color line1color (line2color) (line3color) (line4color) - lineXcolor means: color of line X
    /sign read - posts you the sign text
    /sign myperms - shows your permissions
    /sign shout - shouts the sign text in the chat

    $<Color> in a text causes the following text to be colored in "Color"
    \$<Color> shows "$Color"
    \n in a text makes a new line
    \\n in a text shows "\n"


    Commands NEW (open)

    /SSedit set <line> <text> - sets the "line" of sign to "text"
    /SSedit add <line> <text> - adds to the "line" of sign "text"
    /SSedit clear - clears sign
    /SSedit ins - <line> <position> <text> - inserts "text" in "line" at "position"
    /SSedit color line1color (line2color) (line3color) (line4color) - lineXcolor means: color of line X
    /SSedit destroy - destroys sign you're looking at

    /SSgroup create <group> - creates "group"
    /SSgroup delete <group> - deletes "group"
    /SSgroup exec <group> <command> <args> - executes a command on all signs in "group"
    /SSgroup add <group> - adds the sign you're looking at to "group"
    /SSgroup remove <group> - removes the sign you're looking out of "group"

    /SSlist signs - lists signs
    /SSlist overload - lists overloaded signs
    /SSlist perms - lists permitted signs
    /SSlist groups - lists groups
    /SSlist version - shows version
    /SSlist myperms - lists own permissions
    /SSlist help <command> - shows help of a command

    /SSperms add <players> - add players to owners of a sign
    /SSperms del <players> - del players from the owners of a sign
    /SSperms rem - access to everybody for this sign
    /SSperms list - lists owners of a sign

    /SSpers save - saves
    /SSpers load - loads

    /SSspecial super - changes you to overload-mode (just needed forthe client mod users)
    /SSspecial coord <signX> <signY> <signZ> <command> <args> - executes "command" on sign
    /SSspecial read - posts you the sign text
    /SSspecial shout - shouts the sign text in the chat

    $<Color> in a text causes the following text to be colored in "Color"
    \$<Color> shows "$Color"
    \n in a text makes a new line
    \\n in a text shows "\n"


    Tutorials (open)

    Version 0.8.1 , Language: English, Voice: yes, Topic: Demo, User: moselekm

    Version 0.7.10 , Language: French, Voice: yes, Topic: Basics, User: Nelo

    Version 0.5 , Language: English, Voice: no, Topic: Basics, User: me


    Permissions (open)

    speedsign.admin - grants access to every sign and command
    speedsign.super - allows you to use the mod
    speedsign.direct - allows you direct editing of signs
    speedsign.click - allows you to clear signs with double click
    speedsign.color."color" - allows players to use specified colors
    speedsign.<command> - each command has its own permission node

    Config (open)

    All is stored in plugins/speedsign/preferences.yml.
    If it's not existing, it will be autocreated.

    Code:
    colorChar: '$'
    #colors
    blue: blue
    red: red
    green: green
    aqua: aqua
    black: black
    dark_aqua: dark_aqua
    dark_blue: dark_blue
    dark_gray: dark_gray
    dark_green: dark_green
    dark_purple: dark_purple
    dark_red: dark_red
    gold: gold
    gray: gray
    light_purple: light_purple
    white: white
    yellow: yellow
    #colors end
    linessamecolor: true
    

    Example picture (open)

    [​IMG]


    Download Plugin

    Version 0.8.2
    • New help system
    Version 0.8.1
    • Lockette fix
    • Build against CB 1185
    Changelog (open)

    Version 0.8
    • Insert text
    • Sign groups
    • new command system
    • Persistance change
    Version 0.7.11
    • Added per color permissions: eg. speedsign.color.GOLD or speedsign.color.*
    Version 0.7.10
    • Lockette support fixed
    • Bug: Can't reload server when a new version is pushed on it.
    Version 0.79
    • You can now reload the server without an huge exception
    Version 0.78

    • (Maybe) Faster color processing
    Version 0.77

    • (Maybe) fixed disappearing permissions
    • new Command: /sign myperms - shows your permissions (manually checked)
    Version 0.76

    • Added speedsign.color
    Version 0.75


    • Changed Permission system
    Version 0.74


    • Added the /sign color command
    Version 0.73


    • Fixed the bugs: Colors on the Sign,Disappearing Text
    Version 0.72


    • (Maybe) Fixed problem with other plugins using onSignChange
    Version 0.71


    • Colors over all lines (you can turn it off in the preferences)
    • Compiled against cb 798
    • /sign help has now different pages
    • New commands /sign read and /sign shout
    • Fixed bug: Write colors on the sign while placing it
    Version 0.7


    • Improved exception handling for wrong commands
    • You can escape \n now with \\n
    • When you switch to super you see all existing overloaded signs
    • If you left the server in super, you will be again if you enter
    • Added a config file (preferences.yml)
    Version 0.6.4


    • new help command
    • remotesignediting with /sign coord
    • instant sign destruction with /sign destroy
    • bugfixes
    • compiled against 755
    Version 0.6.3


    • Fixed loading signs
    • Colors got stripped in the gui
    • with \n you can switch to another line (sign set 1 line1\nline2)
    • released the new mod
    • many bugfixes
    Version 0.6.2


    • Fixed permissions
    • cmopiles against 740
    Version 0.6.1


    • Colors don't count into textlength
    • new command /sign version
    • Overloaded text will be trimmed for normal user
    • compiled against 733
    Version 0.6


    • Complete new code (Code cleansing)
    • Better save system
    • Info messages for the most things
    • Overload works now only in the super mode and the client mod
    • Fixed some little bugs
    • Insert is mostly finished (not usable for now)
    • Craftbukkit 714 compatible (Minecraft 1.5_02)
    Version 0.5


    • New client mod to overload signs directly
    • Added direct editing with rightclick!!
    • Changed some command names
    • Now you can list the overloaded signs
    Version 0.4


    • Added overload feature
    • Changed saving system
    • Bugfixes
    • Build against CB 670
    Version 0.3.3


    • Fixed bug with Permissions
    • Changed something in Lockette support
    Version 0.3.2


    • Added Lockette support
    Version 0.3.1


    • Fixed color bug
    Version 0.3


    • Permissions support
    • Better color handling (text can touch other text with other color)
    • Access restriction to a sign
    • Fixed some bugs
    Version 0.2


    • Added colors
    Version 0.1


    • SpeedSign release



    Helpers:
    • ebe - helped testing
    • shamebot - helped with regex
    • eisental - different things
     
  2. Offline

    needspeed10

    I don't get it?
     
  3. Offline

    Kainzo

    Whats the permission nodes for restricting $gold <color> while adding a sign?
     
  4. Offline

    needspeed10

    Oh per color permissions?
    I could add that... Didn't think about it.
     
  5. Offline

    Metamist

    each time i drop a sign on the ground, it dupes and spams your inventory full of duplicated signs, which removed after we uninstalled this plugin on the server i play on. am i clear enough now :D?
     
  6. Offline

    Kainzo

    I'll restate what exactly we were expecting.
    Player Vip1 tries to use $GOLD while creating a sign...... they are able to because they have sign.color
    Player Default tries to use $gold while creating a sign... they are unable to because they lack sign.color
     
  7. Offline

    needspeed10

    @Kainzo
    Version 0.76
    • Added speedsign.color
    @Metamist
    Don't know why this happens, but I can confirm it has nothing to do with speedsign.
    Maybe try to use v.0.76?
     
  8. Offline

    Kainzo

    2011-06-18 22:23:29 [SEVERE] Error occurred while enabling SpeedSign v0.76 (Is it up to date?): java.lang.Integer cannot be cast to java.lang.String
    java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    at need.speedsign.PrefsManager.applyPrefs(PrefsManager.java:162)
    at need.speedsign.PrefsManager.loadPrefs(PrefsManager.java:69)
    at need.speedsign.SpeedSign.onEnable(SpeedSign.java:61)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:125)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:835)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:147)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:123)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:266)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:253)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:144)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:317)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    Whenever I try to set this config.

    dark_red: 4
    green: a
    white: f
    colorChar: $
    dark_gray: 8
    yellow: e
    light_purple: d
    gray: gray
    dark_green: 2
    dark_aqua: 3
    dark_purple: 5
    linessamecolor: false
    red: c
    dark_blue: 1
    blue: 9
    gold: 6
    aqua: b
    black: 0


    These color codes are much better when trying to write in a sign - are they impossible to use?
     
  9. Offline

    needspeed10

    @Kainzo
    If you use 1 single char, you need single quotes:
    Code:
    dark_red: '4'
    green: 'a'
    white: 'f'
    colorChar: '$'
    dark_gray: '8'
    yellow: 'e'
    light_purple: 'd'
    gray: gray
    dark_green: '2'
    dark_aqua: '3'
    dark_purple: '5'
    linessamecolor: false
    red: 'c'
    dark_blue: '1'
    blue: '9'
    gold: '6'
    aqua: 'b'
    black: '0'
     
  10. Offline

    Kainzo

    Thanks a bunch :)
    Is there any way to change the colorChar from $ to & ? I tried and it said the snakeparser broke. Would that also need '&' ?
     
  11. Offline

    needspeed10

    exactly
     
  12. Offline

    Kainzo

    Trying that out now - @needspeed10 - will letcha know :)
     
  13. Offline

    Kainzo

    Lovely work so far - I love the permissions to color signs :)

    @needspeed10
    After about 1-3 hours of use, the users who were able to color signs now have lost the ability to do so. They have the proper permissions - As a super admin with '*' ability - I am also unable to color signs. The configuration files have not changed
    890/latest speedsign

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

    needspeed10

    I changed a bit of the code hoping it helps.
    If it happens again you can check it with /sign myperms

    Version 0.77
    • (Maybe) fixed disappearing permissions
    • new Command: /sign myperms - shows your permissions (manually checked)
     
  15. Offline

    Kainzo

    Very nice - I'll push this build asap - Just to note - we are running Perm 3+
     
  16. Offline

    Nuinbot

    @needspeed10

    On behalf of Kainzo, founder of Herocraft, he ask that I post to see if you can look into an issue with your plugin.

    It seems that when a sign is edited, it takes at least 10-15 seconds for the sign text to get colored. There are some points at which I have waited minutes, the sign still uncolored with the color formatting tags intact. When does the sign update? Is there any way to improve this so that is 1-2 seconds or instantaneous? Thank you.
     
  17. Offline

    Arrowfire43

    I'll see if i can post a video for this, this mod looks great btw :D
     
  18. Offline

    needspeed10

    @Arrowfire43
    Thank you :)

    @Nuinbot
    The coloring happens after 1 tick of the server, that's not predictable.
    I have to do this because of other plugins working with signs.
    I'll look into it and try to improve it.

    @Nuinbot
    Version 0.78
    • (Maybe) Faster color processing

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

    Kainzo

    The issue is - if its based off the tick system - the larger servers are taking a hit. Obviously, its not a design flaw, I believe its just an issue with the larger servers.
     
  20. Offline

    needspeed10

    Yeah think so too. Atm I made it to preprocess the colors before finally write them on the sign.
    This should decrease the needed time. But it's really hard to test it without such a large server ^^.
     
  21. Offline

    Kainzo

    2011-06-21 09:21:17 [SEVERE] Could not load 'plugins/speedsign.jar' in folder 'plugins':
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:172)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:194)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:117)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:114)
    at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:351)
    at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:264)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:294)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:724)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:690)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:683)
    at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:223)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:433)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:343)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: org.yaml.snakeyaml.error.YAMLException: java.io.IOException: Stream closed
    at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:150)
    at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:117)
    at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:106)
    at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.java:964)
    at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:237)
    at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
    at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:200)
    at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
    at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
    at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:104)
    at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:250)
    at need.speedsign.PrefsManager.<init>(PrefsManager.java:45)
    at need.speedsign.SpeedSign.<init>(SpeedSign.java:36)
    ... 22 more
    Caused by: java.io.IOException: Stream closed
    at java.io.PushbackInputStream.ensureOpen(PushbackInputStream.java:74)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:166)
    at org.yaml.snakeyaml.reader.UnicodeReader.init(UnicodeReader.java:84)
    at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:114)
    at java.io.Reader.read(Reader.java:140)
    at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:148)
    ... 36 more

    I did a reload after dropping it in - ill see if a hard restart fixes this issue
     
  22. Offline

    needspeed10

    @Kainzo
    Yeah that happens everytime if you reload the server with my plugin on.
    It tries to find the defaultprefs.yml in the old jar file which is then not existant anymore.
    Really don't know how to fix it :X
     
  23. Offline

    Kainzo

    Remove the requirement for defaultprefs? :p hah.....

    Anyways - a restart fixed it.
     
  24. Offline

    needspeed10

    @Kainzo
    Version 0.79 released
    • You can now reload the server without an huge exception
     
  25. Offline

    darkm3tr01d

    I've setup this on my server, but it seems now everyone's Lockette Signs are now unsafe. How do I need to adjust my permissions to ACTUALLY support lockette
     
  26. Offline

    needspeed10

    Version 0.7.10
    • Lockette support fixed
    • Bug: Can't reload server when a new version is pushed on it.
     
  27. Offline

    Nelo

    @needspeed10 : I can make a video tutorial in French for the French user if you want.
     
  28. Offline

    needspeed10

    That would be great thanks.
     
  29. Offline

    Nelo

     
  30. Offline

    needspeed10

    @Nelo Thank you very much.
    Although I understood less than the half, I like it . :D
    (Added it to the Tutorials section above)
     
  31. Offline

    Nelo

    Thanks ;)
     

Share This Page