Plugin Description file error

Discussion in 'Plugin Development' started by Mike111177, Jul 18, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    Mike111177

    for some reason this wont work and i i cant figure out this stack error
    Code:
    
    2012-07-18 14:23:49 [SEVERE] Could not load 'plugins\SteelSecurity.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
    	at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:204)
    	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:132)
    	at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:213)
    	at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:189)
    	at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53)
    	at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:166)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:432)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: mapping values are not allowed here
     in "<reader>", line 95, column 26:
                         children: 
                                 ^
    
    	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:733)
    	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:305)
    	at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:179)
    	at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:563)
    	at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161)
    	at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:123)
    	at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106)
    	at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121)
    	at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480)
    	at org.yaml.snakeyaml.Yaml.load(Yaml.java:411)
    	at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:42)
    	at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:199)
    	... 7 more
    
    this is my plugin.yml
    Code:
    name: SteelSecurity
    version: 0.9.9-ab48
    main: net.othercraft.steelsecurity.SteelSecurity
    authors: [Mike111177, CorrieKay, r0306]
    website: dev.bukkit.org/server-mods/steelsecurity
    commands:
      sts:
         description: Base command for Steel Security.
         usage: /sts
      ticket: 
         description: Base command for for the ticket request system.
         usage: /ticket
    permissions:
      steelsecurity.*:
        description: Gives all permissions for steelsecurity
        default: op
        children:
          steelsecurity.commands.*:
            description: Allows the player to use any command form this plugin
            children:
              steelsecurity.commands.sts:
                 description: Allows the player to use the /sts command
              steelsecurity.commands.stshelp:
                 description: Allows the player to use the /sts help command
              steelsecurity.commands.listop: 
                 description: Allows the player to use the /sts listop command
              steelsecurity.commands.gamemode:
                 description: Allows the player to use the /gm command
              steelsecurity.commands.checkgm:
                 description: Allows the player to use the /sts checkgm command
              steelsecurity.commands.spectate:
                 description: Allows the player to spectate other players
              steelsecurity.commands.reload:
                 description: Allows the player to reload the config
              steelsecurity.commands.vanish.*:
                description: Allows the player to do everything vanish related
                children:
                   steelsecurity.commands.vanish:
                      description: Allows the player to vanish
                   steelsecurity.commands.vanish.cansee:
                      description: Allows the player to see other vanished players
              steelsecurity.commands.ticket.*:
                description: Allows the player to remove items from other peoples inventory
                children:
                   steelsecurity.commands.ticket:
                      description: Allows the player to use the /ticket command
                   steelsecurity.commands.ticket.create: 
                      description: Allows the player to create a new ticket
                   steelsecurity.commands.ticket.claim:
                      description: Allows the player to assign a ticket to themself
                   steelsecurity.commands.ticket.assign:
                      description: Allows the player to assign a ticket to another player
                   steelsecurity.commands.ticket.list:
                      description: Allows the player to list all open tickets
                   steelsecurity.commands.ticket.veiw:
                      description: Allows the player to veiw a ticket that is not their own
                   steelsecurity.commands.ticket.comment: 
                      description: Allows the player to comment on a ticket
                   steelsecurity.commands.ticket.close.*:
                      description: Allows a player to close any ticket
                      children:
                         steelsecurity.commands.ticket.close.assigned:
                            description: Allows the player to close a ticket that he is assigned too.
                         steelsecurity.commands.ticket.close.all: 
                            description: Allows a player to close any ticket
                   steelsecurity.commands.ticket.open.*:
                      description: Allows a player to open any ticket
                      children:
                         steelsecurity.commands.ticket.open.assigned:
                            description: Allows the player to open a ticket that he is assigned too.
                         steelsecurity.commands.ticket.open.all: 
                            description: Allows a player to open any ticket
                   steelsecurity.commands.ticket.delete:
                      description: Allows the player to delete tickets
          steelsecurity.bypass.*: 
             description: Allows the player to bypass the various checks that the plugin does
             children:
               steelsecurity.bypass.censor:
                  description: Allows a player to bypass the Censoring
               steelsecurity.bypass.antiflood:
                  description: Allows a player to bypass the Anti Flood
               steelsecurity.bypass.anticaps:
                  description: Allows a player to bypass the Anti Caps
               steelsecurity.bypass.loginlimiter:
                  description: Allows a player to bypass the Login Limiter
               steelsecurity.bypass.blockblacklist:
                  description: Allows a player to bypass the Block Blacklist
          steelsecurity.notifications.*:
             description: Notifies the player in any event with this plugin
             children:
               steelsecurity.notifications.update:
                  description: Informs the player when there is an update for the plugin
               steelsecurity.notifications.ticket.*:
                  description: Informs the player about all ticket related event
                     children: 
                        steelsecurity.notifications.ticket.new:
                           description: Informs the player when there is a new ticket
                        steelsecurity.notifications.ticket.comment:
                           description: Informs the player when someone leaves a comment on a ticket
                        steelsecurity.notifications.ticket.close:
                           description: Informs the player when a ticket is closed
    
    Please help
     
  2. you didn't have nested the nodus correctly like its needed to, some good example from my plugin
    Code:Yaml
    1. permissions:
    2. multiworld.*:
    3. description: same as multiworld.admin
    4. children:
    5. multiworld.admin: true
    6. multiworld.minium:
    7. description: The most used permissions
    8. children:
    9. multiworld.command.goto: true
    10. multiworld.command.list: true
    11. multiworld.basic:
    12. description: Just the basic permissions
    13. children:
    14. multiworld.minium: true
    15. multiworld.command.getflag: true
    16. multiworld.command.flaglist: true
    17. multiworld.command.help: true
    18. multiworld.command.info: true
    19. multiworld.creativemode: true
    20. multiworld.moderate:
    21. description: moderator settings
    22. children:
    23. multiworld.basic: true
    24. multiworld.command.setflag: true
    25. multiworld.command.save: true
    26. multiworld.command.reload: true
    27. multiworld.command.link: true
    28. multiworld.command.move: true
    29. multiworld.admin:
    30. description: admin settings
    31. children:
    32. multiworld.moderate: true
    33. multiworld.worldmaneger: true
    34. multiworld.command.debug: true
    35. multiworld.command.spawn: true
    36. multiworld.command.setspawn: true
    37. multiworld.command.listgens: true
    38. multiworld.worldmaneger:
    39. description: settings for world manegers
    40. children:
    41. multiworld.command.world.create: true
    42. multiworld.command.world.unload: true
    43. multiworld.command.world.load: true
    44. multiworld.command.world.delete: true
    45. multiworld.command.list: true
    46. multiworld.command.goto:
    47. description: Teleport to a world.
    48. default: op
    49. multiworld.command.list:
    50. description: list al the worlds.
    51. default: op
    52. multiworld.command.unload:
    53. description: unloads a world.
    54. default: op
    55. multiworld.command.load:
    56. description: loads a world.
    57. default: op
    58. multiworld.command.create:
    59. description: Creates a world.
    60. default: op
    61. multiworld.command.delete:
    62. description: Deletes a world.
    63. default: op
    64. multiworld.command.save:
    65. description: save the data.
    66. default: op
    67. multiworld.command.link:
    68. description: chance the nether/end portals links.
    69. children:
    70. multiworld.command.link.*: true
    71. multiworld.command.link.*:
    72. description: chance the nether/end portals links.
    73. children:
    74. multiworld.command.link.nether: true
    75. multiworld.command.link.end: true
    76. multiworld.command.link.nether:
    77. description: chance the Nether portals links.
    78. default: op
    79. multiworld.command.link.end:
    80. description: chance the End portals links.
    81. default: op
    82. multiworld.command.reload:
    83. description: reload the plugin.
    84. default: op
    85. multiworld.command.help:
    86. description: shows the help text.
    87. default: op
    88. multiworld.command.setflag:
    89. description: sets an world option.
    90. default: op
    91. multiworld.command.getflag:
    92. description: get an world option.
    93. default: op
    94. multiworld.creativemode:
    95. description: able to get the creative mode at creative worlds.
    96. default: op
    97. multiworld.command.debug:
    98. description: shows debug information about the plugin.
    99. default: op
    100. multiworld.command.move:
    101. description: move a player to another world.
    102. default: op
    103. multiworld.command.spawn:
    104. description: Go to the spawn of a world.
    105. default: op
    106. multiworld.command.setspawn:
    107. description: Sets the spawn of a world.
    108. default: op
    109. multiworld.command.flaglist:
    110. description: List al flags used by /mw getflag
    111. default: op
    112. multiworld.command.listgens:
    113. description: List al useable world generators
    114. default: op
    115. multiworld.command.info:
    116. description: List basic information from a world
    117. default: op
     
  3. Offline

    Mike111177

    its not that its this
     
  4. Offline

    mbaxter ʇıʞʞnq ɐ sɐɥ ı

    You can't nest a children definition inside a children definition.

    If you want to define a parent node, define it separately with its own children in a separate definition

    What you're doing:
    Code:
    node:
      children:
        childnode:
          children:
             grandchildnode:
    What you should do:
    Code:
    node:
      children:
        childnode: true
    childnode:
      children:
        grandchildnode: true
    grandchildnode:
     
  5. Offline

    Mike111177

    is that a yaml issue? also it works the other times in the file where i do the same thing

    oh i indented it too much woops

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

    Njol

    It would have been easier if you highlighted line 95, but anyways pasting it into a text editor was easy and finding the error as well: In steelsecurity.notifications.ticket.* you indented 'childeren' incorrectly:
    Code:
              steelsecurity.notifications.ticket.*:
                  description: Informs the player about all ticket related event
                    children: # <-- this has too many spaces in front of it 
    edit: seems like you just found it as well :p
     
  7. Offline

    Mike111177

    we found it at the same time thanks :)

    eclipse gave the error originally and that's what confused me

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

    mbaxter ʇıʞʞnq ɐ sɐɥ ı

    I take back my previous statement. :3
     
Thread Status:
Not open for further replies.

Share This Page