本篇教程由作者设定使用 CC BY-NC-SA 协议。
ComputerCraft虽然东西不多,但是具有极大的可扩展性。不管是单独使用还是配合其它模组使用,都会有画龙点睛的效果。尝试之后,常常会给人这样的感受:哇,还能这么玩!这就极大提高了游戏的趣味性,让很多老模组玩出新方法。即使您是血统论者,坚持某某MOD的纯洁性,本MOD也能提供不少帮助。其实在我看来,本来就无所谓哪个MOD好和坏,游戏的重点还是趣味性不是么,就象我有BC和TE的管道,仍然想再装一个EIO一样。喜欢就好。
但是这个模组的不友好也是显而易见的:入门就是命令行,这让已经习惯了窗口和鼠标的大家很不适应吧?要让小乌龟按自己的要求工作更要深入学习lua代码,这已经超大纲了有木有!好在别人写好的东西还是可以拿来直接使用的,所以这篇教程先不涉及代码,只是介绍一下物品,同时谈谈如何操作。
本Mod的物品总的来说可分三大类:电脑,外设,其它。这与我们现实中所用的电脑体系十分相近。软件操作环境基于lua 5.1,其界面、操作习惯与linux和DOS十分相似,如果象我这样从DOS时代过来的会十分容易上手。
电脑:包括普通电脑、高级电脑、普通乌龟、高级乌龟、普通手持电脑、高级掌上电脑。乌龟的合成需要对应等级的电脑作为原料。另外需要注意的是普通的电脑/乌龟/掌上电脑不能升级为高级物品。由于高级电脑比低级的多了不少功能,除了可以提供彩色显示、编辑窗口下可以使用鼠标外,高级电脑还可以多线程工作(多窗口),因此建议还是尽量做高级的。
1. 通用操作:
1.1 开机:
电脑和乌龟右键可以放置,掌上电脑需要放在物品栏使用。右键点击就可以开机。
请记住的是三个快捷键组合,它们需要长按1秒以上才会生效:
Ctrl + T:强制终止当前程序;
Ctrl + R:强制重启电脑;
Ctrl + S:强制关机。
重启电脑的命令是reboot,关机命令是shutdown。但在实际使用中,快捷键比对应的命令更常用到。
1.2 命名:
每一台电脑/乌龟/掌上电脑刚刚生产出来后,第一次使用时都被被赋与一个临时的ComputerID。这个ID实际对应在MC存档文件中computer目录下的子目录(如“computer\1”),所有在此电脑上编辑的程序、文件都记录在这里。如果此时为这台电脑命名,那么这个ID就会与此设备绑定,下一次还能够再看到这些文件。如果电脑没有命名就关掉了(或是退出游戏),再一次开机后就ID就会变化(通常是+1),以前这个ID对应的文件就失联了。尽管它们仍然存在于你的存档文件中,但是没有任何一台电脑能访问它。你可以手动到存档目录中找到这些文件,但是如果你是在服务器上玩,可能这些文件就真的和你说再见了。
命名一台电脑很容易:
这是我前面教程用过的图片。命令 label set xxxx 可以为电脑起名, 命令 id 可以看到当前电脑是否已经命名成功,还可以看到当前电脑的ID。然后,找到你的存档文件,就可以在里面看到这个目录:
这里面保存着所有这台电脑上存放的文件。如果你从网上下载了成品软件,请把它们解压后放在这个目录中,然后在CC电脑的输入窗口键入其名字就可以运行。如果你是在一个多人服务器里……好吧,当我什么也没说。
需要注意:ComputerCraft完全不支持中文!不管是文件名称还是文件内容,出现了中文就会发生错误。好在这个错误是在CC电脑内发生的,不会影响MC运行。从游戏外编辑、复制这些文件的时候请注意这一点。
1.3 程序:
使用 programs 可以看到当前可用的程序:
这里包括了CC自带的程序和你自己编辑的程序。使用 help 可以得到更进一步的说明,如:
下面对常用程序作一简要说明。详细说明可以使用 help 查看。直接无参数执行程序,如果需要参数才能运行的,也会显示出简单的帮助。
1.3.1 目录及文件操作:
list(或dir 或 ls,后两个是 alias 为 list 设置的别名):列目录。如果是高级电脑,目录会以绿色显示。普通电脑就要用 type 程序来进行判断了。
cd:切换目录。
mkdir(或md):建一个新目录。
delete(或rm):删除文件或目录。目录下有文件也会被删除。
move(或mv):移动文件。
copy(或cp):复制文件
1.3.2 显示信息:
clear(或cls):清空屏幕
alias:无参数使用可以得到当前别名列表,alias x y 是建立别名 x 以运行 y, alias x 是取消别名x。
label:label set 为电脑命名或改名,label get 可以看到当前的电脑的名字,label clear 可以取消现有名字。
id:看到电脑当前的ID。
time:查看当前时间-日期(游戏内时间)
drive:查看电脑剩余存储空间。
1.3.3 程序运行:
bg(或background):在后台运行另一个程序,输入焦点保留在当前窗口。用法:bg xxxxx,则会启动另一个窗口,在里面执行你要使用的程序。用鼠标点击窗口标签可以切换程序。如图,后台新开了一个窗口,顶端可以看到标签:
该命令特别适用于用来进行专门任务的电脑或乌龟。在运行专属程序的同时,可以启动多个窗口进行调试、编辑等工作。我的很多程序就是这么写出来的。
fg(或foreground):前台运行另一个程序。与bg的区别是焦点切换到新程序上。
lua:启动lua控制台。在此环境下,你可以充分使用全部可以使用的接口、函数,完成大量精细操作。但这部分内容需要相当的lua基础,在这里不细讲。
1.3.4 功能性程序:
edit:内置的程序编辑器。在编辑过程中会高亮关键字,对于可用函数还可以自动完成。除了窗口小了些,可以说是非常优秀。编辑完成后要记得先保存再退出。
paint:内置的画图工具。可以大大丰富显示的内容。
redstone:简单的红石信号检测/控制。不仅仅可以检测/设定红石信号的大小,甚至可以处理多色红石信号。这就大大提高了对红石信号的处理能力,很多需要使用极为复杂的IC电路才能实现的功能,只要一台电脑就能轻松完成。电脑每个侧面的红石信号都是独立的,理论上最多可以同时处理16*6=96个不同的红石信号。redstone probe 用来检测红石信号输入,redstone set 用来输出红石信号,redstone pulse 用来发出红石信号脉冲。可以节约多少在红石电路上花费的脑细胞……
monitor:启用显示器来进行显示。直接运行某个程序时,运行结果显示在当前电脑的GUI中,如果以 “monitor 方向 程序” 的方式启动,运行结果就会在显示器上显示。你可以用这个来监视红石信号、观察处理过程……越来越科技了。这是我的一个简单监控,用来代替越来越难以布线的红石灯。没有专门写程序,直接用的上面的redstone命令,外面加了个循环。
以下程序只有乌龟才有:
go:乌龟移动。“go 方向” 可以移动一步/转身一次,“go 方向 数字”可以移动多步。你还可以使用更多参数以完成更多行动,如“go forward 15 right 1 up 3 forward 5”就可以连续前进、右转、上升、再前进。注意乌龟行动需要燃料运行,每移动一格消耗1燃料。
turn:乌龟转身。转身并不消耗燃料。
refuel:补充燃料并显示。乌龟可以使用绝大部分燃料(包括岩浆桶和岩浆单元),不同燃料可以补充不同的燃料值。基本换算是烧制一个物品的燃烧时间可以走10步,因此一块煤的燃料值是80。无参数运行只消耗1个燃料用来补充,参数为数字就消耗该数量的燃料,refuel all会用掉所有可用的燃料。注意补充过程中不会对燃料溢出进行判断,如果燃料放得太多可能会浪费掉。
craft:乌龟对它物品栏内的物品进行合成。要注意,完成这个功能前先要为它装备上工作台。必须指定合成数量,数字范围是1~64。物品摆放要符合NEI的样式,但是不限制位置,可以在16格内任意选择四格或九格。合成配方以外的格子必须留空,不得有任何物品,哪怕它是合成的某种原料或产物。
equip:为乌龟装上工具。语法是“ equip 格子编号 装备位置 ”,格子编号是工具所在位置1~16,装备位置只有 left 和 right 两个可选。工具除了上面说到的工作台,还可以是剑、镐、铲、斧、锄、无线modem。乌龟可以同时装备两种工具,如果同时装备了镐和斧,就可以同时采矿和伐木。注意工具必须是钻石品质、满耐久、未附魔的,否则无法装备。乌龟使用工具不掉耐久,所以可以成为非常有用的小帮手。
unequip:缷下工具。需要指定参数 left 或 right。
tunnel:挖矿道。请为乌龟装备上镐,否则可能矿道挖出来了却没有掉落。矿道尺寸是3*2,长度由参数指定。挖掘掉落会自动进入乌龟物品栏内。
excavate:采矿。这是一个非常逆天的功能,它完全可以与BC的采矿场归于一类。需要一个数字n以指定采矿区域大小,然后乌龟会在前方n格*右方n格区域(包括当前位置)开始采矿,一直采到基岩。如图所示:
当执行“excavate 3”时, 黄色区域就是采挖范围。在乌龟后方可以放一个箱子,每当乌龟物品栏装满时,会返回最初出发的位置,向这里倾倒所有采集物,如果这里有个箱子,物品就会进入箱子中。由于移动需要燃料,当燃料不够时乌龟会返回出发点等待补给。
dance:跳舞。直接你按下任意键或燃料用光为止。
1.3.5 游戏与娱乐
在/roms/programs/fun目录下放了几个小游戏:
worm:贪吃蛇
adventure:一个文字版的MC冒险游戏
dj:音乐碟播放器。音乐碟可以在地城的箱子得到。
hello:一个hello world的演示程序。
2 设备个性
2.1 电脑:可以作为方块放置,其顶面、侧面可以附加其它方块,可以放置红石粉。侧面有外设时可以直接使用。
2.2 乌龟:放置后可以在侧面附加其它方块,但是不能放置红石粉。移动时如果前方是人或动物,可以推开障碍,但是不能托着人向上飞(当然向下是可以的)。乌龟采集/攻击后的掉落物品会自动进行乌龟的物品栏,通过api还可以直接拾取地上掉落的物品。
2.3 掌上电脑:当它放在物品栏或工具栏中时,它会保持运行。当扔进箱子或包裹里,会在几秒钟会关机。外设
包括显示器、驱动器、打印机、modem。
显示器:用法已经在上面 monitor 中介绍过。单显示器尺寸最大为8*6,而且要放成方型,否则就会拆分为多个显示器。
驱动器:配合软盘使用,在服务器环境下转移程序的唯一办法。存储容量比电脑要大一些。
打印机:打印书。除非你想在MC世界写小说,否则应该用不上。
modem:分有线、无线两种。有线modem需要网线来联接。无线modem不需要网线,但是有距离限制:水平距离晴天最大64格,雷雨天16格;高度不超过381格。如果你的MC版本是1.8以上,那么可以使用版本1.76以后的ComputerCraft,可以使用末影modem,这是几乎无限距离(2147483647格)、可以跨维度使用的超级工具,而且无视高度。modem可以通过红外信号或信道来在传递信息。红外信号是广播性质,数据传送速度相当慢。信道总数是65535,一台modem同时可以开启256个不同信道。所有需要通讯的设备所在区块都需要被加载。因为对modem的操作几乎都要通过编程进行,所以在这里不细述。资源:
我在之前已经放过3篇使用ComputerCraft的教程,在这里汇总一下:
1. DIY基于ComputerCraft和ProjectRed的时钟。这是通过一台高级电脑和红石计划的数码显示板来制作一台数字时钟。它的原理同样可以用于一些设备生产中的计数、一些状态的显示等,算是一个入门级的新手小程序。感兴趣的可以仔细研究一下。
2. 如何使用小乌龟为GT的电解器提供整数原料。这里用到了小乌龟的物品存取能力,从而起到GT中物品缓冲器的功能。不过它比缓冲器便宜多了不是么。提供了维护工具,可以方便添加新物品配方。
3. 使用小乌龟对小撮、小堆矿粉进行无脑合成。这里不仅用到小乌龟的物品存取,还用到了物品合成。通过对列表的自定义可以完成几乎全部4*4和9*9单物品的合成配方。同样提供了维护工具。
4. 我还使用小乌龟解决了困惑我很久的一个问题:如何解决装配线的全自动合成。可以看 关于格雷自动化的一些想法和疑问 第25楼。这是我目前为止唯一真正成功的方案。因为门槛太高,这个没有放出源程序,需要的可以跟贴向我要。不过丑话说在前头,要想用起来,没有相当的基础大概是不可能的。
5. 昨天刚刚完成了一个作品:小乌龟遥控器。用掌上电脑当操作台,设定好方向键和挖、放等功能键(全部可以自己重定义),可以完成小乌龟的移动、采掘、放置等各项功能。放个图吧:
这里显示的是掌上电脑的GUI,小乌龟的运行结果会送回来。因为各功能键可以自定义,我怕忘掉各个键的用处,特意把各个键对应的按键传回来了。距离是用来提示乌龟有多远,防止天气不好时失联。这个小玩具可以在生存服盖房子时用到:你再也不用爬上摸下了!不方便的地方就是GUI有点挡视线……如果大家感兴趣我就单独放个教程。扫盲教程先到这里吧,相信大家应该对这个MOD有了个基本的了解。高级教程必然涉及编程,看情况再决定写还是不写。