**This is an old revision of the document!**

开放式电脑官方文档

开放式电脑(OpenComputers, OC)是一个 Minecraft 的模组,它把电脑和机器人添加进了游戏,使用 Lua 5.3 作为编程语言。OC 借鉴了几个类似的模组,比如 ComputerCraft, StevesCarts 和 Modular Powersuits,来创造一些新奇而有趣的东西。

另请喜欢这个模组而有时间、能力的各位,帮助翻译一些英文文档,一起为 OC 社区做贡献!

连通性

OC 可以通过以下几种方法与MC交互:

大部分开放式电脑的方块可以“看见”其它开放式电脑的方块,并且如果摆放在它们旁边就可以自动和它们互动,或者你可以使用 线缆 在一定距离上连接它们。使用不同的网卡或交换机在有线和无线两种层次上有逻辑地连接——或分离——各种组件也是可能的。

来自原版或其它模组的方块也可以通过 红石卡红石 I/O 端口或者一个 适配器 连接。很多来自其他模组的特定方块已经被集成到适配器中,例如来自建筑、工业 2 或者热力膨胀的方块,其它模组作者同样可以使用特定的 Java API 来为他们的方块添加特定的操作。

机器人 几乎可以像真正的玩家一样与世界互动. 可以使用大多数工具、方块和其他物品并且可以自己写程序来决定机器人如何使用这个物品, 你可以写一个整理箱子的程序、挖矿程序, 你甚至可以让它 唱歌 或跳舞. 只有你想不到, 没有它做不到。

查看 组件互动 来了解如何通过 Lua 和组件通信。

模块化

开放式电脑是用很多独立的模块构建的,例如显卡、硬盘或扩展卡,允许精确的根据你的需要定制每一台电脑。如果你想要处理小任务,你可以构建小型电脑并节省资源,或者你也可以将最后一颗钻石用在构建 MC 最昂贵、最强力的电脑上。

查看 方块和物品文档 来获得能被用于构建你的电脑的组件的列表。

资源限制

开放式电脑的内存和磁盘大小都是被限制的,可以在配置文件中根据你的喜好调整。这不仅让 OC 对服务器非常友好,还会带给你温暖的怀旧感,回到那个磁盘和内存都用 KB 和 MB 计算的年代。但由于 Lua 程序非常资源友好,你可以在中等的开放式电脑上解决大多数问题。而且如果不能,你总是可以在更大的内存条上花费更多的钻石。

在这些直观的限制之外,OC 也已经被设计为能在服务器上完美运行:开放式电脑使用可变数量的低优先度线程来处理协程,几乎不对服务器 tick 造成延迟。附加地,运行中的程序会被强制、可配置地限制资源消耗,或者——如果没能这么做——(游戏中的电脑)就会被强制崩溃,来避免服务器被恶意或有缺陷的程序阻塞。

可持续性

当开放式电脑离开加载的区块,它们会被暂停,但一旦区块稍后被加载,它们也会精确地在暂停点自动恢复。这使得开放式电脑能在 MC 环境中非常直观地使用,因为你不必担心区块加载或恢复,也不需要添加来自其它模组的区块加载器来保持电脑运行。

具体来说,为了实现这个目标,OC 使用了一个原生库——Eris 库。这个库包含了官方的 Lua VM 实现,已经兼容并支持电脑被暂时暂停。当前这个库已经包含在 Windows, Mac OS X, Linux 和 BSD 版本的模组中,只需要服务器运行所有纯净的 Lua 代码即可。如果这个库不适用于你的系统,模组会回落到 LuaJ,一个基于 Java 的 Lua 实现,在这种情况下电脑是不可持续的,内存也不会被限制。

能量

电脑根据它们运行什么而消耗能量。每 tick 会消耗少量能量,而例如显卡和无线网卡会根据它们的工作负载消耗额外的能量。这不仅仅很现实,同样也能鼓励玩家优化他们的代码,不会让一台开放式电脑服务器一直运行不必要的任务。额外的能量消耗可以在配置文件中配置,甚至可以被完全移除,如果你想在一个不必考虑能量消耗的环境中工作的话。

开放式电脑模组用 电容 提供静电发电,对于机器人有 发电机升级 可用,机器人和无人机还都可用使用 太阳能发电机升级。开放式电脑的设备同样可以由 其它模组 的能源当量供电。

可配置性

模组中几乎所有方面都能通过配置文件调整。不是需要能量才能运行的电脑的爱好者?把运行消耗设置到零。不想能量出现在游玩过程中?那么完全禁用它!感觉机器人走的太慢了?让它们快点。想要更多的多方块屏幕?增大最大尺寸。快去查看 默认配置文件 来了解所有配置项。

目录

附加模组 附属模组 Computronics(英文)
支持 OC 的模组 Thut's Concrete
其他语言 英文(English)