跳到正文

Integrated REST

作者:kroeser

将 Integrated Dynamics 网络作为 REST API 暴露出来

收藏

截图

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

 

此模组需要 Cyclops Core 前置库和 Integrated Dynamics!

欢迎来 Cyclops Discord 服务器的 #integratedmods 频道和我们聊天!

 

此模组可通过 REST API 从你的 Integrated Dynamics网络中读取数据,也可以向网络中写入数据。
这样一来,你就能通过 Web 协议读取网络和世界的状态,还能向游戏世界中的 HTTP Proxy 方块发送 POST 请求,与它们交互。

 

以下是此模组(以及一些外部代码)可以实现的功能示例:

  • 根据 Minecraft 世界中的时间控制家里的灯光。
  • 收到电子邮件时,在 Minecraft 中播放声音。
  • 在你的网站上显示主世界中所有在线玩家的位置。
  • 获得新的 Twitch 或 Mixer 订阅者时,打开刷怪塔的门。

 

警告:如果你从没听说过“API”或“REST”,那么这个模组可能不适合你。此模组主要面向高级用户,帮助他们使用可通过 HTTP 通信的外部系统实现高级自动化。

 

此模组会在可配置的端口上,以 JSON 格式公开你的网络。以下是单个网络元素输出内容的片段:

 

{
  "@context": "https://raw.githubusercontent.com/CyclopsMC/IntegratedREST/master-1.12/src/main/resources/context.jsonld",
  "@id": "http://localhost:3000/",
  "networkElements": [
    {
      "@id": "http://localhost:3000/networkElement/integrateddynamics/part/4",
      "position": {
        "world": 0,
        "x": -26,
        "y": 57,
        "z": -249,
        "side": "ir:east"
      },
      "block": "http://localhost:3000/registry/block/integrateddynamics/cable",
      "@type": [
        "NetworkElement",
        "http://localhost:3000/registry/part/display_panel"
      ],
      "channel": 0,
      "priority": 0,
      "updateInterval": 1,
      "network": "http://localhost:3000/network/1619976862",
      "valueType": "http://localhost:3000/registry/value/valuetype/valuetypes/integrateddynamics/string/name",
      "value": "I was updated\\nvia HTTP!",
      "target": {
        "world": 0,
        "x": -25,
        "y": 57,
        "z": -249,
        "side": "ir:west"
      },
      "loaded": true
    },
  ...
  ]
}

实际上,这段 JSON 是有效的 JSON-LD (关联数据 JSON),因此可以在 RDF 工具中使用这些输出。 

 

除了网络及其元素的状态,此模组还会公开大多数 Forge 注册表的状态。
所有可用信息(可通过 API 索引页访问):

  • 网络
  • 网络元素
  • 部件类型
  • 方面类型
  • 值类型
  • 物品
  • 方块
  • 流体
  • 模组

此模组会在游戏中添加一个可合成的方块:HTTP Proxy。

 

与所有网络元素一样,此方块可通过 HTTP 访问。例如,ID 为 7 的 HTTP 代理可通过 http://localhost:3000/networkElement/integrateddynamics/http/7 访问。

此方块具有一个内部值状态,可通过 HTTP POST 请求 进行更新(更多信息请参阅 Wiki)。

 

注意:如果你在服务器上使用此模组,可能需要在玩家的配置文件中禁用客户端启动 HTTP 服务器。

 

此模组会收集匿名启动数据。你可以在配置文件中禁用此功能;该功能遵循 Minecraft 的 snooper 设置。

 

Bisect Hosting
在 Bisect Hosting 租用服务器时使用推荐码 cyclops 支持我们,即可享受首月 75 折优惠!


如果你喜欢这个模组,欢迎在 Patreon 上支持我!

常见问题

Integrated REST 支持哪些 Minecraft 版本?

Integrated REST 支持 Minecraft Java 版 1.12.2–26.3,共 22 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

Integrated REST 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

kroeser 的其他作品

查看全部 →