_XuanFsant_
又是我XD,如题,在写死亡信息的过程中,我用到的是以下方法:
  1. public void DeathMessage(PlayerDeathEvent e) {
  2.         Player player1 = e.getEntity();
  3.         Player player2 = player1.getKiller();
  4.         String player1_name = player1.getDisplayName();
  5.         String player2_name = player2.getDisplayName();
  6.         player1.sendMessage("§7[KillerMassage]§c你被 §r" + player2_name + " §c杀死了!");
  7.         e.setDeathMessage("§7[KillerMassage]§r" + player1_name + "§c被§r" + player2_name + "§c杀死了!");
  8.     }
复制代码
但是这种方法在遇到kill时会报错,想问问有没有什么解决方法或者其他实现方式

java30433
你没有判断击杀者是谁而直接强转了Player
别说kill了,掉虚空,被岩浆烧死,被怪物打死都报错
应该
  1. if (e.getKiller() instance Player)
复制代码

再进行下一步操作

java30433
此外,其实sendMessage是多余的XD

hjqyxiaoyu
瘟疫威胁全世界 发表于 2020-5-10 18:22
你没有判断击杀者是谁而直接强转了Player
别说kill了,掉虚空,被岩浆烧死,被怪物打死都报错
应该

你这方法也报错啊

java30433
hjqyxiaoyu 发表于 2020-5-15 00:08
你这方法也报错啊


隔空看命?至少贴一下代码和报错啊

hjqyxiaoyu
瘟疫威胁全世界 发表于 2020-5-15 19:17

隔空看命?至少贴一下代码和报错啊

233就还是他这个方法呀

William_Shi
hjqyxiaoyu 发表于 2020-5-15 19:40
233就还是他这个方法呀

Apache官方文档 getting started篇章:

Trouble shooting any problem without the errorlog
is like driving
with your eyes closed

报错??

java30433
hjqyxiaoyu 发表于 2020-5-15 19:40
233就还是他这个方法呀

报错信息。。。还有代码
难道你什么都没改吗?

_XuanFsant_
hjqyxiaoyu 发表于 2020-5-15 00:08
你这方法也报错啊

你这个不贴代码的行为确实不大好。。
不过说一下我的最终解决方法
检测一下击杀者(这里的player2)是不是等于null就好了
你可以尝试一下

hjqyxiaoyu
_XuanFsant_ 发表于 2020-5-16 22:43
你这个不贴代码的行为确实不大好。。
不过说一下我的最终解决方法
检测一下击杀者(这里的player2)是不 ...

好谢谢,挺好的~

第一页 上一页 下一页 最后一页