Skip to content

消息、表现与流程

消息类

消息.发送

  • 用法:消息.发送("文本")
  • 参数:消息文本,支持颜色符和占位符
  • 返回值:无
text
消息.发送("&a你已经进入第一阶段")

消息.广播

  • 别名:消息.全体
  • 用法:消息.广播("文本")
  • 参数:消息文本
  • 返回值:无
text
消息.广播("&6Boss 房即将开启")

文本里的占位符

消息类动作会先替换一轮常用占位符。

常见能直接用的有:

  • {玩家}:当前执行这段脚本的玩家名
  • {uuid}:当前执行玩家的 UUID
  • {dungeon}:当前副本模板 ID
  • {instance}:当前副本实例 ID
  • {事件玩家} / {事件玩家名}:当前事件触发玩家名
  • {事件玩家UUID}:当前事件触发玩家 UUID
  • {变量名}:如果当前副本里存在同名副本变量,也会直接替换

这里最容易写错的是 玩家事件玩家

  • {玩家} 看的是当前执行上下文里的玩家
  • {事件玩家} 看的是触发事件的那个玩家

当前只有 玩家加入玩家离开玩家死亡 这三个事件会带 事件玩家

例如在 脚本 里:

yaml
事件绑定:
  玩家加入:
    脚本: |
      消息.广播("&e{玩家} &7加入了副本")

如果你写在 玩家脚本 里,要改成:

yaml
事件绑定:
  玩家加入:
    玩家脚本: |
      消息.发送("&e{事件玩家} &7加入了副本")

因为这时候 {玩家} 指的是当前这一轮收到消息的人,不是加入的人。

消息.标题

  • 用法:消息.标题("标题", ["副标题"], [淡入], [停留], [淡出])
  • 参数:标题、副标题、淡入 tick、停留 tick、淡出 tick
  • 返回值:无
text
消息.标题("&c危险区域", "&7准备迎战", 10, 60, 20)

标题.全体

  • 用法:标题.全体("标题", ["副标题"], [淡入], [停留], [淡出])
  • 参数:标题、副标题、淡入 tick、停留 tick、淡出 tick
  • 返回值:无
text
标题.全体("&4Boss 降临", "&f全队准备", 10, 70, 20)
音效.全体("ENDERDRAGON_GROWL", 1, 1)

消息.动作栏

  • 用法:消息.动作栏("文本")
  • 参数:动作栏文本
  • 返回值:无
text
消息.动作栏("&e当前积分: " + 玩家.读取变量("积分"))

音效、粒子与药水

音效.播放

  • 别名:音效.发送
  • 用法:音效.播放("音效名", [音量], [音调])
  • 参数:Bukkit 音效名、音量、音调
  • 返回值:无
text
音效.播放("ENTITY_PLAYER_LEVELUP", 1, 1.2)

音效.全体

  • 用法:音效.全体("音效名", [音量], [音调])
  • 参数:Bukkit 音效名、音量、音调
  • 返回值:无
text
音效.全体("BLOCK_ANVIL_LAND", 1, 0.8)
消息.广播("&c退路已经封死")

粒子.播放

  • 用法:粒子.播放("粒子名", [数量], [dx], [dy], [dz])
  • 参数:粒子名、数量、三个扩散值
  • 返回值:无
text
粒子.播放("FLAME", 20, 0.4, 0.8, 0.4)

效果.药水

  • 用法:效果.药水("效果名", [持续时间], [等级])
  • 参数:药水效果名、持续时间 tick、等级
  • 返回值:无
text
效果.药水("SLOWNESS", 200, 2)
消息.发送("&b寒潮压制了你的移动速度")

命令与流程

命令.玩家

  • 用法:命令.玩家("命令")
  • 参数:玩家要执行的命令,带不带 / 都可以
  • 返回值:无
text
命令.玩家("spawn")

命令.控制台

  • 用法:命令.控制台("命令")
  • 参数:控制台命令
  • 返回值:无
text
命令.控制台("say " + 玩家名() + " 已经触发开场机关")

如果你是在 玩家加入玩家离开玩家死亡玩家脚本 里,想拿触发事件的人,记得改成:

text
命令.控制台("say " + 事件玩家名() + " 已经触发事件")

流程.等待

  • 用法:流程.等待([tick])
  • 参数:等待时长,默认 20
  • 返回值:等待状态
text
消息.广播("&e10 秒后刷出第二波")
流程.等待(200)
怪物组.生成("第二波")

流程.取消

  • 用法:流程.取消()
  • 参数:无
  • 返回值:无
text
if 背包.检查("name:&6挑战门票", 1) == false {
    消息.发送("&c你没有挑战门票")
    流程.取消()
}

TQ Minecraft Server Plugin Docs