终于重紫大人的魔爪下逃脱了出来,教程什么的还是要更新的。看今天已经这么晚了,就少更新一点好了。
上一期教程我们已经学会如何添加一个没有材质的物品或者没有材质的方块(没有材质有用么(╯‵□′)╯︵┻━┻)。这一期本来说要教如何添加材质以及注册合成和烧炼,但是由于时间有限,今天先说上回忘记说的如何给你添加的那些东西添加名字吧。
在旧的教材中,往往是直接通过下面的方式添加名字,但是forge将会在minecraft1.8移除掉这个API,所以我就不打算介绍下面的过时的东西了,直接讲新的方式。
nguageRegistry.addName(myBlock, "我的第一个砖块");//代码直接copy自szszss的mod教程
forge在minecraft1.8之后将会强制要求mod使用资源语言系统来实现国际化,所以forge将会移除掉上面的API(这对于开发者来说应该是一件好事)。
我们先说一说在forge中的几种不同的名字吧。
- 内部名字:就是在注册方块或者物品的时候填写的那个名字。这个名字将会在minecraft内部用来标识ID,用来建立ID的索引。对于外部这个名字没有什么作用。
- 没有经过本地化的名字(不要吐槽我的翻译):这个名字通过block的setName(这个方法以前就叫做setUnlocalizedName)以及Item的setUnlocalizedName来设置。设置了这个名字之后你的方块的名字将会变成“tile.你设定的名字.name”这样的形式,而物品将会变成“item.你设定的名字.name”这样的形式。
- 本地化的名字:通过语言包文件把未经过本地化的名字翻译出来的结果。汉化Mod的话在未来就只需要修改语言文件了,这对于汉化者是极大地帮助。
我们的物品或者方块如果没有添加一个未经过本地化名字的话,forge就会默认的给它一个名字。但是这个名字远不是我们想要的,所以我们在注册它们的时候就需要设定好它们的名字。
当然了,仅仅是设定它们的名字是远远不够 的。我们还要添加我们自己的语言文件。下面将会以添加英文语言文件为例演示如何添加一个语言文件到你的mod中。
- 在你的项目的资源文件夹中创建一个新的包,名字是“assets/你的modid/lang”
- 在这个包中建立一个新的文件,命名叫en_US.lang
- 在这个文件中添加类似下面的翻译规则:tile.myFirstBlock.name=My First Block
这样的话,恭喜你,你已经学会添加一个没有材质没有作用但是有自己名字的物品或者方块了。(可是还是没有用啊(╯‵□′)╯︵┻━┻
物品名字设定新的方法是什么应该怎么用,
用modid不行啊…….只能用name来新建才起效啊
你说的这个是哪一步用modid无效呢?如果是注册方块什么的用id的方式已经过时了,马上这个API就要被移除了呢
当然不是啦,毕竟1710里已经没法用物品ID了
我说的是在主类里定义的modid啦
你是说的Mod标签么?那个是在info文件不存在的时候会被识别的。当然这个modid也是为了和info文件相对应才弄的
目前甩在源文件里的info文件还是那个example的……也就是说修改info就可以咯?