yaoraoxiaosa
服务器不能装插件

监听死亡执行命令的脚本能做到么˳⚆ɞ⚆˳

无敌三脚猫
  1. import crafttweaker.api.world.ServerLevel;
  2. import crafttweaker.api.events.CTEventManager;
  3. import crafttweaker.api.event.entity.living.LivingDeathEvent;

  4. CTEventManager.register<LivingDeathEvent>((e)=>{
  5.         val world=e.entity.level;
  6.         if(!world.isClientSide&&e.entity.getType()==<entitytype:minecraft:player>){
  7.                 (world as ServerLevel).server.executeCommand("say 有人要死喽",false);
  8.         }
  9. });
复制代码
后面执行指令那里最后的false表示显示指令的执行结果,比如give指令的“已将某某给予某某”,填true就表示不显示,当然,say指令的执行结果是无论如何都会显示的

yaoraoxiaosa
无敌三脚猫 发表于 2023-3-27 16:50
后面执行指令那里最后的false表示显示指令的执行结果,比如give指令的“已将某某给予某某”,填true就表示 ...

哈哈哈,等的就是无敌三脚猫大佬,大佬有没有可能实现就是比如说死了给某人一个金苹果,那种操作,/give 玩家名 apple 1   ,这个玩家名变量怎么处理啊

无敌三脚猫
yaoraoxiaosa 发表于 2023-3-27 21:08
哈哈哈,等的就是无敌三脚猫大佬,大佬有没有可能实现就是比如说死了给某人一个金苹果,那种操作,/give  ...

用+号,把give空格+玩家名字+空格物品名字拼起来就好了
  1. import crafttweaker.api.world.ServerLevel;
  2. import crafttweaker.api.events.CTEventManager;
  3. import crafttweaker.api.event.entity.living.LivingDeathEvent;

  4. CTEventManager.register<LivingDeathEvent>((e)=>{
  5.         val entity=e.entity;
  6.         val world=entity.level;
  7.         if(!world.isClientSide&&entity.getType()==<entitytype:minecraft:player>){
  8.                 (world as ServerLevel).server.executeCommand("give "+entity.name.contents+" apple",true);
  9.         }
  10. });
复制代码
不过,如果开了死亡掉落,给予的物品仍会掉一地,那样的话就不应该监听死亡事件,而应该监听复活事件
  1. import crafttweaker.api.world.ServerLevel;
  2. import crafttweaker.api.events.CTEventManager;
  3. import crafttweaker.api.event.entity.player.PlayerRespawnEvent;

  4. CTEventManager.register<PlayerRespawnEvent>((e)=>{
  5.         val player=e.player;
  6.         val world=player.level;
  7.         if(!world.isClientSide&&!e.isEndConquered){
  8.                 (world as ServerLevel).server.executeCommand("give "+player.name.contents+" apple",true);
  9.         }
  10. });
复制代码

yaoraoxiaosa
无敌三脚猫 发表于 2023-3-27 22:56
用+号,把give空格+玩家名字+空格物品名字拼起来就好了不过,如果开了死亡掉落,给予的物品仍会掉一地, ...

原来是这样,谢谢大佬,我以为要用"~event.player.name~"😘😘😘,明天我去试一下