炫宙菌
本帖最后由 炫宙菌 于 2023-2-3 16:44 编辑



Magic
颠覆性的法术插件
——Reposted By 炫宙菌
前言
Magic是一款颠覆性的技能插件,可以通过独特的体制制作大量自定义技能。
这些技能涵盖大量娱乐、战斗、管理方面,可以说一个个技能就能替代超多插件。
作为一个纯粹的技能插件,它的表现远超Mythicmobs和SkillAPI以及姊妹插件Magicspells。
目前最新版本为10.8.5,可支持1.6-1.19的多个版本。
使用须知
Magic插件是一款比较纯粹的技能制作插件,
可以让玩家享受当法师的乐趣,使用法杖(wand)释放法术、进阶法术、成为法术大师
本帖提及的法术、技能等词汇指的都是spell;魔力、法力指的都是mana。
部分内容需要等待WIKI翻译完成后才便于放出,敬请期待。
如有错别字,请指出或忽略。
帖内出现的“||”是行内的分割号,用以区分指令和注解

<>为必填项,[]为选填项,()为注释项
插件功能
  • 自己制作心中所想效果的技能
  • 支持Cauldron系Mod端
  • 联动Heroes BattleArena SkillAPI等插件
  • 可直接使用SkillAPI的蓝量
  • 使用魔杖储存技能并快捷触发技能
  • 提高技能的专精等级
  • 多个技能之间灵活配合
  • 指令权限控制触发技能
  • 支持修改海量参数如速度、转速、坐标、拉力推力、距离、时效、偏移等
  • 支持多种触发方式
  • 支持所有实体、粒子、音效等
  • 支持函数配置参数
  • 支持多状态效果叠加
  • 自定义合成配方
  • 一目了然的技能配置结构
  • 独特的经验升级系统
  • 法杖丢失快速寻回
  • 内置NPC系统
  • 可配置的魔力值位置
  • 快速载入数百个技能
  • 全配置自定义
  • 被动型技能
  • 自带数百个技能
  • 自带技能图标、自定义音效纹理包且提供自动下载、自动更新Hash值
  • 资源包合成小工具
  • 制作简单易上手的魔法商店
  • 玩家通过消耗技能点更换技能粒子颜色、粒子效果
  • 一键添加所有已掌握技能到法杖
  • 粒子绘制URL图
  • …………
Magic的魔力远远超出想象
命令·权限

当然不只是这么些,上图只是常见常用的权限,足以应付大多数情况。

全部权限:
玩家权限:
默认所有玩家都有权使用法杖和所有法术
可以通过给玩家反权限以限制:
-Magic.wand.use : 玩家不能使用法杖
-Magic.use.<wandname> : 玩家不能使用指定的法杖或魔法物品
-Magic.wand.craft : 玩家不能合成法杖
-Magic.cast.* : 玩家不能释放任何一个法术
Magic.cast.<spellname> : 玩家可以释放某一法术
默认地,玩家是不能使用任何命令的(只能通过法杖一类释放了).
Magic的权限遵从格式: "Magic.commands.<命令>.<子命令>".
例如:
Magic.commands.mskills : 玩家可以使用/mskills 技能选择器
Magic.commands.spells : 玩家可以使用/spells 命令
以此类推

管理员权限:
可能也需要限制一些物品或法杖不让管理员使用,默认情况下他们的确可以通过命令生成任何物品

Magic.commands.mgive : 可以生成物品或法杖
Magic.commands.wand : 只可以生成法杖
-Magic.create.* : 不可以生成物品或法杖
Magic.create.wand : 可以生成法杖名"wand"
Magic.create.battle : 可以生成法杖名"battle"
Magic.create.stone : 可以生成石头
Magic.create.hylianshield : 可以生成名为 hylianshield(海拉尔之盾,不知道是玩塞尔达的梗还是Mod物品名)的物品

跳过权限:
下面的权限默认OP有,可以跳过许多种检测:

Magic.bypass : 跳过大部分的限制检测
Magic.bypass_build : 跳过技能释放时的建造限制检测
Magic.bypass_break : 通过技能释放时的方块破坏限制检测
Magic.bypass_pvp : 跳过PVP限制检测
Magic.bypass_restricted : 跳过限制的材料建造检测
Magic.bypass_hidden : 玩家可以在TAB补全和技能列表里面看到隐藏的技能
Magic.override_bind: : 玩家可以使用法杖绑定给其他玩家
Magic.bypass : 玩家跳过其他权限检测
Magic.wand.override_drop : 玩家可以跳过防丢弃法杖、放在箱子里面的检测
Magic.wand.override_locked : 玩家可以更改锁定的法杖的配置
Magic.wand.override_stash : 玩家可以把绑定的法杖放进箱子
Magic.wand.use.protected : 玩家可以使用带"protected"保护标志的设定,意味着法杖无敌化
Magic.wand.use.powered : 玩家可以使用带"powered"强度标志的设定,意味着跳过某些限制

物品生成权限:
Magic.commands.mgive : 可用 /mgive 生成任意物品
Magic.commands.wand : 可用 /wand 生成法杖
Magic.create.<name> : 可用 /wand 或 /mgive获取指定的法杖。所有的法杖都是默认可用的。
-Magic.create.* : 给负的权限以限制使用/wand和/mgive的权限

法杖相关权限:
Magic.commands.wand.describe : 可用 /wand describe 来显示法杖的信息
Magic.commands.wand.add :可用 /wand add 添加法术或刷子到当前 法杖
Magic.commands.wand.add.spell.<spellname> : 玩家可以添加指定的法术到法杖上,所有法术默认是被允许添加的
Magic.commands.wand.add.material : 玩家可以添加一个材质到法杖上,默认开启
Magic.commands.wand.bind : 玩家可以设置一个绑定在自己身上的法杖(可自我绑定)
Magic.commands.wand.unbind : 玩家可以解绑法杖
Magic.commands.wand.remove : 可用 /wand remove 来从法杖上移除法术或刷子
Magic.commands.wand.create : 可用 /wand create 让一个物品变成一个空法杖
Magic.commands.wand.destroy : 可用 /wand destroy 使一个法杖变回普通物品
Magic.commands.wand.delete : 玩家可用/wand delete 来删除一个已存储的法杖模版
Magic.commands.wand.enchant : 玩家可用/wand enchant 来随机强化一个法杖
Magic.commands.wand.name : 玩家可用/wand name 以重命名
Magic.commands.wand.list : 玩家可用/wand list 可以观看所有法杖
Magic.commands.wand.save : 玩家可用/wand save 可以存储一个法杖物品为新的配置模版
Magic.commands.wand.fill : 玩家可用/wand fill 可以添加所有可添加的法术到法杖上
Magic.commands.wand.configure : 玩家可用/wand configure 以修改法杖配置
Magic.commands.wand.upgrade : 玩家可用/wand upgrade 改进法杖属性(?)
Magic.commands.wand.duplicate : 玩家可用/wand duplicate 创建法杖的副本
Magic.commands.wand.organize : 玩家可用/wand organize 重新整理法术背包
Magic.commands.wand.restore : 玩家可用/wand restore 寻回丢失的已绑定法杖
Magic.commands.wand.unlock : 玩家可用/wand unlock 解锁一个锁定的法杖
Magic.commands.wand.override : 玩家可用/wand override 修改覆盖的法术

使用 /wandp 命令的权限和 /wand 命令相同
/wandp <玩家名> <子命令> 的效果就和此玩家使用 /wand <子命令> 一样。这样可以用来控制其他玩家对法杖进行一些操作,对于其他插件管理玩家法杖十分有效.
Magic.commands.wandp.* : 玩家可以使用 /wandp命令以控制其他玩家使用法杖类命令

Mage配置:
Magic.commands.mage.debug : 玩家可为自己或他人开启debug模式
Magic.commands.mage.check : 玩家可以检查施法、破坏、建造等的权限
Magic.commands.mage.getdata : 玩家可检查施法者数据或释放的法术
Magic.commands.mage.setdata : 玩家可修改施法者数据或释放的法术
Magic.commands.mage.reset : 玩家可以完全重置施法者的数据

物品改动:
/mitem命令可以在游戏中修改 非法杖物品

Magic.commands.mitem.add : 添加附魔、属性或lore
Magic.commands.mitem.remove : 移除附魔、属性或lore
Magic.commands.mitem.describe : 显示物品的相关信息
Magic.commands.mitem.duplicate : 制造一个物品的副本
Magic.commands.mitem.destroy : 摧毁物品
Magic.commands.mitem.skull : 创建一个基于书本内附数据的自定义头颅
Magic.commands.mitem.save : 把一个物品保存为模版
Magic.commands.mitem.delete : 删除一个已保存的物品(模版)
Magic.commands.mitem.worth : 显示物品的价值(需要Vault?)
Magic.commands.mitem.type : 修改物品种类
Magic.commands.mitem.export : 导出所有的物品并命名为一个csv文件

魔法生物:
可使用魔法生物的生成和管理指令:
Magic.commands.mmob spawn :生成一个自定义的魔法生物
Magic.commands.mmob list :列出自定义魔法生物种类
Magic.commands.clear 清除所有在已载入的世界的自定义生物

图片地图:
以下是一些 /mmap 命令的权限

Magic.commands.mmap load : 加载一个图片地图
Magic.commands.mmap list : 列出所有 已加载的图片地图
Magic.commands.mmap give : 给玩家一个图片地图
Magic.commands.mmap import : 通过Pixelator(像素图片转换工具)导入图片地图


命令施法:
使用 /cast 命令可以在游戏里直接施法

Magic.commands.cast : 玩家可使用 /cast
Magic.commands.cast.parameters :玩家可使用参数修改施法(譬如修改范围、伤害)
注:使用参数施法可能会很危险, 这个权限最好只给服主或者完全值得信任的管理员。
举例说明: /cast 火舞 无伤大雅,但是一旦使用了/cast fire radius 1000 就会出大问题,将范围参数改成了1000,就会看到一千格的生物都着火

其他管理权限:
Magic.commands.magic.load : 可以重载 spells.yml, wands.yml, config.yml 以及 messages.yml. (包括defaults内)
Magic.commands.magic.[save|clean|search|list| .. 等] : 所有命令遵从本身所具有的样式


