就是我想让插件执行玩家命令
玩家触发这个事件后直接执行某个命令
其实我就是想让玩家直接执行/spawn,该如何操作!
玩家触发这个事件后直接执行某个命令
其实我就是想让玩家直接执行/spawn,该如何操作!
William_Shi 发表于 2020-4-12 19:03
https://bukkit.windit.net/javadoc/org/bukkit/entity/Player.html#performCommand-java.lang.String-
Pl ...
就是死亡后会弹出重生界面
我之前写的并没有弹出,不知道是啥原因。。
- public class chongsheng implements Listener {
- @EventHandler
- public void onPlayerDeath(PlayerDeathEvent event){
- event.getEntity();
- Player player = event.getEntity();
- player.sendMessage("你已经死了");
- // player.performCommand("spawn");
- player.setHealth(20);
- // Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"spawn");
- }
- }
大佬帮忙给看看呗
唯爱她° 发表于 2020-4-12 20:03
我在做自动重生得插件,但是我发现了一个新的问题
就是死亡后会弹出重生界面
我之前写的并没有 ...
已经触发了PlayerDeathEvent
表示玩家已经死了
你再setHealth有什么用呢?
还有20最好写进配置里面去
方便日后提升自定义度
William_Shi 发表于 2020-4-12 21:37
已经触发了PlayerDeathEvent
表示玩家已经死了
你再setHealth有什么用呢?
哦哦
还有一个问题,我设置哪个
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"spawn");
这个
然后后台提示/spawn [player]咋整
唯爱她° 发表于 2020-4-12 21:52
哦哦
还有一个问题,我设置哪个
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"spawn");
是这样的
提示意为
spawn指令必须要玩家名这个参数
但是如果是玩家自己输入这个指令那么不填参数=自己
应该是这个意思
那么你可以拼接字符串
比如说“spawn”+名字
唯爱她° 发表于 2020-4-12 21:52
哦哦
还有一个问题,我设置哪个
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"spawn");
另:建议先去学习一下Bukkit插件开发和Java基础
请问楼主的目的是想让玩家死亡之后会出生点?
PlayerDeathEvent是在玩家死之前(出现死亡提示之前)触发的
而PlayerRespawnEvent是玩家点击重生后触发的
根据我对您这个问题的理解大概用第二个比较合适?
而且PlayerRespawnEvent之和可能由于Bukkit也有一些要执行的东西
所以咱们插件的代码可以用一个BukkitRunnable让其拖后1秒钟执行
复制代码
PlayerDeathEvent是在玩家死之前(出现死亡提示之前)触发的
而PlayerRespawnEvent是玩家点击重生后触发的
根据我对您这个问题的理解大概用第二个比较合适?
而且PlayerRespawnEvent之和可能由于Bukkit也有一些要执行的东西
所以咱们插件的代码可以用一个BukkitRunnable让其拖后1秒钟执行
- @EventHandler
- public void onPlayerRespawn(PlayerRespawnEvent e){
-
- new BukkitRunnable(){
- @Override
- public void run() {
-
- xxxxxx
- }
- }.runTaskLater(plugin,20)
- }
接楼上
respawnEvent里面有个方法是setRespawnLocation(好像是position
可以直接设置玩家重生的坐标
respawnEvent里面有个方法是setRespawnLocation(好像是position
可以直接设置玩家重生的坐标
这个很舒服