前言:

       虽然用户@一颗丁子 已经写了一份关于本模组的教程(自定义遗迹生成教程),但是这位用户显然没有预料到一点——那就是1.15.2的遗迹模组与1.12.2的遗迹模组虽然操作区别不大,的可遗迹模板文件的参数代码却有很大的不同,这就导致

了这位用户的教程中所有关于模板文件代码的部分在MC1.15.2版本中完全不适用。

       特此另写一个1.15.2遗迹模组的补充教程(与1.12.2相同的部分不再叙述)

       (说实话,在玩过这一模组两天之后、甚至已经成功创造出了一个像样的大型遗迹时,我就已经成功的被这个模组征服了。虽然它不像暮色森林这样的老牌大型模组那样富有趣味,可只要玩家有心,完全可以制作出不亚于暮色森林模组中boss挑战遗迹那样的超大型遗迹建筑,甚至都不需要进行费时费力、占地面积巨大的遗迹建筑搭建!它对于整合包作者、服务器作者们来说绝对是神器级别的工具!可在看到百科上这个模组的热度竟然只有0.5的时候!我的心情是痛心疾首的。正如MCBBS上某大佬的模组介绍帖子,“看到这么好的一个模组被埋没……这个模组的潜力超乎你的想象!”这句话一点也不假。这或许也是因为国内喜欢创新的玩家太少太少的缘故吧……)

       注意,本教程中所有内容都是以MC1.15.2版本为基础的!

       另,百科中遗迹模组介绍正文里面提供的遗迹模板文件下载地址只有1.12.2版本及以下的下载,因此目前能借鉴1.15.2版本的地方除了本教程估计就只有1.15.2版本模组下载时自带的那些1.14.3的模板文件了……因为1.14版本的指令代码与1.15的多少是相似的。

       本教程中将提供某些代码的示例,可以直接照抄格式用在自己的遗迹模板文件中。

       目前LootTweaker(自定义战利品)模组暂时不支持1.15.2版本,因此目前1.15.2中不可以自定义战利品表。(没错,它依然没有更新到1.15.2及以上的版本!所以到目前为止1.15.2版本中仍然不能在自己自定义的遗迹建筑中调用自定义的战利品表……当然如果你牛到足以反向编译MC核心文件的程度,那当我没说,而且话又说回来,要是你都能反向编译出MC核心文件了还要这个模组干什么,自己做个模组加入自定义自然生成结构自由度可远远大于这个模组。。


正文:


       1.15.2版本的遗迹模组的文件路径与1.12.2版本的遗迹模组相同,因此不再叙述。不过建议玩之前把模组本身generic文件夹自带的那一堆遗迹模板文件给去掉(那是模组作者在模组对应MC版本1.14.3的时候制作的),否则你的世界可能莫名其妙的多出一大堆奇怪的东西。

       然后,显然1.15.2版本中的遗迹模板(.tml)文件中的内容与1.12.2可以说是大不相同(尤其是对应生成规则那一段的代码),在1.15.2中最基本的rule参数表格式为:

rule<数值>:{Name:"<方块id>"}

       以我制作的一个简单遗迹中的rule参数表为例:

rule1={Name:"minecraft:blue_ice"}

rule2={Name:"minecraft:packed_ice"}

rule3={Name:"minecraft:ice"}

rule4={Ruins:{entity:{Items:[{Slot:1b,id:"minecraft:ice",Count:2b},{Slot:2b,id:"iceandfire:silver_nugget",Count:3b},{Slot:3b,id:"minecraft:packed_ice",Count:2b},{Slot:4b,id:"iceandfire:silver_ingot",Count:1b},{Slot:5b,id:"minecraft:packed_ice",Count:2b},{Slot:6b,id:"iceandfire:silver_nugget",Count:3b},{Slot:7b,id:"minecraft:ice",Count:2b},{Slot:9b,id:"minecraft:ice",Count:2b},{Slot:10b,id:"iceandfire:sapphire_gem",Count:1b},{Slot:11b,id:"minecraft:blue_ice",Count:2b},{Slot:12b,id:"iceandfire:silver_ingot",Count:1b},{Slot:13b,id:"iceandfire:ice_dragon_blood",Count:1b},{Slot:14b,id:"iceandfire:silver_ingot",Count:1b},{Slot:15b,id:"minecraft:blue_ice",Count:2b},{Slot:16b,id:"iceandfire:sapphire_gem",Count:1b},{Slot:17b,id:"minecraft:ice",Count:2b},{Slot:19b,id:"minecraft:ice",Count:2b},{Slot:20b,id:"iceandfire:silver_nugget",Count:3b},{Slot:21b,id:"minecraft:packed_ice",Count:2b},{Slot:22b,id:"iceandfire:silver_ingot",Count:1b},{Slot:23b,id:"minecraft:packed_ice",Count:2b},{Slot:24b,id:"iceandfire:silver_nugget",Count:3b},{Slot:25b,id:"minecraft:ice",Count:2b}]}},Properties:{waterlogged:"false",facing:"east",type:"single"},Name:"minecraft:chest"}

rule5={Name:"iceandfire:dragon_ice_spikes"}

rule6={Ruins:{entity:{conditionMet:0b,auto:0b,CustomName:'{"text":"@"}',powered:0b,Command:"/summon iceandfire:ice_dragon_charge ~ ~1 ~ {direction:[0.0,0.0,0.0]}",SuccessCount:0,TrackOutput:1b,UpdateLastExecution:1b}},Properties:{conditional:"false",facing:"up"},Name:"minecraft:command_block"}

(制作此遗迹时使用到了一些冰火传说模组的方块,命令方块中的ice_dragon_charge是冰火传说中的龙霜弹实体;dragon_ice_spikes是冰火传说中的龙霜刺方块,rule4则是一个装了物品的箱子)

       最终制作出的遗迹效果:(其中的rule6参数被舍弃了,原因是1.15.2中命令方块的RUINSTRIGGER规则笔者还没成功测试出来,这与1.12.2中的RUINSTRIGGER规则添加方法完全不同。)遗迹Ruins1.15.2补充教程-第1张图片

       显然这些代码与1.12.2的教程中介绍的文件完全不一样,最显著的区别就是1.12.2中rule参数是这样的:

rule1=0,100,minecraft:ice(定义生成规则1:以0的优先级与100%的几率在位置上生成一个冰)

       而在1.12.2中,更改方块的生成几率、增加方块随机生成的种类是很容易的,比如说这样:

rule1=0,80,minecraft:ice,minecraft:stone(定义生成规则1:以0的优先级和80%的几率在位置上生成一个冰或者是石头)

       而在1.15.2中,rule参数变成了这样:

rule1={Name:"minecraft:ice"}(定义生成规则1:在位置上生成一个冰块)

       显然,由于原版的指令机制的变动,对应优先级和生成几率的两个值没有了(被原版指令机制的变动吃掉了),所以无法直接更改方块的生成几率了;并且看过了1.12.2版本教程却玩的是1.15.2版本模组的人想要让同一规则随机选取方块生成时,很容易就会把这条参数改成这样:

rule1={Name:"minecraft:ice,minecraft:stone"}

       或者是这样:

rule1={Name:"minecraft:ice","minecraft:stone"}

这两种情况都是笔者亲身经历……

       而如果改成第一种情况的话那么执行生成规则的时候就会尝试执行创建一个名为“minecraft:ice,minecraft:stone”的方块,而显然MC中根本不存在这样的方块,这就会导致rule1参数直接变成无效参数;如果改成情况2的话在执行的时候就会因为Name代码之后的代表定义名称的“”(双引号)出现了多个并且“”之外出现无效字符而导致参数无效,甚至会导致整个遗迹无法生成。

       所以在1.15.2中随机选取某些方块中的某一个生成的代码格式应该是:

rule<数值>:{Name:"<方块id>"},{Name:"<方块id>"},{Name:"<方块id>"}......

其中“{Name:"<方块id>"}”的数量无上限。比如说:

rule1={Name:"minecraft:ice"},{Name:"minecraft:stone"}(定义生成规则1:在位置上生成一个冰块或者石头)

       而如果想要调整方块的生成几率的话,那就把多种方块中的一种改成空气,比如这样:

rule1={Name:"minecraft:ice"},{Name:"minecraft:air"}(定义生成规则1:在位置上生成一个冰块或者空气)

       空气就是什么都没有,这就做到了方块生成几率只有50%的效果。而想要更改几率,那就可以这么写:

rule1={Name:"minecraft:ice"},{Name:"minecraft:ice"},{Name:"minecraft:ice"},{Name:"minecraft:ice"},{Name:"minecraft:air"}(定义生成规则1:在位置上生成一个冰块或者冰块或者冰块或者冰块或者空气)

       解释看起来头晕目眩不是吗?翻译成人话就是:定义生成规则1:在位置上4/5生成一个冰块,1/5生成一个空气。再进一步翻译就会变成:在位置上以80%几率生成一个冰块。

       或者也可以是这样:

rule1={Name:"minecraft:ice"},{Name:"minecraft:ice"},{Name:"minecraft:ice"},{Name:"minecraft:blue_ice"},{Name:"minecraft:air"}(定义生成规则1:在位置上生成一个冰块或者冰块或者冰块或者蓝冰或者空气)

       翻译过来就是:在位置上3/5生成一个冰块,1/5生成一个蓝冰,1/5生成一个空气。

       这里注意一下,虽然空气就是什么都没有,但不代表生成空气方块的时候就什么都不会生成——没错,定义生成规则是可以定义生成空气方块的,不生成任何方块与生成一个空气方块虽然没什么区别,但是依然是不同的概念——最显著的区别就是,什么都不生成的话在layer生成阵列中那个位置上的数字是0,而定义生成一个空气那么那个位置的数字就是对应生成规则的数字。而空气方块的生成会替换原本处于空气方块所在位置上的方块(比如说水)这就可以做到在类似于水下的环境中在不替换周围环境的情况下制作一个类似于用于补充氧气的遗迹(比如用玻璃围成一个球形或者正方体,然后定义正方体/球体内部生成规则为空气,然后海底就会出现一个内部中空的遗迹,由外壳阻挡海水的话只要内部空间稍大一些就可以通过小范围破坏外壳进入内部中空的遗迹来达到补充氧气的效果,比如说玻璃泡泡,配合创世神模组可以很容易做到这一点。)。

       另外,纠正一下用户@一颗丁子 的教程中的示例遗迹“随意的地牢”中的范例——当你想要做一个类似于地牢的遗迹结构时,地牢最外侧的边框不建议制作成“破损的”。原因是在1.12.2版本中降低方块的生成几率则会导致不生成方块的位置不会替换原本自然生成在那里的方块,所以就可能出现一个很尴尬的情况——原本残破的地牢边框被自然生成的石头修补成完整的了(就像@一颗丁子 在教程里面附上的生成效果图那样,话说难道就没人发现那张图中呈现的效果跟原本想要的效果不同吗……)。而在1.15.2版本中,由于更改方块生成几率使用的是在生成方块的列表中加入空气的方法,确实可以产生“残破的”的效果,可是在这遗迹边框之外的一圈仍旧是自然生成的石头,看起来就会很诡异。因此对于由石砖方块构成遗迹外框的地牢遗迹来说,推荐的解决方法是最外圈的边框不要设定成“残破的”,而是通过在方块生成列表中加入裂石砖和苔石砖的方法凸显出遗迹的年代久远,而如果遗迹内部也存在石砖结构那么就可以在随机生成一些裂石砖和苔石砖的同时加入一定几率不生成方块的机制了,以此达到凸显遗迹“年代久远”与“残破”的效果。

       代码示例:rule2={Name:"minecraft:stone_bricks"},{Name:"minecraft:stone_bricks"},{Name:"minecraft:mossy_stone_bricks"},{Name:"minecraft:cracked_stone_bricks"},{Name:"minecraft:air"},{Name:"minecraft:air"},{Name:"minecraft:air"},{Name:"minecraft:air"}

       定义生成规则为生成空气的方法:先在你想要生成空气的位置放置一个其它任意类型的方块,如石头,建立遗迹模板后在文件中把对应的rule规则后的Name值改成minecraft:air就可以了。

      关于刷怪笼:

一般来说一个对应刷怪笼的生成规则如下:

rule2={Ruins:{entity:{MaxNearbyEntities:2s,RequiredPlayerRange:64s,SpawnCount:4s,SpawnData:{id:"iceandfire:dread_thrall"},MaxSpawnDelay:30s,Delay:0s,SpawnRange:4s,MinSpawnDelay:10s,SpawnPotentials:[{Entity:{id:"iceandfire:dread_thrall"},Weight:1}]}},Name:"iceandfire:dread_spawner"}

       (这行rule生成参数是对应冰火传说模组的悚域刷怪笼的,这玩意在游戏中除了硬度远高于正常刷怪笼和外观、粒子效果不同之外与普通刷怪笼相同)

       这行参数……其实笔者本身也没有完全掌握,但还是了解了一部分代码的:“MaxNearbyEntities:2s”这行参数中的数字指的是刷怪笼附近生物的最大值(也就是刷怪笼附近如果生物超过这个值那么刷怪笼就不会产生生物);“SpawnRange:4s”是生物的生成范围,这行参数同时也就是上一条范围内生物的最大值的检测范围;“RequiredPlayerRange:64s”则是玩家在多大范围内时会生成生物。而这行代码中所包含的两个“id"iceandfire:dread_thrall"”则是它生成的生物,iceandfire:dread_thrall是生物ID(冰火传说模组中的悚怖尸奴)。

       同时你还可以通过复制Rule代码的方式自己增加更多的Rule生成规则然后在layer生成行中调整,这一用法通常用于需要生成带有不同nbt数据的方块而在游戏中正常的创造模式无法直接调整需要在模板文件中进行代码层面的调整的方块,最典型的就是刷怪笼这类方块,具体用法如下(比较繁琐并且有可能看不懂,这么做需要足够的空间想象能力):

       比如说你想要制作一个带有多种生成不同怪物的刷怪笼的遗迹的话,可以先放置好所有刷怪笼(原版刷怪笼的默认生成生物是猪,并且一旦确定生成的生物后就不可更改了),然后保存遗迹模板,离开游戏进入你刚刚保存的遗迹模板文件中;然后找到对应刷怪笼的rule参数,会发现这里面有两个生物id参数(“SpawnData:{id:<生物id>}”与“SpawnPotentials:[{Entity:{id:<生物id>},Weight:1}]”)。这两个参数中的“<生物id>”决定刷怪笼生成的生物,注意两个生物id必须保持相同,否则会导致所有使用到此生成规则或它之后的(数字大于等于此生成规则)生成规则全部无效(别问我怎么知道的,因为我自己就碰到过……),并且同时复制这个刷怪笼生成规则时两个参数中每一个都必须存在并格式正确,否则后果与两个值所代表的生物不同是一样的。也就是说如果你想改变一个刷怪笼的生成生物,你就得改两个值。而复制然后创造新rule的代码是怎么用的呢?很简单,先调整好你的第一个刷怪笼生成规则(调整好你想要的生物)然后复制它,黏贴在rule参数行的最后(注意rule参数行和layer生成阵列之间必须有一行空行)然后自己修改rule后面的数字,改成之前所使用的rule参数中没出现过的数字就可以了,你甚至可以把这个值改成10000,只要这个数值所代表的rule参数没有已经被使用就可以了,然后再在你复制出的新rule规则里修改刷怪笼所生成的生物id,同样注意两个生物id都得改掉;然后再翻到layer阵列中(注意layer生成阵列的排列方式是y轴由低到高,最前面的一个是y轴比你创建模板文件时模板平台的y轴大1的平面,之后的一个是大2的平面,以此类推……),找到你想要单独改变生成的生物种类的那一个(或者几个)刷怪笼所对应的位置上的数值(便捷一些的寻找方法:你想改变生成生物种类的刷怪笼所在的位置上的数值一定是你所创建的第一个生成刷怪笼的rule参数的数值),然后改成生成你想要生成的生物种类的刷怪笼所对应的rule参数数值就可以了。

       原版刷怪笼代码示例:

rule3={Ruins:{entity:{MaxNearbyEntities:2s,RequiredPlayerRange:48s,SpawnCount:4s,SpawnData:{id:"minecraft:zombie"},MaxSpawnDelay:30s,Delay:0s,SpawnRange:4s,MinSpawnDelay:10s,SpawnPotentials:[{Entity:{id:"minecraft:zombie"},Weight:1}]}},Name:"minecraft:spawner"}

       此代码所对应的刷怪笼的基本参数:{生成怪物:僵尸;生成范围:4格;生成时间:4秒;附近最大怪物数:2;玩家距离刷怪笼48格内时将生成生物>}

       借助这一特性,你也可以制作一些特殊生物的刷怪笼,比如铁傀儡、凋灵、末影龙等(笔者设定了冰火传说模组中的冰龙,结果是成功了的),当然要注意生成间隔以及范围内可存在的最大生物数,否则的话……嘿嘿,两秒一个末影龙,谁也受不了!

       关于“含水”参数:

       1.13水域更新之后部分方块新增了一个“含水”的参数——即让它们可以与水并存。而作为万能的方块生成设定器,遗迹模组自然也是可以调用含水参数的。

       一个包含含水参数的方块在生成规则中显示如下:

rule4={Properties:{waterlogged:"true"},Name:"minecraft:tube_coral"}(定义生成规则4:在位置上生成一个管珊瑚,含水为是)

       代码解释翻译成人话就是在位置上生成一个含水的管珊瑚,其中的{waterlogged:"true"}就是含水参数,把它调成false就是不含水的。

       含水参数的意义相当于把一个水源方块和一个碰撞箱占不满一格的方块放在一起,同时具有水源方块和可含水方块的特性。注意,含水方块中关于水的特性是跟水源方块相同,而可含水方块接触水时无论水有多深(也就是水已经在平面上流动了多少格),它都会变成含水方块,也就是带有水源方块性质的方块,翻译成易懂的话就是可含水方块接触水时无论水有多深,它都会变成水源方块与它本身的结合体,而含水方块中包含的水源方块是可正常流动的,与普通的水源方块相同。

       至于它的实际作用……除了给水加上一些装饰以外,它其实没什么特别的作用,或许是笔者没想到也说不定?有兴趣的话可以在评论区留下你的奇思妙想哦,比如说利用可含水方块接触水时无论接触到的水有多深它本身都会与一个水源方块结合的特性制作一些副本类的遗迹之类的……

       当然同样模组也可以直接生成水,水的生成规则代码如下:

rule1={Properties:{level:"0"},Name:"minecraft:water"}(定义生成规则1:在位置上生成一个水,流动等级为0)

       规则中的{level:"0"}是适用于液体的流动等级,流动等级翻译成更易懂的话就是液体已经在平面上流动了多少距离,这个数字越大则代表已经流动的距离越大,为0则代表在平面上还没有流动,也就是液源方块。

       注意,如果你想在不位于水中的遗迹内加入水中植物的结构,那么最好记得把这些水中植物的含水参数设为true,否则遗迹结构生成后不久这些水中植物就会失活或者根本无法生成。

       比如如下遗迹:遗迹Ruins1.15.2补充教程-第2张图片

       (注意遗迹结构中的管珊瑚)

       关于命令方块:

       目前没有发现1.15.2版本中的命令RUINSTRIGGER规则如何使用。

       注意:由testruin指令生成的遗迹生成时是以调用指令的玩家所在的位置为基点的,具体生成位置为:【x=<玩家的x坐标>,y=<玩家的y坐标+embed_into_distance值+random_height_offset设定范围内的随机值>,z=<玩家的z坐标>】,也就是说如果你设定了一个埋深为30,随机埋深为-5~5的地牢遗迹,那么这个遗迹被指令调用生成时就会生成在你所在的位置的下方25~35格的位置(所以站在地面上用指令生成地下遗迹就得开旁观模式穿墙去地下找生成出的结构。)

       另:在rule规则中的方块名是/fill 指令生成方块使用的方块名而不是/give 指令使用的。

       关于箱子:

       注意这里举例的箱子并不是随机物品的战利品箱。代码如下:

rule<数值>={Ruins:{entity:{Items:[{Slot:<数值>b,id:"<物品id>",Count:<数值>b}]}},
Properties:{waterlogged:"<true/false>",facing:"<east/south/west/north>",type:"single"},Name:"minecraft:chest"}

       代码中“Ruins:{entitu:{Items:[]}}”是控制箱子的物品,“{Slot:<数值>b,id:"<物品id>",Count:<数值>b}”中Solt是控制物品位于箱子中的哪一个位置,数值为0b到26b,箱子最上方一排储物格从左到右第一个格子是0b,第二个是1b,中间这一排从左到右第一个是9b,第二个是10b,以此类推,,箱子下排最右边这个格子是26b。某些模组中储存量极大的箱子(比如龙之进化模组的龙箱)中Slot规则后面的数值也是一样的;id是控制这一位置上的物品;而Count则是物品数量,注意填入数值时请注意这个数值不要超过这一物品的可堆叠上限(也就是该物品可以放在同一储物格中的数量上限,多数物品为64,多数工具、武器、盔甲等都为1,模组物品则取决于模组作者的设定。)如果填入超过物品可堆叠数量上限个数的物品会发生什么由于还未测试的原因暂时未知。而后面的Properties:{}即方块标签,其中waterloggedk控制其是否含水(只有可含水方块才有这个标签,如所有种类的珊瑚),facing控制朝向(只有可以朝向不同方向的方块才有此标签,如发射器),type控制什么暂时未知,注意整个代码一定要用{}括起来(从rule=开始一直到整个方块的代码结束),否则rule=后面的内容就会被判定成这是多个方块的代码放到一起了,执行的时候就只会随机执行其中的某一部分,,然后么,结果显而易见,整行代码直接无效。

       另外如果什么都不填只写一个rule<数值>={Name:"minecraft:chest"},那么第一次调用指令生成遗迹时就会为该遗迹中所有的箱子全部导入原版的战利品表决定每个箱子里面分别是什么并将其保存,之后再生成这个遗迹时遗迹中的箱子里面的物品就会被固定成之前随机生成出来的物品。

       关于组合式遗迹:

       组合式遗迹一般都是占地面积比较大的遗迹,把所有需要用到的建筑制作好,然后制作中心遗迹,再用附属遗迹参数调用它们就可以了。

       在1.15.2中,附属遗迹参数是“adjoining_template=”,位于遗迹模板文件中rule规则参数的前面一行。增加附属遗迹的方法为在参数的“=”后加入<文件路径;x坐标偏移值;最大y轴坐标偏移值;z坐标偏移值;生成几率>,其中的坐标偏移是以中央遗迹本体为中心的。代码如下:

adjoining_template=<文件夹名>/<文件名>;<x轴偏移值>;<y轴允许偏移范围>;<z轴偏移值>;<生成概率(%)>

       文件夹名指的是.minecraft\config\ruins_config中的文件夹名。

       注意,这一参数中生成遗迹的位置指的是遗迹生成的基准位置,具体生成位置为【x=<基准位置的x坐标>,y=<基准位置设定的y轴偏移量偏移范围内的可生成附属遗迹的平面+embed_into_distance值+random_height_offset设定范围内的随机值>,z=<基准位置的z坐标>】

       想要设置多个附属遗迹?在1.15.2中设定多个附属遗迹的方法为复制adjoining_template=参数(把adjoining_template=复制一遍然后在“=”后继续写之前的代码格式就行了),注意adjoining_template=参数的最后一行与rule参数之间必须空开一行。

       通过这个方法,你就可以轻松地制造出占地面积极大但有很多重复建筑的遗迹。你甚至可以利用这一参数的最后一个代码值(生成几率)制作类似于带有隐藏宝箱房间的遗迹!(把生成概率调低一点就行了,比如调成10。)


附加内容:

       如果你发现你设定的生成规则出了问题,且暂时无法发现问题出在什么地方,想要把这个生成规则用另一个替换,其实这很简单:只要在layer水平生成阵列中找到这一规则对应的数字然后改成其他的数字就行了。比如我自己制作的那个简单遗迹,对应命令方块的生成规则(rule6)出了问题,我想把这个规则用另一个(rule1)替换掉,那么就可以这样:

       首先找到rule6生成规则所在的layer:

layer

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,6,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

endlayer

       然后把这其中对应rule6的数字(6)改成对应rule1的数字(1)就行了

layer

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,1,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

0,0,0,0,0,0,0,0,0

endlayer

       通过这个办法,你也可以先造好一个遗迹的模板平台,然后把需要的方块全都摆到模板平台上,保存遗迹模板,然后直接出游戏去在.tml文件里面进行遗迹建筑,这对于一些包含大量浮空方块的遗迹就很方便了。不过如果你打算这么干的话就需要自行复制layer阵列了,注意一下复制的时候头上和尾巴上的layer和endlayer也要带上;并且根据需要更改遗迹的长宽高参数值。

       比如说这一遗迹的长宽高参数

dimensions=9,9,9

       其中三个数值中的第一个是对应高的数值;第二个在layer阵列中对应的是行数,即有多少横行;第三个是列数,即每横行中有多少个数字。


       未完待续……