**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 和组件通信。

模块化

OC模组中的电脑是由多种独立模块构建的,例如显卡、硬盘和扩展卡。这使得你能够按照需求精确定制每台电脑。如果你只想处理简单任务,可以节省构建电脑的资源。或者你也可以将所有的钻石都用在构建 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)