欢迎来到我的世界玩家社区Wiki!如需参与编辑,请每一位编辑者务必仔细阅读Wiki方针
全站通知:

磁学(Magnetics)/开发自己的磁卡

阅读

    

2020-09-07更新

    

最新编辑:ww清晨ww

阅读:

  

更新日期:2020-09-07

  

最新编辑:ww清晨ww

来自我的世界玩家社区WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
ww清晨ww
原版-书与笔.png
本页面内容并不完整,可能有错误或者遗漏的地方
我的世界玩家社区WIKI 欢迎您帮助我们完善这个页面

本文将讲述如何在您开发的模组中实现自己的、能接入本模组机制的卡

步骤

每一种卡物品都实现了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

另请参阅

卡API