唯爱她°
就是我想让插件执行玩家命令
玩家触发这个事件后直接执行某个命令
其实我就是想让玩家直接执行/spawn,该如何操作!

William_Shi
https://bukkit.windit.net/javado ... d-java.lang.String-

Player#performCommand方法

具体代码自行思考

唯爱她°
William_Shi 发表于 2020-4-12 19:03
https://bukkit.windit.net/javadoc/org/bukkit/entity/Player.html#performCommand-java.lang.String-

Pl ...

我在做自动重生得插件,但是我发现了一个新的问题
就是死亡后会弹出重生界面
我之前写的并没有弹出,不知道是啥原因。。
  1. public class chongsheng implements Listener {
  2.     @EventHandler
  3.     public void onPlayerDeath(PlayerDeathEvent event){
  4.         event.getEntity();
  5.         Player player = event.getEntity();
  6.         player.sendMessage("你已经死了");
  7. //            player.performCommand("spawn");
  8.         player.setHealth(20);
  9. //            Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"spawn");
  10.     }

  11.     }
复制代码

大佬帮忙给看看呗

William_Shi
唯爱她° 发表于 2020-4-12 20:03
我在做自动重生得插件,但是我发现了一个新的问题
就是死亡后会弹出重生界面
我之前写的并没有 ...

已经触发了PlayerDeathEvent
表示玩家已经死了
你再setHealth有什么用呢?
还有20最好写进配置里面去
方便日后提升自定义度

唯爱她°
William_Shi 发表于 2020-4-12 21:37
已经触发了PlayerDeathEvent
表示玩家已经死了
你再setHealth有什么用呢?

哦哦
还有一个问题,我设置哪个
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"spawn");
这个
然后后台提示/spawn [player]咋整

William_Shi
唯爱她° 发表于 2020-4-12 21:52
哦哦
还有一个问题,我设置哪个
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"spawn");

是这样的
提示意为
spawn指令必须要玩家名这个参数
但是如果是玩家自己输入这个指令那么不填参数=自己
应该是这个意思
那么你可以拼接字符串
比如说“spawn”+名字

William_Shi
唯爱她° 发表于 2020-4-12 21:52
哦哦
还有一个问题,我设置哪个
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"spawn");

另:建议先去学习一下Bukkit插件开发和Java基础

唯爱她°
William_Shi 发表于 2020-4-12 22:00
另:建议先去学习一下Bukkit插件开发和Java基础

okok

Delay0Delay
请问楼主的目的是想让玩家死亡之后会出生点?

PlayerDeathEvent是在玩家死之前(出现死亡提示之前)触发的
而PlayerRespawnEvent是玩家点击重生后触发的
根据我对您这个问题的理解大概用第二个比较合适?
而且PlayerRespawnEvent之和可能由于Bukkit也有一些要执行的东西
所以咱们插件的代码可以用一个BukkitRunnable让其拖后1秒钟执行

  1. @EventHandler
  2.     public void onPlayerRespawn(PlayerRespawnEvent e){
  3.         
  4.         new BukkitRunnable(){
  5.             @Override
  6.             public void run() {
  7.                
  8.                 xxxxxx
  9.             }
  10.         }.runTaskLater(plugin,20)
  11.     }
复制代码

南柯郡守
接楼上
respawnEvent里面有个方法是setRespawnLocation(好像是position
可以直接设置玩家重生的坐标

MC_longxi
这个很舒服