无法将事件PlayerMoveEvent传递给Java代码中的播放错误

无法将事件PlayerMoveEvent传递给Java代码中的播放错误,java,for-loop,Java,For Loop,早些时候,我发布了一篇帖子,询问如何在for循环中生成多个值。 过了一会儿,我遇到了一个问题,我不知道如何解决,也不知道它为什么会发生。 这是我的代码: for(int x = 0; x < con.length; x++) { maxS[x] = main.getConfig().getString("areas." + con[x] + ".max").split(", ").toString(); minS

早些时候,我发布了一篇帖子,询问如何在for循环中生成多个值。 过了一会儿,我遇到了一个问题,我不知道如何解决,也不知道它为什么会发生。 这是我的代码:

for(int x = 0; x < con.length; x++) 
{
    maxS[x] = main.getConfig().getString("areas." + con[x] + ".max").split(", ").toString();
    minS[x] = main.getConfig().getString("areas." + con[x] + ".min").split(", ").toString();
    event.getPlayer().sendMessage("1");
    for(int y = 0; y < maxS.length; y++) 
    {
        maxV[y] = new Vector(Integer.parseInt(maxS[y]), Integer.parseInt(maxS[y+1]), Integer.parseInt(maxS[y+2]));
        minV[y] = new Vector(Integer.parseInt(minS[y]), Integer.parseInt(minS[y+1]), Integer.parseInt(minS[y+2]));

        event.getPlayer().sendMessage("2");
    }
}
for(int x=0;x
错误消息:

2013-07-29 20:32:12[严重]无法将event PlayerMoveEvent传递给Play v1.6.2 org.bukkit.event.EventException
位于org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) 位于org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
位于org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
位于org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
在net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:227)
位于net.minecraft.server.v1_6_R2.Packet10Flying.handle(源文件:136)
在net.minecraft.server.v1_6_R2.NetworkManager.b(NetworkManager.java:296)
在net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:116)
位于net.minecraft.server.v1_6_R2.ServerConnection.b(源文件:37)
位于net.minecraft.server.v1_6_R2.dicatedServerConnection.b(源文件:30)
在net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:590)
在net.minecraft.server.v1_6_R2.dicatedserver.t(dicatedserver.java:226)
在net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486)
在net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419)
在net.minecraft.server.v1_6_R2.ThreadServerApplication.run(源文件:582)
原因:java.lang.NumberFormatException:对于输入字符串:“[Ljava.lang.string;@af7327” 位于java.lang.NumberFormatException.forInputString(未知源)
位于java.lang.Integer.parseInt(未知源)
位于java.lang.Integer.parseInt(未知源)
atme.BlueJelly.play\u SP.PlayerListener.onPlayerMove(PlayerListener.java:191)
在sun.reflect.GeneratedMethodAccessor89.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)
位于java.lang.reflect.Method.invoke(未知源)
在org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
…还有14个


从错误消息判断,对
Integer.parseInt
的调用似乎实际上没有得到可以解析为int的字符串

相反,他们得到的是字符串
“[Ljava.lang.string;@af7327”

您应该重新评估如何获得这些字符串


下面这行看起来不对

maxS[x] = main.getConfig().getString("areas." + con[x] + ".max").split(", ").toString();
这可能只是我的c#经验,但我通常希望调用
.split()
返回一个
字符串数组,而不是单个
字符串

不看代码的其余部分很难判断,但我希望看到一行更像下面的代码

maxS = main.getConfig().getString("areas." + con[x] + ".max").split(", ");

你遇到了什么问题?你能告诉我们错误吗?没有错误消息,我们谁也帮不了你。我猜他得到了一个IndexOutOfRangeException。
y
一直到maxS.length,但他引用了maxS[y+2]。但我们肯定需要/想要更多信息!@ChrisForrence,或者他没有首先初始化它。