Skip to content

nekoMC/StrengthenWeapon

Repository files navigation

StrengthenWeapon

道具强化插件 For PaperMC演示效果spigotmc 介绍页

功能介绍

此插件提供道具的养成体系,玩家可对白板道具进行洗练精炼操作以获得新属性、提升已有属性。

所有的洗练精炼操作,大部分是可以配置的。因此配置文件会比较复杂、灵活。

在此基础上,另有提供一定的拓展附魔(可禁用)、丰富的道具操作指令等。

道具洗炼体系

道具可以通过洗炼获得新属性,根据配置的不同,玩家可以使用不同的洗练材料获得不同的属性追加。

可以通过配置决定白板道具的属性、洗炼的成功率与规则、失败规则与产物、洗炼的预览等。

每次洗炼都是独立的、基于白板进行时,无法保留上次的洗炼结果,也无法保留精炼、手动修改等操作获得的属性修改,除了会叠加洗练等级,其余属性一律重置为白板配置的属性,包括精炼等级。


道具精炼体系

道具可以通过精炼修改已有属性,当一个属性值在精炼过程中变为 0,则该属性丢失。一次精炼如果命中了白板上不存在的属性,则本次精炼失败,但不会损失白板,只增加精炼等级。

精炼与洗炼独立,成功率与洗炼的成功率单独计算。在配置、使用方法上与洗炼基本一致。

精炼会在道具现有的属性基础上进行,除非精炼材料配置了相关改动,否则不会影响除了精炼等级以外的属性。


技能&基于药水瓶的魔法支持

技能旨在不过于改动原生玩法的基础上,拓展更多游戏内容。技能亦可用于上述的强化过程中。

技能仍在持续迭代补充中,不需要的技能可以通过配置,在 config.yml 整个中注释掉后重启生效。

可以在道具上附上魔法相关的技能,当前只有 SPLASH 作为魔法体系的基础技能。手持带有该附魔的道具右键时,即可抛出药水瓶,药水瓶的效果则需要其他技能提供。


道具操作指令

插件为管理员提供了便捷操作道具的指令,允许直接操作道具附魔、属性、Lore、名称等属性;直接生成掉落;忽略失败概率强化等。

详见 help 指令说明或下文指令解释部分。

需注意

  • 已知冲突:

    • 1.0以前版本,与 ProtocolSupport 一同使用时,会导致处于创造模式下的玩家,在进行打开背包、复制物品等操作时,导致物品的自定义附魔消失。此时打开任何工作台后,点击对应的物品即可自行修复消失的附魔。
  • 基岩版兼容(非基岩版互通服无需关心):

    • 因基岩版的特性,在配置洗炼、精炼材料时,必须使用可燃物(树苗、木制品、书架等),且容器仅支持熔炉。

配置文件

config.yml

主要为消息提示配置、附魔配置和补充配置。

  • 消息配置:方便多语种支持的,汉语无需关心
  • 技能配置:如果想禁用一个自定义附魔,可以将其整个配置项注释掉
    • 技能配置中,SPLASH 为巫师的实现,有该技能的道具,在主手右键时可以生成投掷的药水瓶。
    • 只有 SPLASH 技能时,抛出的药水瓶无任何效果
    • POTION 后缀的附为药水瓶的辅助技能,可以为抛出的药水瓶追加状态效果,只对 SPLASH 一类的附魔生成的药水瓶有效,可用的附魔及解释详见配置文件 config.yml
  • 补充配置:enablePlayerEnchant 为 true 时,将允许玩家对本插件中获得的物品进行自定义附魔、改名、祛魔等操作。

items 配置

items 目录存放插件的核心配置文件,可以在其中指定自定义物品、强化规则等。只识别目录下的 *.yml 文件,详情参考示例配置文件(demo.yml)内容,此处只做补充解释说明。

  • type:支持 BLANKREFINE_STONESTRENGTHEN_STONEDEFAULT
    • BLANK:白板,此类型的道具可以进行后续的洗练精炼等强化操作,配置为此类型时,需要在该道具的配置项中指明洗练、精炼规则。
    • REFINE_STONE:洗练原料,此类物品将在对白板进行洗炼时,作为消耗品使用。
    • STRENGTHEN_STONE:精炼原料,此类物品将在对白板进行精炼时,作为消耗品使用。
    • DEFAULT:部署于以上几种类型,又需要使用本插件进行管理的道具类型。
  • candidates,分为4部分。
    1. 表示目标操作,如果为属性时,需要同时指定生效的槽位,可以不指定槽位,此时将会随机选取一个槽位使用;目标操作有 ATTR_UPATTRENCH_UPENCH 分别表示属性值加成、重置指定的属性为、提升附魔等级、重置附魔等级为。
    2. 要操作的目标增强,可以为属性 ID 或附魔 ID。
    3. 提升的属性值,支持负数、小数。
    4. 执行该条操作的概率。
  • times,指定使用该材料进行强化时,执行强化的次数以及概率,缺省时,默认 100% 执行一次强化。

