概述
该模组受到一个 Youtube 视频的启发,添加了一个名为“Webstone Remote Block”的与视频中功能相同的能够通过浏览器控制的红石元件。
使用
模组在端口 4321 开放一个 WebSocket 服务器,可以通过设置一个 WebSocket 客户端(可以使用作者制作的托管客户端,或者自己搭建,这里是一个示例)来对存档中的已注册的 Webstone Remote Block 的输出信号强度进行控制,在游戏内可以通过空手右键一个已放置的 Webstone Remote Block 对其进行注册操作,而潜行右键可以将其关闭。
API
被注册的 Webstone Remote Block 会向所有已连接的 WebSocket 服务器广播如下信息,包括方块的 UUID、名称、输出状态以及信号强度:
{
"type": "block_list",
"data": [
{
"blockId": "00000000-0000-0000-0000-000000000000",
"name": "Example",
"power": 15,
"powered": false
}
]
}
当方块的输出信号状态发生变化,该方块会向服务器发出如下信息:
{
"type": "block_state",
"data": {
"blockId": "00000000-0000-0000-0000-000000000000",
"powered": false // true 或 false
}
}
当方块的输出信号强度发生变化,该方块会向服务器发送如下信息:
{
"type": "block_power",
"data": {
"blockId": "00000000-0000-0000-0000-000000000000",
"power": 7 // 从 0 到 15 的任意一个值
}
}
客户端可以发送如下信息来设置方块的输出状态:
{
"type": "block_state",
"data": {
"blockId": "00000000-0000-0000-0000-000000000000",
"powered": false // 可以为 true 或 false
}
}
客户端可以发送如下信息来设置方块的输出强度:
{
"type": "block_power",
"data": {
"blockId": "00000000-0000-0000-0000-000000000000",
"power": 7 // 可以为从 0 到 15 的任意一个值
}
}
客户端可以发送如下信息来设置方块的名称:
{
"type": "rename_block",
"data": {
"blockId": "00000000-0000-0000-0000-000000000000",
"name": "My Example Block"
}
}
客户端可以发送如下信息来删除一个已注册的方块:
{
"type": "unregister_block",
"data": {
"blockId": "00000000-0000-0000-0000-000000000000"
}
}