Component
CreateComponent
服务端客户端
服务端接口
method in mod.server.extraServerApi
描述
给实体创建服务端组件
参数
参数名 数据类型说明 entityId str或int 该组件属主的实体id nameSpace str 组件的命名空间,registerComponent的namespace name str 组件的名字 返回值
数据类型说明 BaseComponent 组件实例 示例
import mod.server.extraServerApi as serverApi
comp = serverApi.CreateComponent(entityId, "Minecraft", "item")
# 拿到comp后就可以做一些逻辑内容,与GetComponent类似,如果已经创建会自动直接Get
客户端接口
method in mod.client.extraClientApi
描述
给实体创建客户端组件
参数
参数名 数据类型说明 entityId str或int 该组件属主的实体id nameSpace str 组件的命名空间,registerComponent的namespace name str 组件的名字 返回值
数据类型说明 BaseComponent 组件实例 示例
import mod.client.extraClientApi as clientApi
comp = clientApi.CreateComponent(clientApi.GetLocalPlayerId(), "Minecraft", "item")
# 拿到comp后就可以做一些逻辑内容,与GetComponent类似,如果已经创建会自动直接Get
DestroyComponent
服务端客户端
服务端接口
method in mod.server.extraServerApi
描述
删除实体的服务端组件
参数
参数名 数据类型说明 entityId str 该组件属主的实体id nameSpace str 组件的命名空间,registerComponent的namespace name str 组件的名字 返回值
无
示例
import mod.server.extraServerApi as serverApi
# entityId 根据游戏实际Id获取,这里'-12345678910'只是随便写的
comp = serverApi.DestroyComponent('-12345678910', "Minecraft", "item")
客户端接口
method in mod.client.extraClientApi
描述
删除实体的客户端组件
参数
参数名 数据类型说明 entityId str 该组件属主的实体id nameSpace str 组件的命名空间,registerComponent的namespace name str 组件的名字 返回值
无
示例
import mod.client.extraClientApi as clientApi
comp = clientApi.DestroyComponent(clientApi.GetLocalPlayerId(), "Minecraft", "item")
GetComponent
服务端客户端
服务端接口
method in mod.server.extraServerApi
描述
获取实体的服务端组件。一般用来判断某个组件是否创建过,其他情况请使用CreateComponent
参数
参数名 数据类型说明 entityId str 该组件属主的实体id nameSpace str 组件的命名空间,registerComponent的namespace name str 组件的名字 返回值
数据类型说明 BaseComponent 组件实例或者None 示例
import mod.server.extraServerApi as serverApi
comp = serverApi.GetComponent(entityId, "Minecraft", "item")
# 拿到comp后就可以做一些逻辑内容,如果没有创建过会返回None
客户端接口
method in mod.client.extraClientApi
描述
获取实体的客户端组件。一般用来判断某个组件是否创建过,其他情况请使用CreateComponent
参数
参数名 数据类型说明 entityId str 该组件属主的实体id nameSpace str 组件的命名空间,registerComponent的namespace name str 组件的名字 返回值
数据类型说明 BaseComponent 组件实例或者None 示例
import mod.client.extraClientApi as clientApi
comp = clientApi.GetComponent(clientApi.GetLocalPlayerId(), "Minecraft", "item")
# 拿到comp后就可以做一些逻辑内容,如果没有创建过会返回None
GetComponentCls
服务端客户端
服务端接口
method in mod.server.extraServerApi
描述
用于获取服务器component基类。实现新的component时,需要继承该接口返回的类
参数
无
返回值
数据类型说明 type(BaseComponent) 组件基类 示例
import mod.server.extraServerApi as serverApi
ServerComponentCls = serverApi.GetComponentCls()
# Component要继承于基类才能生效
class ShootComponentServer(ServerComponentCls):
def __init__(self, entityId):
ServerComponentCls.__init__(self, entityId)
# 这里设置了一个开关来开关更新射击
self.mShoot = False
客户端接口
method in mod.client.extraClientApi
描述
用于获取客户端component基类。实现新的component时,需要继承该接口返回的类
参数
无
返回值
数据类型说明 type(BaseComponent) 组件基类 示例
import mod.client.extraClientApi as clientApi
ClientComponentCls = clientApi.GetComponentCls()
# Component要继承于基类才能生效
class ShootComponentClient(ClientComponentCls):
def __init__(self, entityId):
ClientComponentCls.__init__(self, entityId)
# 这里设置了一个开关来开关更新射击
self.mShoot = False
GetEngineCompFactory
服务端客户端
服务端接口
method in mod.server.extraServerApi
描述
获取引擎组件的工厂,通过工厂可以创建服务端的引擎组件
参数
无
返回值
数据类型说明 EngineCompFactoryServer 服务端引擎组件工厂 示例
import mod.server.extraServerApi as serverApi
compFactory = serverApi.GetEngineCompFactory()
gameComp = compFactory.CreateGame(serverApi.GetLevelId())
客户端接口
method in mod.client.extraClientApi
描述
获取引擎组件的工厂,通过工厂可以创建客户端的引擎组件
参数
无
返回值
数据类型说明 EngineCompFactoryClient 客户端引擎组件工厂 示例
import mod.client.extraClientApi as clientApi
compFactory = clientApi.GetEngineCompFactory()
gameComp = compFactory.CreateGame(clientApi.GetLevelId())
RegisterComponent
服务端客户端
服务端接口
method in mod.server.extraServerApi
描述
用于将组件注册到引擎中
参数
参数名 数据类型说明 nameSpace str 命名空间,建议为mod名字 name str 组件名称 clsPath str 组件类路径,路径从脚本的第一层开始算起 返回值
数据类型说明 bool 注册成功与否 示例
import mod.server.extraServerApi as serverApi
@Mod.InitServer()
def TutorialServerInit(self):
# 注册一个自定义的服务端Component
serverApi.RegisterComponent("TutorialMod", "ServerShoot", "tutorialScripts.modServer.serverComponent.shootComponentServer.ShootComponentServer")
客户端接口
method in mod.client.extraClientApi
描述
用于将组件注册到引擎中
参数
参数名 数据类型说明 nameSpace str 命名空间,建议为mod名字 name str 组件名称 clsPath str 组件类路径,路径从脚本的第一层开始算起 返回值
数据类型说明 bool 注册成功与否 示例
import mod.client.extraClientApi as clientApi
@Mod.InitClient()
def TutorialClientInit(self):
# 注册一个自定义的客户端Component
clientApi.RegisterComponent("TutorialMod", "ClientShoot", "tutorialScripts.modClient.clientComponent.shootComponentClient.ShootComponentClient")