Craftorithm Wiki
  • Craftorithm
  • 开始
    • 安装
    • 默认配置
    • 命令和权限
    • 本地化
    • 升级Craftorithm版本
  • 物品系统
    • 配置构成
    • 物品的保存与使用
    • 自定义燃料
  • 配方编写
    • 配置构成
    • 有序配方
    • 无序配方
    • 烧炼配方
    • 锻造配方
    • 切石机配方
    • 随机烧炼配方
    • 酿造配方
    • 铁砧配方
    • 在配方中使用物品Tag
    • 在配方中使用其他插件的物品
    • 配方分类
    • 通过GUI创建配方
  • 动作系统
    • 基础
      • 在配方中使用
    • 语句
      • Perm
      • Level
      • Money
      • Points
      • Papi
      • If
      • All
      • Any
      • Take-Level
      • Take-Money
      • Take-Points
      • Command
      • Console
      • Return
    • 进阶
      • 函数
  • 开发者相关
    • 物品提供源
    • 注册配方
由 GitBook 提供支持
在本页
  1. 开发者相关

物品提供源

物品提供源用于Craftorithm获取你提供的物品

上一页函数下一页注册配方

最后更新于11个月前

Craftorithm的物品系统提供了一个名为ItemProvider的接口,通过此接口,你可以让Craftorithm读取你的插件提供的物品,而可以做到在你的NBT有变动的情况下可以自动更新配方的物品。效果如下:

插件内置了Craftorithm、ItemsAdder、MMOItems、MythicMobs、NeigeItems和Oraxen的物品提供源,可参考实现。

使用方式

首先,你需要有一个实现com.github.yufiriamazenta.craftorithm.item.ItemProvider接口的类,此接口需要实现三个方法,分别为namespace()、getItemName()和getItem()。

namespace方法需要返回你的物品提供类的命名空间。对于相同命名空间的物品提供源,后注册者将会覆盖先注册者。

getItemName方法接受两个参数,一个是ItemStack,一个是boolean,前者是用于匹配的物品,而后者用于标识是否忽略物品数量。对于不忽略物品数量的情况,你需要返回“物品名字 数量”这样的标识,否则将会出现合成结果与设置时不符的情况。

getItem方法接受一个参数,为String类型,其为物品的名字,此方法无需处理物品的数量问题,只需要按照名字返回物品即可。

实现完接口后,你还需要手动注册物品提供源,使用com.github.yufiriamazenta.craftorithm.item.ItemManager提供的regItemProvider方法即可注册。

此时,插件将可以使用命名空间:id的格式来读取你的物品,同时使用GUI创建配方时也能够自动识别到你的物品ID。

在配方中使用其他插件的物品Craftorithm Wiki
Logo