我是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.服务器在吐出错误后冻结。。。如果你需要更多的信息,请评论。。。在
对不起,是我的错。我用错了事件。。。在
我用的是AsyncPlayerChatEvent而不是常规的PlayerChatEvent。。。在
相关问题 更多 >
编程相关推荐