# 实体类型
# GetEngineType
服务端客户端
# 服务端接口
method in mod.server.component.engineTypeCompServer.EngineTypeComponentServer
描述
获取实体类型,主要用于判断实体是否属于某一类型的生物。
参数
无
返回值
数据类型说明 int 详见EntityType枚举 示例
import mod.server.extraServerApi as serverApi
from mod_log import logger as logger
comp = serverApi.GetEngineCompFactory().CreateEngineType(entityId)
entityType = comp.GetEngineType()
EntityTypeEnum = serverApi.GetMinecraftEnum().EntityType
# 判断是否是生物(Mob)
if entityType & EntityTypeEnum.Mob == EntityTypeEnum.Mob:
logger.info("{} is Mob".format(comp.GetEngineTypeStr()))
# 判断是否是弹射物(Projectile)
if entityType & EntityTypeEnum.Projectile == EntityTypeEnum.Projectile:
logger.info("{} is Projectile".format(comp.GetEngineTypeStr()))
# 客户端接口
method in mod.client.component.engineTypeCompClient.EngineTypeComponentClient
描述
获取实体类型,主要用于判断实体是否属于某一类型的生物。
参数
无
返回值
数据类型说明 int 详见EntityType枚举 示例
import mod.client.extraClientApi as clientApi
from mod_log import logger as logger
comp = clientApi.GetEngineCompFactory().CreateEngineType(entityId)
entityType = comp.GetEngineType()
EntityTypeEnum = clientApi.GetMinecraftEnum().EntityType
# 判断是否是生物(Mob)
if entityType & EntityTypeEnum.Mob == EntityTypeEnum.Mob:
logger.info("{} is Mob".format(comp.GetEngineTypeStr()))
# 判断是否是弹射物(Projectile)
if entityType & EntityTypeEnum.Projectile == EntityTypeEnum.Projectile:
logger.info("{} is Projectile".format(comp.GetEngineTypeStr()))
# GetEngineTypeStr
服务端客户端
# 服务端接口
method in mod.server.component.engineTypeCompServer.EngineTypeComponentServer
描述
获取实体的类型名称
参数
无
返回值
数据类型说明 str 实体类型名称,如minecraft:husk 示例
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateEngineType(entityId)
comp.GetEngineTypeStr()
# 客户端接口
method in mod.client.component.engineTypeCompClient.EngineTypeComponentClient
描述
获取实体的类型名称
参数
无
返回值
数据类型说明 str 实体类型名称,如minecraft:husk 示例
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateEngineType(entityId)
strType = comp.GetEngineTypeStr()
# GetEntityDefinitions
服务端
method in mod.server.component.entityDefinitionsCompServer.EntityDefinitionsCompServer
描述
获取实体的命名空间ID及其当前和之前的定义组件群
参数
无
返回值
数据类型说明 list(str) 实体的命名空间ID及其当前和之前的定义组件群的list 示例
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateEntityDefinitions(entityId)
result = comp.GetEntityDefinitions()
# GetEntityNBTTags
服务端
method in mod.server.component.entityDefinitionsCompServer.EntityDefinitionsCompServer
描述
获取实体的NBT标签
参数
无
返回值
数据类型说明 dict或None 实体NBT标签的dict 示例
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateEntityDefinitions(entityId)
result = comp.GetEntityNBTTags()