Board logo

标题: 消失了几天··吧···??然后回来~继续发些东西~ [打印本页]

作者: 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
  1. a = io.read()  --io.read:API,向用户获取数据。定义a等于用户给的数据。(新知识··)
  2. for b = 1,a do  --重复执行。(这里的效果是把整个for内的执行用户给的值的次数。)
  3.     turtle.dig()  --破坏前方的方块。
  4.     turtle.forward()  --向前方移动。
  5.     i = 0  --定义i等于0。
  6.     while turtle.detectUp() do  --如果上方有方块,进行这段代码,并在之后回到这里。
  7.         turtle.dig()  --破坏前方的方块。
  8.         turtle.digUp()  --破坏上方的方块。
  9.         turtle.up()  --向上方移动。
  10.         i = i + 1 --定义i等于i+1。(也就是每次循环都给i增加1。)
  11.     end  --while的尾。    turtle.dig() --破坏前方的方块。
  12.     turtle.turnLeft()  --左转。
  13.     turtle.dig()  --破坏前方的方块。
  14.     turtle.forward()  --向前方移动。
  15.     turtle.turnRight()  --右转。
  16.     for c = 1,i do  --重复执行。(这是把另外一半向下挖的部分,之所以要记录之前循环次数来在这里执行,是因为向下检测很麻烦,这是为了提高效率。)
  17.         turtle.dig()  --破坏前方的方块。
  18.         turtle.digDown()  --破坏下方的方块。
  19.         turtle.down()  --向下方移动。
  20.     end  --用来向下的for的尾。
  21.     turtle.dig()  --破坏前方的方块。    turtle.select(1)  --选择插槽1。(1插槽放置这棵树的树苗。)
  22.     turtle.place()  --向前方使用选择插槽的方块/物品。
  23.     turtle.turnLeft()  --左转。
  24.     turtle.back()  --向后方移动。
  25.     turtle.place()  --向前方使用选择插槽的方块/物品。
  26.     turtle.turnRight()  --右转。
  27.     turtle.place()  --向前方使用选择插槽的方块/物品。
  28.     turtle.back()  --向后方移动。
  29.     turtle.place()  --向前方使用选择插槽的方块/物品。
  30.     while turtle.compare() do  --如果前方的方块与选择的插槽的方块/物品数据:附加值相同,进行这段代码,并在之后回到这里。
  31.         turtle.select(2)  --选择插槽2。(2插槽放置骨粉。)
  32.         turtle.place()  --向前方使用选择插槽的方块/物品。
  33.         turtle.select(1)  --选择插槽1。
  34.     end  --while的尾。(其实····这是针对比较近的Minecraft更新中的骨粉改变而做的,但是ExtraBiomesXL中的树木暂时还没有这个设定,所以并不一定需要这段。不过呢,这是很重要的原理哦~顺便也适用于一些不是完全符合条件的地方,也就是有时候可能长不出来的地方XD。)
  35. end  --整个的for的尾。
复制代码


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

顺便给执行一次而且不补种的,不过没有解释哦~也都很简单(至少看了上次的解释和这次关于树木的原理之后应该会毫无难度吧??),尝试自己理清楚吧~
  1. i = 0
  2. turtle.dig()
  3. turtle.forward()
  4. while turtle.detectUp() do
  5.     i = i + 1
  6.     turtle.dig()
  7.     turtle.digUp()
  8.     turtle.up()
  9. end
  10. turtle.dig()
  11. turtle.turnLeft()
  12. turtle.forward()
  13. turtle.turnRight()
  14. for a = 1,i do
  15.     turtle.dig()
  16.     turtle.digDown()
  17.     turtle.down()
  18. end
  19. turtle.dig()
  20. turtle.back()
  21. turtle.turnLeft()
  22. turtle.back()
  23. turtle.turnRight()
复制代码

很多地方也基本相同,只是少了些内容。




欢迎光临 完美算数教室 (http://g.cirno.biz/) Powered by Discuz! 7.2