# 实体类型

# 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()