第四章:您等待已久的一章
我希望您能多加阅读一些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制作中最为复杂的部分就是绘制一份好看的材质。。。。
少年们,用你们手中自己创建的工具挖出个大坑吧~~~