_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
你这方法也报错啊


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

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