API & Listeners - Sbaoor-fly/CSR-IronPythonRunner GitHub Wiki
一、API定义接口
通用数据处理
(1) tool.WriteAllText(path,text)
- 覆盖式写入文件
(2) tool.AppendAllText(path,text)
- 向文件中追加写入
(3) tool.ReadAllLine(path)
- 返回一个list,每个value为文件的每一行
(4) tool.ShareData(key,value)
- 设置一个共享数据,共享成功返回0,不成功返回1
(5) tool.GetShareData(key)
- 获得一个共享数据,若无key则返回1
(6) tool.ChangeShareData
- 修改共享数据,修改成功返回0,不成功返回1
(7) tool.RemoveShareData(key)
- 移除共享数据,移除成功返回0,不成功返回1
(8) tool.ShareFunc(key,func)
- 共享一个函数对象
(9) tool.GetShareFunc(key)
- 获得一个函数对象
(10) tool.WorkingPath()
- 返回BDS完整工作路径
(11) tool.HttpPost(Url,DataStr)
- 发起一个非异步HttpPost请求
(12) tool.HttpGet(Url,DataStr)
- 发起一个非异步HttpGet请求
(13) tool.CreateDir(path)
- 创建文件夹
(14) tool.IfFile(path)
- 返回一个bool值判断文件是否存在
(15) tool.IfDir(path)
- 返回一个bool值判断文件夹是否存在
(16) tool.CreateSqlite()
- 创建Sqlite对象
MC玩家互动相关功能
(1) mc.runcmd(cmd)
- 执行后台命令
(2) mc.MCCSAPIVERSION()
- 返回CSR版本
(3) mc.MCPYAPIVERSION()
- 返回当前IronPythonRunner版本
(4) mc.AnalysisEvent()
- 解析一个事件数据
(5) mc.logout(msg)
- 向控制台输出
(6) mc.getOnLinePlayers()
- 获取在线玩家
(7) mc.getPlayerAbilities(uuid)
- 获取uuid对应玩家能力表
(8) mc.getPlayerAttributes(uuid)
- 获取uuid对应玩家属性表
(9) mc.getPlayerEffects(uuid)
- 获取uuid对应玩家所有效果表
(10) mc.getscoreboard(uuid,scoreboardname)
- 获取对应uuid玩家特定计分板的数值
(11) mc.addPlayerItem(uuid,id,aux ,count)
- 为uuid对应玩家添加特定物品id和特定特殊值的物品count个
(12) mc.setCommandDescribe(key,descripition)
- 设置一个描述为description的key指令
(13) mc.teleport(uuid,x,y,z,did)
- 传送uuid对应玩家到did维度的x,y,z处
(14) mc. setPlayerBossBart(uuid,title,percent)
- 设置uuid对应玩家标题为title,血条百分比为percent的boss血条
(15) mc.setPlayerSidebar(uuid,title,list)
- 设置uuid对应玩家侧边栏,标题为title,内容为json格式的list
(16) mc.getPlayerItems(uuid)
- 获取uuid对应玩家物品
(17) mc.setPlayerPermissionAndGametype(uuid, modes)
- 设置uuid对应玩家新游戏与权限模式
(18) mc.disconnectClient(uuid,tips)
- 强制断开uuid对应玩家连接
(19) mc.transferserver(uuid, addr, port)
- 传送uuid对应玩家到IP为addr的服务器port端口
(20) mc.getPlayerMaxAttributes(uuid)
- 获取uuid对应玩家最大能力表
(21) mc.tellraw(player,msg)
- 向对应玩家发送msg信息
(22) mc.talkAs(uuid,msg)
- 模拟uuid对应玩家说一句话
(23) mc.getPlayerMaxAttributes(uuid)
- 获取uuid对应玩家最大能力表
(24) mc.sendSimpleForm(uuid,title,contest,buttons)
- 向uuid对应玩家发送一个简单的表单,返回表单id
(25) mc.releaseForm(formid)
- 放弃一个id为formid的表单
(26) mc.removePlayerBossBar(uuid)
- 清除uuid对应玩家boss血条
(27) mc.removePlayerSidebar(uuid)
- 清除uuid对应玩家侧边栏
(28) mc.sendCustomForm(uuid,json)
- 向uuid对应玩家发送一个自定义表单,返回表单id
'{"content":[{"type":"label","text":"这是一个文本标签"},{"placeholder":"水印文本","default":"","type":"input","text":""},{"default":true,"type":"toggle","text":"开关~或许是吧"},{"min":0.0,"max":10.0,"step":2.0,"default":3.0,"type":"slider","text":"游标滑块!?"},{"default":1,"steps":["Step 1","Step 2","Step 3"],"type":"step_slider","text":"矩阵滑块?!"},{"default":1,"options":["Option 1","Option 2","Option 3"],"type":"dropdown","text":"如你所见,下拉框"}], "type":"custom_form","title":"这是一个自定义窗体"}'
(29) mc.sendModalForm(uuid, title, contest, button1,button2)
- 向uuid对应玩家发送一个模式对话框,返回表单id
(30) mc.setServerMotd(motd ,isshow)
- 设置服务器MOTD,isshow为一个bool值
(31) mc.reName(uuid, name)
- 重命名一个玩家
(32) mc.runcmdAs(uuid, command)
- 模拟玩家执行一个命令
(33) mc.selectPlayer(uuid)
- 查询uuid对应玩家基本信息
(34) mc.creatPlayerObject(uuid)
- 创建玩家指针对象
(35)mc.creatGUI()
- 创建GUI对象
MC核心玩法相关功能
监听器 | 是否可拦截 | 对应事件 | 描述 |
---|---|---|---|
mobdie | 否 | MobDieEvent | 生物死亡 |
respawn | 否 | RespawnEvent | 玩家重生 |
inputcommand | 是 | InputCommandEvent | 玩家输入指令 |
equippedarm | 否 | EquippedArmorEvent | 玩家穿戴盔甲 |
destroyblock | 是 | DestroyBlockEvent | 玩家破坏方块 |
inputtext | 是 | InputTextEvent | 玩家输入文本 |
attack | 是 | AttackEvent | 玩家攻击 |
server_command | 是 | ServerCmdEvent | 后台输入指令 |
load_name | 否 | LoadNameEvent | 加载玩家名字 |
player_left | 否 | PlayerLeftEvent | 玩家退出 |
formselect | 否 | FormSelectEvent | 玩家选择表单 |
useitem | 是 | UseItemEvent | 玩家使用物品 |
placeblock | 是 | PlacedBlockEvent | 玩家放置方块 |
levelexplode | 是 | LevelExplodeEvent | 方块/实体爆炸 |
pistonpush | 是 | PistonPushEvent | 活塞推动方块 |
blockcmd | 是 | BlockCmdEvent | 命令方块执行命令 |
npccmd | 是 | NpcCmdEvent | NPC执行命令 |
openchest | 是 | StartOpenChestEvent | 开启箱子 |
closechest | 否 | StopOpenChestEvent | 关闭箱子 |
server_cmdoutput | 是 | ServerCmdOutputEvent | 后台输出 |
(1) load_name
xuid —— 玩家对应xuid
uuid ——玩家对应uuid
playername —— 玩家名称
(2) player_left
xuid —— 玩家对应xuid
uuid ——玩家对应uuid
playername —— 玩家名称
(3) server_command
cmd —— 后台输入的指令
(4) attack
actorname —— 被攻击实体名称
playername —— 攻击者名称
dimensionid —— 玩家所在维度ID
XYZ —— 玩家所处位置
(5) inputtext
playername —— 玩家名称
msg —— 输入的文本
dimensionid —— 玩家所在维度ID
XYZ —— 玩家所在位置
(6) destroyblock
playername —— 玩家名称
blockid —— 方块id
XYZ —— 玩家所在位置
position —— 方块所在位置
blockname —— 方块名称
(7) mobdie
srcname —— 伤害源名称
mobname —— 实体名称
dimensionid —— 生物所在维度ID
playername —— 若为玩家死亡则附带此项
(8) respawn
XYZ —— 玩家所在位置
dimensionid —— 玩家所在维度ID
playername —— 玩家名称
(9) inputcommand
cmd —— 玩家输入的指令
dimensionid —— 玩家所在维度ID
playername —— 玩家名称
XYZ —— 玩家所在位置
(10) equippedarm
playername —— 玩家名称
itemid —— 物品id
itemcount —— 物品数量
itemname —— 物品名字
itemaux —— 物品特殊值
solt —— 操作格子
XYZ —— 玩家所在位置
(11) formselect
formid —— 表单id
selected —— 选择项
uuid —— 玩家uuid
playername —— 玩家名称
(12) useitem
playername —— 玩家名称
itemid —— 物品id
itemcount —— 物品数量
itemname —— 物品名字
itemaux —— 物品特殊值
playername —— 玩家名称
XYZ —— 玩家所在位置
position —— 方块所在位置
(13) placeblock
playername —— 玩家名称
XYZ —— 玩家所在位置
position —— 方块所在位置
blockid —— 方块id
blockname —— 方块名字
dimensionid —— 方块所在维度ID
(14) levelexplode
blockid —— 爆炸方块id
entityid —— 爆炸实体id
blockname —— 爆炸方块名称
entityname—— 爆炸实体名称
position —— 爆炸所在位置
explodepower —— 爆炸强度
dimensionid —— 爆炸所在维度ID
(15) npccmd
npcname —— npc名称
actionid —— 选择项
actions —— 指令列表
position —— npc所在位置
entityid —— ncp实体id
entityname —— npc实体名称
dimensionid —— npc所在维度ID
(16) pistonpush
targetposition —— 被推动的方块所在位置
targetblockid —— 被推动的方块id
targetblockname ——被推动的方块名称
dimensionid —— 活塞所在维度ID
blockid —— 活塞id
blockname —— 活塞名称
(17) blockcmd
cmd —— 执行的命令
position —— 命令方块所在位置
dimensionid —— 命令方块所在维度ID
type —— 执行者类型
tickdelay —— 执行间隔
(18) openchest
playername —— 玩家名称
XYZ —— 玩家所在位置
position —— 箱子所在位置
blockid —— 箱子id
blockname —— 箱子名字
dimensionid —— 箱子所在维度ID
(19) colsechest
playername —— 玩家名称
XYZ —— 玩家所在位置
position —— 箱子所在位置
blockid —— 箱子id
blockname —— 箱子名字
dimensionid —— 箱子所在维度ID
(20) server_cmdoutput
output —— 后台输出的信息