本帖最后由 DJXGAME 于 2012-9-2 12:14 编辑

Minecraft MOD制作:从入门到精通
The Dummy's Guide to Modding - From Setup to Advanced!



——全文索引地址——
http://www.mcbbs.net/thread-46190-1-1.html

第四章:您等待已久的一章


我希望您能多加阅读一些Minecraft的代码,虽然对于一个java造诣不精人来说,代码有可能显得凌乱,但是不要灰心丧气。


第四章第六节:创建一组工具


在接下来的教程中,我们主要集中于讲述如何创建一组工具。这一节要比其他各节都要复杂,所以各位同学打起精神来~~

首先,我们需要为新的工具创建一个EnumToolMaterial。在您的类中添加如下代码,注意不是在任何的类函数中。


New Tool Material

名称含义

EnumHelper.addToolMaterial
我们所引用的Forge类函数。如果您在此处出现错误,请手动导入net.minecraft.forge.EnumHelper
以下变量可以进行更改
''BLUE''材料名称
2您所设定的工具能够正常开采的硬度等级(如黑曜石矿为3、钻石矿为2、铁矿为1)
171该工具的耐久度(木质工具为59、钻石工具为1561)
5F使用该工具开采的速度,您可以根据如下数据进行大概地判断(木质工具:2.0F,钻石工具为8.0F)
1该工具对实体所造成的伤害值,具体计算公式如下(该数值+4)÷2。(如此时每击伤害为2.5颗心。)
5可附魔性,此处不确定(石头为5、钻石为10、金为22)

第二步,我们需要创建一个新的物品对象

New Items

此时会报错,这是由于还没有新建类。


BlueStoneSpade我们接下来所要创建的类的名字
(ItemID1, BLUETOOLS)为您的铲子所设置的物品ID。请记得为您每一个工具都设置一个不同的物品ID!BLUETOOLS是我们之前建立的EnumToolMaterial
.setIconIndex(int)与之前类似,用于设定物品的子图号
.setItemName(String)与之前类似,设定物品的内部名称。每个物品都要不同!

现在创建一个新的类,此时您应该需要5个类了。现在我们执行下一步,扩展工具类(不是扩展item类)。

举例来说,我的蓝石铲(BlueStoneSpade)会扩展为ItemSpade。那么蓝石斧(BlueStoneAxe)就应该扩展为 ItemAxe,以此类推。

Into load()




MinecraftForge.setToolClass
调用该类函数可以为我们的物品设置一个恰当的类
blueStonePickaxe我们传递的镐的参数,也要记得为您的铲子、斧头进行相应的设置。
"pickaxe"小写,工具类型
2之前提到的硬度等级,您之前应该通过EnumToolMaterial进行了硬度等级的设置

您只需要为斧、镐、铲进行相应的设置!

现在使用Modloader.addName添加名字,以及参照之前的教程添加合成表~

好啦,您的蓝石系列工具就出炉啦~我认为MOD制作中最为复杂的部分就是绘制一份好看的材质。。。。

少年们,用你们手中自己创建的工具挖出个大坑吧~~~