全息.yml
全息.yml 用来配置副本里的提示全息、交互式全息和信息展示点。
它最适合做“看得见、点得到、带提示”的内容。
如果你把几种触发器放在一起对比:
交互.yml更像机关和按钮全息.yml更像可读、可点、可展示的信息点
全息最常拿来做什么
- 入口提示
- Boss 机制说明
- 当前阶段说明
- 点击触发的小交互
- 副本内的装饰性提示点
一份标准示例
yaml
入口提示:
显示名称: '&6副本入口'
坐标: '15,67,15'
文本:
- '&6&l暗影地穴'
- '&7右键查看说明'
显示距离: 24
更新距离: 32
刷新间隔: 20
触发方式: 右键
单次触发: false
冷却: 20
触发脚本: |
消息.全体("&e有人查看了入口提示")
触发玩家脚本: |
消息.发送("&a祝你好运")核心字段
显示名称
不写也能用,默认就是全息 ID。
建议正式副本写上,后面做脚本和排错更直观。
坐标
源码当前兼容:
坐标位置
文档建议统一写 坐标。
文本
源码当前兼容:
- 列表写法
- 多行字符串
- 旧字段
内容
最稳的还是列表写法:
yaml
文本:
- '&6&l暗影地穴'
- '&7右键查看说明'显示条件
全息可以按玩家视角决定显不显示:
yaml
显示条件: '副本.读取变量("Boss房已开放") == true'这个条件是按每个玩家分别判断的。
很适合做:
- 阶段开放前先隐藏提示
- 只有满足条件的玩家才能看到
条件
这个条件控制的是点击后是否触发,不影响平时显示。
yaml
条件: '副本.读取变量("祭坛已激活") != true'触发方式
按源码当前实现,支持这些写法:
右键左键潜行右键潜行左键任意
默认值是 右键。
单次触发 与 冷却
这两个字段和交互点类似:
单次触发: true表示实例里只生效一次冷却单位是 tick
刷新间隔
yaml
刷新间隔: 20这决定全息文本多久更新一次。
显示距离 与 更新距离
显示距离:玩家在多远内能看到更新距离:玩家在多远内继续参与更新
正式服里这两个值别一上来拉太大。
始终朝向玩家
yaml
始终朝向玩家: true这适合做悬浮提示和信息牌。
向下生长
这个字段是全息排版方向控制。
一般普通提示不太需要动,先按默认就行。
触发脚本 与 触发玩家脚本
全息和交互点的一个重要区别就在这里。
它支持两套脚本:
触发脚本触发玩家脚本
推荐这样分:
触发脚本:全队播报、改副本变量、开门、开机关触发玩家脚本:只给点击者发提示、给点击者做个人处理
文本显示和点击脚本的边界
这页有两个层次:
- 平时显示什么
- 玩家点击以后发生什么
文本部分更适合做:
- 提示
- 说明
- 氛围
- 简单进度展示
点击脚本部分更适合做:
- 播提示
- 改变量
- 小机关
- 小剧情
如果一个交互点主要目的是“触发机关”,通常还是 交互.yml 更直接。
如果它同时需要“先展示说明,再让玩家点一下触发”,那 全息.yml 更顺手。
触发脚本里的上下文变量
源码当前会在点击时放进这些变量:
hologram_idhologram_namehologram_runtime_idhologram_clickhologram_entity_idtrigger_playertrigger_player_nametrigger_player_uuid
这很适合做:
- 一套脚本给多个全息共用
- 按点击方式分支处理
- 调试当前触发的是哪个全息
推荐写法
最常见的入口说明全息
yaml
入口提示:
显示名称: '&6副本入口'
坐标: '15,67,15'
文本:
- '&6&l暗影地穴'
- '&7右键查看说明'
显示距离: 24
刷新间隔: 20
触发方式: 右键
触发玩家脚本: |
消息.发送("&e本副本分为两阶段,Boss 房需要先清第一波怪")按阶段控制显隐
yaml
Boss房提示:
显示名称: '&cBoss 房'
坐标: '30,67,0'
文本:
- '&cBoss 房已开放'
显示条件: '副本.读取变量("Boss房已开放") == true'用全息当轻量交互入口
yaml
祭坛提示:
显示名称: '&d祭坛'
坐标: '12,66,8'
文本:
- '&d右键激活祭坛'
条件: '副本.读取变量("祭坛已激活") != true'
触发方式: 右键
单次触发: true
触发脚本: |
副本.设置变量("祭坛已激活", true)
消息.全体("&d祭坛已被激活")配置建议
- 文本尽量短,前两行放最重要的信息。
- 重要全息点才加交互,不要把主流程全堆在全息上。
- 会影响流程的全息最好带
条件、单次触发或冷却。 - 展示型和交互型全息可以分开,不要一个点同时承担太多职责。
常见问题
全息不显示
优先检查:
- 坐标是否在副本世界内
显示距离是否过小显示条件是否把它隐藏了- 全息依赖插件是否正常工作
能看到,但点了没反应
先检查:
触发方式是否和玩家操作一致条件是否拦住了触发- 是否已经单次触发过
- 冷却是否还没结束
提示和机关逻辑越写越乱
这通常说明全息承担的职责太多了。
更稳的拆法一般是:
- 全息负责提示
- 真正的流程机关交给
交互.yml - 全局收尾交给
事件绑定