布基特/斯皮戈特)多次获取配置部分将发生错误



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

ConfigurationSection sec = getConfig().getConfigurationSection(p.getWorld().getName() + ".rewards");
if (sec == null) {
return;
}
int prizessize = sec.getKeys(false).size();
int random = getRandomInt(0, prizessize);

这是我的配置:

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':
.
.
.

因此,在多次执行奖励事件时它工作正常,但有时它会在控制台中发送垃圾邮件。

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]

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

最新更新