用户:MashKJo/1.12.2模组开发教程/6.ItemStack和Meta-hack:修订间差异

无编辑摘要
无编辑摘要
无编辑摘要
== ItemStack对象的使用 ==
ItemStack对象和Item不同,它是随建随用的。永远不要尝试去继承ItemStack类,因为这么做没有意义——事实上你也不可能去继承它,因为它是一个final class。
 
在设计物品的功能时,我们自然而然地会有给物品添加附加数据的需求。首先先明确一点——永远不要让附加数据以Item实例的实例变量的形式存在,因为Item代表的是物品类型,牵一发而动全身,数据的变化会影响所有物品类型为该Item实例的ItemStack——所以你应该把目光放在ItemStack的那几个字段上。能存储额外信息的字段,其实只有两个:Meta和附加NBT。但是除非你要存储的数据是该物品的损害值/耐久值,否则,通常不推荐用meta存储额外数据,因为它本身不是什么复杂的引用类型变量,只是一个int整数罢了,而且它的使用颇有些hack的味道(甚至于1.13开始它直接被抹去了)。所以,还是把目光放在附加NBT上为好。
行政员、​优秀编辑者、​界面管理员、​监督员、​管理员、​小部件编辑者
3,334

个编辑