跳到主要内容

属性工作流

属性工作流通过 PropertyAccessor 机制,提供对游戏对象的统一读写访问。你可以用一致的方式读取或修改实体、方块、物品、世界等对象的属性,无需关心底层实现差异。

访问模式

属性访问的基本模式是:目标对象 + 属性键

  • 读取:从目标对象获取指定属性的值
  • 写入:向目标对象设置指定属性的值

并非所有属性都支持写入,下方表格中标注了每个属性的读写能力。

通用属性

Location 属性

属性键说明
world所在世界R-
xX 坐标RW
yY 坐标RW
zZ 坐标RW
yaw水平旋转角RW
pitch垂直旋转角RW
block所在方块R-
chunk所在区块R-
direction朝向向量R-

Vector 属性

属性键说明
xX 分量RW
yY 分量RW
zZ 分量RW
length向量长度R-
isZero是否为零向量R-
normalized归一化向量R-

World 属性

属性键说明
name世界名称R-
players在线玩家列表R-
entities实体列表R-
time当前时间(tick)RW
fullTime完整时间(tick)RW
seed世界种子R-
weather天气状态R-
difficulty难度R-

ItemStack 属性

属性键说明
type物品类型RW
amount数量RW
meta物品元数据R-
durability耐久度R-
enchantments附魔列表R-

Block 属性

属性键说明
type方块类型RW
location方块位置R-
lightLevel光照等级R-
biome生物群系R-
isEmpty是否为空气R-
isLiquid是否为液体R-

实体属性

Entity 属性

适用于所有实体类型。

属性键说明
uuid实体 UUIDR-
type实体类型R-
location当前位置R-
velocity速度向量RW
glowing是否发光RW
silent是否静音RW
customName自定义名称RW

LivingEntity 属性

适用于所有生物实体(继承 Entity 属性)。

属性键说明
health当前生命值RW
maxHealth最大生命值RW
equipment装备栏R-
potionEffects药水效果列表R-
hasAI是否启用 AIRW

Player 属性

适用于玩家(继承 LivingEntity 属性)。

属性键说明
name玩家名称R-
gameMode游戏模式RW
foodLevel饥饿值RW
exp经验值RW
level等级RW
inventory背包R-
walkSpeed行走速度RW
flySpeed飞行速度RW

事件属性

事件对象也可以通过属性工作流访问。不同事件类型提供不同的可读写字段。

PlayerJoinEvent

属性键说明
player加入的玩家R-
joinMessage加入消息RW

PlayerMoveEvent

属性键说明
player移动的玩家R-
from起始位置R-
to目标位置RW

EntityDamageEvent

属性键说明
entity受伤实体R-
damage伤害值RW
cause伤害原因R-
提示

事件属性的可写字段允许你在工作流中直接修改事件行为,例如修改伤害值或取消加入消息。