跳到主要内容

HOLOGRAM - 全息图效果

概述

在指定位置创建全息文字显示。使用 DecentHolograms 插件实现。

技术规格

属性
效果类型HOLOGRAM
Java 枚举EffectType.HOLOGRAM
持续时间可配置(默认一年)
实现类HologramEffect

JSON 格式

{
"eventType": "HOLOGRAM",
"beat": 4.0,
"properties": {
"location": [0.0, 1.5, 0.0],
"id": "RhyMCGameHologram_1234567890",
"contents": ["Line 1", "Line 2"],
"duration": 5000
}
}

字段说明

字段类型必需默认值说明
eventTypestring-固定为 "HOLOGRAM"
beatdouble-效果触发的拍数
locationdouble[3]-[X, Y, Z] 坐标(相对于游戏中心)
idstring自动生成唯一标识符
contentsList-文本行列表
durationlong31536000000L持续时间(毫秒)

创建流程

  1. 解析参数: 从 properties JSON 对象提取参数
  2. 生成 ID: 如果未提供 id,自动生成唯一标识符
  3. 创建全息图: 使用 DecentHolograms API 创建全息图
  4. 设置内容: 将文本行列表设置到全息图
  5. 定位: 将全息图放置在指定位置

位置计算

位置是相对于游戏中心的偏移:

  • location[0]: X 轴偏移
  • location[1]: Y 轴偏移
  • location[2]: Z 轴偏移

持续时间

  • 默认值: 31536000000L(约一年)
  • 单位: 毫秒
  • 特殊值: 超长持续时间表示"持久直到移除"

使用示例

基本全息图

{
"eventType": "HOLOGRAM",
"beat": 4.0,
"properties": {
"location": [0.0, 2.0, 0.0],
"contents": ["Hello World"]
}
}

多行全息图

{
"eventType": "HOLOGRAM",
"beat": 8.0,
"properties": {
"location": [0.0, 1.5, 0.0],
"id": "score_display",
"contents": ["Score: 1000", "Combo: 50", "Accuracy: 95%"],
"duration": 10000
}
}

带自定义 ID 的全息图

{
"eventType": "HOLOGRAM",
"beat": 12.0,
"properties": {
"location": [2.0, 1.5, 0.0],
"id": "player_info",
"contents": ["Player: TestUser", "Rank: #1"],
"duration": 5000
}
}

与 DecentHolograms 的集成

插件依赖

此效果需要 DecentHolograms 插件:

  • 插件名称: DecentHolograms
  • 用途: 创建和管理全息图

API 调用

全息图管理

  • 创建: DHAPI.createHologram()
  • 删除: hologram.delete()
  • 更新: 通过 DecentHolograms API

注意事项

  1. 位置坐标: 是相对于游戏中心的偏移,不是绝对世界坐标
  2. ID 前缀: 系统会自动添加游戏实例 GUID 作为前缀,避免冲突
  3. 持续时间: 设置超长值表示持久显示,需要手动移除
  4. 插件依赖: 必须安装 DecentHolograms 插件才能使用
  5. 性能影响: 大量全息图可能影响性能,建议合理使用

相关效果

相关文档