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

开放式电脑官方文档

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

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

连接能力

OC 可以通过若干种方法连接到MC世界,并与其交互:

对OC模组的大部分方块而言,只要紧挨着摆放就可以让它们自动“看见”彼此,并进行交互,或者也可以使用 线缆 间隔一段距离进行连接。你还可以使用多种网卡与交换机来逻辑化地连接或分断组件,有线或无线均可。

来自原版MC或其它模组的方块也可以通过 红石卡红石 I/O 端口 或者 适配器 与OC进行连接。很多来自其他模组的方块已经可以与适配器交互,例如来自BuildCraft、IndustrialCraft2 或者Thermal Expansion的方块。其它模组作者同样可以使用 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)