Skip to content

以“手持”魔法为最初点子所展开的 Minecraft 魔法 API 模组

Notifications You must be signed in to change notification settings

qianzha/HeldMagic

Repository files navigation

HeldMagic

介绍

实现可持有魔法(载体为物品)、相应的“魔法技能树”,并提供API予以注册拓展。

鸣谢

  • Mojang 及 Forge 的开发者们;
  • TeamCovertDragonustc-zzzzV2MCdec 发布的中文模组开发教程;
  • 学习中参考、借鉴的开源模组源码、Minecraft Wiki、国外教程;以及在开发中遇到问题时,查找到的相关文章或帖子。

当前内容

  1. 可持有魔法:
    • 功能由相应的载体物品实现。
    • 当前仅实现命令装备。
    • 装备需要玩家已经解锁该魔法,并且魔法本身判断玩家是否能装备。
    • 装备时替代主手或副手的物品,丢出物品或在Gui中选中物品时退还原物品。
    • 魔法的接口:

    a. 默认是否解锁;
    b. 是否可装备;
    c. 无法装备的返回信息;
    d. 装备成功时将调用的方法;
    f. 获取注册ID;
    g. 获取描述;
    h. 获取载体物品;

  2. 魔法技能树:
    • 保存玩家的魔法解锁情况,仅保留默认锁定的魔法。
  3. 命令,皆以 /heldmagic, /hm 为起始:
    • skilltree

    list: 列出玩家所有解锁魔法
    check: 检测魔法是否解锁
    // TODO 加个配置,设置使用命令的玩家是否可以检测自己未解锁的命令(目前是否,就只是用来看别人了)
    add: (OP) 添加解锁
    remove:(OP) 移除解锁

    • holeable <magic_registry_name> <hand>
      装备魔法,需要玩家已经解锁该魔法,且魔法本身判断可装备。 命令仅提示玩家已解锁的魔法。
    • test (OP)

    holeable 同上,命令提示所有魔法,无需解锁,无需确认可装备。

未来计划

  1. 指令或按键调用 GUI 进行装备:
    • 初版 GUI
    • 每个命名空间(modid)、每个魔法都可禁止通过GUI装备
    • 吟唱与魔法阵!
  2. 更多的魔法类型,允许注册两个大分类下的子类型:
    • 载体魔法:
      • 当前的手持魔法:载体物品。
      • 可以扩展载体为装备物品、方块等?
    • 无载体魔法:
      1. 装备时按键使用的魔法;
      2. 装备时作用的魔法?(作为无法卸下的简单属性判断,或是装备时持续作用。 后者感觉像是没有时限的药水效果,不过可以让开发者让它在作用的同时有消耗就是了。
  3. 魔法的前置魔法
  4. 事件
  5. 指令:批量操作

About

以“手持”魔法为最初点子所展开的 Minecraft 魔法 API 模组

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages