ItemStackUtils:物品工具
物品操作扩展工具集
ItemStackUtils
- 物品工具集提供了一系列
ItemStack的Kotlin扩展函数,用于便捷地操作物品的Lore、名称、NBT标签以及ArcartX专属属性。 - 位于
priv.seventeen.artist.arcartx.util.ItemStackUtils,所有方法均为静态方法。 - 在Kotlin中可直接作为扩展函数调用,在Java中通过
ItemStackUtils.xxx(itemStack, ...)调用。
Lore操作
ItemStack.addLore(text)
- 为物品追加一行Lore
- 参数:
text: String — Lore文本,支持&颜色代码(会自动转换为§) - 返回值:无
- 调用示例
ItemStack.setLore(text, line)
- 设置物品指定行的Lore
- 参数:
text: String — Lore文本line: int — 行号(从0开始)
- 返回值:无
- 调用示例
ItemStack.insertLore(text, line)
- 在物品指定行插入一行Lore,原有内容向下移动
- 参数:
text: String — Lore文本line: int — 插入位置行号
- 返回值:无
- 调用示例
ItemStack.removeLore(line)
- 删除物品指定行的Lore
- 参数:
line: int — 要删除的行号 - 返回值:无
- 调用示例
ItemStack.containsLore(text)
- 判断物品Lore中是否包含指定文本(模糊匹配)
- 参数:
text: String — 要搜索的文本 - 返回值:boolean
- 调用示例
名称操作
ItemStack.setDisplayName(name)
- 设置物品的显示名称
- 参数:
name: String — 显示名称,支持&颜色代码 - 返回值:无
- 调用示例
ArcartX专属属性
ItemStack.setIcon(path)
- 设置物品的图标贴图路径(ArcartX客户端渲染)
- 参数:
path: String — 图标资源路径 - 返回值:无
- 调用示例
ItemStack.setModel(path)
- 设置物品的3D模型ID
- 参数:
path: String — 模型ID - 返回值:无
- 调用示例
ItemStack.setFPModel(path)
- 设置物品的第一人称模型ID
- 参数:
path: String — 第一人称模型ID - 返回值:无
- 调用示例
ItemStack.addExtraModel(locatorName, modelID)
- 为物品添加额外渲染模型,挂载在指定定位器上
- 参数:
locatorName: String — 定位器名称modelID: String — 模型ID
- 返回值:无
- 调用示例
ItemStack.setUrl(path)
- 设置物品在UI界面中显示的贴图路径
- 参数:
path: String — 贴图资源路径 - 返回值:无
- 调用示例
ItemStack.setDrop(path)
- 设置物品掉落时的附加模型
- 参数:
path: String — 掉落模型ID - 返回值:无
- 调用示例
冷却系统
ItemStack.setCoolDownTag(value)
- 设置物品的冷却标签,相同标签的物品共享冷却
- 参数:
value: String — 冷却标签 - 返回值:无
- 调用示例
ItemStack.getCooldownTag()
- 获取物品的冷却标签
- 参数:无
- 返回值:String — 冷却标签,无标签时返回空字符串
- 调用示例
ItemStack.getCooldown(player)
- 获取物品对于指定玩家的剩余冷却时间
- 参数:
player: Player — 玩家 - 返回值:long — 剩余冷却时间(毫秒),0表示已就绪
- 调用示例
ItemStack.setCooldown(player, time)
- 为物品设置对于指定玩家的冷却时间
- 参数:
player: Player — 玩家time: long — 冷却时间(毫秒)
- 返回值:无
- 调用示例
NBT操作
ItemStack.getTag(key)
- 获取物品的NBT标签值,支持
.分隔的深层路径
- 参数:
key: String — NBT键名,支持a.b.c格式的深层路径 - 返回值:String — 标签值,不存在时返回空字符串
- 调用示例
