[INFO] HelpPages 1.30 - Group-Specific Custom Help Pages [1337]

Discussion in 'Plugin Releases' started by ToastedJelly, May 23, 2011.

     
  1. Offline

    ToastedJelly

    [IMG]

    Version: v1.30
    CB Builds Tested: 1337,1060, 1000, 953, 935, 928, 860, 818, 803, 798, 766

    Download: Current Version 1.30 - older: V1.21 v1.20 v1.10, v1.00
    Completely customizable Group-Specific Help Pages. Permissions supported, but works without it. Powerful System to define what is shown depending on group and parameter after /help. Unrestricted: /help can be different from /help 1, pageable named help topics like /help warps, /help warps 2 or even /help 42 without having to define /help 41.
    It's recommended to conform to known standards for the normal help pages, but you can additionaly add easter eggs or store clues for treasure hunts etc.

    Features:
    • Simple configuration - No YML madness
    • Automatic configuration reload on change
    • Permissions: Group-Specific Help Pages
    • Supported Permission systems: Permissions 2/3, PermissionsEx, GroupManager, Op
    • Reuse of Help Pages for different groups
    • Numbered or Named Help Pages or a Mix
    • Unlimited Number of Pages and Lines per Page (max 10 recommended)
    • Standard Color Codes
    • Color preserving word-wrapping
    • Mutlilanguage Support - Every Message can be customized
    • Custom Group-Specific Variables
    • Testmode to check Help Pages for other Groups
    • Works in-game and in the Console.
    • Creates a list of all Commands and Descriptions on first Start for easy Copy'n'Paste
    • Updateable by CraftBukkitUpToDate
    How to Install:
    1. Download HelpPages.jar from the above Link.
    2. Put it in your plugins folder.
    3. Run the plugin at least once to create the HelpPages directory
    4. Customize HelpPages/config.txt and that's it. No need to reload the plugin. Configuration changes are automatically reloaded.
    5. To integrate this with other plugins that have a /help command like essentials, open the jar file of the other plugin with something like 7zip, extract the plugins.yml, edit it with a text editor and remove the lines defining the help command - i.e. the line "help:" and the following indented lines starting with "description", "usage" etc. Then add the customized plugins.yml back to the jar file.
    Permissions:
    Permissions are optional. If you don't use Permissions or the Command sender is not a Player (Console), Op-status is checked instead:
    • HelpPages.setgroup - Allows you to view other groups Help Pages for testing purposes.
    Commands:
    • /help <page_selector> - Shows the selected Page. The page_selector is optional and can be something simple like 1 or something more complex like wolf 2
    • /help <page_selector> @ groupname - Shows help for different groups - needs Permission
    Configuration:

    • Define your Pages and name them. The name is arbitrary, but has to be unique. Example:
      Code:
      [[page Page1
                          	&4---------------- &fSHAFT&7LANDS &4/help 1&c/2 &4----------------
                          	Lock your chests, furnaces and doors by putting &6[private]
                          	signs next to them - for more Options see &3Lockette &fPlugin!
                          	Chat-Colors: &0&&0&1&&1&2&&2&3&&3&4&&4&5&&5&6&&6&7&&7&8&&8&9&&9&a&&a&b&&b&c&&c&d&&d&e&&e&f&&f
                          
                          	&c/help &7#  &f-  Views help page &7#
                          	&c/m  &f-  Sends a private message to the specified player
                          	&c/r  &f-  Reply to the last player you communicated with
                          	&c/me  &f-  Allows you to emote
                          ]]
                          [[page Page2
                          	&4---------------- &fSHAFT&7LANDS &4/help 2&c/2 &4----------------
                          	&c/who  &f-  Lists the players online and how many slots are left
                          	&c/spawn  &f-  Teleports you to the global spawn
                          	&c/home help  &f-  Shows home related help
                          	&c/warp help  &f-  Shows warp related help
                          	&c/kit  &f-  Obtains the specified kit or views all available kits
                          	&c/ping  &f-  Pong! (Check server response time)
                          	&c/getpos  &f-  Displays your current coordinates
                          	&c/back  &f-  Transports you back to your last deathpoint
                          ]]
      [IMG]
    • As you see, you can use the Standard Color Codes:
      [IMG]
    • The Order in which the Pages are defined is not important. They are referenced by their name.
    • Then you define which group sees which page depending on the selector
      Code:
      [[group Administrators,Moderators,(OP)
                           =>APage1
                           1=>APage1
                           2=>APage2
                           3=>APage3
                           4=>APage4
                           5=>APage5
                           6=>APage6
                          ]]
                          [[group *
                           =>Page1
                           1=>Page1
                           2=>Page2
                         ]]
    • The Order in which you define those group blocks is important, because the first one that matches your User is used. As you see, Administrators, Moderators (if you use Permissions) and Ops are getting APage1-6 - which I didn't show in the Page definition above and all Users that don't match any of those Groups, fall through and match on * and they get Page1 and Page2. It is recommended to set it up as above - having the empty selector pointing to the same page as the 1 selector, as that's how User expects it to be. You can of course deviate from this, if you know what you're doing.
    • Special groups are (OP) for Ops and Console, (USER) for non-Ops in case you don't have Permissions and * which matches Every User and should be used last as a catch-all, so Everyone gets some Help Pages.
    • Another Example: Setting up the topic Mining with two pages and Monsters with one page.
      Code:
      [[group Whatever
                           mining    => miningPage1
                           mining 1  => miningPage1
                           mining 2  => miningPage2
                           monster   => monsterPage
                           monster 1 => monsterPage
                         ]]
      • Selectors and Page names are case-insensitiv and additional spaces can be used for formatting purposes and are ignored.
      • Test mode Example: /help Creepers 2 @ SemiOps would show what SemiOps would see, if they would type /help Creepers 2 - given you have the permission to set the group - it's ignored otherwise.

    • Default Variables available:
      • {name}, {displayname}
      • {group}
      • {world}
      • {health}
      • {pos} and {pos.x}, {pos.y}, {pos.z}
    • Custom Variables Example:
      Code:
                         [[group Administrators,Moderators,(OP)
                           title=noble
                            =>Page1
                           1=>Page1
                           2=>Page2
                         ]]
                         [[group *
                           title=commoner
                            =>Page1
                           1=>Page1
                           2=>Page2
                         ]]
                         ...
                         [[page Page1
                         Hello {title} {displayname}
                         ]]
                         
    • Using Custom Variables to reuse Pages at different Positions
      Code:
                        [[group Administrators,Moderators,(OP)
                          pageCount = 3
                          basicPageNum = 2
                          =>AdminCmds
                          1=>AdminCmds
                          2=>BasicCmds
                          3=>MoreAdminCmds
                        ]]
                        [[group *
                          pageCount = 1
                          basicPageNum = 1
                          =>BasicCmds
                          1=>BasicCmds
                        ]]
                        ...
                        [[page AdminCmds
                        -------- Page 1/3 --------
                        ]]
                        [[page BasicCmds
                        -------- Page {basicPageNum}/{pageCount} --------
                        ]]
                        ...
                        
    • Another extensive Example is available here: http://pastebin.com/3rMq4mc7

    Your turn:
    Do you have any suggestions on features you would like to have or did you find a Bug? Post a reply below! Please use a services like pastebin.com for Exceptions and complete Configuration files. I would also like to hear success stories or unusual use cases.
    Finally if you like this plugin and would like to express your appreciation monetarily, feel free to
    [IMG]

    Changelog:
    • Version 1.30 2011-06-16
      • Tested Builds: 860, 928, 935, 953, 1000, 1060,1337
      • Permissions plugin support added for: Permissions 2/3, PermissionsEx, GroupManager
      • Bugfix: Customized Messages not loaded from configuration file.
    • Version 1.21 2011-06-01
      • Tested Builds: 818, 860
      • Bugfix: Bug introduced with v1.20: default config files isn't created. (Thanks WayGroovy, Azelote)
    • Version 1.20 2011-05-30
      • Tested Builds: 803, 818
      • Automatic reload of changed configuration file
      • removed /hp_reload and corresponding permission node
    • Version 1.10 2011-05-26
      • Tested Builds: 803
      • Color preserving word-wrapping added
      • Variables added
    • Version 1.00 2011-05-23
      • Tested Builds: 766, 798, 803
      • Initial Release

    This post has been edited 2 times. It was last edited by ToastedJelly Nov 8, 2011.
    aidancbrady and zipron like this.
  2.  
  3. Offline

    Consalvo

    Can you added PermissionsBukkit?, pls
    -----

    Sorry my bad english
  4. Offline

    Austin

    Still Working great, 1.1 R4 Bperms 1.9.2
  5. Offline

    Potetsjokolade

    It doesent work with special characters, like Æ Ø Å æ ø å, which i need for my norwegian helplist... Any suggestions?
  6. Offline

    MicahCB

    could you plz add bukkitpermissions support????????
  7. Offline

    KJanar

    Please update to upcoming R5 API if not yet compatible. My hole /help system is based on this plugin.
  8. Offline

    KJanar

    Started testing the R5 builds and HelpPages broke. Running on CB 1964, Java 7 Update 3 64Bit. HelpPages 1.3

    Error:
    2012-02-28 15:33:17 [SEVERE] Error occurred while enabling HelpPages v1.3 (Is it up to date?)
    java.lang.NoSuchMethodError: org.bukkit.ChatColor.getByCode(I)Lorg/bukkit/ChatColor;
    at me.ToastedJelly.HelpPages.HelpPagesConfiguration.augmentColors(HelpPagesConfiguration.java:321)
    at me.ToastedJelly.HelpPages.HelpPagesConfiguration.parse(HelpPagesConfiguration.java:243)
    at me.ToastedJelly.HelpPages.HelpPagesConfiguration.load(HelpPagesConfiguration.java:76)
    at me.ToastedJelly.HelpPages.HelpPagesPlugin.loadConfiguration(HelpPagesPlugin.java:87)
    at me.ToastedJelly.HelpPages.HelpPagesPlugin.onEnable(HelpPagesPlugin.java:26)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:343)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:364)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:227)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:210)
    at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:357)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:344)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:175)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)

    I love you plugin and I need it really bad. I hope you can fix it or ask someone else to make it R5 compatiable.

    Thanks
  9. Offline

    aidancbrady

    1.2.2? D:
    Mathiasbk likes this.
  10. Offline

    sorklin

    dev.bukkit.org profile:
    sorklin
    My Plugins
    Unofficial fix for R6:
    <deleted>
    (compile it yourself, or download the jar file by clicking download button).

    Sorry, I have no idea if this is open source or not. I'm pulling the link until someone can confirm that its open.

    This post has been edited 1 times. It was last edited by sorklin Mar 2, 2012.
  11. Offline

    KJanar

    Someone should take this over. I need a CB 1.2.3 version. Please link anyone?
    Mathiasbk likes this.
  12. Offline

    Mathiasbk

    I need 1.2.3 Version too!
  13. Offline

    Mathiasbk

    Or could you post the source code, so i can make it work with 1.2.3 myself? :p
  14. Offline

    KJanar

    GOOD NEWS! ToastedJelly is active again and starts working on the plugin after a week out of town. So we should see a compatible version with the new API maximum in 2 weeks. Big thanks to ToastedJelly for keeping this plugin alive, everyone show up your support and until then have a nice day :)
    Mathiasbk likes this.
  15. Offline

    bwinkl04

    This is HUGE. Thanks for the update. I need / love this help system. I have at least 3 hours in setting up the menu structure with the command each group can use, and helpful tips when using them. I was getting ready to try to find someone else to port this. Thank you ToastedJelly I will wait with patient anticipation.
    KJanar likes this.
  16. Offline

    canz

    champion ;-)
  17. Offline

    travja

    Aren't all bukkit plugins open source?
  18. Offline

    sorklin

    dev.bukkit.org profile:
    sorklin
    My Plugins
  19. Offline

    Luxius96

    Dont work? :S

    14.03 21:25:01 [Server] INFO... 12 more
    14.03 21:25:01 [Server] INFOat org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    14.03 21:25:01 [Server] INFOat me.ToastedJelly.HelpPages.HelpPagesPlugin.onCommand(HelpPagesPlugin.java:40)
    14.03 21:25:01 [Server] INFOat me.ToastedJelly.HelpPages.HelpPagesPlugin.cmdHelp(HelpPagesPlugin.java:51)
    14.03 21:25:01 [Server] INFOat me.ToastedJelly.HelpPages.HelpPagesConfiguration.load(HelpPagesConfiguration.java:76)
    14.03 21:25:01 [Server] INFOat me.ToastedJelly.HelpPages.HelpPagesConfiguration.parse(HelpPagesConfiguration.java:267)
    14.03 21:25:01 [Server] INFOat me.ToastedJelly.HelpPages.HelpPagesConfiguration.augmentColors(HelpPagesConfiguration.java:321)
    14.03 21:25:01 [Server] INFO Caused by: java.lang.NoSuchMethodError: org.bukkit.ChatColor.getByCode(I)Lorg/bukkit/ChatColor;
    14.03 21:25:01 [Server] INFOat net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    14.03 21:25:01 [Server] INFOat net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    14.03 21:25:01 [Server] INFOat net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    14.03 21:25:01 [Server] INFOat net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    14.03 21:25:01 [Server] INFOat net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112)
    14.03 21:25:01 [Server] INFOat net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    14.03 21:25:01 [Server] INFOat net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:33)
    14.03 21:25:01 [Server] INFOat net.minecraft.server.NetServerHandler.a(NetServerHandler.java:761)
    14.03 21:25:01 [Server] INFOat net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:778)
    14.03 21:25:01 [Server] INFOat net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:818)
    14.03 21:25:01 [Server] INFOat org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:461)
    14.03 21:25:01 [Server] INFOat org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
    14.03 21:25:01 [Server] INFOat org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    14.03 21:25:01 [Server] INFO org.bukkit.command.CommandException: Unhandled exception executing command 'help' in plugin HelpPages v1.3
    14.03 21:25:01 [Server] INFO >

    This post has been edited 1 times. It was last edited by Luxius96 Mar 14, 2012.
  20. Offline

    KJanar

    No. Not CB 1.2.3 ready yet
  21. Offline

    Objit

    Can you please update. Pretty Please:)
  22. Offline

    Luxius96

    I NEED THIS PLUGIN PLEASE
  23. Offline

    Objit

    Everyone does. :(
  24. Offline

    formaldehyd

    2 weeks are gone :(
  25. Offline

    KJanar

    Happens...
  26. Offline

    KJanar

    Hey, I hope you will be active soon and get HelpPages CB 1.2.4 ready. We could really need the plugin :D
    Objit likes this.
  27. Offline

    Objit

    I know I need it to really badly. I have been waiting a long time for it
  28. Offline

    KJanar

    Have you made any progress HelpPages master? Because just testing MCDocs and damn how it sucks :D It has so many little annoying bugs. HelpPages is hardcore manual helppage where you can manipulate everything :D CAN I HAZ HELPPAGE?????????? :D
  29. Offline

    Kowak

    Does this work with 1.2.5?
  30. Offline

    KJanar

    Is the update coming out soon? Please :D
  31. Offline

    OmagaIII

    Good Day

    Would it be possible to add a switch in the console that allows the creation of a simple text file with all the possible commands from all the active plugins?

    This file could be created similar to the config file and in the same directory.

    As we add plugins to our servers it gets a bit tricky to keep track of all the possible commands and switches. Since these are listed in each of the plugins, having access to this info via one text file would really help.

    Just a hope :-P

    Sorry if it has been asked before.

    Regards,
  32. Offline

    KJanar

    That's actually a good idea since it creates the easy copy/paste commands once on first start up.

    Thumbs up

Share This Page