本帖最后由 city49 于 2013-3-10 04:05 编辑

以下是吐槽MTE是beta这个悲剧。
话说看见材质版的教程贴是我第一次知道MTE。
众所周知,要自己手工做材质是一件很恼人,很累,同时感觉很烦的一件事情。(当然,改材质也是)
同学1:我会ps,我没什么压力。
那请问,很多图片都需要找准位置,你决定ps来定位,然后保存一大堆的psd文件?
同学2:我有MCBBS的MTE,我没什么压力。
嗯,你可以说你没有,不过,那是beta版的,你就算去国外下载一样是beta,碰见一个无法修改的材质图片你怎么办?
同学2:我会手工添加啊。
好吧,坐等MTE在你再次修改的时候自动把它改回去。

好吧,闲聊结束。问题显而易见,有些图片是没法修改的,例如,
/mob内仅有char.png而且盔甲后部无法选中,一旦使用直接替换整个图片(头部盔甲后部有图片的),你就得二选一,要么把它删了,要么你就再开个材质,把其他图片重新放进去一次。另外,/mob内仅有char.png一个文件,其他的呢?jj怪呢?可爱的小z呢?
/terrain内只有sun和moon,啊,我犯难啊,我做了个很漂亮的月亮,带有各种变化在moon_pahse.png里边,可是我就是改不了啊,MTE里边没有啊。
terrain.png你会看到炼药炉和铁砧都是empty,你甚至只能从默认的材质,或者打开的其他材质判断那是什么。
particle.png缺少很多位置的链接。
。。。。。。反正是诸多的不顺。

可是我这里有moon_phases.png我甚至能选中。。。我感觉好方便啊。。。

以下进入正题
接下来揭开谜底。
首先,打开你的MTE所在的位置,用记事本打开imagelist.dat和deftexturelist.dat
一个对应材质图片的区块位置,另一个是材质所拥有的图片。
找一找你会发现

我做了修改,根据文本原有的格式,你可以来判断自己要添加的文件。
// 表示但行注释
/*...*/ 表示整段注释
以下使用注释只是为了看着方便。
deftexturelist.dat内
a|terrain| // 这是代表terrian文件夹
i|moon|
i|sun|
i|moon_phases| // 这是代表该文件夹下的moon_phases图片,这样你在MTE的下拉菜单中就会有moon_phases.png的选项了

我们知道默认的moon_phases.png的大小是128X64,所以,每一个变化(一共有八个月亮变化)都只能占32X32的空间。
imagelist.dat
img,terrain,moon_phases.png,128,64 /* img表示图片,terrain表示一级目录,moon_phases.png是文件名(一定要和imagelist.dat中的文件名对应),后边的数字一个是长度,另一个是宽度,就像屏幕分辨率是1024X768一样。如果仅有一个值,例如,32,则表示这个图片的默认大小是32X32的。*/
tile,32,32,0,0,moon1 /* tile和MTE内部的程序对应,用于表明类型,一定要写tile,不然,标明的区域无法选中。后边的四个数字a,b,c,d分别代表,a:可选中区块的长,b:可选中区块的宽,c:可选中区块的起始x坐标,d:可选中区块的起始y坐标。而可选中区块是按照图片的左上角进行对应的。最后,moon1?这是名称!! */
tile,32,32,32,0,moon2
tile,32,32,64,0,moon3
tile,32,32,96,0,moon4
tile,32,32,0,32,moon5
tile,32,32,32,32,moon6
tile,32,32,64,32,moon7
tile,32,32,96,32,moon8

// 这就是效果啦~~

另外,这些范围语句最好和所圈定的图片的位置对应,你也看见了deftexturelist.dat内有专门的
;-----------------------------XXXXXX来表示这是哪个文件夹下的,这样做的好处是
1.便于以后修改。
2.不会引起程序不必要的错误。

接下来看看terrain.png,多么主要的一部分,有的地方竟然没有标注- -我了个郁闷啊!
这次仅仅在imagelist.dat内
找到一行叫做
img,root,terrain.png,256 // 这行找起来挺麻烦的,不过也很好找,因为你会发现后边有很多ROW1...ROW16的tile,ROW这个名称是可以修改的,因为那仅仅是注释。

就像这样,是不是似曾相识?tile的写法和其他图片是一样的,唯一的不同时进行了分组,这样便于修改和命名。赶快动手改吧。(以后不用看着蛋痛的?和empty了)

而后,同学3问道:为什么有的图片在MTE里边有一个禁止符号?

显而易见,作者给这个文件写了区块的选择文件,但是,mc默认的材质里边没有这个文件,找不到对应文件来替换。
因此,对于想要加入mc的其他种类的效果图,例如,动态岩浆和动态水体,你可以把mc的deftexturelist.dat和iamgelist.dat里边的语句先写好,关闭保存,然后打开你自己制作中的材质包,随便拖入一个(或者拖入其他材质包的)同名文件,再打开MTE就好了。
什么?大小不对应?没关系,因为你的配置文件已经写好了,MTE能根据默认大小调整图片大小,进行一次调整就好了,图片就会自动填满区域,拖入图片的目的只是为了加入图片。因为你无法在MTE内建立原本不存在的图片。

其实MTE还是很好的,因为它是从mc自身抽取文件出来不需要实时备份最新的文件;不过它也很坑,因为你能看见一堆的?和empty,重点是那里明明有图片!最后,对于有些想做材质的人来说(英文普及率应该挺高的啊),英文是多么的麻烦(谁叫作者是外国人的?),其实可以用中文的,不是么??


该说的,不该说的都说完了,祝各位做材质的同学们能顺利完成他们的材质。(当然,包括我这个材质万年坑,做了这么久还没结束。)

PS:其他材质的properties文件真的值得借鉴~~效果丰富啊~~动态岩浆和水体是一个,旋转的附魔台,随风飘动的草地(好吧,其实都是一个道理,只是图片不同而已~~具体见某些牛X的很的材质的ctm文件夹~~)

At last, happy making TexturePacks~