This repository has been archived by the owner on Feb 12, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 18
Home
student_2333 edited this page Aug 21, 2021
·
44 revisions
欢迎来到BDSpyrunner Wiki
!
此wiki将帮助你开发适用于BDSpyrunner的插件。
- 已经阅读了README并且成功安装BDSpyrunner。
- 学会了Python3的基本语法,可前往菜鸟教程学习。
- 有一颗善于钻研的心。
如果你已经了满足上面的要求就可以开始写插件了
在plugins/py目录下创建myplugin.py,键入以下内容:
import mc
help(mc)
保存之后启动BDS,你将看到mc模块的详细信息
BDSpyrunner使用Detours勾住BDS的函数点来实现事件的拦截与监听, 我们可以使用setListener函数来将一个函数与某个事件绑定起来,如下:
import mc
def onUseItem(e):
print(e)
mc.setListener('onUseItem',onUseItem)
保存并启动BDS,进入服务器, 当你使用物品时,一些相关的数据就会打印的控制台上。
有了监听器回传的这些数据,我们该怎么处理呢?
来看下面这个例子
import mc
def onUseItem(e):
p = e['player']
pos = p.pos
print(p.name + '在' + str(pos) + '使用了物品')
p.sendTextPacket(p.name + '在' + str(pos) + '使用了物品')
mc.setListener('onUseItem',onUseItem)
将文件保存为UTF-8
格式以支持中文
启动BDS,进入游戏测试,你将在控制台看到输出
实际上p是Entity类的一个对象,name和pos则是它的属性,
sendTextPacket是它的成员函数。
除了上面的例子外,我们还提供了丰富的其他接口:
好了现在你已经完全掌握了插件开发的基础内容
去尽情发挥创造力吧!