命令
Wand Commands 法杖命令
/wand : 创建一个新的、空的法杖.
/wand <名字> : 创建一个法杖,但是基于wands.yml中已经预设的法杖
/wand list : 列出wands.yml中可用的法杖列表模版
/wand enchant [#等级] : 随机添加技能和配置到法杖
/wand add \技能名> : 在手持的法杖上面添加一个技能
/wand restore : 恢复玩家丢失的法杖
/wand organize : 重构法杖上的技能
/wand fill : 把所有已知的(而且有权限的)技能绑定到法杖上面
/wand remove <技能名> : 清除当前手持法杖上全部技能
/wand configure <属性> <数值> : 编辑法杖的可配置项(详见下文)
/wand upgrade <属性> <数值> : 编辑法杖的可配置项,但是不会降低任何数值(见下文)
/wand override <参数> <数值> : 修改法杖释放技能的方式
/wand bind : 绑定法杖,这样就只有你自己才能用了
/wand unbind : 取消绑定, 包括已经保存的备份
/wand save <名字> : 储存法杖并添加到新配置模板
/wand delete <id> : 删除一个法杖模版
/wand combine <法杖> : 向现有的模版套入新的法杖(更新覆盖)
/wand add brush <材质> : 添加当前手持法杖的新材质
/wand remove brush <材质> : 移除当前手持法杖的一个材质
/wand name <名字> : 命名法杖(你也可以通过铁砧改名)
/wand describe : 列出法杖的所有配置项,与 "configure"一同使用
/wand unlock : 解锁一个锁定的法杖,以便于编辑 ("/wand configure locked "可以锁定)
/wand create : 基于你手持的物品创建一个新法杖
/wand destroy : 取消手持法杖的附带效果 (相当于摧毁)
/wand duplicate : 创建一个你手上法杖的副本
/wand enchant xp : 提升你所有的XP等级(消耗XP)到法杖。可通过命令方块制作一个升级系统
/wandp <玩家> <...> : 这样就可以使用/wand 系命令来指定玩家使用/wand命令了


Mgive命令

/mgive 命令运作时类似于原版或Ess的/give命令。可以通过这一命令给予玩家任何物品,包括魔法物品如法杖、技能或升级。同样地,可以给予玩家XP, 同时这个命令或许还可以解决/xp命令
无效的故障
/mgive [玩家] <物品> [数量] : 最基本的命令格式。只有物品是必填项
/mgive [玩家] elder : 给予[玩家] 一个“Elder”法杖
/mgive [玩家] sp 100 : 给予[玩家] 100 技能点
/mgive [玩家] sp:100 : 给予[玩家] 一个价值100技能点的物品
/mgive fling 32 : 给你自己 32次 "fling" 技能的使用权。这个使用权可以堆叠,也可以放到箱子里面或者丢给其他玩家
/mgive [玩家] xp 200 : 给予 [玩家] 200 XP, 即便他手持着法杖也有效
/mgive [玩家] gold_nugget 32 : 给予 [玩家] 32 金粒。物品格式必须遵从Bukkit's材质
/mgive spell:wolf :给你自己"wolf" 法术。“spell:”、“wand:”、“upgrade:”这类前缀可用来区分同名项
/mgive book:engineering : "book:<类别>" 的物品将会创建一本技能书,所有属于这一类别的技能都会被囊括在内,同时标明Lore和消耗
/mgive book:all : 创建一本无所不能的技能书,按技能排列、囊括全部的技能


Utility Commands 特殊管理命令

/magic load : 重载配置文件,包括技能的配置
/magic save : 强制储存一次玩家数据、其他数据(如遗失的法杖或图片地图)
/magic commit : 提交所有的更改 (相当于对所有玩家都使用一次"Commit"技能)
/magic cancel : 【取消所有的制作中的??】Cancel all in-progress construction batches.
/magic list [wands | automata | maps | tasks] <玩家> : 列出所有遗失的法杖、地图或自动装置(可能这个词不准确)。"tasks"模式则可以检测所有运行中的失效插件任务
/magic clean <玩家> : 清除玩家未拥有的的遗失的法杖
/magic clean ALL : 清除所有世界的所有法杖
/spells : 列出玩家已知的全部技能。玩家可以查看他们有权限释放的的所有法术的详细信息。虽然已经移除了一些奇异的的东西,此命令仍可安全给予玩家。玩家可以看到有关法杖上技能的信息,和游戏里面看到的一样

The Mage Command Mage命令

此类命令可以检查或修改玩家的数据

/mage check <玩家> : 检查玩家的权限,展示他们的位置和可用的技能
/mage debug <玩家> : 切换该玩家的Debug输出模式
/mage describe <玩家> [spell/data] : 转储玩家的施法信息、存储数据等
/mage configure <玩家> <spell/data> <数值> : 设置玩家的某个数据,如修改施法等
/mage reset <玩家> :完全重设一个玩家所有的存储数据

The Cast Command 施法命令

The Cast Command 施法命令
/cast 命令在前台游戏中十分有用。可以让你直接释放任何法术,但是它也可以让你使用命令参数制作可配置的法术系统。
许多法术都需要基于某个法术配合参数。你可以自行调整参数以实现法术的多样化而无需动用后台配置。掌控服务器后台的人可以把配置好的技能储存在spells.yml里(只要放到spells文件夹就可以),这样玩家就能使用新的法术了。

例如"boom", "kamikazee", "kaboom" 和 "nuke" 这几个技能都是"BoomSpell"的迭代或变形产物, 它们的区别可能只是修改了"size"这一个参数而已。譬如"nuke"设置的Size值是20,但是你又想临时把它调大10倍玩玩,那么请使用 /cast boom size 200 即可

在施法命令里面调整的参数和在spells.yml里面的一样,都会对该技能中声明过的全体起效,例如 /cast <技能名> <参数1> <数值1> <参数2> <数值2>.浏览起来和spells.yml里面的别无二致,该怎么设置就是什么样的效果
更多技能可用参数的细节文档


实用命令
/cast
cast的命令可以快速检测不同参数的效果,制作好一个新技能,用/cast命令可以快速释放,上面我们说过了
/wand override 命令可用来修改指定法杖释放法术的方式
* 让所有的法术必须通过下面这个法杖参数释放 (慎用!)
/wand override bypass_undo true
* 只是减少“Blink”法术的冷却时间
/wand override blink.cooldown 0
* 让“Missile”技能的导弹飞行速度降低为5
/wand override missile.velocity 5
/mage debug
此命令会开启指定玩家的Debug输出,后面跟进一个等级数可以调整输出的强度,等级越高输出越详细。
* 开启或关闭Debug
/mage debug [玩家]
* 显示一大堆信息,这样做可能会刷屏
/mage debug [玩家] 20
/mage check
通过权限有效检测问题。如果玩家有时没法施法,用这个命令在他们手持法杖并且技能激活时使用可以查一下原因

/wand save
如果你在前台游戏新建或者修改了一个法杖,最好保存一下到配置文件里面。"/wand save Test" 就会在"plugins/Magic/wands/Test.yml"路径创建一个新的法杖模版文件。这个新的法杖当然可以使用/wand或者/mgive召唤出来
插件截图
以下内容均来自自用服务器、本地测试











授权搬运
原作者授权

二搬授权


messages.yml汉化
本汉化文件于Magic-8.4.2版本下译制,使用方法为:放入\plugins\Magic\messages并重启服务器
未经允许不可转载此文件
messages.yml (99.92 KB, 下载次数: 380, 售价: 7 粒金粒)
config.yml汉化
本汉化文件于Magic-8.4.2版本下译制,将Magic自带的全部配置注解汉化完毕,请参照注解写入需要的配置
再次强调,本插件的配置需要自己根据实际情况逐条写入,请勿直接把此文件放入plugins\Magic\config目录下

未经允许不可转载此文件
config.defaults.yml (55.5 KB, 下载次数: 248, 售价: 10 粒金粒)

下载
请前往官网下载,下列数字为MC适配版本:
1.9.3-1.19
1.9
1.8.8-1.8.9
1.8.1-1.8.8
1.7.9
1.7-

2021.12 数据,可能有更多内容



Magic颠覆性的法术插件——Reposted By 炫宙菌
前言
Magic是一款颠覆性的技能插件,可以通过独特的体制制作大量自定义技能。这些技能涵盖大量娱乐、战斗、管理方面,可以说一个个技能就能替代超多插件。作为一个API状插件,它的表现一直在楼主的心目中名列前茅,故特此推荐给大家。作为一个纯粹的技能插件,它的表现远超Mythicmobs和SkillAPI以及姊妹插件Magicspells。
使用须知
Magic插件是一款比较纯粹的技能制作插件,本帖提及的法术、技能、仙术等词汇指的是一个东西;魔力、法力指的也是一个。部分内容需要等待WIKI翻译完成后才便于放出,敬请期待。如有错别字,请指出或忽略。帖内出现的“||”是行内的分割号,用以区分指令和注解&lt;&gt;为必填项,[]为选填项,()为注释项
插件功能
  • 自己制作心中所想效果的技能
  • 支持Cauldron系Mod端
  • 联动Heroes BattleArena SkillAPI等插件
  • 可直接使用SkillAPI的蓝量
  • 使用魔杖储存技能并快捷触发技能
  • 提高技能的专精等级
  • 多个技能之间灵活配合
  • 指令权限控制触发技能
  • 支持修改海量参数如速度、转速、坐标、拉力推力、距离、时效、偏移等
  • 支持多种触发方式
  • 支持所有实体、颗粒、音效等
  • 支持函数配置参数
  • 支持多状态效果叠加
  • 自定义合成配方
  • 一目了然的技能配置结构
  • 独特的经验升级系统
  • 法杖丢失快速寻回
  • 内置NPC系统
  • 可配置的魔力值位置
  • 快速载入数百个技能
  • 全配置自定义
  • 被动型技能
  • 自带数百个技能
  • 自带技能图标、自定义音效纹理包且提供自动下载、自动更新Hash值
  • 资源包合成小工具
  • 制作简单易上手的魔法商店
  • 玩家通过消耗技能点更换技能粒子颜色、粒子效果
  • 一键添加所有已掌握技能到法杖
  • 粒子绘制URL图
  • …………

命令·权限

当然不只是这么些,上图只是常见常用的权限,足以应付大多数情况。


全部权限:
玩家权限:
默认所有玩家都有权使用法杖和所有法术
可以通过给玩家反权限以限制:
-Magic.wand.use : 玩家不能使用法杖
-Magic.use.&lt;wandname&gt; : 玩家不能使用指定的法杖或魔法物品
-Magic.wand.craft : 玩家不能合成法杖
-Magic.cast.* : 玩家不能释放任何一个法术
Magic.cast.&lt;spellname&gt; : 玩家可以释放某一法术
默认地,玩家是不能使用任何命令的(只能通过法杖一类释放了).
Magic的权限遵从格式: &quot;Magic.commands.&lt;命令&gt;.&lt;子命令&gt;&quot;.
例如:
Magic.commands.mskills : 玩家可以使用/mskills 技能选择器
Magic.commands.spells : 玩家可以使用/spells 命令
以此类推


管理员权限:
可能也需要限制一些物品或法杖不让管理员使用,默认情况下他们的确可以通过命令生成任何物品


Magic.commands.mgive : 可以生成物品或法杖
Magic.commands.wand : 只可以生成法杖
-Magic.create.* : 不可以生成物品或法杖
Magic.create.wand : 可以生成法杖名&quot;wand&quot;
Magic.create.battle : 可以生成法杖名&quot;battle&quot;
Magic.create.stone : 可以生成石头
Magic.create.hylianshield : 可以生成名为 hylianshield(海拉尔之盾,不知道是玩塞尔达的梗还是Mod物品名)的物品


跳过权限:
下面的权限默认OP有,可以跳过许多种检测:


Magic.bypass : 跳过大部分的限制检测
Magic.bypass_build : 跳过技能释放时的建造限制检测
Magic.bypass_break : 通过技能释放时的方块破坏限制检测
Magic.bypass_pvp : 跳过PVP限制检测
Magic.bypass_restricted : 跳过限制的材料建造检测
Magic.bypass_hidden : 玩家可以在TAB补全和技能列表里面看到隐藏的技能
Magic.override_bind: : 玩家可以使用法杖绑定给其他玩家
Magic.bypass : 玩家跳过其他权限检测
Magic.wand.override_drop : 玩家可以跳过防丢弃法杖、放在箱子里面的检测
Magic.wand.override_locked : 玩家可以更改锁定的法杖的配置
Magic.wand.override_stash : 玩家可以把绑定的法杖放进箱子
Magic.wand.use.protected : 玩家可以使用带&quot;protected&quot;保护标志的设定,意味着法杖无敌化
Magic.wand.use.powered : 玩家可以使用带&quot;powered&quot;强度标志的设定,意味着跳过某些限制


物品生成权限:
Magic.commands.mgive : 可用 /mgive 生成任意物品
Magic.commands.wand : 可用 /wand 生成法杖
Magic.create.&lt;name&gt; : 可用 /wand 或 /mgive获取指定的法杖。所有的法杖都是默认可用的。
-Magic.create.* : 给负的权限以限制使用/wand和/mgive的权限


法杖相关权限:
Magic.commands.wand.describe : 可用 /wand describe 来显示法杖的信息
Magic.commands.wand.add :可用 /wand add 添加法术或刷子到当前 法杖
Magic.commands.wand.add.spell.&lt;spellname&gt; : 玩家可以添加指定的法术到法杖上,所有法术默认是被允许添加的
Magic.commands.wand.add.material : 玩家可以添加一个材质到法杖上,默认开启
Magic.commands.wand.bind : 玩家可以设置一个绑定在自己身上的法杖(可自我绑定)
Magic.commands.wand.unbind : 玩家可以解绑法杖
Magic.commands.wand.remove : 可用 /wand remove 来从法杖上移除法术或刷子
Magic.commands.wand.create : 可用 /wand create 让一个物品变成一个空法杖
Magic.commands.wand.destroy : 可用 /wand destroy 使一个法杖变回普通物品
Magic.commands.wand.delete : 玩家可用/wand delete 来删除一个已存储的法杖模版
Magic.commands.wand.enchant : 玩家可用/wand enchant 来随机强化一个法杖
Magic.commands.wand.name : 玩家可用/wand name 以重命名
Magic.commands.wand.list : 玩家可用/wand list 可以观看所有法杖
Magic.commands.wand.save : 玩家可用/wand save 可以存储一个法杖物品为新的配置模版
Magic.commands.wand.fill : 玩家可用/wand fill 可以添加所有可添加的法术到法杖上
Magic.commands.wand.configure : 玩家可用/wand configure 以修改法杖配置
Magic.commands.wand.upgrade : 玩家可用/wand upgrade 改进法杖属性(?)
Magic.commands.wand.duplicate : 玩家可用/wand duplicate 创建法杖的副本
Magic.commands.wand.organize : 玩家可用/wand organize 重新整理法术背包
Magic.commands.wand.restore : 玩家可用/wand restore 寻回丢失的已绑定法杖
Magic.commands.wand.unlock : 玩家可用/wand unlock 解锁一个锁定的法杖
Magic.commands.wand.override : 玩家可用/wand override 修改覆盖的法术


使用 /wandp 命令的权限和 /wand 命令相同
/wandp &lt;玩家名&gt; &lt;子命令&gt; 的效果就和此玩家使用 /wand &lt;子命令&gt; 一样。这样可以用来控制其他玩家对法杖进行一些操作,对于其他插件管理玩家法杖十分有效.
Magic.commands.wandp.* : 玩家可以使用 /wandp命令以控制其他玩家使用法杖类命令


Mage配置:
Magic.commands.mage.debug : 玩家可为自己或他人开启debug模式
Magic.commands.mage.check : 玩家可以检查施法、破坏、建造等的权限
Magic.commands.mage.getdata : 玩家可检查施法者数据或释放的法术
Magic.commands.mage.setdata : 玩家可修改施法者数据或释放的法术
Magic.commands.mage.reset : 玩家可以完全重置施法者的数据


物品改动:
/mitem命令可以 在游戏中修改非法杖物品


Magic.commands.mitem.add : 添加附魔、属性或lore
Magic.commands.mitem.remove : 移除附魔、属性或lore
Magic.commands.mitem.describe : 显示物品的相关信息
Magic.commands.mitem.duplicate : 制造一个物品的副本
Magic.commands.mitem.destroy : 摧毁物品
Magic.commands.mitem.skull : 创建一个基于书本内附数据的自定义头颅
Magic.commands.mitem.save : 把一个物品保存为模版
Magic.commands.mitem.delete : 删除一个已保存的物品(模版)
Magic.commands.mitem.worth : 显示物品的价值(需要Vault?)
Magic.commands.mitem.type : 修改物品种类
Magic.commands.mitem.export : 导出所有的物品并命名为一个csv文件


魔法生物:
可使用魔法生物的生成和管理指令:
Magic.commands.mmob spawn :生成一个自定义的魔法生物
Magic.commands.mmob list :列出自定义魔法生物种类
Magic.commands.clear 清除所有在已载入的世界的自定义生物


图片地图:
一些 /mmap 命令的权限


Magic.commands.mmap load : 加载一个图片地图
Magic.commands.mmap list : 列出所有 已加载的图片地图
Magic.commands.mmap give : 给玩家一个图片地图
Magic.commands.mmap import : 通过Pixelator(像素图片转换工具)导入图片地图




命令施法:
使用 /cast 命令可以在游戏里直接施法


Magic.commands.cast : 玩家可使用 /cast
Magic.commands.cast.parameters :玩家可使用参数修改施法(譬如修改范围、伤害)
注:使用参数施法可能会很危险, 这个权限最好只给服主或者完全值得信任的管理员。
举例说明: /cast 火舞 无伤大雅,但是一旦使用了/cast fire radius 1000 就会出大问题,毕竟你不希望看到一千格都着火


其他管理权限:
Magic.commands.magic.load : 可以重载 spells.yml, wands.yml, config.yml 以及 messages.yml. (包括defaults内)
Magic.commands.magic.[save|clean|search|list| .. 等] : 所有命令遵从本身所具有的样式




命令
Wand Commands 法杖命令
/wand : 创建一个新的、空的法杖.
/wand &lt;名字&gt; : 创建一个法杖,但是基于wands.yml中已经预设的法杖
/wand list : 列出wands.yml中可用的法杖列表模版
/wand enchant [#等级] : 随机添加技能和配置到法杖
/wand add \技能名&gt; : 在手持的法杖上面添加一个技能
/wand restore : 恢复玩家丢失的法杖
/wand organize : 重构法杖上的技能
/wand fill : 把所有已知的(而且有权限的)技能绑定到法杖上面
/wand remove &lt;技能名&gt; : 清除当前手持法杖上全部技能
/wand configure &lt;属性&gt; &lt;数值&gt; : 编辑法杖的可配置项(详见下文)
/wand upgrade &lt;属性&gt; &lt;数值&gt; : 编辑法杖的可配置项,但是不会降低任何数值(见下文)
/wand override &lt;参数&gt; &lt;数值&gt; : 修改法杖释放技能的方式
/wand bind : 绑定法杖,这样就只有你自己才能用了
/wand unbind : 取消绑定, 包括已经保存的备份
/wand save &lt;名字&gt; : 储存法杖并添加到新配置模板
/wand delete &lt;id&gt; : 删除一个法杖模版
/wand combine &lt;法杖&gt; : 向现有的模版套入新的法杖(更新覆盖)
/wand add brush &lt;材质&gt; : 添加当前手持法杖的新材质
/wand remove brush &lt;材质&gt; : 移除当前手持法杖的一个材质
/wand name &lt;名字&gt; : 命名法杖(你也可以通过铁砧改名)
/wand describe : 列出法杖的所有配置项,与 &quot;configure&quot;一同使用
/wand unlock : 解锁一个锁定的法杖,以便于编辑 (&quot;/wand configure locked &quot;可以锁定)
/wand create : 基于你手持的物品创建一个新法杖
/wand destroy : 取消手持法杖的附带效果 (相当于摧毁)
/wand duplicate : 创建一个你手上法杖的副本
/wand enchant xp : 提升你所有的XP等级(消耗XP)到法杖。可通过命令方块制作一个升级系统
/wandp &lt;玩家&gt; &lt;...&gt; : 这样就可以使用/wand 系命令来指定玩家使用/wand命令了

Mgive命令


/mgive 命令运作时类似于原版或Ess的/give命令。可以通过这一命令给予玩家任何物品,包括魔法物品如法杖、技能或升级。同样地,可以给予玩家XP, 同时这个命令或许还可以解决/xp命令无效的故障
/mgive [玩家] &lt;物品&gt; [数量] : 最基本的命令格式。只有物品是必填项
/mgive [玩家] elder : 给予[玩家] 一个“Elder”法杖
/mgive [玩家] sp 100 : 给予[玩家] 100 技能点
/mgive [玩家] sp:100 : 给予[玩家] 一个价值100技能点的物品
/mgive fling 32 : 给你自己 32次 &quot;fling&quot; 技能的使用权。这个使用权可以堆叠,也可以放到箱子里面或者丢给其他玩家
/mgive [玩家] xp 200 : 给予 [玩家] 200 XP, 即便他手持着法杖也有效
/mgive [玩家] gold_nugget 32 : 给予 [玩家] 32 金粒。物品格式必须遵从Bukkit's材质
/mgive spell:wolf :给你自己&quot;wolf&quot; 法术。“spell:”、“wand:”、“upgrade:”这类前缀可用来区分同名项
/mgive book:engineering : &quot;book:&lt;类别&gt;&quot; 的物品将会创建一本技能书,所有属于这一类别的技能都会被囊括在内,同时标明Lore和消耗
/mgive book:all : 创建一本无所不能的技能书,按技能排列、囊括全部的技能



Utility Commands 实用命令


/magic load : 重载配置文件,包括技能的配置
/magic save : 强制储存一次玩家数据、其他数据(如遗失的法杖或图片地图)
/magic commit : 提交所有的更改 (相当于对所有玩家都使用一次&quot;Commit&quot;技能)
/magic cancel : 【取消所有的制作中的??】Cancel all in-progress construction batches.
/magic list [wands | automata | maps | tasks] &lt;玩家&gt; : 列出所有遗失的法杖、地图或自动装置(可能这个词不准确)。&quot;tasks&quot;模式则可以检测所有运行中的失效插件任务
/magic clean &lt;玩家&gt; : 清除玩家未拥有的的遗失的法杖
/magic clean ALL : 清除所有世界的所有法杖
/spells : 列出玩家已知的全部技能。玩家可以查看他们有权限释放的的所有法术的详细信息。虽然已经移除了一些奇异的的东西,此命令仍可安全给予玩家。玩家可以看到有关法杖上技能的信息,和游戏里面看到的一样

The Mage Command Mage命令

此类命令可以检查或修改玩家的数据


/mage check &lt;玩家&gt; : 检查玩家的权限,展示他们的位置和可用的技能
/mage debug &lt;玩家&gt; : 切换该玩家的Debug输出模式
/mage describe &lt;玩家&gt; [spell/data] : 转储玩家的施法信息、存储数据等
/mage configure &lt;玩家&gt; &lt;spell/data&gt; &lt;数值&gt; : 设置玩家的某个数据,如修改施法等
/mage reset &lt;玩家&gt; :完全重设一个玩家所有的存储数据

The Cast Command 施法命令


The Cast Command 施法命令
/cast 命令在前台游戏中十分有用。可以让你直接释放任何法术,但是它也可以让你使用命令参数制作可配置的法术系统。
许多法术都需要基于某个法术配合参数。你可以自行调整参数以实现法术的多样化而无需动用后台配置。掌控服务器后台的人可以把配置好的技能储存在spells.yml里(只要放到spells文件夹就可以),这样玩家就能使用新的法术了。


例如&quot;boom&quot;, &quot;kamikazee&quot;, &quot;kaboom&quot; 和 &quot;nuke&quot; 这几个技能都是&quot;BoomSpell&quot;的迭代或变形产物, 它们的区别可能只是修改了&quot;size&quot;这一个参数而已。譬如&quot;nuke&quot;设置的Size值是20,但是你又想临时把它调大10倍玩玩,那么请使用 /cast boom size 200 即可


在施法命令里面调整的参数和在spells.yml里面的一样,都会对该技能中声明过的全体起效,例如 /cast &lt;技能名&gt; &lt;参数1&gt; &lt;数值1&gt; &lt;参数2&gt; &lt;数值2&gt;.浏览起来和spells.yml里面的别无二致,该怎么设置就是什么样的效果
更多技能可用参数的细节文档




实用命令
/cast
cast的命令可以快速检测不同参数的效果,制作好一个新技能,用/cast命令可以快速释放,上面我们说过了
/wand override 命令可用来修改指定法杖释放法术的方式
* 让所有的法术必须通过下面这个法杖参数释放 (慎用!)
/wand override bypass_undo true
* 只是减少“Blink”法术的冷却时间
/wand override blink.cooldown 0
* 让“Missile”技能的导弹飞行速度降低为5
/wand override missile.velocity 5
/mage debug
此命令会开启指定玩家的Debug输出,后面跟进一个等级数可以调整输出的强度,等级越高输出越详细。
* 开启或关闭Debug
/mage debug [玩家]
* 显示一大堆信息,这样做可能会刷屏
/mage debug [玩家] 20
/mage check
通过权限有效检测问题。如果玩家有时没法施法,用这个命令在他们手持法杖并且技能激活时使用可以查一下原因


/wand save
如果你在前台游戏新建或者修改了一个法杖,最好保存一下到配置文件里面。&quot;/wand save Test&quot; 就会在&quot;plugins/Magic/wands/Test.yml&quot;路径创建一个新的法杖模版文件。这个新的法杖当然可以使用/wand或者/mgive召唤出来
插件截图
以下内容均来自自用服务器、本地测试











授权搬运
原作者授权

二搬授权



messages.yml汉化
本汉化文件于Magic-8.4.2版本下译制,使用方法为:放入\plugins\Magic\messages并重启服务器
未经允许不可转载此文件

config.yml汉化
本汉化文件于Magic-8.4.2版本下译制,将Magic自带的全部配置注解汉化完毕,请参照注解写入需要的配置
再次强调,本插件的配置需要自己根据实际情况逐条写入,请勿直接把此文件放入plugins\Magic\config目录下
未经允许不可转载此文件



下载
请前往官网下载,下列数字为MC适配版本:
1.9.3-1.17
1.9
1.8.8-1.8.9
1.8.1-1.8.8
1.7.9
1.7-
使用方法
安装插件后,插件本身自带一套配置,如图所示

可以看到有不同名字的以yml为格式的文件,相当于插件的一类功能的简易配置,而对应名字的文件夹代表了这一类功能的复杂配置譬如说spells.yml可以增减技能种类,而spells文件夹同样也可以,只需要把额外的yml文件放到文件夹里面就可以以下为这些文件的作用,加粗表示常用,反之不常用attributes.yml用以设置插件自带的属性
automata.yml涉及插件一项功能,其作用为通过方块施法、生成生物、释放效果等
classes.yml用以区分技能、法术以便管理
config.yml用以改变插件的配置
crafting.yml用以自定义配方
effects.yml用以配置特效一类
items.yml用以制作Magic内部专属物品
kits.yml用以管理Magic的礼包
materials.yml用以管理插件所识别的方块材质,比如说默认把空气看作是透明的,也可以把屏障看作是透明的以便实现一些技能的弹射效果
messages.yml用以配置插件可见的语言信息
mobs.yml用以管理魔法生物
modifiers.yml用以配置条件,实现更灵活的技能触发
paths.ym用以配置熟练度,让玩家进阶以学习更多法术
spells.yml便是法术/技能文件,可以藉此制作、删除、修改技能大部分内容
wands.yml是法杖配置,能够让玩家借助法杖施法、进阶、附魔等
worlds.yml用以进行一部分世界管理

配置方法:Magic不同于一般插件的一点在于它的配置并非一个供玩家修改的文件,而是默认调用自己的配置(即plugins\Magic\defaults下的几个文件),玩家如需改变必须额外配置,玩家自行配置的内容会替换掉默认配置,其他未改变的内容仍然采用默认配置

如图所示,需要自己在config文件夹里写入一个config.yml(或者放到Magic文件夹下),里面配置一些自己需要的配置

为了防止插件加载默认配置,玩家可以写入load_default_configs: false
建议修改的配置:
  • 如果你使用了Paper核心,可能需要将max_velocity:后的值改成4
  • 如果想关闭/wand 和/mgive指令中法杖的自动绑定,请把bind_on_give:后的值改为false
  • drop_original_block: false可以阻止Magic破坏方块造成的方块掉落
  • 为给服务器留有充足的时间保存数据,请把file_load_delay:后的值改成5000,但是会导致玩家登陆5秒内无法使用Magic的功能
  • 如需在关服或区块卸载时自动清除魔法生物,请设置despawn_magic_mobs: true
  • 如果同时安装了SkillAPI和本插件又不想法力系统赘余,可添加use_skillapi_mana: true,这样会使用SkillAPI的法力系统
技能配置

拿前面展示过的一个技能讲解,此技能可以发射一支射速极快、有效范围极长的箭矢且不受重力影响的“箭”

代码:

  1. 穿云箭:
  2. icon: diamond_axe:242
  3. icon_disabled: diamond_hoe:242
  4. icon_url: http://textures.minecraft.net/texture/ea96e1b8c4d458f8f5443fa66eb376981f7b2ec385386db67faf3f1589094
  5. category: combat
  6. worth: 5000
  7. earns_sp: 8
  8. brush_effects: false
  9. actions:
  10.     cast:
  11.     - class: CustomProjectile
  12.    actions:
  13.    - class: PotionEffect
  14.   duration: 4000
  15.    - class: Delay
  16.   delay: 200
  17.    - class: Asynchronous
  18.   requires_entity_target: true
  19.   actions:
  20.   - class: Repeat
  21.     repeat: 1
  22.     actions:
  23.     - class: Damage
  24.     - class: Delay
  25.    delay: 300
  26. effects:
  27.     cast:
  28.     - class: EffectSingle
  29.    sound: magic.zap_crack
  30.    sound_pitch: 1.5
  31.    location: origin
  32.    effectlib:
  33.   class: VortexEffect
  34.   iterations: 100
  35.   particle: end_rod
  36.   radius: 0.2
  37.   grow: 0.5
  38.   updateLocations: false
  39.   updateDirections: false
  40.     tick:
  41.     - particle: fireworks_spark
  42.    location: target
  43.     - particle: end_rod
  44.    location: target
  45.     hit_entity:
  46.     - class: EffectSingle
  47.    location: target
  48.    target_location: body
  49.    particle: end_rod
  50.    particle_count: 40
  51.    particle_offset_x: 0.4
  52.    particle_offset_y: 1
  53.    particle_offset_z: 0.4
  54.    effectlib:
  55.   class: AnimatedBall
  56.   particle: end_rod
  57.   duration: 3000
  58.   y_factor: 1.5
  59.   particles: 50
  60.   particle_count: 4
  61.   particle_offset_x: 0.02
  62.   particle_offset_y: 0.01
  63.   particle_offset_z: 0.02
  64.   offset: 0,-0.2,0
  65.   size: 0.6
  66.   disappear_with_origin_entity: true
  67.     hit:
  68.     - class: EffectSingle
  69.    location: target
  70.    particle: fireworks_spark
  71.    particle_count: 10
  72.    particle_offset_x: 0.2
  73.    particle_offset_y: 0.2
  74.    particle_offset_z: 0.2
  75.    particle_data: 0.4
  76.    sound: magic.zap
  77.    sound_pitch: 1.2
  78.    sound_volume: 0.5
  79.     - location: target
  80.    particle: end_rod
  81.    particle_count: 10
  82.    particle_offset_x: 0.1
  83.    particle_offset_y: 0.1
  84.    particle_offset_z: 0.1
  85.     hit_block:
  86.     - effect: step_sound
  87.    location: target
  88.     - location: target
  89.    particle: block_crack
  90.    particle_count: 50
  91.    particle_offset_x: 0.8
  92.    particle_offset_y: 1
  93.    particle_offset_z: 0.8
  94.     headshot:
  95.     - class: EffectSingle
  96.    location: target
  97.    particle: fireworks_spark
  98.    particle_count: 20
  99.    particle_offset_y: 0.5
  100.    particle_offset_x: 0.5
  101.    particle_offset_z: 0.5
  102.    sound: magic.zap
  103.    sound_volume: 0.3
  104.    particle_data: 0.4
  105.     - sound: entity_player_attack_crit
  106.    sound_pitch: 0.8
  107.    location: target
  108.    particle: crit_magic
  109.    particle_count: 30
  110.    particle_offset_y: 1
  111.    particle_offset_x: 1
  112.    particle_offset_z: 1
  113.    particle_data: 0.5
  114. headshot_parameters:
  115.     damage_multiplier: 1.5
  116. parameters:
  117.     destructible: destructible,destructible2,destructible3,transparent
  118.     allow_max_range: true
  119.     velocity: 800
  120.     range: 80
  121.     hitbox: true
  122.     block_hit_count: 3
  123.     entity_hit_count: 3
  124.     target_type: Damageable
  125.     target_count: 3
  126.     player_damage: 82
  127.     entity_damage: rand(400,600)
  128.     target_breakables: 1
  129.     reorient: false
  130.     cooldown: 10000
  131.     allow_passthrough: true
  132.     potion_effects:
  133.    slow: 4
  134.    blind: 2
  135.     undo: 1000
  136.     brush: sapling
  137.     transparent: air,water,stationary_water
  138. costs:
  139.     arrow: 1
Magic的技能大致可分为六个部分,基本属性、动作【actions】、效果【effects】、参数【parameters】、特定参数、消耗【costs】每一个部分下设YAML语法格式的子配置项,同一层次下(即首字符前空格相同的行)拥有同样的地位初次使用Magic时难免会有畏难情绪,因为其配置过于复杂,这也是它可实现大多技能插件无法办到功能的优势
基本属性

代码:

  1. icon: diamond_axe:242 #技能图标,此处使用了物品损害值,用以在一个物品ID下添加多个模型
  2. icon_disabled: diamond_hoe:242 #技能无法使用时的图标
  3. icon_url: http://textures.minecraft.net/texture/ea96e1b8c4d458f8f5443fa66eb376981f7b2ec385386db67faf3f1589094 #图标URL
  4. category: combat #技能的类别,用以管理
  5. worth: 5000 #技能的价值,在一些技能商店功能有用处
  6. earns_sp: 8 #释放技能可获得的技能点数
  7. brush_effects: false #刷子效果关闭
如果仅作为一个可释放的技能且没有特殊要求,基本属性可以不写任何内容

动作

代码:

  1. actions:
  2.     cast: #释放状态时的动作
  3.     - class: CustomProjectile #声明此技能为自定义投掷物技能
  4.    actions: #在自定义投掷物的声明下添加子动作项
  5.    - class: PotionEffect #声明此技能有药水效果,注意此声明位于第二级,它的上级为CustomProjectile
  6.   duration: 4000 #可以在parameters:下配置参数,也可以在动作处就写明参数,这个参数仅适用于该声明下
  7.    - class: Delay #声明此技能有延迟
  8.   delay: 200 #延迟为200毫秒
  9.    - class: Asynchronous #声明此技能有异步释放
  10.   requires_entity_target: true #需要实体作为目标
  11.   actions:
  12.   - class: Repeat #声明此技能有重复执行
  13.     repeat: 1 #这里只是展示,写的重复次数为1相当于不重复
  14.     actions:
  15.     - class: Damage #这一层次位于第三级,受制于Repeat,而Repeat受制于CustomProjectle,一环扣一环
  16.     - class: Delay #在Asynchronous层次下又有延迟执行
  17.    delay: 300 #延迟300毫秒
actions规定了技能的释放框架,决定了技能有什么样的功能和状态,是一个技能的核心这里只是列举了一部分内容以供展示学习,更多的可配置内容需要到资料库查看

效果

代码:

  1. effects:
  2.     cast: #释放时的效果
  3.     - class: EffectSingle #声明此效果为简单效果
  4.    sound: block.anvil.hit #此效果使用的音效,可使用原版音效(注意版本不同格式有不同)和资源包音效(需要有对应的文件),不区分大小写
  5.    sound_pitch: 1.5 #此音效的音调,原版有效范围在0.0-2.0,但是资源包可使用更大范围的数值(负值、大于2)
  6.    location: origin #位置为源位置,即施法者所在位置
  7.    effectlib: #调用Effectlib的效果
  8.   class: VortexEffect#效果为漩涡
  9.   iterations: 100 #迭代次数,用于设定粒子密度
  10.   particle: end_rod #粒子效果为末地烛
  11.   radius: 0.2 #范围,这里规定的是漩涡的半径,太小的话就像是一条线了
  12.   grow: 0.5 #扩散,可以绘制更美的图案
  13.   updateLocations: false #不更新位置,如果更新的话,会随着施法者的视角而变动(延长一下技能时间或许可以做一个激光束技能)
  14.   updateDirections: false #更新方向,通常和上面一项一起使用
  15.     tick: #每tick时技能的效果
  16.     - particle: fireworks_spark#第一个效果是粒子烟花,可以往下另起一行配置颜色(color)
  17.    location: target #位置是目标位置
  18.     - particle: end_rod #第二个效果是粒子末地烛
  19.    location: target
  20.     hit_entity: #击中实体时的效果
  21.     - class: EffectSingle
  22.    location: target
  23.    target_location: body #目标的位置为身体,可以写hit、feet、head等
  24.    particle: end_rod
  25.    particle_count: 40 #粒子数目
  26.    particle_offset_x: 0.4 #粒子的X方向相对偏移,如果使用了大于一个粒子则最好设置相对偏移以防粒子过密
  27.    particle_offset_y: 1 #粒子的Y方向相对偏移
  28.    particle_offset_z: 0.4 #粒子的Z方向相对偏移
  29.    effectlib:
  30.   class: AnimatedBall #声明为动画球状粒子
  31.   particle: end_rod
  32.   duration: 3000 #持续时间为3000毫秒
  33.   y_factor: 1.5 #Y方向的拉伸/压缩系数,>1则为拉伸,0-1则为压缩
  34.   particles: 50 #粒子分布数
  35.   particle_count: 4 #每一处的粒子数量
  36.   particle_offset_x: 0.02
  37.   particle_offset_y: 0.01
  38.   particle_offset_z: 0.02
  39.   offset: 0,-0.2,0 #效果的位置偏移,顺序为x,y,z,这里只是Y方向向下沉0.2格
  40.   size: 0.6 #尺寸
  41.   disappear_with_origin_entity: true #如果源实体无效,是否继续播放效果?一般来说玩家传送走就是一种无效情况
  42.     hit: #击中时的效果
  43.     - class: EffectSingle
  44.    location: target
  45.    particle: fireworks_spark
  46.    particle_count: 10
  47.    particle_offset_x: 0.2
  48.    particle_offset_y: 0.2
  49.    particle_offset_z: 0.2
  50.    particle_data: 0.4 #粒子数据值
  51.    sound: magic.zap #这个音效是Magic自带资源包中的音效,原版并没有
  52.    sound_pitch: 1.2
  53.    sound_volume: 0.5 #音量,更大值可以让更远的玩家听见
  54.     - location: target
  55.    particle: end_rod
  56.    particle_count: 10
  57.    particle_offset_x: 0.1
  58.    particle_offset_y: 0.1
  59.    particle_offset_z: 0.1
  60.     hit_block: #击中方块时的效果
  61.     - effect: step_sound
  62.    location: target
  63.     - location: target
  64.    particle: block_crack #这是方块破坏时的粒子,可以另起一行material: 方块名以实现特定方块的破坏粒子
  65.    particle_count: 50
  66.    particle_offset_x: 0.8
  67.    particle_offset_y: 1
  68.    particle_offset_z: 0.8
  69.     headshot: #爆头时的粒子效果
  70.     - class: EffectSingle
  71.    location: target
  72.    particle: fireworks_spark
  73.    particle_count: 20
  74.    particle_offset_y: 0.5
  75.    particle_offset_x: 0.5
  76.    particle_offset_z: 0.5
  77.    sound: magic.zap
  78.    sound_volume: 0.3
  79.    particle_data: 0.4
  80.     - sound: entity_player_attack_crit
  81.    sound_pitch: 0.8
  82.    location: target
  83.    particle: crit_magic
  84.    particle_count: 30
  85.    particle_offset_y: 1
  86.    particle_offset_x: 1
  87.    particle_offset_z: 1
  88.    particle_data: 0.5
效果涵盖音效、粒子等及其可配置的所有属性,一个好的技能必须要有不同情况下的不同效果表现,如爆头时制造更醒目的效果、击中方块发出沉闷一些的音效等

参数

代码:

  1.     destructible: destructible,destructible2,destructible3,transparent #此技能可破坏的方块,这里的前三个需要在materials中配置,如果不配置则会使用默认的Magic\defaults\materials.defaults.yml的配置,由于此技能后面有参数关闭了破坏方块的功能,所以这里写什么也没有用
  2.     break_blocks: false #禁止破坏方块
  3.     allow_max_range: true #允许最大距离,用以防止技能没有打中实体或方块时仍能达到最大距离
  4.     velocity: 800 #技能速度,此处表现为穿云箭的射击速度,几乎是一瞬间达到最远
  5.     range: 80 #距离为80,改成800以实现800米外把头打
  6.     hitbox: true #有碰撞箱
  7.     block_hit_count: 3 #方块击中次数
  8.     entity_hit_count: 3 #实体击中次数
  9.     target_type: Damageable #目标类型,也可以是LivingEntity/Player等
  10.     target_count: 3 #目标数量
  11.     player_damage: 82 #对玩家伤害为82,固定值
  12.     entity_damage: rand(400,600) #对实体伤害是400-600的随机数
  13.     target_breakables: 1 #对目标的损坏量
  14.     reorient: false #关闭重新定位
  15.     cooldown: 10000 #技能冷却为一万毫秒
  16.     allow_passthrough: true #允许穿透
  17.     potion_effects: #药水效果,如果actions前面没有药水声明也无效
  18.    slow: 4 #缓慢Ⅴ
  19.    blind: 2 #失明Ⅲ
  20.     undo: 1000 #破坏方块后多久恢复,因为有禁止破坏方块所以此处无效
  21.     brush: sapling #刷掉被破坏的方块,这里替换为树苗
  22.     transparent: air,water,stationary_water #传播介质,这里是水、静止的水、空气

参数规定了此技能全局的数值,如伤害、距离、有效时间、冷却等如果在actions下已经有参数,则不会调用这里的参数

特定参数

代码:

  1. headshot_parameters:
  2.     damage_multiplier: 1.5 #伤害为正常的1.5倍
用于一些特定情况的参数,这里对应爆头时的伤害加成

消耗

代码:

  1. costs:
  2.     arrow: 1
  3.     mana: 10
消耗的种类不止一个
currency
Vault的钱
health
活的实体的生命值
hunger
玩家饥饿
item
在config.yml中存在的物品
levels
经验等级
mana
法力
sp
技能点
xp
玩家经验,根据等级和进度百分比计算






自定义法术
插件自定义法术
Magic的法术可以非常复杂,从零开始可能很困难,所以如果默认的内部法术里面有类似于你心中理想的法术,可以试试在此基础上修改修改
Magic的法术类似于脚本事件,可以包含十分复杂的规则、行为和逻辑,借此制作高度自由化的视觉以及游戏体验
工具和参考
在阅读了本帖的教程后,有些网页工具可能就颇为实用了:
· 参考指南 此链接列出了所有参数、行为、效果以及其他本指南中提到的内容
Legacy version 1.13-版本专用
· 默认生存服法术列表 查看更高级的内置生存服技能的相关信息,并且把游戏中的关键词转化为相应内容以查到正确的配置
教学
本教程将由魔法导弹技能开始学习,逐步拨云见日地了解它的组成
分析法术
多数法术有五个主要部分,我们每次讨论一个:
· Base Properties: 基础的法术设置,比如图标、SP消耗和SP获取量,以及一些法杖升级或使用/cast parameters无法更改的内容
· Actions: 现在大部分法术使用行为系统, 可以让你灵活地自定义法术的行为,实现你所想的效果
· Effects: 有多种施法时产生的视觉效果,一般由施法多个过程触发
· Parameters: 行为需要参数来改变它们的视觉效果。参数可以作为进阶法术、法杖或使用/cast parameters时的必备部分,更加直接和方便地测试法术的效果。参数包含如技能伤害、范围、时效等内容
· Costs: 法术需要一些消耗才能释放,大多数情况消耗法力,当然物品、金钱和生命值也是可以作为消耗的
基础配置
Magic Missile【魔法导弹】技能举例,下面是技能代码:

代码:

  1. missile:
  2.     icon: diamond_axe:160
  3.     icon_disabled: diamond_hoe:160
  4.     icon_url: http://textures.minecraft.net/texture/2ba95570c7b712713632d4c0d2fc66906613d3850a596a0267c6d763fe741ac
  5.     upgrade_required_path: beginner
  6.     upgrade_required_casts: 40
  7.     category: combat
  8.     worth: 150
  9.     earns_sp: 7
  10.     earns_cooldown: 10000
  11.     actions:
  12.   cast:
  13.   - class: CustomProjectile
  14.     actions:
  15.     - class: Damage
  16.     effects:
  17.   cast:
  18.   -class: EffectSingle
  19.   sound: magic.zap_crack
  20.   location: origin
  21.   color_override: color
  22.   effectlib:
  23.     class: ConeEffect
  24.     iterations: 10
  25.     particle: redstone
  26.     lengthGrow: 0.1
  27.     radiusGrow: 0.003
  28.     updateLocations: false
  29.     updateDirections: false
  30.   tick:
  31.   - particle: redstone
  32.     location: target
  33.   hit_block:
  34.   -class: EffectSingle
  35.   location: target
  36.   particle: block_crack
  37.   particle_count: 50
  38.   particle_offset_x: 0.2
  39.   particle_offset_y: 1
  40.   particle_offset_z: 0.2
  41.   hit_entity:
  42.   -class: EffectSingle
  43.   location: target
  44.   particle: block_crack
  45.   material: redstone_block
  46.   particle_count: 30
  47.   particle_offset_x: 0.2
  48.   particle_offset_y: 0.2
  49.   particle_offset_z: 0.2
  50.   hit:
  51.   -class: EffectSingle
  52.   location: target
  53.   particle: fireworks_spark
  54.   particle_count: 5
  55.   particle_offset_x: 0.3
  56.   particle_offset_y: 0.5
  57.   particle_offset_z: 0.3
  58.   sound: magic.zap
  59.   sound_volume: .3
  60.   particle_data: 0.3
  61.   headshot:
  62.   -class: EffectSingle
  63.   location: target
  64.   particle: fireworks_spark
  65.   particle_count: 15
  66.   particle_offset_y: 0.2
  67.   particle_offset_x: 0.2
  68.   particle_offset_z: 0.2
  69.   particle_data: 0.1
  70.   sound: magic.zap
  71.   sound_volume: .3
  72.   -class: EffectSingle
  73.   sound: entity_slime_attack
  74.   sound_pitch: 0.8
  75.   location: target
  76.   effectlib:
  77.    class: AnimatedBallEffect
  78.    particles: 8
  79.    particlesPerIteration: 4
  80.    iterations: 10
  81.    particle: block_crack
  82.    particleCount: 20
  83.    material: redstone_block
  84.    size: 0.1
  85.    yOffset: 0
  86.     headshot_parameters:
  87.    player_damage: 4
  88.    entity_damage: 6
  89.     parameters:
  90.   allow_max_range: true
  91.   velocity: 200
  92.   range: 24
  93.   hitbox: true
  94.   target_type: Damageable
  95.   player_damage: 2
  96.   entity_damage: 4
  97.   target_breakables: 1
  98.   cooldown: 1000
  99.   reorient: false
  100.     costs:
  101.   mana: 10


代码:

  1. missile:

这是技能的 &quot;关键&quot; 名。当使用/cast命令或/wand命令时,显示的技能名就是这个,支持非英文

代码:

  1.     icon: diamond_axe:160
  2.     icon_disabled: diamond_hoe:160
  3.     icon_url: http://textures.minecraft.net/texture/2ba95570c7b712713632d4c0d2fc66906613d3850a596a0267c6d763fe741ac

上述三个分别是:图标、不可用图标(如缺少法力、冷却未到)、图标URL。技能的图标,表现为在游戏中它显示成什么,通常在法杖、商店中作为物品时显示为这里设置的图标
Magic可以使用资源包里的图标(默认技能使用的图标就是),当然原版物品、玩家头颅也可以。
如果config.yml的 &quot;url_icons_enabled&quot;设置为true,技能将会使用
icon_url 以通过自定义材质创建玩家头颅作为图标。
如果不这样设置,那么技能将会采用icon属性中的内容作为图标。
当一个技能暂不可用时 (法力不足、处于冷却、没有权限) ,则会采用
icon_disabled 属性中的内容作为图标 (头颅图标不支持icon_disabled)。
在官方提供的资源包中,每一个技能的不可用图标会和正常图标相同,但是会多一个红色的 &quot;no&quot; 标志覆盖在上面

代码:

  1.     upgrade_required_path: beginner
  2.     upgrade_required_casts: 40

法术是可以进阶的,进阶法术可通过间隔符号&quot;|&quot;定义,这样的话 &quot;missile|2&quot;就代表着第二级别的 Magic Missile【魔法导弹】 Level 2。
法术的继承是根据上一级来的,这意味着未覆盖的设置将继承上一级的设置
(比如二级技能只是参数里面的伤害和一级不一样,只写了damage的参数,其余继承一级技能的所有设置)

举例来说,二级的魔法导弹会提高射程和伤害
这些设置决定了进阶这一功能如何运作,恰如魔法导弹的进阶,你必须处于&quot;Beginner&quot;【初学者】 熟练度并且成功释放法术40次

代码:

  1.     category: combat

技能可以设置类别,主要用于技能书的管理,或用于/spells 命令

代码:

  1.     worth: 150
  2.     earns_sp: 8
  3.     earns_cooldown: 10000

这些设置项决定了技能点的运作方式。 worth 属性指此法术技能点 is the cost of the spell in spell points. (或金钱数, 需要有技能商店的设置)
earns_sp 属性决定了释放这一法术可获得的技能点最大值。当一个技能被释放时,玩家获得技能点,技能则会进入一段时间的冷却,在这段时间内,法术成功释放时额外获得的技能点数量将会有所削减。这个机制可以防止玩家反复释放技能刷技能点。
earns_cooldown 属性决定了技能点的获取冷却持续多久。注意,这并不是严格的冷却时间,在冷却时间内仍然可以获得技能点,但是会根据上次获得技能点的时间成比例减少。
例如,首次使用Magic Missile【魔法导弹】,将可以获得8技能点,如果在五秒后使用 (假定这个技能自身的冷却是10秒) ,就只会获得4技能点
Magic Missile 【魔法导弹】也是玩家的默认法杖上自带的第一个法术,作为一个默认的教学类技能,它的技能点获取冷却其实是相当短的,其他的法术默认设置都是15分钟
当Magic Missile【魔法导弹】升级时,它的技能点冷却就和其他法术相同了(其实说的还是插件默认给的配置,可以忽略)


游戏内文本
如需本地化游戏文本, 可通过messages.yml修改全部的游戏内文本。每一个技能的名字和描述都可以在spells.yml找到
不管怎样,处于方便起见你也可以在技能的基础配置里设置 name【名字】 和 description【描述】
class【法术类】一些老的法术,如SuperBlob【超级气泡】就使用了如此一个技能类属性:

代码:

  1. superblob:
  2.     class: ConstructSpell

这些使用class的法术早于action【行为】系统,所以这类技能不能使用actions【行为】部分
这些发射的表现形式完全硬代码写死。每一个技能都拥有它独立的类,请查阅此处提供的源代码
如果可以避免,则不建议使用这类法术,最好还是使用基于actions【行为】编写的技能(即现在通行的常用技能)。
一些技能(如工程魔法)还尚未换用新模式。


Actions【行为】
大多数的技能现在都在使用Actions【行为】系统。actions 部分用于决定一个技能释放时的各种表现形式,是技能的核心部分
再来回顾一下 Magic Missile【魔法导弹】:

代码:

  1.     actions:
  2.   cast:
  3.   - class: CustomProjectile
  4.     actions:
  5.     - class: Damage
  6.     - class: BreakBlock
  7.    ignore_result: true

行为可以有多个组成部分,但大部分技能只会有一个 cast部分,这些行为将在法术释放时得以执行
行为通常是一个层次化的结构,这意味着一个行为可能有&quot;child&quot;【子行为】,这就可以在特定条件下运行这一层次下的子行为
每一个行为都至少需要有一个class 【类】属性,类决定了行为会如何运作。
请注意:当引用源代码时,使用技能配置,&quot;Action&quot;【行为】部分的类名可能被遗漏
许多技能的内部配置都是以 &quot;CustomProjectile&quot;【自定义投掷物】开端(就和Mythicmobs的Projectile类似)。这个行为会创建一个虚拟的投掷物而非原版的雪球、箭矢等,通过自定义这个虚拟的投掷物以实现一些灵活的自定义效果。
注:如果说MM的投掷物技能必须要有一个载体如雪球,Magic则不需要,这个投掷物可以通过效果赋予它视觉上的感官而无需依托一个原版投掷物载体。
当此投掷物击中一个目标时(既可以是方块也可以是实体),将会运行行为列表上的行为
在这种情况下,当魔法导弹命中时会执行伤害行为和方块破坏行为。无论目标是什么,这两个行为都会被执行。但如果击中了方块,那么伤害行为就无效,如果击中了实体,那么方块破坏的行为就无效
行为参数
每个行为都有一些参数可供修改其表现形式。这些参数可以放到两个地方:直接作为行为列表中的一种属性;或者和其他共享性的参数一样,写在parameters【参数】部分即可(详情见下文)
在此情况下,BreakBlock【方块破坏】行为如有ignore_result,则会被设置为true
每个行为都会转向一个结果,通常结果分为:成功、失败或无目标。若要将一个法术算作成功释放,则至少需要有一个最终转向成功的行为。这是唯一能够获得技能点的方法,否则就需要有法术进阶将施法次数计入其中
拿Magic Missile【魔法导弹】举例,破坏方块更多的是一种次要的装饰效果,且不会计入获得技能点。必须通过魔法导弹击中且对实体造成伤害才算做成功计数。
因此,如果法术有 BreakBlock 行为,&quot;ignore_result: true&quot; 则表示着忽略此行为的结果,这意味着造成伤害是唯一影响法术整体效果的行为


Effects【效果】
effects 【效果】部分决定了一个法术将会使用什么样的虚拟效果(譬如说闪电没有实质性伤害和点燃)。通常来说,法术至少要有一个 cast的效果部分作为技能释放时的效果。给法术添加一些粒子效果和音效通常会让法术变得更加有趣。
来再回顾一下Magic Missile【魔法导弹】:

代码:

  1.   cast:
  2.   -class: EffectSingle
  3.   sound: magic.zap_crack
  4.   location: origin
  5.   color_override: color
  6.   effectlib:
  7.     class: ConeEffect
  8.     iterations: 10
  9.     particle: redstone
  10.     lengthGrow: 0.1
  11.     radiusGrow: 0.003
  12.     updateLocations: false
  13.     updateDirections: false

这里的cast部分将会在法术释放时运行。每个部分都有一个列表,藉此可以运行多个不同的效果。每一个部分都有一些设置项:
· class: 效果所属的类。可能略微有些过时,如今的新版Magic用户可以忽略。EffectSingle表示只运行一个简单的效果,但如今Magic大部分的效果都依赖于Effeclib。其他的设置为:EffectRing, EffectTrail 以及EffectTransform,但它们很少见也不常用。
· sound: 播放的音效,这个音效可以是资源包中的自定义音效(譬如 &quot;magic.zap_crack&quot;)或原版内置的音效,这里有原版音效枚举
· sound_pitchsound_volume 分别指音调和音量,原版音效的音调只能在0.0-2.0之间
· location: 效果在什么地方播放。这里可以填写 origin (施法者), target(目标)或both(两者)
· color_override: 通过技能可使法杖拥有个性化颜色。color_override属性会指示Effectlib使用和参数相同的颜色
(通常来说
color【颜色】是大部分Effectlib的效果被控制的方式)。此项仅对redstone【红石】和mob_spell【气泡】粒子有效(这两个粒子可采用多种颜色)
· effectlib: Magic和 EffectLib密切相关,大多数法术都在使用Effectlib效果。详见此处查看更多有关Effectlib的配置效果
Magic Missile【魔法导弹】也有一个 &quot;tick&quot; 【刻】效果列表:

代码:

  1.   tick:
  2.   - particle: redstone
  3.     location: target

在这里可以看出class可被忽略不写, EffectSingle【单一效果】 将会使用默认类的效果
tick 效果列表是CustomProjectile使用的一系列特殊的效果。这些效果将在投掷物运动的每服务器tick被触发显现出来(说白了其实和Mythicmobs的投掷物tick类似)。根据投掷物的速度等设置,每tick可以显示多次效果,所以不适宜在这里写太过于复杂的内容。
对于我们现在讨论的这个法术,它只使用了一个简单的particle【粒子】, 粒子列表可在此处Effectlib粒子枚举找到
Magic Missile【魔法导弹】也有一些对方块起效的效果,受限于篇幅不在此处列举。对于爆头、击中方块等也有特殊效果,如果对此感兴趣,可以查阅详细配置(点我跳转)


Parameters【参数】
法术有一些基本参数,这些基本参数不受parameters层次管辖,如category description等都是基本参数
每个行为都有它自己特定的参数,可能没法和插件最新版本完全同步,但基本上没有太大变化。
parameters 【参数】层次下的这些参数会影响该法术的全部行为,其设定具有全局性。
再来看看Magic Missile 【魔法导弹】法术:

代码:

  1.     parameters:
  2.   allow_max_range: true #允许最大距离
  3.   velocity: 200 #速度
  4.   range: 24 #距离
  5.   hitbox: true #碰撞箱
  6.   target_type: Damageable #目标类型
  7.   player_damage: 2 #对玩家伤害
  8.   entity_damage: 4 #对实体伤害
  9.   target_breakables: 1 #目标损害量
  10.   cooldown: 1000 #冷却
  11.   reorient: false#重新强制目标面向特定方向
  12.   destructible: solid #可破坏
  13.   destructible_durability: 50 #可破坏的耐久度
  14.   break_durability: 2 #损坏的耐久度
  15.   undo: 10000 #撤销时间



Headshots【爆头】
CustomProjectile【自定义投掷物】行为会检测法术是否击中实体头部 ,并且可以运行一组独立的headshot【爆头】行为;对于某些法术 (例如 Magic Missile【魔法导弹】)还可以使用一些额外的参数:

代码:

  1.     headshot_parameters:
  2.    damage_multiplier: 1.5

如此一来,魔法导弹爆头将造成1.5倍伤害


Costs【消耗】
法术的消耗,在此列表上的一些消耗物将在施法时被消耗,通常来说使用的消耗物是法力,如:

代码:

  1.     costs:
  2.   mana: 15


Requirements【需求】
为了限制玩家购买或使用,法术可以有指定的要求。可以设定一些索引或技术途径,要求玩家必须拥有某项class, skill, spell(这里的class和skill是SkillAPI插件的内容)等才可以购买法术
当前支持的一些需求:
· Type: skillapi
· skill - 需要玩家拥有某个SkillAPI的技能
· class - 需要玩家拥有某个SkillAPI的class
此处展示了一个需求示例,可能在法术、选择器或其他配置中出现。需要玩家获得Skillapi的技能enchanting
    requirements:
  -type: skillapi
  -skill: enchanting
type 指定需求的类型
skill 进一步指定SkillAPI提供技能
[size=10.5000pt]








资源包
Magic官方资源包Magic有一个官方的资源包,它提供了一些物品以供使用。木锄和金剑被用作法杖材质(修改一些NBT数据实现
禁用资源包Magic会自动提供资源包下载。如果不想,请按照此法添加内容在plugins/Magic/config.yml关闭:resource_pack: &quot;&quot;
自定义资源包你也可以设置resource_pack 来通过URL让玩家下载自定义的资源包,依旧由Magic管理此功能头颅图标截至Magic6.1,技能图标被放在了资源包当中。所以,如果你关闭了资源包,你可能也需要恢复基于玩家头颅形式的图标(此内容不再更新!)url_icons_enabled: true如果你重新打开了玩家头颅图标,可能需要参考一下 资源包中旧玩家头颅图标模型.或者也可以在server.properties或Magic里面放好资源包请注意,如果你没有使用资源包或者自定义的版本,法杖显示的样子就是木锄,技能图标将不可见且自定义音效无法播放(如magic.zap)。你当然可以随意更改Magic官方资源包的内容,把它放到自己的资源包里下载当前资源包的版本有可能会发生变化,如果出于某些原因需要手动下载,最好在游戏中使用指令 /getrp url获得最新的URL。你也可以简单地通过检阅 plugins/Magic/defaults/config.defaults.yml 找到resource_pack下方写的URL。在服务器中使用如果你想在服务器中使用资源包,请把server.properties中的资源包链接删除。Magic将会自动帮助你使用正确版本的资源包,也可以自动更新Hash值,所以玩家在资源包更改会须重新下载资源包同样可作为示例的自定义配置,当使用默认配置时也会默认采用旧的版本资源包旧版本,会占用一部分原版物品(毕竟必须依托一个物品)
  • 一些法杖:
    • 木锄, 默认法杖
    • 金斧, 大师法杖the master wand
    • 金锄,狼法杖The golden hoe, the Wolf wand
    • 金镐,隐身斗篷The golden pickaxe, the invisibility cloak
    • 金锹,魔法扫帚The golden shovel, the broomstick
    • 金剑,大师之剑 the Master Sword
  • 怪物蛋方块 (只有在玩家背包里才有效,而不是对于怪物蛋方块)
    • 建筑师法杖

如果你使用了MagicV6-(适用于1.8服务器), 下面的内容可能有用:如果你使用了MagicV5-(适用于1.7服务器), 下面的内容可能有用:这些资源包大体和现有版本相同,但它们覆盖了僵尸马的材质,用于骑行扫帚时的2D法杖材质These RPs should be identical to the current versions, except that they include an override for the zombie horse texture, used for the 2D broom texture while riding.自定义你可以随意下载和修改Zip压缩包可能还需要调整Magic的一些配置以适应你的更改。最简单的修改方法是替换掉资源包中的模型。配置和模型之间的联系是通过自定义模型数据建立的。设置起来很简单,只需要开启任何内置模型即可(如stick.json),现在来看看它是如何工作的

代码:

  1. {
  2. "parent": "minecraft:item/handheld",
  3. "textures": {
  4.     "layer0": "minecraft:item/stick"
  5. },
  6. "overrides": [
  7.     {"predicate": {"custom_model_data": 18001}, "model": "item/custom/old_survival_wand1"},
  8.     {"predicate": {"custom_model_data": 18002}, "model": "item/custom/old_survival_wand2"},
  9.     {"predicate": {"custom_model_data": 18003}, "model": "item/custom/survival_wand1"},
  10. ... etc

每一个在&quot;overrides&quot;列出的模型都要对应一个自定义模型数据\你可以配置、使用这些物品,输入 /mgive stick{18001}旧版的Magic或许需要更复杂一点的格式:/mgive stick{CustomModelData:18001}1.14- (使用损害值而非自定义模型数据)资源包 和配置之间的联系大体是由物品及其耐久连接起来的如果你想创建并加入新模型,你需要了解插件有关加入自定义模型的技术:https://www.spigotmc.org/wiki/custom-item-models-in-1-9-and-up/大多数资源包的模型都是用BDCraft Cubik制作的。 除此之外,我们无法提供任何制作自定义模型的支持或帮助,请在其他地方自行寻找教程合并有时候你可能需要把Magic的资源包和其他资源包合并。这样做成一个属于你自己服务器的资源包,或者作为其他插件所需要的资源包我们提供了一个实用工具: 资源包合并建议使用这个小工具,因为它可以正确处理合并中的冲突。多数情况下可以让您的资源包和其他插件的资源包相结合,即便同时使用损害值和自定义模型手动操作的流程:
  • 解压你的材质包
  • 解压Magic材质包
  • 复制Magic材质包到你资源包上
  • 压缩这个结合体文件夹且备份
有时候,你会发现Magic使用的物品和你的资源包内物品有冲突如果你想要通过Magic修改任何物品,可以这么做。可以在此处看到Magic主要使用的物品:https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/items/icons.yml如果你想修改物品作为技能图标的话,你可以按以下两个步骤:
  • 在解压Magic资源包之后(第二步之前),修改 assets/minecraft/models/item/diamondaxe.json 为 ironaxe(只是举例)
  • 修改 plugins/Magic/items.yml,添加一行如spell_icon: iron_axe的内容
这样就好让所有的技能图标使用铁斧资源包资源包和assest位置 在这里可以找到https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/resource-pack备选资源包作者在做Magic资源包之前还做了别的资源包,或许对于Magic用户也有一定帮助
只需要把 &quot;example: painterly&quot; 放到config.yml中即可开启,或者直接打开游戏使用此资源包http://rp.elmakers.com/Magic-painterly-RP-6-1.zip




enderman_JC
好 是论坛bug(bushi)
mm要下班了呀

炫宙菌
enderman_JC 发表于 2021-3-20 21:41
好 是论坛bug(bushi)
mm要下班了呀

正在翻译语言文件 三千一百多行 已经两千行了

enderman_JC
炫宙菌 发表于 2021-3-20 21:42
正在翻译语言文件 三千一百多行 已经两千行了

加油,精华预订

PaulWong
兄弟 666 佩服死你了 同为搬运者 我没有好成果

颅内开灯
我先前排插个眼

沃德世界
丰富的技能插件。

希伊撒
期待更新更多内容!

蟹蒙老鸽
这个又是什么神仙插件来了

佐伊定的规矩
感觉好炫酷,这就是魔法吗

SharkdogRegotly
Mcbbs有你更精彩!

九度世界
非常多的功能我很期待

多捞啊_
感谢转载

小泥潭
然后mc变成了魔法世界。

零鸟发神经
不知道会不会和skillapi冲突,也不知道兼不兼容mohist端

炫宙菌
零鸟发神经 发表于 2021-4-18 13:00
不知道会不会和skillapi冲突,也不知道兼不兼容mohist端

你试试吧 根据我的以往经验应该是不会和SkillAPI冲突 也兼容mod端(Catsever支持)

零鸟发神经
炫宙菌 发表于 2021-4-18 13:21
你试试吧 根据我的以往经验应该是不会和SkillAPI冲突 也兼容mod端(Catsever支持) ...

谢谢大佬~

DKCJ丶_fEe7Y
wc,这也太棒了吧,楼主辛苦了,一定支持

138a
感谢分享

265525a
感谢汉化

kyxnn
太喜欢这个插件了

南鸢呐
谢谢楼主啦

哗众取宠J
很棒的插件,希望楼主继续加油~

1695502970
看起来是非常不错的插件呢

wangxiaoming123
谢谢楼主awa

wangxiaoming123
帮你顶个贴awa

DKCJ丶_fEe7Y
很不错的插件,辛苦了

xiaoqingyi
不错的插件,感谢楼主的分享

houxiaoyang
又一个niub插件

一捆上上签
感谢分享,这就去玩玩

萌萌的小甜
这么厉害,非常好 拿走了

Amiyaa
非常有趣的插件 顶!

TheZhiheng223
我啥我输入getrp没有材质包

炫宙菌
TheZhiheng223 发表于 2021-8-6 18:50
我啥我输入getrp没有材质包

按TAB?

大橘已定da
很好的插件 目测能火

Luvys
楼主可否再细讲一下如何取消加载默认配置。
按照楼主的方法添加config文件夹再创建config.yml 加入load_default_configs: false
重载插件后 插件配置还是会改为默认配置
另外还在plugins\Magic\defaults\config.defaults.yml 中修改了 load_default_等等:false 重载插件还是原来的模样。

望楼主求教

Luvys
Xing_Hen_FuZhu 发表于 2021-8-19 18:22
楼主可否再细讲一下如何取消加载默认配置。
按照楼主的方法添加config文件夹再创建config.yml 加入load_def ...

使用插件版本 Magic-CB-1.4.jar - CB1.7.9
服务器版本 1.7.10

炫宙菌
Xing_Hen_FuZhu 发表于 2021-8-19 18:22
楼主可否再细讲一下如何取消加载默认配置。
按照楼主的方法添加config文件夹再创建config.yml 加入load_def ...

你的配置在哪修改的?

Luvys
炫宙菌 发表于 2021-8-19 18:34
你的配置在哪修改的?

config文件夹里的config.yml
和Magic\defaults\config.defaults.yml 都修改了

vpiaov
感谢分享

TheZhiheng223
Could not find resource pack at: https://s3-us-west-2.amazonaws.com/elmakers/Magic/Magic-RP-7.zip

TheZhiheng223
楼主,我的服务器无法下载材质包

对外大海
MCBBS有你更精彩~

浮生几许亿
顶,很好用的插件,支持

炫宙菌
Xing_Hen_FuZhu 发表于 2021-8-19 18:35
config文件夹里的config.yml
和Magic\defaults\config.defaults.yml 都修改了

只能修改config文件夹的内容

yuxiang555
不是自带数百个技能吗 怎么我装上去没得捏

Play360
似乎是一个非常强大的插件

炫宙菌
yuxiang555 发表于 2021-9-16 03:15
不是自带数百个技能吗 怎么我装上去没得捏

在default文件夹里面

yuxiang555
炫宙菌 发表于 2021-9-16 20:40
在default文件夹里面

谢谢大佬的回复!那请问这个插件有没有适合我这种新人RPG服服主的教程呢
我进服务器以后除了用指令就无法使用魔法 也调用不出来玩家的等级和魔力值等UI

翔小翔
太帅了这也,配置文件难不难

下一页 最后一页