var Entity.nbt: CompoundTag获取或设置 Entity 的 NBT 数据。
var Entity.nbt: CompoundTag获取或设置 Entity 的 NBT 数据。
class KattonServerEntityCollection( private val server: MinecraftServer )跨所有服务端关卡的实体集合。
| 属性 | 说明 |
|---|---|
server | MinecraftServer 实例。 |
val all所有关卡中的全部实体。
operator fun get(level: ServerLevel): KattonLevelEntityCollection获取指定关卡中的实体集合。
operator fun get(uuid: UUID): Entity?在所有关卡中按 UUID 查找实体。
class KattonLevelEntityCollection( val level: ServerLevel ) : Iterable<Entity> by level.allEntities指定关卡中的实体集合。
| 属性 | 说明 |
|---|---|
level | 包含这些实体的 ServerLevel。 |
operator fun <T : Entity> get(entityTypeTest: EntityTypeTest<Entity, T>, predicate: (T) -> Boolean = { true }): List<T>获取与类型测试和谓词匹配的实体。
operator fun <T : Entity> get(entityTypeTest: EntityTypeTest<Entity, T>, aabb: AABB, predicate: (T) -> Boolean = { true }): List<T>获取 AABB 内与类型测试和谓词匹配的实体。
operator fun get(selector: EntitySelector): List<Entity>使用实体选择器获取实体。
operator fun get(uuid: UUID): Entity?在当前关卡中按 UUID 查找实体。
class KattonEntityAttributeValueMap( val entity: LivingEntity )用类似 Map 的方式访问生物实体的属性值。
| 属性 | 说明 |
|---|---|
entity | 要访问属性的 LivingEntity。 |
fun contains(holder: Holder<Attribute>): Boolean检查指定实体是否具有给定属性。
operator fun get(holder: Holder<Attribute>): Double?获取属性的当前值
fun set(holder: Holder<Attribute>, value: Double, vararg modifiers: AttributeModifier)设置属性的基础值,并可选添加修饰器。
val LivingEntity.attributeValues访问生物实体的属性值。
fun addAttributeModify(entity: LivingEntity, attribute: Holder<Attribute>, modifier: AttributeModifier)向实体添加临时属性修饰器。
| 参数 | 说明 |
|---|---|
entity | 实体。 |
attribute | 要修改的属性持有者。 |
modifier | 要添加的 AttributeModifier。 |
fun removeAttributeModify(entity: LivingEntity, attribute: Holder<Attribute>, modifier: AttributeModifier)从实体移除属性修饰器。
| 参数 | 说明 |
|---|---|
entity | 实体。 |
attribute | 要修改的属性持有者。 |
modifier | 要移除的 AttributeModifier。 |
fun damage(target: Entity, amount: Float, attacker: Entity, damageType: ResourceKey<DamageType> = DamageTypes.GENERIC)使用伤害类型键,让攻击者对目标实体造成伤害。
| 参数 | 说明 |
|---|---|
target | 要伤害的实体。 |
amount | 伤害值。 |
attacker | 造成伤害的来源实体。 |
damageType | DamageType 的资源键(默认 GENERIC)。 |
fun damage(target: Entity, amount: Float, attacker: Entity, damageType: DamageType)使用 DamageType 实例,让攻击者对目标实体造成伤害。
| 参数 | 说明 |
|---|---|
target | 要伤害的实体。 |
amount | 伤害值。 |
attacker | 造成伤害的来源实体。 |
damageType | 要应用的 DamageType 实例。 |
fun damage(target: Entity, amount: Float, pos: Vec3, damageType: ResourceKey<DamageType> = DamageTypes.GENERIC)使用伤害类型键,从指定位置对目标实体造成伤害。
| 参数 | 说明 |
|---|---|
target | 要伤害的实体。 |
amount | 伤害值。 |
pos | 伤害来源位置。 |
damageType | DamageType 的资源键(默认 GENERIC)。 |
fun damage(target: Entity, amount: Float, pos: Vec3, damageType: DamageType)使用 DamageType 实例,从指定位置对目标实体造成伤害。
| 参数 | 说明 |
|---|---|
target | 要伤害的实体。 |
amount | 伤害值。 |
pos | 伤害来源位置。 |
damageType | 要应用的 DamageType 实例。 |
fun addEffect(entity: LivingEntity, effect: Holder<MobEffect>, duration: Int = 600, amplifier: Int = 0, showParticles: Boolean = true, ambient: Boolean = false)向 LivingEntity 添加状态效果。
| 参数 | 说明 |
|---|---|
entity | 目标实体。 |
effect | 要应用的 MobEffect Holder。 |
duration | 效果持续时间,单位为 tick,默认 600。 |
amplifier | 效果放大等级,默认 0。 |
showParticles | 是否显示粒子。 |
ambient | 是否为环境效果。 |
fun removeEffect(entity: LivingEntity, effect: Holder<MobEffect>)从 LivingEntity 移除指定效果。
| 参数 | 说明 |
|---|---|
entity | 目标实体。 |
effect | 要移除的 MobEffect Holder。 |
fun rotate(target: Entity, rot: Vec2, relative: Boolean = false)使用 Vec2(pitch, yaw)旋转实体。
| 参数 | 说明 |
|---|---|
target | 目标实体。 |
rot | 旋转向量(x=pitch, y=yaw)。 |
relative | 是否按相对角度旋转。 |
fun rotate(target: Entity, lookAt: Entity, targetAnchor: EntityAnchorArgument.Anchor = EntityAnchorArgument.Anchor.FEET, lookAtAnchor: EntityAnchorArgument.Anchor = EntityAnchorArgument.Anchor.FEET)旋转实体,使其看向另一个实体。
| 参数 | 说明 |
|---|---|
target | 要旋转的实体。 |
lookAt | 要看向的实体。 |
targetAnchor | 目标实体上的锚点。 |
lookAtAnchor | 被看向实体上的锚点。 |
fun rotate(target: Entity, lookAt: Vec3, targetAnchor: EntityAnchorArgument.Anchor = EntityAnchorArgument.Anchor.FEET, lookAtAnchor: EntityAnchorArgument.Anchor = EntityAnchorArgument.Anchor.FEET)旋转实体,使其看向指定位置。
| 参数 | 说明 |
|---|---|
target | 要旋转的实体。 |
lookAt | 要看向的位置。 |
targetAnchor | 目标实体上的锚点。 |
fun spreadPlayers(level: ServerLevel, center: Vec2, spreadDistance: Float, maxRange: Float, maxHeight: Int, respectTeams: Boolean, targets: Collection<Entity>)将玩家分散到中心点周围。
| 参数 | 说明 |
|---|---|
level | 用作上下文的服务端关卡。 |
center | 中心位置向量(使用 x/z,忽略 y)。 |
spreadDistance | 玩家之间的最小距离。 |
maxRange | 最大分散半径。 |
maxHeight | 最大高度差。 |
respectTeams | 是否保持队伍成员在一起。 |
targets | 要分散的实体集合。 |