看了很多Mod的源码,它们在实现物品的时候经常通过仅实现一个Item子类,并通过调用setHasSubtype以及重写getSubItems方法,只使用一个Item实例实现多种物品。
但是又听说1.13及以上版本的Forge中Metadata被取消了,这个实现物品的方法可能不再适用。
因此我想请教大家几个问题:为了Mod能顺利过渡到1.13及以上版本的Forge,在1.12及以下版本的Forge中采用这种Meta-hack的方式来实现物品是否是最佳方案?以后的版本中是否也有类似Meta-hack这种实现方式?
但是又听说1.13及以上版本的Forge中Metadata被取消了,这个实现物品的方法可能不再适用。
因此我想请教大家几个问题:为了Mod能顺利过渡到1.13及以上版本的Forge,在1.12及以下版本的Forge中采用这种Meta-hack的方式来实现物品是否是最佳方案?以后的版本中是否也有类似Meta-hack这种实现方式?
如果你有几十上百个大同小异的物品,就像pams那样,选择meta-hack是最合适的方式,因为1.12的物品ID是有上限的(后面的版本虽然也有,但大多了)。以后的版本就是每种物品一个对象了。
1.13+进行了扁平化,但是在1.12.2你必须使用meta-hack