指令说明

  • sw refine [<玩家>]
    • 打开洗炼菜单
    • 如果指定了玩家,则要求执行者拥有管理权限(sw.admin),为指定玩家打开洗炼 GUI
    • 如:sw refine ChiruMori 表示为 ChiruMori 打开洗炼 GUI
  • sw strengthen [<玩家>]
    • 打开精炼菜单
    • 如果指定了玩家,则要求执行者拥有管理权限(sw.admin),为指定玩家打开精炼 GUI
    • 如:sw strengthen 表示为自己打开洗炼 GUI
  • sw help
    • 显示帮助信息,根据玩家是否拥有管理权限显示的内容不同
  • sw give <玩家> <道具名> [<数量>]
    • 管理员指令,给予指定玩家道具
    • 道具名必须为 items.yml 中配置的道具
    • sw give ChiruMori super_bow 2 表示给予 ChiruMori 两个配置为 super_bow 的道具
  • sw drop <玩家> <x> <y> <z> <道具名> [数量]
    • 管理员指令,在玩家所在世界的指定坐标生成掉落物
    • 道具名必须为 items.yml 中配置的道具
    • sw drop ChiruMori 0 88 0 super_bow 2 表示在 ChiruMori 所在世界的 [0, 88, 0] 坐标位置生成两个配置为 super_bow 的掉落物
  • sw enchant <附魔ID> <附魔等级>
    • 管理员指令,对主手上的物品进行附魔
    • 附魔等级没有限制,如果指定为 0,则会删除对应附魔
    • sw enchant mending 4 表示对当前主手上的物品添加等级为4的经验修补附魔
  • sw skill <技能ID> <技能等级>
    • 管理员指令,对主手上物品的技能进行修改
    • sw skill ARROW_RAIN 9 表示对主手上的物品添加等级为9的箭雨技能
  • sw attribute <槽位> <属性ID> <属性值变化>
    • 管理员指令,对主手上物品的属性增强进行操作
    • 槽位为道具生效的槽位,比如 HANDCHEST 等。
    • 属性 ID 表示要增强的属性
    • 属性值变化允许为小数或整数,如果为小数时,则表示百分比增强
    • sw attribute HAND GENERIC_ARMOR 3.3 表示对当前主手上的物品添加如下属性:在主手时,+330%盔甲。
    • sw attribute OFF_HAND GENERIC_MAX_HEALTH 5 表示对当前主手上的物品添加如下属性:在副手时,+5最大生命。
  • sw lore set <行号> <Lore内容>
    • 管理员指令,修改主手上物品某一行的 Lore
    • 行号:允许指定行号为不存在的行,执行时会自动填充空行
    • Lore内容:可以使用 & 标记的颜色代码;使用 [] 替换空格。
    • 如:sw lore set 5 &4RED 表示将主手物品Lore的第5行修改为红色的RED
    • 如:sw lore set 2 &4Neko[]neko 表示将主手物品Lore的第2行修改为红色的Neko neko
  • sw lore del <行号>
    • 管理员指令,删除主手上物品指定行的 Lore,不会向前删除空行
  • sw promote <原料名> <次数>
    • 管理员指令,使用指定的原料对主手上的物品进行强化(忽略失败率影响)
    • 主手物品必须为通过插件获得的 BLANK 类型道具
    • 原料名必须为 items.yml 中配置为 REFINE_STONE 或者 STRENGTHEN_STONE 的物品
    • sw promote speed_stone 5 表示使用配置为 speed_stone 的道具对主手物品进行5次忽略失败率的强化。
  • sw rename <新名称>
    • 管理员指令,修改主手上的物品显示名称,支持 & 标记的颜色代码