完美算数教室's Archiver

704009905 发表于 2013-5-30 17:58

消失了几天··吧···??然后回来~继续发些东西~

最近一直在弄模组··(很奇怪的是某人之前刚好就说我在弄···

于是···这回其实重点还是ComputerCraft···
[attach]17726[/attach]
自动伐木··还可以长期运作,顺便之前做过另外的代码,就不发那个了,那个是给Birch设计的。
这是专门用在ExtrabiomesXL上面的。


总之完全不缺木头。
[attach]17727[/attach]
顺带一提,ComputerCraft中的Turtle又一个兼容性漏洞,就是非源Minecraft包含的方块被破坏之后获得的会是附加值为1的方块/物品。
(其实是本身设定就是会获得附加值为1的,但是觉得不科学但又懒得改就把Minecraft本身所有包含的都给特殊定义了··)(怎么觉得这样更麻烦??)


然后人家改了很多合成··
[attach]17728[/attach]
就大概把生成这一部分的更改的合成放出来几个示例吧··
[attach]17728[/attach]
[attach]17729[/attach]
[attach]17730[/attach]


然后还弄了很多机制···不过不会什么都弄啦··
顺便还有就是···上面的图里还有一个没有说出来的改变,很容易看出来吧··
(其实还有一个,只是只能听出来。)

704009905 发表于 2013-5-30 18:24

继续给代码和解释··
大多数地方不再继续说TurtleAPI了····w
[code]a = io.read()  --io.read:API,向用户获取数据。定义a等于用户给的数据。(新知识··)
for b = 1,a do  --重复执行。(这里的效果是把整个for内的执行用户给的值的次数。)
    turtle.dig()  --破坏前方的方块。
    turtle.forward()  --向前方移动。
    i = 0  --定义i等于0。
    while turtle.detectUp() do  --如果上方有方块,进行这段代码,并在之后回到这里。
        turtle.dig()  --破坏前方的方块。
        turtle.digUp()  --破坏上方的方块。
        turtle.up()  --向上方移动。
        i = i + 1 --定义i等于i+1。(也就是每次循环都给i增加1。)
    end  --while的尾。    turtle.dig() --破坏前方的方块。
    turtle.turnLeft()  --左转。
    turtle.dig()  --破坏前方的方块。
    turtle.forward()  --向前方移动。
    turtle.turnRight()  --右转。
    for c = 1,i do  --重复执行。(这是把另外一半向下挖的部分,之所以要记录之前循环次数来在这里执行,是因为向下检测很麻烦,这是为了提高效率。)
        turtle.dig()  --破坏前方的方块。
        turtle.digDown()  --破坏下方的方块。
        turtle.down()  --向下方移动。
    end  --用来向下的for的尾。
    turtle.dig()  --破坏前方的方块。    turtle.select(1)  --选择插槽1。(1插槽放置这棵树的树苗。)
    turtle.place()  --向前方使用选择插槽的方块/物品。
    turtle.turnLeft()  --左转。
    turtle.back()  --向后方移动。
    turtle.place()  --向前方使用选择插槽的方块/物品。
    turtle.turnRight()  --右转。
    turtle.place()  --向前方使用选择插槽的方块/物品。
    turtle.back()  --向后方移动。
    turtle.place()  --向前方使用选择插槽的方块/物品。
    while turtle.compare() do  --如果前方的方块与选择的插槽的方块/物品数据:附加值相同,进行这段代码,并在之后回到这里。
        turtle.select(2)  --选择插槽2。(2插槽放置骨粉。)
        turtle.place()  --向前方使用选择插槽的方块/物品。
        turtle.select(1)  --选择插槽1。
    end  --while的尾。(其实····这是针对比较近的Minecraft更新中的骨粉改变而做的,但是ExtraBiomesXL中的树木暂时还没有这个设定,所以并不一定需要这段。不过呢,这是很重要的原理哦~顺便也适用于一些不是完全符合条件的地方,也就是有时候可能长不出来的地方XD。)
end  --整个的for的尾。[/code]

io.read......io.read~...

顺便给执行一次而且不补种的,不过没有解释哦~也都很简单(至少看了上次的解释和这次关于树木的原理之后应该会毫无难度吧??),尝试自己理清楚吧~
[code]i = 0
turtle.dig()
turtle.forward()
while turtle.detectUp() do
    i = i + 1
    turtle.dig()
    turtle.digUp()
    turtle.up()
end
turtle.dig()
turtle.turnLeft()
turtle.forward()
turtle.turnRight()
for a = 1,i do
    turtle.dig()
    turtle.digDown()
    turtle.down()
end
turtle.dig()
turtle.back()
turtle.turnLeft()
turtle.back()
turtle.turnRight()[/code]
很多地方也基本相同,只是少了些内容。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.