我想要实现的是用插件杀死玩家并自定义死亡信息,杀死玩家我会,setHealth(0),
但是这样死亡信息就是
复制代码也就是
复制代码
那我要怎么只针对这个插件的该事件修改死亡提示呢?
直接监听死亡事件再匹配死亡信息为“player died”的话能用,但是我担心其他插件也setHealth(0)了,然后导致死亡信息也被我修改了。。。
那么应该怎么单独修改这里的死亡信息呢
但是这样死亡信息就是
- player死了
- player died
那我要怎么只针对这个插件的该事件修改死亡提示呢?
直接监听死亡事件再匹配死亡信息为“player died”的话能用,但是我担心其他插件也setHealth(0)了,然后导致死亡信息也被我修改了。。。
那么应该怎么单独修改这里的死亡信息呢
PlayerDeathEvent
Virlhyc 发表于 2022-5-7 17:25
PlayerDeathEvent
请你仔细审题再发啊,你看了我的问题描述了吗?
我想要的是用插件杀死玩家并自定义死亡信息,你来个监听玩家死亡的事件做什么?
再看看你的回复
你这是15秒给一个回复?我想说水帖也别来编程开发区好嘛
本帖最后由 Virlhyc 于 2022-5-8 00:08 编辑
但是的确是PlayerDeathEvent 里面有个setDeathMessage(); 让玩家死的办法 可以用bukkit的静态方法 甚至可以直接响应一个死亡事件 我记得甚至玩家这个类都有杀死自己的方法 另外我的回复是单纯回复的快而已..
tycmc.top 发表于 2022-5-7 18:33
请你仔细审题再发啊,你看了我的问题描述了吗?
我想要的是用插件杀死玩家并自定义死亡信息,你来个监听 ...
但是的确是PlayerDeathEvent 里面有个setDeathMessage(); 让玩家死的办法 可以用bukkit的静态方法 甚至可以直接响应一个死亡事件 我记得甚至玩家这个类都有杀死自己的方法 另外我的回复是单纯回复的快而已..
player.damage(player.getMaxHealth());
Bukkit.broadcast("xxxxxx");
Bukkit.broadcast("xxxxxx");
xiyanxinnian 发表于 2022-5-8 01:55
player.damage(player.getMaxHealth());
Bukkit.broadcast("xxxxxx");
这样没法取消“玩家 死了”这条死亡消息,也就是会有2条提示
Virlhyc 发表于 2022-5-8 00:07
但是的确是PlayerDeathEvent 里面有个setDeathMessage(); 让玩家死的办法 可以用bukkit的静态方法 甚至可 ...
杀死自己就是setHealth(0),但是这样没法取消掉“玩家 死了”这条死亡信息
桃源村服主 发表于 2022-5-8 02:03
杀死自己就是setHealth(0),但是这样没法取消掉“玩家 死了”这条死亡信息
所以结合PlayerDeathEvent
桃源村服主 发表于 2022-5-8 02:03
杀死自己就是setHealth(0),但是这样没法取消掉“玩家 死了”这条死亡信息
PlayerDeathEvent的setDeathMessage是可以替换掉"玩家 死了"这么个信息的(其实只要玩家死了都会经过PlayerDeathEvent事件,set是可以替换原版信息的),你只需要判断死亡方式即可