Solved Config help.

Discussion in 'Plugin Development' started by BeastCraft3, Aug 22, 2014.

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

    BeastCraft3

    I need some help, I made a /staff plugin whitch display all the staff members. You can add staffmembers in the config.yml. But the weird thing is when I use /staff it displays "null"
    my code:
    Code:java
    1. package com.Beast.FameCommands;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.command.Command;
    5. import org.bukkit.command.CommandExecutor;
    6. import org.bukkit.command.CommandSender;
    7. import org.bukkit.entity.Player;
    8.  
    9. public class Staff implements CommandExecutor {
    10.  
    11. public Main plugin;
    12.  
    13. public Staff(Main instance) {
    14. plugin = instance;
    15. }
    16.  
    17.  
    18. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    19. if (!(sender instanceof Player)) {
    20. sender.sendMessage("§conly players can use this command");
    21. return true;
    22. }
    23.  
    24. if(label.equalsIgnoreCase("staff")) {
    25. Player player = (Player) sender;
    26. player.sendMessage(ChatColor.RED + plugin.getConfig().getString("Staff1"));
    27. player.sendMessage(ChatColor.RED + plugin.getConfig().getString("Staff2"));
    28. player.sendMessage(ChatColor.RED + plugin.getConfig().getString("Staff3"));
    29. player.sendMessage(ChatColor.RED + plugin.getConfig().getString("Staff4"));
    30. player.sendMessage(ChatColor.RED + plugin.getConfig().getString("Staff5"));
    31. }
    32. return false;
    33. }
    34.  
    35. }
    36.  



    My config.yml
    Code:
    # Default configuration file for Staff command.
    Staff1: [Owner]MrXPvP
    Staff2: [Admin]BeastCraft3
    Staff3: OPEN
    Staff4: OPEN
    Staff5: OPEN
     
  2. Offline

    Lactem

    I would use if (cmd.getName().equalsIgnoreCase("staff") instead of label.equalsIgnoreCase("staff").

    Also did you register this command class in onEnable()?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 9, 2016
    es359 likes this.
  3. Offline

    BeastCraft3

    Lactem
    yeah, this is my main class:
    Code:java
    1. package com.Beast.FameCommands;
    2.  
    3. import java.io.File;
    4. import java.util.logging.Logger;
    5.  
    6.  
    7. import org.bukkit.plugin.java.JavaPlugin;
    8.  
    9. public class Main extends JavaPlugin{
    10.  
    11. Logger logger = Logger.getLogger("Minecraft");
    12. public static Main plugin;
    13.  
    14. public void onEnable() {
    15. if (!new File(this.getDataFolder(), "config.yml").exists()) {
    16. this.saveDefaultConfig();
    17. }
    18. this.logger.info("FameCommands is Enabled!");
    19. new Website(this);
    20. new Colors(this);
    21. new Staff(this);
    22. getCommand("website").setExecutor(new Website(this));
    23. getCommand("web").setExecutor(new Website(this));
    24. getCommand("staff").setExecutor(new Staff(this));
    25. getCommand("color").setExecutor(new Colors(this));
    26. getCommand("colour").setExecutor(new Colors(this));
    27. getCommand("colors").setExecutor(new Colors(this));
    28. getCommand("colours").setExecutor(new Colors(this));
    29. }
    30.  
    31. }
    32.  
     
  4. Offline

    Lactem

    Okay so did you change label to cmd.getName() in your Staff class?
     
  5. Offline

    Gater12

    BeastCraft3
    You do not need to check if the config file exists, saveDefaultConfig already does that.
     
  6. Offline

    BeastCraft3

    Lactem
    Also I get this long error in my consol
    Code:
    [00:58:15 INFO]: BeastCraft3 issued server command: /staff
    [00:58:15 ERROR]: Cannot load plugins\FameCommands\config.yml
    org.bukkit.configuration.InvalidConfigurationException: while parsing a block ma
    pping
    in "<string>", line 2, column 1:
        Staff1: [Owner]MrXPvP
        ^
    expected <block end>, but found Scalar
    in "<string>", line 2, column 16:
        Staff1: [Owner]MrXPvP
                      ^
     
            at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlCo
    nfiguration.java:57) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jn
    ks]
            at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguratio
    n.java:226) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguratio
    n.java:169) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(Yam
    lConfiguration.java:180) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b309
    2jnks]
            at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:183) [
    craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:157) [cra
    ftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at com.Beast.FameCommands.Staff.onCommand(Staff.java:26) [FameCommands.j
    ar:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [craf
    tbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18
    0) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServe
    r.java:701) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(PlayerCon
    nection.java:956) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java
    :817) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(PacketPlayInChat.java
    :28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(PacketPlayInChat
    .java:47) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:157
    ) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:6
    67) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:2
    60) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:5
    58) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java
    :469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6
    28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    Caused by: org.yaml.snakeyaml.parser.ParserException: while parsing a block mapp
    ing; expected <block end>, but found Scalar
            at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(Par
    serImpl.java:575) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
     
            at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) ~
    [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146)
    ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
    :230) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) ~
    [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12
    3) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106)
    ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.java:121) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
     
            at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) ~[craftbukkit.j
    ar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:399) ~[craftbukkit.jar:git-Buk
    kit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlCo
    nfiguration.java:55) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jn
    ks]
            ... 20 more
    [00:58:15 ERROR]: [FameCommands] Cannot load configuration from jar
    org.bukkit.configuration.InvalidConfigurationException: while parsing a block ma
    pping
    in "<string>", line 2, column 1:
        Staff1: [Owner]MrXPvP
        ^
    expected <block end>, but found Scalar
    in "<string>", line 2, column 16:
        Staff1: [Owner]MrXPvP
                      ^
     
            at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlCo
    nfiguration.java:57) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jn
    ks]
            at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:209) [
    craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:157) [cra
    ftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at com.Beast.FameCommands.Staff.onCommand(Staff.java:26) [FameCommands.j
    ar:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [craf
    tbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18
    0) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServe
    r.java:701) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(PlayerCon
    nection.java:956) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java
    :817) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(PacketPlayInChat.java
    :28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(PacketPlayInChat
    .java:47) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:157
    ) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:6
    67) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:2
    60) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:5
    58) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java
    :469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6
    28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    Caused by: org.yaml.snakeyaml.parser.ParserException: while parsing a block mapp
    ing; expected <block end>, but found Scalar
            at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(Par
    serImpl.java:575) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
     
            at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) ~
    [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146)
    ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
    :230) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) ~
    [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12
    3) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106)
    ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.java:121) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
     
            at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) ~[craftbukkit.j
    ar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:399) ~[craftbukkit.jar:git-Buk
    kit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
            at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlCo
    nfiguration.java:55) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jn
    ks]
            ... 17 more
    >
     
  7. Offline

    Lactem

    Run your YAML file through a parser online.
     
  8. Offline

    BeastCraft3

  9. Offline

    Lactem

    You see, as the YAML parser will tell you, you cannot put a '[' or a ']' without surrounding it with ''. This will fix it:
    Code:
    # Default configuration file for Staff command.
    Staff1: '[Owner]MrXPvP'
    Staff2: '[Admin]BeastCraft3'
    Staff3: OPEN
    Staff4: OPEN
    Staff5: OPEN
     
  10. Offline

    BeastCraft3

    Lactem
    Thank You ;)
    Another question: How do I make my self able to use "&4" inside my config file? Example:
    Code:
    # Default configuration file for Staff command.
    Staff1: '&4[Owner]&cMrXPvP'
     
  11. Offline

    Gater12

  12. Offline

    BeastCraft3

    Gater12
    emm, Im kinda new to that website, I dont really understand it. Give me some tips?
     
  13. Offline

    Gater12

    BeastCraft3
    You better get use to that website to some degree of understanding it, it's the official Bukkit documentation.

    translateAlternateColorCodes is a static method, accepting two parameters: a char and a String. The char is the alternateChar besides the MineCraft color char (in your case &). The String is the the String that will be translated. The method will return the translated String.
     
  14. Offline

    BeastCraft3

    Gater12
    I understand that, but how should the code look like and where should I write it?

    Code:java
    1. this.config = ChatColor.translateAlternateColorCodes('&', this.config);


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

    Lactem

    No. translateAlternateColorCodes is for replacing a character in a String with the chat color character, not for setting the config.

    Example:
    Code:java
    1. player.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("Staff1")));


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

    BeastCraft3

Thread Status:
Not open for further replies.

Share This Page