MCIO Plugins MCIO Plugins
首页
赞助
无法下载? (opens new window)

人间工作P

我每天都好困… 最近在学习和进行 VOCALOID 创作
首页
赞助
无法下载? (opens new window)
  • PluginBase

  • Item-NBT-API

  • VectorDisplays

    • VectorDisplays 简介
    • 内嵌依赖
    • 控件定位
    • 动态添加元素
    • 界面元素介绍

      • 通用界面元素
      • Label 标签
      • Button 按钮
      • Item 物品
      • Line 线条
    • 使用案例
  • 开发文档
  • VectorDisplays
  • 界面元素介绍
2026-08-11

通用界面元素

top.mrxiaom.hologram.vector.displays.ui.api.Element (opens new window)

所有元素的基类,所有界面元素基本都可以通过 setXXX 方法设置以下这些属性。

属性 说明
additionalRotation 额外旋转量,通常设置 roll 用来在界面布局平面上旋转,设置 yaw 和 pitch 的场景一般不多
align 这个界面元素的九宫格对齐方式,也就是经典的左上、中上、右上、左中、居中、右中、左下、中下、右下这九种对齐方式。设置不同的对齐方式决定了界面元素的起始坐标在哪里
enabled 是否启用这个元素,这决定了元素的点击事件和 hitTest 是否会被执行
parent 这个元素的父元素,通常为 null 代表根面板 Terminal,设置父元素将会使用这个父元素的相对坐标
pos、x、y 这个元素相对于 align 在平面上的 x、y 偏移位置
scale 这个元素的展示实体缩放大小,可以设置 x、y 方向上的缩放

有一些属性会被隐含在 EntityTextDisplayWrapper (opens new window)、EntityItemDisplayWrapper (opens new window) 等包装中,可以方便地设置展示实体的各种样式:

属性 说明
brightness 展示实体的方块亮度和天空亮度,可以直接调用 setFullBrightness() 使其保持全亮度
viewRange 展示实体的可见距离 (格数)
backgroundColor 文本展示实体的背景颜色,支持整数 (0xFFFFFFFF) 和字符串 ("#FFFFFFFF") 形式的十六进制颜色格式
shadow 文本展示实体的文字是否有阴影
seeThroughBlocks 文本展示实体是否穿过方块可视
textAlignment 文本展示实体在多行文字下的文字对齐方式
textOpacity 文本展示实体的文字不透明度
itemStack 物品展示实体的 Bukkit 物品实例
displayType 物品展示实体的物品显示方式,例如第一人称手、固定、掉落物、GUI、头盔等

虽然可以通过 getHologram() 来获取虚拟实体实例,但是不推荐修改实体的坐标、变换 (translation、rotation、scale) 等,坐标和变换应当由本依赖库来管理和更新。仅推荐修改以下属性:

属性 说明
glowing 实体是否有发光效果
pose 实体的姿势,对于展示实体来说不常用
potion 实体的状态效果,对于展示实体来说不常用
billboard 展示实体的朝向跟随方式,是指定轴跟随玩家朝向旋转,还是固定朝向,默认固定
interpolationDurationXXX 展示实体运动插值时间,单位为 tick,设置大于 0 可以在变换的时候带上匀速插值动画

这些基本是最上游的属性,在下游可能还会有更多属性可用。无论如何,在编辑属性之后,需要执行 update(); 更新相关属性,需要执行 updateLocation(); 更新虚拟实体位置。

元素还有一些内部只读属性,例如 width 和 height,用于让元素实现计算自身大小,从而服务于 hitTest 使得框架可以得知玩家准星是否落在这个元素上,以及触发点击操作。

如果需要自行实现自定义元素,建议参考现有已经实现的元素的源代码:

  • 简单的单个实体元素:Label (opens new window)
  • 带有点击和准星悬停事件的 Label:Button (opens new window)
  • 复杂的组合实体元素:Triangle (opens new window)、ScrollBar (opens new window)

建议基于已有的下游包装进行实现,会方便不少:

  • 文本展示实体元素 TextElement (opens new window)
  • 物品展示实体元素 ItemElement (opens new window)
上次更新: 2026/08/11, 03:39:33
动态添加元素
Label 标签

← 动态添加元素 Label 标签→

使用主题 Vdoing | Copyright © 2018-2026 人间工作P | 到赞助页面支持我 | 60cbebc

除非特别说明,本站点所有文章均以 CC BY-SA 协议授权

《我的世界》和《Minecraft》是微软公司和 Mojang Synergies AB 的商标,本站点与微软公司等没有从属关系。

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式