GHolo 是一款现代、轻量的 Minecraft 全息图与交互插件,支持 Bukkit、Spigot、Paper(及其所有分支)与 Folia,适用于 1.19.4 到 26.2 的服务器。加入 GPlugins Discord Server 可获取最新更新与新闻。
概览与特色
Holos / 全息图
- 高度可自定义的 holos / holograms。
- 可创建无限数量的 holos 与 holo rows。
- 支持特殊类型,例如
"entity"、"block"、"item"或"itemstack"。 - 极其轻量,几乎不占用服务器资源。
- 所有消息均可翻译。
- 提供大量全息图自定义选项。
- 支持 Folia。
- 支持 SQL。
- 支持 MiniMessage。
- 支持通过 rows 或换行实现多行内容。
- 支持为 holos 使用自定义 Unicode 符号。
- 可直接将图片导入游戏并作为全息图显示。
- 支持 PlaceholderAPI。
- 可创建自定义 holo 动画。
- 支持 Public Holo API。
- 可将 holos 从数据库导入/导出到文件,或从文件导入/导出到数据库。
Holo 可自定义数据属性
- Visual display range
- Background color
- Text opacity
- Text shadow
- Text alignment
- Fixed rotation axis(billboard setting)
- See through(是否可穿透方块可见)
- Text scale
- Brigthness
- Permission(按权限隐藏 holo 或 holo row)
- Size
- Rotation
支持从其他插件导入全息图
- DecentHolograms
- HolographicDisplays
- FancyHolograms
Interactions / 交互
- 高度可自定义的 interactions。
- 可创建无限数量的 interactions 与 actions。
- 极其轻量,几乎不占用服务器资源。
- 可在交互时触发不同类型的动作。
- 可将 interactions 从数据库导入/导出到文件,或从文件导入/导出到数据库。
- 支持 Public Interaction API。
可触发的交互动作类型
- Player command
- Server command
- Player chat message
- Teleport
- Velocity、Waterfall 或 Bungeecord server switch
Interaction 可自定义数据属性
- Permission(按权限隐藏 interaction)
- Size(修改宽度与高度)
Holo 类型
不同的 holo 类型可以通过在 row 中添加前缀来使用。
默认 Holo Row
- 无需前缀。
Entity Holo 类型
- Prefix:
"entity" - 示例:
"entity:chicken"
Block Holo 类型
- Prefix:
"block" - 示例:
"block:diamond_block"
Item Holo 类型
- Prefix:
"item" - 示例:
"item:diamond_sword"
Itemstack Holo 类型
- Prefix:
"itemstack" - 示例:
"itemstack:diamond_sword
Holo 选项
- 还有更多功能与选项。
合作伙伴
感谢合作伙伴 ElixirNode!
- 现在使用代码
"Gecolay"即可享受 50% 折扣,托管你的专业服务器或 VPS。
命令
Holo 命令
/holo help-> holo 帮助列表/holo list [<page>]-> 完整 holo 列表/holo near [<range>]-> 附近的 holo 列表/holo create <id>-> 创建新的 holo/holo info <id>-> 获取 holo 信息,例如位置与内容/holo remove <id>-> 移除 holo/holo rename <id> <newId>-> 重命名 holo/holo move <id> <x> <y> <z>-> 将 holo 移动到其他位置/holo tphere <id>-> 将 holo 移动到你的位置/holo tp <id>-> 传送到 holo/holo align <id> <alignId> x/y/z/xy/xz/yz/xyz-> 将 holo 对齐到另一个 holo 的指定轴/holo addrow <id> [<content>]-> 为 holo 添加新的 holo row/holo insertrow <id> <position> [<content>]-> 为 holo 插入新的 holo row/holo setrow <id> < position > [<content>]-> 设置 holo row 的内容/holo removerow <id> <position> [<updateoffsets>]-> 移除 holo 的 holo row/holo offsetrow <id> <position> <x> <y> <z>-> 修改 row 的偏移量/holo copy <id> <newId>-> 将现有 holo 复制为新的 holo/holo option <id> <holo/row> (<option> <value> [ <value> ])/(<position> <option> <value> [ <value> ] )-> 修改 holo / holo row 的数据选项/holo image <id> file/url/avatar/helm <source> [<width:height>]-> 从来源为 holo 设置图片/holo import <type> [override]-> 按类型导入 holos/holo export <type> [override]-> 按类型导出 holos
Interaction 命令
/interaction help-> interaction 帮助列表/ interaction list [<page>]-> 完整 interaction 列表/ interaction near [<range>]-> 附近的 interaction 列表/ interaction create <id>-> 创建新的 interaction/ interaction info <id>-> 获取 interaction 信息,例如位置与 actions/ interaction remove <id>-> 移除 interaction/ interaction rename <id> <newId>-> 重命名 interaction/ interaction move <id> <x> <y> <z>-> 将 interaction 移动到其他位置/ interaction tphere <id>-> 将 interaction 移动到你的位置/ interaction tp <id>-> 传送到 interaction/ interaction align <id> <alignId> x/y/z/xy/xz/yz/xyz-> 将 interaction 对齐到另一个 interaction 的指定轴/ interaction addaction <id> <type> <parameter>-> 为 interaction 添加新的 interaction action/ interaction insertaction <id> <position> <type> <parameter>-> 为 interaction 插入新的 interaction action/ interaction setaction <id> < position > <type> <parameter>-> 设置 interaction action 的类型与参数/ interaction removeaction <id> <position>-> 移除 interaction 的 interaction action/ interaction copy <id> <newId>-> 将现有 interaction 复制为新的 interaction/ interaction option <id> <option> <value> [ <value> ]-> 修改 interaction 的数据选项/ interaction import <type> [override]-> 按类型导入 interactions/ interaction export <type> [override]-> 按类型导出 interactions
权限
- OP-Permission:
GHolo.* - Update-Notification-Permission:
GHolo.Update - Plugin-Reload-Permission:
GHolo.Reload
权限列表
GHolo.Holo-> 完全访问/holo命令GHolo.Interaction-> 完全访问/interaction命令
Bug / 问题反馈
如果你发现任何 Bug,请立即通过以下方式联系作者,以便尽快修复:
- 在 Discussion-Area 联系。
- 发送私人消息。
- 加入 GPlugins Discord Server。
请不要使用 Review-Section 提交 Bug 报告。请使用以上任意方式联系作者。
统计与支持信息
- Official GPlugins Discord Server:
- Supported Minecraft-Versions: 1.19, 1.20, 1.21, 26.1 & 26.2
如果你喜欢我的插件,请留下好评来支持我。
文件管理
您可以通过文件在 plugins/GHolo/holos 文件夹中创建全息投影,文件结构为 id.yml,例如 test.yml。此文件夹中的文件也可以通过使用 holo export files 命令导出已有的全息投影来创建。如果导出一个全息投影,文件中只会包含已更改的选项以保持文件体积小巧,默认值不会被导出。
重要提示:更改全息投影文件后,您必须使用 holo import files 命令将其导入到数据库中!
文件结构示例
Holo:
location:
world: world
x: 100
y: 100
z: 100
rows:
- content: 'Row 1'
- offset:
y: -0.26
content: 'Row 2'
data:
textShadow: true
backgroundColor: '#ff0000'
- offset:
y: -0.52
content: ''
- offset:
y: -0.78
content: 'entity:chicken'全息动画
您可以在 plugins/GHolo/animations.yml 文件中创建全息动画。动画由一个 ID 和一个 tick 数量定义,tick 数量决定了动画的更新速度。动画的内容定义了应循环显示哪些行。
- 如果 PlaceholderAPI 已启用,可以在动画中使用其占位符。
- 动画可以包含其他动画,但只能包含那些在它之前创建的动画。在默认示例中,
test和test_2,只有test_2可以包含test,而test不能包含test_2。 - 可以在全息投影中以
%animation_id%的格式使用动画,例如%test%。
动画示例
Animations:
"test":
ticks: 10
content:
- "Test"
- "Animation"
"test_2":
ticks: 5
content:
- "&a%test%"
- "&b%test%"
- "&c%test%"
- "&d%test%"全息图像
您可以使用 holo image 子命令直接将图像导入到全息投影中!导入图像有以下几种方法:
- 玩家皮肤头像 (
avatar) - 玩家皮肤头盔 (
helm) - URL (
url) - 文件 (
file),从plugins/GHolo/images文件夹中导入
您还可以在源参数后使用单个数字或 width:height 格式来调整导入图像的大小。
GHolo-API 集成 (Gradle & Maven)
将 GHolo-API 添加到您的项目中。
Gradle 实现
repositories {
maven(url = "https://jitpack.io/")
}compileOnly("com.github.Gecolay.GHolo:core:VERSION")Maven 实现
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository><dependency>
<groupId>com.github.Gecolay.GHolo</groupId>
<artifactId>core</artifactId>
<version>VERSION</version>
<scope>provided</scope>
</dependency>开发者 API
如果您是开发者,并希望围绕 GHolo 编写自己的代码,可以使用 GHoloAPI!
初始化
无需初始化。GHoloAPI 是一个包含静态方法的类!因此您可以像这样使用所有方法:
GHoloAPI.getHolos();API 方法列表
请在此处查看最新的 API 方法列表:GHoloAPI
事件列表
- GHoloLoadedEvent -> 当插件完全加载时调用。
- GHoloReloadEvent -> 当使用
/gholoreload命令时调用。 - GInteractionPlayerEvent -> 当玩家与交互元素互动时调用。