SystemApi
QyMod中的核心功能依赖模块库
里面包含了ServerSystem以及ClientSystem类的所有类方法以及双端基类的实例对象
且提供了框架系统内部的数据管理接口,比如访问其他框架环境中已经注册的模块对象等
Universal
描述
通用类,可做存储数据使用(读写该类属性对象数据会打印信息到日志,以便调试,可继承此类使子类启用该功能)
参数
None
返回值
None
示例
pyfrom QingYunModLibs.System import * UniversalData = Universal()
GetClientModAttr
描述
安全获取客户端ModAttr数据
参数
pyentityId|str|实体Id AttrName|str|AttrId名称返回值
pyAttrData|str|Attr数据内容示例
pyfrom QingYunModLibs.System import * ModAttr = GetClientModAttr(playerId, "Test") # 获取某个玩家客户端id为Test的Attr数据
SetClientModAttr
描述
安全设置客户端ModAttr数据
参数
pyentityId|str|实体Id AttrName|str|AttrId名称 Attr|str|Attr数据返回值
None
示例
pyfrom QingYunModLibs.System import * ModAttr = SetClientModAttr(playerId, "Test", "attr") # 设置某个玩家客户端id为Test的Attr数据为"attr"
Bcolors
描述
颜色日志输出标识符类(无需实例化,可直接访问类对象成员)
SUC # GREEN
ERROR # YELLOW
FAIL # RED
RESET # RESET COLOR参数
None
返回值
None
示例
pyfrom QingYunModLibs.System import * print Bcolors.SUC+"Successfully!" # 打印绿色(成功)字样"Successfully!"日志
CallBack
描述
通信绑定函数,用于绑定目标函数,发信端发信时该接口绑定的函数会被调用,可返回某值
参数
pyBackFunc|object|自定义通信的回调函数 TargetId|str|自定义通信的目标id,客户端一般为playerId,服务端则为-1,服务端无需传参 ForAllMod|bool|是否为框架全局通信返回值
None
示例
py# ModScripts.Client from QingYunModLibs.ClientMod import * playerId = ClientApi.Player.playerId def Func(args): pass CallBack(Func, playerId)py# ModScripts.Server from QingYunModLibs.ServerMod import * def Func(args): pass CallBack(Func)
CallClient
描述
发起通信请求函数,服务端接口,从服务端向客户端发起单向请求,可调用被通信端指定函数
参数
pyFuncName|str|需要调用的函数名称 TargetId|str|需要请求的客户端玩家id EventData|any|需要一并传入指定函数的参数数据(仅支持基本数据类型) BackFunc|object|目标函数运行结束以后将用于获取返回值的回调函数 ForAllMod|bool|是否为框架全局通信返回值
None
示例
py# ModScripts.Client from QingYunModLibs.ClientMod import * playerId = ClientApi.Player.playerId def Func(args): print args return 1919810 CallBack(Func, playerId)py# ModScripts.Server from QingYunModLibs.ServerMod import * def BackFunc(args): print args CallClient("Func", playerId, "114514", BackFunc)
CallServer
描述
发起通信请求函数,客户端接口,从客户端向服务端发起单向请求,可调用被通信端指定函数
参数
pyFuncName|str|需要调用的函数名称 EventData|any|需要一并传入指定函数的参数数据(仅支持基本数据类型) BackFunc|object|目标函数运行结束以后将用于获取返回值的回调函数 ForAllMod|bool|是否为框架全局通信返回值
None
示例
py# ModScripts.Server from QingYunModLibs.ServerMod import * def Func(args): print args return 1919810 CallBack(Func)py# ModScripts.Client from QingYunModLibs.ClientMod import * def BackFunc(args): print args CallServer("Func", "114514", BackFunc)
MappingCall
描述
发起通信请求函数,客户端接口,从客户端向所有客户端发起单向请求,可调用被通信端指定函数(暂不支持获取返回值以及选为全局框架通信)
参数
pyFuncName|str|需要调用的函数名称 EventData|any|需要一并传入指定函数的参数数据(仅支持基本数据类型)返回值
None
示例
py# ModScripts.Client from QingYunModLibs.ClientMod import * def Func(args): print args MappingCall("Func", "114514")
ListenServerEvents
描述
监听服务端游戏原生事件
参数
pyEventName|str|事件名称 BackFunc|object|用于触发事件逻辑的回调函数返回值
None
示例
py# ModScripts.Server from QingYunModLibs.ServerMod import * def OnServerChat(args): print args["message"] ListenServerEvents("ServerChatEvent", OnServerChat)
ListenClientEvents
描述
监听客户端游戏原生事件
参数
pyEventName|str|事件名称 BackFunc|object|用于触发事件逻辑的回调函数返回值
None
示例
py# ModScripts.Client from QingYunModLibs.ClientMod import * def OnHoleBefore(args): print args ListenClientEvents("HoleBeforeClientEvent", OnHoleBefore)
DesEntityClient
描述
基于客户端的该接口用于销毁实体,理论上所有实体通用,包括特效类实体
参数
pyentityId|str|需要销毁的实体id返回值
None
示例
pyfrom QingYunModLibs.ClientMod import * DesEntityClient(entityId)
DesEntityServer
描述
基于客户端的该接口用于销毁实体,理论上所有实体通用
参数
pyentityId|str|需要销毁的实体id返回值
None
示例
pyfrom QingYunModLibs.ServerMod import * DesEntityServer(entityId)
CreateParticle
描述
基于客户端的该接口用于根据MCS制作的粒子特效配置文件生成粒子特效
参数
pyEffect|str|需要创建的粒子特效配置文件路径,例如:"effects/fire.json" Pos|tuple|将要创建粒子特效的位置坐标 IsPlay|bool|是否立刻播放特效(默认False)返回值
pyparticleId|str|创建的粒子特效实体id示例
pyfrom QingYunModLibs.ClientMod import * CreateParticle("effects/xxx.json", (0, 100, 0), True)
CreateFrame
描述
基于客户端的该接口用于根据MCS制作的序列帧特效配置文件生成序列帧特效
参数
pyEffect|str|需要创建的序列帧特效配置文件路径,例如:"effects/fire.json" Pos|tuple|将要创建序列帧特效的位置坐标 Rot|tuple|将要创建序列帧特效的旋转角度 Scale|tuple|将要创建序列帧特效的缩放大小 IsPlay|bool|是否立刻播放特效(默认False)返回值
pyframeId|str|创建的序列帧特效实体id示例
pyfrom QingYunModLibs.ClientMod import * CreateFrame("effects/xxx.json", (0, 100, 0), (0, 0, 0), (1, 1, 1), True)
CreateFrameTexture
描述
基于客户端的该接口用于根据MCS制作的序列帧特效配置文件生成序列帧特效
参数
pyEffect|str|需要创建的序列帧特效配置文件路径,例如:"textures/sfxs/effect.png" Pos|tuple|将要创建序列帧特效的位置坐标 Rot|tuple|将要创建序列帧特效的旋转角度 Scale|tuple|将要创建序列帧特效的缩放大小 IsPlay|bool|是否立刻播放特效(默认False)返回值
pyframeId|str|创建的序列帧特效实体id示例
pyfrom QingYunModLibs.ClientMod import * CreateFrameTexture("textures/sfxs/effect.png", (0, 100, 0), (0, 0, 0), (1, 1, 1), True)
CreateEntityServer
描述
基于服务端的该接口用于根据命名标识符来创建实体,可指定实体的生成位置,面向角度(默认为0,0),所处维度id(默认为主世界--0),是否为NPC(默认为否)
参数
pyEntityTypeStr|str|实体的命名标识符 Pos|tuple|生成位置 Rot|tuple|面向角度 --> (0,0) DimId|float|维度id --> 0 IsNpc|bool|是否为NPC --> False(默认False)返回值
pyframeId|str|创建的序列帧特效实体id示例
pyfrom QingYunModLibs.ClientMod import * CreateEntityServer("minecraft:pig", (0, 100, 0), (0, 0), 0) # 在主世界(0, 100, 0)的位置生成一个朝向为(0, 0)的猪
GetClientModule
描述
获取全局框架环境中某一客户端模块文件(本地客户端)
参数
pyModuleName|str|将要获取的模块名称(无后缀)返回值
pyModule|object|目标模块对象示例
pyfrom QingYunModLibs.ClientMod import * Client = GetClientModule("ModScripts.Client")
GetServerModule
描述
获取全局框架环境中某一服务端模块文件
参数
pyModuleName|str|将要获取的模块名称(无后缀)返回值
pyModule|object|目标模块对象示例
pyfrom QingYunModLibs.ServerMod import * Client = GetServerModule("ModScripts.Server")
DestroyAllServerEvents
描述
注销服务端所有监听事件(不建议在游戏运行结束前随意调用该接口)
参数
None
返回值
None
示例
pyfrom QingYunModLibs.ServerMod import * DestroyAllServerEvents()
DestroyAllClientEvents
描述
注销客户端所有监听事件(不建议在游戏运行结束前随意调用该接口)
参数
None
返回值
None
示例
pyfrom QingYunModLibs.ClientMod import * DestroyAllClientEvents()
Call
描述
通信绑定函数,用于绑定目标函数,发信端发信时该接口绑定的函数会被调用,可返回某值(装饰器函数)
参数
pyTargetId|str|自定义通信的目标id,客户端一般为playerId,服务端则为-1,服务端无需传参 ForAllMod|bool|是否为框架全局通信返回值
None
示例
py# ModScripts.Client from QingYunModLibs.ClientMod import * playerId = ClientApi.Player.playerId @Call(playerId) def OnFunc(args): passpy# ModScripts.Server from QingYunModLibs.ServerMod import * @Call() def OnFunc(args): pass
ListenServer
描述
监听服务端游戏原生事件(装饰器函数)
参数
pyEventName|str|事件名称返回值
None
示例
py# ModScripts.Server from QingYunModLibs.ServerMod import * @ListenServer(ServerEvents.WorldEvents.ServerChatEvent) def OnServerChat(args): print args["message"]
ListenClient
描述
监听客户端游戏原生事件(装饰器函数)
参数
pyEventName|str|事件名称返回值
None
示例
py# ModScripts.Client from QingYunModLibs.ClientMod import * @ListenClient(ClientEvents.ControlEvents.HoldBeforeClientEvent) def OnHoldBefore(args): print args
UnListenServer
描述
注销监听服务端游戏原生事件
参数
pyEventName|str|事件名称 BackFunc|object|用于触发事件逻辑的回调函数返回值
None
示例
py# ModScripts.Server from QingYunModLibs.ServerMod import * def OnServerChat(args): print args["message"] UnListenServer(ServerEvents.WorldEvents.ServerChatEvent, OnServerChat)
UnListenClient
描述
注销监听客户端游戏原生事件
参数
pyEventName|str|事件名称 BackFunc|object|用于触发事件逻辑的回调函数返回值
None
示例
py# ModScripts.Client from QingYunModLibs.ClientMod import * def OnHoldBefore(args): print args UnListenClient(ClientEvents.ControlEvents.HoldBeforeClientEvent, OnHoldBefore)
UnListenServerCall
描述
注销绑定服务端通信
参数
pyBackFunc|object|用于绑定通信的回调函数返回值
None
示例
py# ModScripts.Server from QingYunModLibs.ServerMod import * def OnFunc(args): print args UnListenServerCall(OnFunc)
UnListenClientCall
描述
注销绑定客户端通信
参数
pyBackFunc|object|用于绑定通信的回调函数返回值
None
示例
py# ModScripts.Client from QingYunModLibs.ClientMod import * def OnFunc(args): print args UnListenClientCall(OnFunc)