java - 从 bukkit 配置文件中的 List<String> Map 调用特定字符串时出错

标签 java config minecraft bukkit

我对编码很陌生。 我已经尝试了所有方法。我可以想到尝试获取存储在我的配置中的标题列表,以作为消息发送给播放器,但我尝试过的任何方法都不起作用。

引用的当前配置设置

players:
    player1name:
        - title1
        - title2
        - title3
    player2name:
        - title1
        - title3

调用发送消息代码行

    if (args.length == 2) {
                        try {
                        // insert code here to display titles list available
                        // to
                        // player
                        Player p = Bukkit.getPlayer(args[1]);
                        if (p == null) {
                            sender.sendMessage("Could Not Find Player!!");
                            return true;
                        }
                        Bukkit.broadcastMessage("I got to this point pre- list");
                        List<String> s = this.Ach.getConfig()
                                .getStringList("players." + p + "titles");

                        StringBuilder message = new StringBuilder();
                        Bukkit.broadcastMessage("I got to this point post message");
                        for (String players : s) {

                            message.append(players).append(" - ");
                        Bukkit.broadcastMessage("I got to this point post for");

                        sender.sendMessage(message.toString()); // (message.toString());
                        } 

                        // Set<String> keys =
                        // this.Ach.getConfig().getConfigurationSection("player."
                        // + p + "titles").getKeys(false);
                        // sender.sendMessage(keys + " - ");
                        Bukkit.broadcastMessage("I got to this point pre return");
                        return true;}
                        catch (Exception e) {
                            e.printStackTrace();
                        }

之前定义了`Ach'以引用我在其中定义获取配置的主类。

我希望用 player1name 作为 args[1] 值输出 title1 - title2 - title3 -

使用有效的玩家名称而不是返回玩家拥有的头衔,我被发送到聊天的只是 [] -

如有任何帮助,我们将不胜感激。

最佳答案

您需要遍历所有字符串并将它们添加到变量中,然后再发送消息 - 类似于(未测试)

StringBuilder message = new StringBuilder();
for (String player : s)
   message.append(player).append(" - ");
sender.sendMessage(message.toString());

关于java - 从 bukkit 配置文件中的 List<String> Map 调用特定字符串时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16034798/

相关文章:

java - 使用 Java/Scala 将 Markdown 转换为 HTML

java - 在生产环境中运行 Apache Geronimo

git - 如何覆盖一个存储库的全局 Git 凭据?

javascript - Gulp 自定义函数返回并行不会做任何事情

java - 正在重新初始化的变量的值

java - JAR 文件在 crontab 执行时未从 Scanner(System.in) 读取输入

java - 将minecraft的打印流重定向到JTextArea

java - 等待两分钟调用一个方法

php - 代码点火器 : Access session from config

c# - 在 .NET 中暂停子进程?