zh
切换语言
  1. PowerNukkitX
  2. 快速入门
  3. 服务器配置

    1. server.properties
    2. nukkit.yml
    3. pnx-cli-config.ini
    4. 反矿透
    5. 资源包加密
    6. 硬件加速压缩
    7. 使用WaterDogPE
    8. 超平坦世界
  4. FAQ

    1. 新人必看
    2. PNX-CLI教程
    3. 常见问题
    4. Terra问题
    5. 重生点问题
    6. 转换地图
  5. 开发者文档

    1. Java

      1. 跳转到JavaDoc
      2. Mod API

        1. 自定义方块
        2. 自定义物品
        3. 自定义实体
        4. 自定义附魔
      3. 生物AI

        1. 行为
        2. 记忆
        3. 传感器
        4. 运动控制器
        5. 寻路器
        6. 行为组
        7. 工作周期
    2. JavaScript

      1. 配置开发环境
      2. 基于LLSELib开发
      3. Hello World
      4. 基本知识
      5. 事件监听
      6. 常见开发问题
    3. API

      1. 简介
      2. 通用API
      3. Git-API
      4. 下载API
      5. 延迟返回API
      6. 插件API
    4. 实用资源

      1. 事件对照表
      2. 物品方块ID

4.自定义附魔

author: Cool_Loong

实现自定义附魔

实现自定义附魔首先需要继承Enchantment,并且选择使用该构造函数
protected Enchantment(@NotNull Identifier identifier, String name, Rarity rarity, @NotNull EnchantmentType type)
其中Identifier是该附魔的标识符,形如pnx:test,保留minecraft命名空间不允许使用,不能与其他插件相同
String为该附魔的显示名
Rarity为该附魔的珍稀程度
EnchantmentType为该附魔的类型,不同类型允许附魔的物品不同
注意,自定义附魔没有数字ID,获取自定义附魔只能通过字符串来获取。
通过使用Item#hasCustomEnchantment(String id)来判断该物品是否具有指定的自定义附魔
通过使用Item#getCustomEnchantment(String id)来获取该物品指定的自定义附魔
通过使用Item#getCustomEnchantmentLevel(String id)来获取该物品指定的自定义附魔等级

实现自定义附魔逻辑

核心只提供自定义附魔的注册,关于自定义附魔的逻辑需要插件作者自己实现。
你可以通过覆写附魔中的部分方法实现特定过程中的逻辑
例如:
doPostAttack当实体entity穿着附魔盔甲,被实体attacker攻击时触发
doAttack当实体attacker使用具有附魔的武器攻击实体entity时触发
你还可以通过监听事件实现自己想要的附魔逻辑 更多详情见javadoc

注册自定义附魔

使用Enchantment#(Enchantment enchantment, boolean registerItem)注册自定义附魔 registerItem代表是否同时需要注册自定义附魔书物品


© PowerNukkitX 开发组