Skip to content
On this page
通用

Entity

top.katton.api.registrycommon/src/main/kotlin/top/katton/api/registry/Entity.kt
注册完整的原生 Entity,并支持热重载。 这是脚本中注册自定义实体的主要 API。 它会在一次调用中完成 EntityType 注册,以及可选的属性、刷怪蛋和生成位置配置。

registerNativeEntity

registerNativeEntity通用函数
kotlin
@ApiStatus.Experimental
@ApiStatus.Experimental fun registerNativeEntity(id: String, registerMode: RegisterMode = RegisterMode.WORLD, configure: KattonEntityProperties.() -> Unit = {}, entityFactory: (KattonEntityProperties) -> EntityType<*>): KattonRegistry.KattonEntityTypeEntry

注册完整的原生 Entity,并支持热重载。 这是脚本中注册自定义实体的主要 API。 它会在一次调用中完成 EntityType 注册,以及可选的属性、刷怪蛋和生成位置配置。

参数

参数说明
idEntity 标识符,例如 "mymod:custom_mob"。
registerMode注册模式(GLOBAL、WORLD 或 RELOADABLE)。
configureEntity 属性配置 lambda(尺寸、类别、属性等)。
entityFactory创建 EntityType 实例的工厂函数。

返回值

已注册的 KattonEntityTypeEntry。

registerNativeEntity

registerNativeEntity通用函数
kotlin
fun registerNativeEntity(id: Identifier, registerMode: RegisterMode = RegisterMode.WORLD, configure: KattonEntityProperties.() -> Unit = {}, entityFactory: (KattonEntityProperties) -> EntityType<*>): KattonRegistry.KattonEntityTypeEntry

注册完整的原生 Entity,并支持热重载(Identifier 重载)。

registerEntityAttributes

registerEntityAttributes通用函数
kotlin
@ApiStatus.Experimental
@ApiStatus.Experimental fun registerEntityAttributes(id: String, entityType: EntityType<out net.minecraft.world.entity.LivingEntity>, configure: KattonEntityProperties.() -> Unit, reloadable: Boolean = true)

独立注册实体的默认属性。 当你要为已经通过 [registerNativeEntityType] 注册的实体补充属性时使用此方法。 对于新实体,优先使用 [registerNativeEntity],它会自动处理属性注册。 注意:这里默认使用可重载路径,因为独立的属性注册通常发生在热重载期间。 对于全局实体,请使用 [registerNativeEntity],它会走正确的模式分流路径。

参数

参数说明
id实体标识符。
entityType已注册的实体类型。
configure属性配置 lambda。
reloadabletrue 表示 RELOADABLE,false 表示 GLOBAL。

registerSpawnPlacement

registerSpawnPlacement通用函数
kotlin
@ApiStatus.Experimental
@Suppress("UNCHECKED_CAST")
@ApiStatus.Experimental @Suppress("UNCHECKED_CAST") fun <T : net.minecraft.world.entity.Mob> registerSpawnPlacement(entityType: EntityType<T>, placementType: SpawnPlacementType, heightmap: Heightmap.Types = Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, predicate: SpawnPlacements.SpawnPredicate<T>, reloadable: Boolean = true)

独立注册生成位置规则。

参数

参数说明
T生物实体类型。
entityType实体类型。
placementType实体可生成的位置,例如 ON_GROUND、IN_WATER。
heightmap用于生成检查的 Heightmap 类型。
predicate自定义生成条件。
reloadabletrue 表示 RELOADABLE,false 表示 GLOBAL。

registerSpawnEgg

registerSpawnEgg通用函数
kotlin
@ApiStatus.Experimental
@ApiStatus.Experimental fun registerSpawnEgg(id: String, entityType: EntityType<out net.minecraft.world.entity.Mob>, registerMode: RegisterMode = RegisterMode.WORLD): KattonRegistry.KattonItemEntry

独立为某个实体类型注册刷怪蛋物品。 当实体是通过 [registerNativeEntityType] 注册时,可以使用这个方法创建刷怪蛋。 对于新实体,优先使用带有 withSpawnEgg() 的 [registerNativeEntity]。 在 MC 1.21.11+ 中,刷怪蛋颜色会自动根据实体类型推导。

参数

参数说明
id刷怪蛋物品标识符,例如 "mymod:custom_mob_spawn_egg"。
entityType该刷怪蛋生成的实体类型。
registerMode注册模式。

返回值

已注册的 KattonItemEntry。

registerSpawnEgg

registerSpawnEgg通用函数
kotlin
@ApiStatus.Experimental
@ApiStatus.Experimental fun registerSpawnEgg(id: Identifier, entityType: EntityType<out net.minecraft.world.entity.Mob>, registerMode: RegisterMode = RegisterMode.WORLD): KattonRegistry.KattonItemEntry

独立为某个实体类型注册刷怪蛋物品(Identifier 重载)。