首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bukkit/Spigot)多次获取配置部分将出现错误

Bukkit/Spigot)多次获取配置部分将出现错误
EN

Stack Overflow用户
提问于 2017-07-05 18:58:09
回答 1查看 295关注 0票数 0

所以最近我用配置部分做了一些东西,这是我的代码

代码语言:javascript
复制
ConfigurationSection sec = getConfig().getConfigurationSection(p.getWorld().getName() + ".rewards");
        if (sec == null) {
            return;
        }
        int prizessize = sec.getKeys(false).size();
        int random = getRandomInt(0, prizessize);

这是我的配置:

代码语言:javascript
复制
     world:
      rewards:
        '0':
          reward-name: '&etest'
          reward-chance: 10
          reward-rarity: '&6Legendary'
          item-type: customhead
          head-name: test
          custom-head-id: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjNkNWU0M2RlNWQ0MTc3YzRiYWYyZjQ0MTYxNTU0NDczYTNiMGJlNTQzMDk5OGI1ZmNkODI2YWY5NDNhZmUzIn19fQ
          reward-item-id: 1
          reward-item-damage: 0
          firework:
            type: BALL
            flicker: true
            trail: false
            colors:
            - BLUE
            fade:
            - WHITE
          commands:
          - say %player% test reward
        '1':
.
.
.

因此,在多次执行奖励事件时,它工作得很好,但有时它会在控制台中显示一个错误。

代码语言:javascript
复制
java.lang.StackOverflowError
    at org.bukkit.configuration.MemorySection.getConfigurationSection(MemorySection.java:679) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.configuration.MemorySection.get(MemorySection.java:219) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.configuration.MemorySection.getConfigurationSection(MemorySection.java:679) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.configuration.MemorySection.getDefaultSection(MemorySection.java:155) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.configuration.MemorySection.getKeys(MemorySection.java:76) ~[spigot.jar:git-Spigot-db6de12-18fbb24]

java.lang.StackOverflowError
    at org.bukkit.configuration.MemorySection.createPath(MemorySection.java:780) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.configuration.MemorySection.mapChildrenKeys(MemorySection.java:713) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.configuration.MemorySection.mapChildrenKeys(MemorySection.java:717) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.configuration.MemorySection.mapChildrenKeys(MemorySection.java:717) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.configuration.MemorySection.getKeys(MemorySection.java:83) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.configuration.MemorySection.getKeys(MemorySection.java:79) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
EN

回答 1

Stack Overflow用户

发布于 2017-07-07 06:17:17

我得到了一个随机的机会,并检查奖励机会是否低于我的机会,但没有机会低于我的机会,所以它有无限循环

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44924363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档