这个错误代表什么?如何修正它?

2024-10-02 20:35:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我是jython/python-bukkit插件编码器,我遇到了一个奇怪的错误。。我正在尝试用Python重新编码(用Java)已经完成的事情。。。以下是java部分的代码:

    HashMap<Player, String> channelList = new HashMap<Player, String>();
    public void useChannel(Player p, String format, String channel){
    if(channel == "main"){
        Bukkit.broadcastMessage(format);
    } else {
          Player[] online = Bukkit.getOnlinePlayers();
          for(int a = 0; a <= online.length - 1; a++){
              if(channelList.get(online[a]) == channel){
                  online[a].sendMessage("*" + format);
              }
          }
    }
}

@EventHandler
public void onChat(AsyncPlayerChatEvent event){
    event.setCancelled(true);
    String channel = event.getMessage().substring(0, 1);
    String userChannel = "";
    switch(channel){
    case "!": userChannel = "spanish";
    case "?": userChannel = "french";
    case "@": userChannel = "dutch";
    case "$": userChannel = "spanish";
    default: userChannel = "main";     
    }
    useChannel(event.getPlayer(), event.getFormat(), userChannel);
}

}

下面是我在python/jython中所做的(请记住,这可能是不一样的,这是错误的原因):

^{pr2}$

这是聊天相关的插件,应该在AsyncChatPlayerEvent上检查是否有!或消息中的$prefix。。。这些前缀在Java中是作为“cases”来完成的,但据我所知,Python中没有这样的东西,所以我用这种方式来完成(这可能不是正确的方法)?在

以下是我在使用这些前缀($and!)聊天时遇到的错误公司名称:

14:38:59 [SEVERE] java.util.logging.ErrorManager: 5
>
Exception: org.python.core.PyException thrown from the UncaughtExceptionHandler
in thread "Connection #1 read thread"

总而言之,我试图将上面的java代码“重新编码”为python,但是我得到了一些奇怪的错误。。。在

谢谢你的回答!:)

p.S.服务器在吐出错误后冻结。。。如果你需要更多的信息,请评论。。。在


Tags: 代码插件eventformat编码string错误channel