磁学(Magnetics)/开发自己的磁卡
阅读
2020-09-07更新
最新编辑:ww清晨ww
阅读:
更新日期:2020-09-07
最新编辑:ww清晨ww
本文将讲述如何在您开发的模组中实现自己的、能接入本模组机制的卡
步骤
每一种卡物品都实现了IItemCard这个接口
这个接口共有两个方法,分别是String getData(ItemStack, String) 和 void setData(ItemStack, String, String)
你需要实现这两个方法
getData是卡在读取数据时被调用的,第一个参数是卡的ItemStack(不需要判断ItemStack的物品是否是这个卡),第二个参数是要读取的数据的键
setData是卡在写入数据时被调用的,第一个参数依然是卡的ItemStack(不需要判断ItemStack的物品是否是这个卡),第二个参数是要写入的数据的键,第三个参数是要写入的数据的值
如果出现了错误,请抛出IItemCard.WriteException这个异常,其理由目前有三种:read-only、write-protect和card-broken
当然了,还得自己处理异常
具体实现由您来决定
本模组的磁卡在实现时遵守了一些规则,如仅将UUID、Owner、Text存储在根NBT中,其他数据都存储在Data这个NBTTagCompound中
UUID和Owner只允许读取,不允许写入,当尝试写入时会抛WriteException异常,理由是read-only