Skip to content

Commit 4735115

Browse files
m: 数据包监听更新文档
1 parent 145c7fd commit 4735115

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

‎docs/plugin-dev/api/数据包监听.md‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ class MyPlugin(Plugin):
1212
...
1313
def __init__(self, frame):
1414
super().__init__(frame)
15-
self.ListenPacket(PacketIDS.Text, self.OnPacket)
15+
self.ListenPacket(PacketIDS.Text, self.on_packet)
1616

17-
def OnPacket(self, packet):
18-
print(packet)
17+
def on_packet(self, packet):
18+
self.print(packet["SourceName"], packet["Message"])
1919
```
2020
- 关于 `ListenPacket`:
2121
| 参数 | 类型 | 说明 |
@@ -24,6 +24,13 @@ class MyPlugin(Plugin):
2424
| callback | (dict) -> bool | 监听回调函数,返回表示是否拦截数据包 |
2525

2626

27+
::: info 提示
28+
数据包格式可参考 https://prismarinejs.github.io/minecraft-data/protocol/bedrock/1.21.50
29+
ToolDelta 会将数据包中的类型全部转换为 Python 基本类型
30+
对于详细的属性名和属性类型,可参考 Golang 实现 (https://github.com/Sandertv/gophertunnel/tree/master/minecraft/protocol/packet) 中各个数据包的结构体,它们会被直接序列化为 msgpack(一般情况下) 或 json 格式(备用)供 Python 读取。
31+
:::
32+
33+
2734

2835
::: warning 警告
2936
由于 Python 的 json 模块性能羸弱,在监听所有数据包时,很可能导致 ToolDelta 严重卡顿。

0 commit comments

Comments
 (0)