Skip to content
On this page
通用

KattonEntityTypeModificationApi

top.katton.api.modcommon/src/main/kotlin/top/katton/api/mod/KattonEntityTypeModificationApi.kt
用于修改现有 EntityType 默认属性的配置对象(原版或模组添加的实体都适用)。 它的属性面与 [top.katton.registry.KattonEntityProperties] 对应,但作用对象是已经注册的实体类型, 并通过 [top.katton.registry.DefaultAttributesHelper] 生效。

EntityTypeModificationConfig

EntityTypeModificationConfig通用
kotlin
class EntityTypeModificationConfig(val entityId: Identifier)

用于修改现有 EntityType 默认属性的配置对象(原版或模组添加的实体都适用)。 它的属性面与 [top.katton.registry.KattonEntityProperties] 对应,但作用对象是已经注册的实体类型, 并通过 [top.katton.registry.DefaultAttributesHelper] 生效。

属性

属性说明
entityId要修改的实体类型标识符。

EntityTypeModificationConfig.attribute

EntityTypeModificationConfig.attribute通用函数
kotlin
fun attribute(attribute: Holder<Attribute>, value: Double): EntityTypeModificationConfig

覆盖任意属性的基础值。

EntityTypeModificationConfig.maxHealth

EntityTypeModificationConfig.maxHealth通用函数
kotlin
fun maxHealth(value: Double): EntityTypeModificationConfig

覆盖最大生命值(generic.max_health)。

EntityTypeModificationConfig.movementSpeed

EntityTypeModificationConfig.movementSpeed通用函数
kotlin
fun movementSpeed(value: Double): EntityTypeModificationConfig

覆盖移动速度(generic.movement_speed)。

EntityTypeModificationConfig.knockbackResistance

EntityTypeModificationConfig.knockbackResistance通用函数
kotlin
fun knockbackResistance(value: Double): EntityTypeModificationConfig

覆盖击退抗性(generic.knockback_resistance)。

EntityTypeModificationConfig.attackDamage

EntityTypeModificationConfig.attackDamage通用函数
kotlin
fun attackDamage(value: Double): EntityTypeModificationConfig

覆盖攻击伤害(generic.attack_damage)。

EntityTypeModificationConfig.attackSpeed

EntityTypeModificationConfig.attackSpeed通用函数
kotlin
fun attackSpeed(value: Double): EntityTypeModificationConfig

覆盖攻击速度(generic.attack_speed)。

EntityTypeModificationConfig.armor

EntityTypeModificationConfig.armor通用函数
kotlin
fun armor(value: Double): EntityTypeModificationConfig

覆盖护甲(generic.armor)。

EntityTypeModificationConfig.armorToughness

EntityTypeModificationConfig.armorToughness通用函数
kotlin
fun armorToughness(value: Double): EntityTypeModificationConfig

覆盖护甲韧性(generic.armor_toughness)。

EntityTypeModificationConfig.followRange

EntityTypeModificationConfig.followRange通用函数
kotlin
fun followRange(value: Double): EntityTypeModificationConfig

覆盖追踪范围(generic.follow_range)。

EntityTypeModificationConfig.luck

EntityTypeModificationConfig.luck通用函数
kotlin
fun luck(value: Double): EntityTypeModificationConfig

覆盖幸运值(generic.luck)。

modifyEntityType

modifyEntityType通用函数
kotlin
@ApiStatus.Experimental
@ApiStatus.Experimental fun modifyEntityType(entityId: String, configure: EntityTypeModificationConfig.() -> Unit): Boolean

修改现有实体类型的默认属性。 如果该实体类型已经注册了默认属性供应器,就以现有供应器为基础,再逐项覆盖属性基础值。 如果没有默认供应器,则会使用 [LivingEntity.createLivingAttributes] 构建一个新的基础供应器。 该过程通过 [DefaultAttributesHelper] 生效(会反射 DefaultAttributes.SUPPLIERS)。 它既适用于原版实体类型,也适用于以相同机制注册属性的模组实体。

参数

参数说明
entityId实体类型标识符(例如 "minecraft:zombie")。
configure配置 lambda。

返回值

当供应器已被替换时返回 true;当实体类型无法解析或底层注册表不是生物类型时返回 false

modifyEntityType

modifyEntityType通用函数
kotlin
@ApiStatus.Experimental
@ApiStatus.Experimental fun modifyEntityType(entityId: Identifier, configure: EntityTypeModificationConfig.() -> Unit): Boolean

modifyEntityType 的 Identifier 重载。