多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
>[danger] 设置道具等级 ![](https://img.kancloud.cn/47/b4/47b48ab5fe8649cf27db0ccce9a8d666_820x978.png) >[danger]完整代码 ``` public void test(ItemStack itemStack) { //获取模块 ItemModule module = Module.getModule(ItemModule.class); //道具管理器 ItemManager itemManager = module.getItemManager(); //先将bukkit物品堆转为pr的适配(代理)物品堆 AdapterItemStack proxyItem = MAPI.getBukkitPxRpgAPI().toPxRpgItemStack(itemStack); //管理器判断是不是这个类型的道具,不是就不继续操作 if (!itemManager.isThat(proxyItem)) return; //将道具转为pr道具中间件 //这个操作会将nbt的数据也一并解析 //所有的组件内容会在这个中间件中暂存 //相关操作也是在这个接口里进行 ItemInter itemInter = itemManager.toThat(proxyItem); //道具模块封装好了一些基本组件 { //如: 等级组件 LevelPiece<ItemInter> levelPiece = module.getLevelPiece(); //道具等级 Integer level = itemInter.getProxyObjectData(levelPiece); //同时也可以设置这个值 //注意: 对一个中间件进行操作完后 // 需要重新将道具给渲染一下 itemInter.setProxyObjectData(levelPiece, 20); //渲染方法 itemInter.render(); //渲染过后获取一下新的ItemStack AdapterItemStack newAdapterItemStack = itemInter.getItemStack(); //再转为bukkit的道具 ItemStack newItemStack = MAPI.getBukkitPxRpgAPI().toBukkitItemStack(newAdapterItemStack); } } ```