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

Discussion in 'Inactive/Unsupported Plugins' 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:
    Basic Configuration (open)

    • 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.
    Advanced Configuration: Variables (open)

    • 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
     
    aidancbrady and zipron like this.
  2. Offline

    ToastedJelly

    I will check that.
     
  3. Offline

    Blairjam

    When I start my server, it reads that no permission plugin is detected and is defaulting to Op. I use permissions for every other plugin that I have. I've updated everything also.
     
  4. what re the permissions nodes for this plugin i might have missed it when i read over the info
     
  5. Offline

    ToastedJelly

    CTRL+F, search for Permissions
     
  6. Offline

    Th3Controller

    I love your plugin and its so CONVIENIENT! It actually shows you current help commands for easy copying and pasting! I love this developer! This should be an "Essentials" plugin! :D I wish I can donate but I dont have money :(. I wish Permissions does this so you don't have to hastle finding the permissions node you just have to move it! Thank you so much!
     
  7. Offline

    Blairjam

    any word on it not finding permissions on start up, this plugin looks epic and i really want it for my server.
     
  8. Offline

    ToastedJelly

    You probably use Permissions3? I'm just at adding support for more Permission Systems - will also evaluate Permissions3
     
  9. Offline

    Blairjam

  10. Offline

    yabes

    I use it too, I will wait.
     
  11. Offline

    prefix

    I use PermissionsEX (Supports normal permissons with a compatability plugin) And i get Unknown Help Page, start with /help. even though i changed it to Unknown Help Page. Sometimes when i play around with the config to uncomment page2 (since i dont use it) it says the right unknownpage.

    http://pastebin.com/D7yL411f
    my config.txt

    as you can see i commented out helppage 2

    Is it my fault or is something wrong? Because i can't see any problem. It reports the correct unknown page now. Disabled plugin until i get a response :p
     
  12. Offline

    ToastedJelly

    Not sure what you mean. How do you change to unknown help page? Unknown help page means it can't find the help page you want - most likely because you didn't define it.

    Are you in the VIP group? Because you didn't define VIPPage1. If that's not the Problem, what do you enter to get this Error Message? By your configuration, you should be able to enter "/help" or "/help 1" as someone who is either in the Admins, Mods or Users group
     
  13. Offline

    prefix

    I mean i changed the

    unknownpage=Unknown Help Page.

    and I didnt see that i'll try to define vip and see if that works. but i'm in the Admins group.

    What i ment by the other thing was that i commented out the long page2 thing where it had all the commands of different plugins.

    I am in the admins group, i have all the permissions of an admin in all other plugins.

    I changed my config.txt to include a page for VIP, still no go, Users are reporting the standard error message.
     
  14. Offline

    ToastedJelly

    Ah you mean it doesnt use the custom message. I will check that.
    All the commands aren't in the 2. page btw. They are as comments at the end

    Version 1.30 2011-06-16
    • Tested Builds: 860
    • Permissions plugin support added for: Permissions 2/3, PermissionsEx, GroupManager
    • Bugfix: Customized Messages not loaded from configuration file.

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

    yabes

    Nice work !
     
  16. Offline

    ToastedJelly

    Thank you
     
  17. Offline

    wolf9988

    whenever i run my server this comes up:

    [INFO] HelpPages 1.3 enabled
    [INFO] XXXXXXXXXXXXXXXX Configuration file not found.
    [INFO] XXXXXXXXXXXXXXXX Configuration file not found.
    [INFO] XXXXXXXXXXXXXXXX Help Pages reloaded.
    [INFO] XXXXXXXXXXXXXXXX Help Pages reloaded.
    [INFO] XXXXXXXXXXXXXXXX Unknown Help Page. Start with /help.
    [INFO] XXXXXXXXXXXXXXXX Unknown Help Page. Start with /help.
    [INFO] Help Pages reloaded.
    [INFO] HelpPages: Permissions detected

    and then when i do /help i get the default bukkit help
     
  18. Offline

    ToastedJelly

    Ignore the XXX lines. Those are debug messages that somehow made it into final jar. Will fix this in the next 30mins.

    However - do you have another plugin that provides a "/help" command? If so, you need to either turn off the complete plugin or just that one command (See "How to install", point 5)
     
  19. Offline

    vrox

    This plugin works great! Thanks! The config was a bit intimidating at first, and looks confusing, but its fairly simple once you actually understand it.
     
  20. Offline

    ToastedJelly

    Thank you
     
  21. Offline

    wolf9988

    well that fixed it going to the the default help but now it says

    Unknown Help Page. Start with /help.
     
  22. Offline

    ToastedJelly

    Then it doesn't know the page you're requesting. Did you just type "/help" or something else? Which group are you in (and what other groups are there)? Also upload your complete configuration file to pastebin.com and link it here.
     
  23. Offline

    wolf9988

  24. Offline

    ToastedJelly

    Everything looks right.
    I used your config and just changed "group Admin" to "group Administrators", because that's what the group is called on my test server and it worked. Are you sure your groups are called exactly that?
    Does "/help @ Admin" work? (You need HelpPages.setgroup permission for that)
     
  25. Offline

    wolf9988

    ok these are the copy and pasted names

    Outsider Citizen Admin

    and that didnt work either
     
  26. Offline

    ToastedJelly

    Can you answer the last question?

    You can also try to do a "group *" and map this to a page that has {group} included, to see if HelpPages sees the right group
     
  27. Offline

    wolf9988

    please explain
     
  28. Offline

    ToastedJelly


    Add the following as your last group definition

    Code:
    [[group *
    =>CatchAllHelp
    ]]
    This should match every player if no group block matches before, then define the Page
    Code:
    [[page CatchAllHelp
    Your group is: {group}
    ]]
     
  29. Offline

    wolf9988

    well when i do it now it says

    /help <page>

    and in the server it gives this error
    Code:
    2011-06-20 15:10:00 [SEVERE] java.lang.NullPointerException
    2011-06-20 15:10:00 [SEVERE]     at com.nijiko.permissions.Control.getGroup(Control.java:536)
    2011-06-20 15:10:00 [SEVERE]     at me.ToastedJelly.Permissions.PermissionsAdapter.getGroup(PermissionsAdapter.java:87)
    2011-06-20 15:10:00 [SEVERE]     at me.ToastedJelly.HelpPages.HelpPagesPlugin.cmdHelp(HelpPagesPlugin.java:59)
    2011-06-20 15:10:00 [SEVERE]     at me.ToastedJelly.HelpPages.HelpPagesPlugin.onCommand(HelpPagesPlugin.java:40)
    2011-06-20 15:10:00 [SEVERE]     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    2011-06-20 15:10:00 [SEVERE]     at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128)
    2011-06-20 15:10:00 [SEVERE]     at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:281)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:718)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:684)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:677)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.NetworkManager.b(NetworkManager.java:217)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:401)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:311)
    2011-06-20 15:10:00 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    it works now im srry about all this i feel like a total idiot it was a problem with permissions so yeah srry and now thats its workin i realy like it thanx

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

    Sharingan616

    Awesome, thanks for this. :)
     
  31. Offline

    wolf9988

Share This Page