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
}
}
字段说明
| 字段 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
| eventType | string | 是 | - | 固定为 "HOLOGRAM" |
| beat | double | 是 | - | 效果触发的拍数 |
| location | double[3] | 是 | - | [X, Y, Z] 坐标(相对于游戏中心) |
| id | string | 否 | 自动生成 | 唯一标识符 |
| contents | List | 是 | - | 文本行列表 |
| duration | long | 否 | 31536000000L | 持续时间(毫秒) |
创建流程
- 解析参数: 从
propertiesJSON 对象提取参数 - 生成 ID: 如果未提供
id,自动生成唯一标识符 - 创建全息图: 使用 DecentHolograms API 创建全息图
- 设置内容: 将文本行列表设置到全息图
- 定位: 将全息图放置在指定位置
位置计算
位置是相对于游戏中心的偏移:
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
注意事项
- 位置坐标: 是相对于游戏中心的偏移,不是绝对世界坐标
- ID 前缀: 系统会自动添加游戏实例 GUID 作为前缀,避免冲突
- 持续时间: 设置超长值表示持久显示,需要手动移除
- 插件依赖: 必须安装 DecentHolograms 插件才能使用
- 性能影响: 大量全息图可能影响性能,建议合理使用
相关效果
- REMOVE_HOLOGRAM - 移除全息图
- TEXT_DISPLAY - 文本显示效果