# 服务端逻辑实体创建
引擎实体的创建在服务端处理,并且会自动同步给所有客户端。
# 生成实体
# 创建字符串定义的生物实体
CreateEngineEntityByTypeStr
描述
利用字符串创建引擎实体,主要用于微软自定义物体
参数
参数名 数据类型 说明 engineTypeStr str 例如'minecraft:husk' pos tuple(float,float,float) 生成坐标 rot tuple(float,float) 生物面向 dimensionId int 生成的维度,默认值为0(0为主世界,1为地狱,2为末地) isNpc bool 是否为npc,默认值为False。npc不会移动、转向、存盘。 返回值
数据类型 说明 str或None 实体Id或者None 备注
- 设置未加载的chunk的坐标会创建失败。 生成村民请使用"minecraft:villager_v2"
示例
class MyServerSystem(ServerSystem):
def createMob(self):
# 类型是僵尸,位置(0,5,0),朝向角度(0, 0),维度0,
entityId = self.CreateEngineEntityByTypeStr('minecraft:husk', (0, 5, 0), (0, 0), 0)
# 实体
# 创建物品实体
CreateEngineItemEntity
描述
服务端系统接口,用于创建物品实体,功能与item组件的SpawnItemToLevel接口作用类似,该接口返回物品的entityId,具体参见item组件
参数
参数名 数据类型 说明 itemDict dict 物品信息字典 dimensionId int 设置dimension,默认为主世界 pos tuple(float,float,float) 生成坐标 返回值
数据类型 说明 str或None 实体Id或者None 示例
import mod.server.extraServerApi as serverApi
itemDict = {
'itemName': 'minecraft:bow',
'count': 1,
'enchantData': [(serverApi.GetMinecraftEnum().EnchantType.BowDamage, 1),],
'auxValue': 0,
'customTips':'§c new item §r',
'extraId': 'abc'
}
itemEntityId = self.CreateEngineItemEntity(itemDict, 0, (0, 5, 0))