https://mineplugin.org/api.php?action=feedcontributions&user=%E7%82%AB%E5%AE%99%E8%8F%8C&feedformat=atom
Minecraft插件百科 - 用户贡献 [zh-cn]
2024-03-28T19:40:13Z
用户贡献
MediaWiki 1.31.1
https://mineplugin.org/index.php?title=Magic/Regions&diff=15953
Magic/Regions
2021-11-27T12:36:30Z
<p>炫宙菌:/* 领域标志指令 */</p>
<hr />
<div>Magic可与 [http://dev.bukkit.org/bukkit-plugins/worldguard/ WorldGuard] 6.2+版本,或者是搭配了[http://jenkins.elmakers.com/job/WGCustomFlags/5/com.mewin%24WGCustomFlags/ WGCustomFlags]的旧版Worldguard并用,从而实现基于WG领域(region)的法术、法杖控制<br />
<br />
== 领域标志指令 ==<br />
<br />
管理员可以使用一些自定义标志以控制Magic的运行,使其在不同的领域中有不同的表现,通常用于修改区域标志的命令语法如下:<br />
<br />
<pre class="">region flag arena -w world blocked-spell-categories master,engineering</pre><br />
此命令可以让world世界中名为&quot;arena&quot;的领域中无法使用 &quot;master&quot; 和 &quot;engineering&quot; 类别的法术<br />
<br />
<pre class="">region flag arena -w world blocked-spells kill,torture</pre><br />
This works like the other example, but using a specific list of spells instead of categories. Note that spell ''key names'' are used here (as found in configs), not in-game localized names.<br />
<br />
== Custom Flags ==<br />
<br />
Magic provides the following custom flags:<br />
<br />
* '''allowed-spells''' Spells that will be allowed in a region. Takes priority over PvP and build permissions.<br />
* '''blocked-spells''' Spells that are not allowed in a region. Takes priority over allowed-spells.<br />
* '''allowed-spell-categories''' Works like allowed-spells, but using spell categories instead of keys.<br />
* '''blocked-spell-categories''' Works like blocked-spells, but using spell categories instead of keys.<br />
* '''allowed-wands''' Wands that are allowed to be used in a region. Takes priority over wand use permissions.<br />
* '''blocked-wands''' Wands that are not allowed to be used in a region. Takes priority over allowed-wands.<br />
* '''spell-overrides''' Used like the &quot;/wand override&quot; command, can be a powerful tool for making certain spells behave differently in a particular region.<br />
* '''destructible''' Can be used to modify which blocks may be destroyed by spells in a specific region.<br />
* '''reflective''' Can be used to make specific blocks reflective in a region (spells will bounce off of them)<br />
<br />
== Wildcards ==<br />
<br />
In all cases &quot;*&quot; can be used as a wildcard, meaning &quot;all&quot;. So &quot;/region flag somewhere blocked-spells *&quot; can be used to prevent casting of all spells in a region.<br />
<br />
If for some reason you should need it (generally due to overlapping regions) you can use &quot;-&quot; to mean &quot;none&quot;. For example, if you have a region where you want to allow all spells, and then inside of that a higher-priority region where you want to block only specific spells you could do:<br />
<br />
<pre class="">/region flag outer allowed-spells *<br />
/region flag inner blocked-spells blink,fling<br />
/region flag inner allowed-spells -</pre><br />
This will prevent the inner region from inheriting the * from its parent region.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Regions&diff=15952
Magic/Regions
2021-11-27T12:24:37Z
<p>炫宙菌:</p>
<hr />
<div>Magic可与 [http://dev.bukkit.org/bukkit-plugins/worldguard/ WorldGuard] 6.2+版本,或者是搭配了[http://jenkins.elmakers.com/job/WGCustomFlags/5/com.mewin%24WGCustomFlags/ WGCustomFlags]的旧版Worldguard并用,从而实现基于WG领域(region)的法术、法杖控制<br />
<br />
== 领域标志指令 ==<br />
<br />
管理员可以使用一些自定义标志以控制Magic的运行,使其在不同的领域中有不同的表现,通常用于修改区域标志的命令语法如下:<br />
<br />
<pre class="">region flag arena -w world blocked-spell-categories master,engineering</pre><br />
This would modify the &quot;arena&quot; region in world &quot;world&quot; so that any spells in the &quot;master&quot; and &quot;engineering&quot; categories are not allowed.<br />
<br />
<pre class="">region flag arena -w world blocked-spells kill,torture</pre><br />
This works like the other example, but using a specific list of spells instead of categories. Note that spell ''key names'' are used here (as found in configs), not in-game localized names.<br />
<br />
== Custom Flags ==<br />
<br />
Magic provides the following custom flags:<br />
<br />
* '''allowed-spells''' Spells that will be allowed in a region. Takes priority over PvP and build permissions.<br />
* '''blocked-spells''' Spells that are not allowed in a region. Takes priority over allowed-spells.<br />
* '''allowed-spell-categories''' Works like allowed-spells, but using spell categories instead of keys.<br />
* '''blocked-spell-categories''' Works like blocked-spells, but using spell categories instead of keys.<br />
* '''allowed-wands''' Wands that are allowed to be used in a region. Takes priority over wand use permissions.<br />
* '''blocked-wands''' Wands that are not allowed to be used in a region. Takes priority over allowed-wands.<br />
* '''spell-overrides''' Used like the &quot;/wand override&quot; command, can be a powerful tool for making certain spells behave differently in a particular region.<br />
* '''destructible''' Can be used to modify which blocks may be destroyed by spells in a specific region.<br />
* '''reflective''' Can be used to make specific blocks reflective in a region (spells will bounce off of them)<br />
<br />
== Wildcards ==<br />
<br />
In all cases &quot;*&quot; can be used as a wildcard, meaning &quot;all&quot;. So &quot;/region flag somewhere blocked-spells *&quot; can be used to prevent casting of all spells in a region.<br />
<br />
If for some reason you should need it (generally due to overlapping regions) you can use &quot;-&quot; to mean &quot;none&quot;. For example, if you have a region where you want to allow all spells, and then inside of that a higher-priority region where you want to block only specific spells you could do:<br />
<br />
<pre class="">/region flag outer allowed-spells *<br />
/region flag inner blocked-spells blink,fling<br />
/region flag inner allowed-spells -</pre><br />
This will prevent the inner region from inheriting the * from its parent region.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Resource_Pack&diff=15894
Magic/Resource Pack
2021-08-28T15:42:47Z
<p>炫宙菌:/* 合并 */</p>
<hr />
<div>== Magic官方资源包 ==<br />
<br />
Magic有一个官方的资源包,它提供了一些物品以供使用。木锄和金剑被用作法杖材质(修改一些NBT数据实现)<br />
<br />
== 禁用资源包 ==<br />
<br />
Magic会自动提供资源包下载。如果不想,请按照此法添加内容在plugins/Magic/config.yml关闭:<br />
<br />
<pre class="">resource_pack: &quot;&quot;</pre><br />
== 自定义资源包 ==<br />
<br />
你也可以设置<code>resource_pack</code> 来通过URL让玩家下载自定义的资源包,依旧由Magic管理此功能<br />
<br />
== 头颅图标 ==<br />
<br />
截至Magic6.1,技能图标被放在了资源包当中。所以,如果你关闭了资源包,你可能也需要恢复基于玩家头颅形式的图标(此内容不再更新!)<br />
<br />
<pre class="">url_icons_enabled: true</pre><br />
如果你重新打开了玩家头颅图标,可能需要参考一下 [https://github.com/elBukkit/MagicPlugin/blob/93e205d667f042b40f48eafe17ad4296e0d962ae/src/resource-pack/survival/assets/minecraft/models/item/skull_char.json 资源包中旧玩家头颅图标模型].<br />
<br />
或者也可以在server.properties或Magic里面放好资源包<br />
<br />
请注意,如果你没有使用资源包或者自定义的版本,法杖显示的样子就是木锄,技能图标将不可见且自定义音效无法播放(如magic.zap)。你当然可以随意更改Magic官方资源包的内容,把它放到自己的资源包里<br />
<br />
== 下载 ==<br />
<br />
当前资源包的版本有可能会发生变化,如果出于某些原因需要手动下载,最好在游戏中使用指令 <code>/getrp url</code>获得最新的URL。<br />
<br />
你也可以简单地通过检阅 plugins/Magic/defaults/config.defaults.yml 找到<code>resource_pack</code>下方写的URL。<br />
<br />
=== 在服务器中使用 ===<br />
<br />
如果你想在服务器中使用资源包,请把server.properties中的资源包链接删除。Magic将会自动帮助你使用正确版本的资源包,也可以自动更新Hash值,所以玩家在资源包更改会须重新下载<br />
<br />
资源包同样可作为示例的自定义配置,当使用默认配置时也会默认采用<br />
<br />
=== 旧的版本 ===<br />
<br />
资源包旧版本,会占用一部分 原版物品<br />
<br />
* 一些法杖:<br />
** 木锄, 默认法杖<br />
** 金斧, 大师法杖the master wand<br />
** 金锄,狼法杖The golden hoe, the Wolf wand<br />
** 金镐,隐身斗篷The golden pickaxe, the invisibility cloak<br />
** 金锹,魔法扫帚The golden shovel, the broomstick<br />
** 金剑,大师之剑 the Master Sword<br />
* 怪物蛋方块 (只有在玩家背包里才有效,而不是对于怪物蛋方块)<br />
** 建筑师法杖<br />
<br />
如果你使用了MagicV6-(适用于1.8服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-5.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-5.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-5.zip<br />
<br />
如果你使用了MagicV5-(适用于1.7服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-4.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-4.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-4.zip<br />
<br />
这些资源包大体和现有版本相同,但它们覆盖了僵尸马的材质,用于骑行扫帚时的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.<br />
<br />
=== 自定义 ===<br />
<br />
你可以随意下载和修改这个Zip压缩包<br /><br />
它完全免费,不论用作何途<br /><br />
你只需要将它解压、修改、再压缩,然后分享出去<br />
<br />
请记住,你可能还需要调整Magic的一些配置以适应你的更改。最简单的修改方法是替换掉资源包中的模型。<br />
<br />
配置和模型之间的联系是通过自定义模型数据建立的。设置起来很简单,只需要开启任何内置模型即可(如stick.json),现在来看看它是如何工作的<br />
<br />
<pre class="">{<br />
&quot;parent&quot;: &quot;minecraft:item/handheld&quot;,<br />
&quot;textures&quot;: {<br />
&quot;layer0&quot;: &quot;minecraft:item/stick&quot;<br />
},<br />
&quot;overrides&quot;: [<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18001}, &quot;model&quot;: &quot;item/custom/old_survival_wand1&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18002}, &quot;model&quot;: &quot;item/custom/old_survival_wand2&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18003}, &quot;model&quot;: &quot;item/custom/survival_wand1&quot;},<br />
... etc</pre><br />
每一个在&quot;overrides&quot;列出的模型都要对应一个自定义模型数据<br /><br />
你可以配置、使用这些物品,输入:<br />
<code>/mgive stick{18001}</code><br />
<br />
旧版的Magic或许需要更复杂一点的格式:<br />
<br />
<code>/mgive stick{CustomModelData:18001}</code><br />
<br />
==== 1.14- (使用损害值而非自定义模型数据) ====<br />
<br />
资源包 和配置之间的联系大体是由物品及其耐久连接起来的<br />
<br />
如果你想创建并加入新模型,你需要了解插件有关加入自定义模型的技术:<br />
<br />
https://www.spigotmc.org/wiki/custom-item-models-in-1-9-and-up/<br />
<br />
大多数资源包的模型都是用BDCraft Cubik制作的。 除此之外,我们无法提供任何制作自定义模型的支持或帮助,请在其他地方自行寻找教程<br />
<br />
=== 合并 ===<br />
<br />
有时候你可能需要把Magic的资源包和其他资源包合并。这样做成一个属于你自己服务器的资源包,或者作为其他插件所需要的资源包<br />
<br />
我们提供了一个实用工具: [https://merge.elmakers.com 资源包合并]<br />
<br />
建议使用这个小工具,因为它可以正确处理合并中的冲突。多数情况下可以让您的资源包和其他插件的资源包相结合,即便同时使用损害值和自定义模型<br />
<br />
手动操作的流程:<br />
<br />
# 解压你的材质包<br />
# 解压Magic材质包<br />
# 复制Magic材质包到你资源包上<br />
# 压缩这个结合体文件夹且备份<br />
<br />
有时候,你会发现Magic使用的物品和你的资源包内物品有冲突<br />
<br />
如果你想要通过Magic修改任何物品,可以这么做。可以在此处看到Magic主要使用的物品:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/items/icons.yml<br />
<br />
如果要修改物品作为技能图标的话,你可以按以下两个步骤:<br />
<br />
# 在解压Magic资源包之后(第二步之前),修改 assets/minecraft/models/item/diamond''axe.json 为 iron''axe(只是举例)<br />
# 修改 plugins/Magic/items.yml,添加一行如<code>spell_icon: iron_axe</code>的内容<br />
<br />
这样就好让所有的技能图标使用铁斧<br />
<br />
=== 资源包 ===<br />
<br />
资源包和assest位置 在这里可以找到<br />
<br />
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/resource-pack<br />
<br />
=== 备选资源包 ===<br />
<br />
在这些免费、开放图标开放之前,我在另一个MC客户端mod中已经画了一些别的纹理资源。所以我决定不把这个作为默认的资源包,但你仍然可以使用。<br />
<br />
<font backcolor=black>作者在做Magic资源包之前还做了别的,他觉得可以分享一下</font><br />
<br />
只需要把 &quot;example: painterly&quot; 放到config.yml中即可开启,或者直接使用此资源包<br />
<br />
http://rp.elmakers.com/Magic-painterly-RP-6-1.zip</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Resource_Pack&diff=15893
Magic/Resource Pack
2021-08-28T15:41:46Z
<p>炫宙菌:/* 备选资源包 */</p>
<hr />
<div>== Magic官方资源包 ==<br />
<br />
Magic有一个官方的资源包,它提供了一些物品以供使用。木锄和金剑被用作法杖材质(修改一些NBT数据实现)<br />
<br />
== 禁用资源包 ==<br />
<br />
Magic会自动提供资源包下载。如果不想,请按照此法添加内容在plugins/Magic/config.yml关闭:<br />
<br />
<pre class="">resource_pack: &quot;&quot;</pre><br />
== 自定义资源包 ==<br />
<br />
你也可以设置<code>resource_pack</code> 来通过URL让玩家下载自定义的资源包,依旧由Magic管理此功能<br />
<br />
== 头颅图标 ==<br />
<br />
截至Magic6.1,技能图标被放在了资源包当中。所以,如果你关闭了资源包,你可能也需要恢复基于玩家头颅形式的图标(此内容不再更新!)<br />
<br />
<pre class="">url_icons_enabled: true</pre><br />
如果你重新打开了玩家头颅图标,可能需要参考一下 [https://github.com/elBukkit/MagicPlugin/blob/93e205d667f042b40f48eafe17ad4296e0d962ae/src/resource-pack/survival/assets/minecraft/models/item/skull_char.json 资源包中旧玩家头颅图标模型].<br />
<br />
或者也可以在server.properties或Magic里面放好资源包<br />
<br />
请注意,如果你没有使用资源包或者自定义的版本,法杖显示的样子就是木锄,技能图标将不可见且自定义音效无法播放(如magic.zap)。你当然可以随意更改Magic官方资源包的内容,把它放到自己的资源包里<br />
<br />
== 下载 ==<br />
<br />
当前资源包的版本有可能会发生变化,如果出于某些原因需要手动下载,最好在游戏中使用指令 <code>/getrp url</code>获得最新的URL。<br />
<br />
你也可以简单地通过检阅 plugins/Magic/defaults/config.defaults.yml 找到<code>resource_pack</code>下方写的URL。<br />
<br />
=== 在服务器中使用 ===<br />
<br />
如果你想在服务器中使用资源包,请把server.properties中的资源包链接删除。Magic将会自动帮助你使用正确版本的资源包,也可以自动更新Hash值,所以玩家在资源包更改会须重新下载<br />
<br />
资源包同样可作为示例的自定义配置,当使用默认配置时也会默认采用<br />
<br />
=== 旧的版本 ===<br />
<br />
资源包旧版本,会占用一部分 原版物品<br />
<br />
* 一些法杖:<br />
** 木锄, 默认法杖<br />
** 金斧, 大师法杖the master wand<br />
** 金锄,狼法杖The golden hoe, the Wolf wand<br />
** 金镐,隐身斗篷The golden pickaxe, the invisibility cloak<br />
** 金锹,魔法扫帚The golden shovel, the broomstick<br />
** 金剑,大师之剑 the Master Sword<br />
* 怪物蛋方块 (只有在玩家背包里才有效,而不是对于怪物蛋方块)<br />
** 建筑师法杖<br />
<br />
如果你使用了MagicV6-(适用于1.8服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-5.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-5.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-5.zip<br />
<br />
如果你使用了MagicV5-(适用于1.7服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-4.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-4.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-4.zip<br />
<br />
这些资源包大体和现有版本相同,但它们覆盖了僵尸马的材质,用于骑行扫帚时的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.<br />
<br />
=== 自定义 ===<br />
<br />
你可以随意下载和修改这个Zip压缩包<br /><br />
它完全免费,不论用作何途<br /><br />
你只需要将它解压、修改、再压缩,然后分享出去<br />
<br />
请记住,你可能还需要调整Magic的一些配置以适应你的更改。最简单的修改方法是替换掉资源包中的模型。<br />
<br />
配置和模型之间的联系是通过自定义模型数据建立的。设置起来很简单,只需要开启任何内置模型即可(如stick.json),现在来看看它是如何工作的<br />
<br />
<pre class="">{<br />
&quot;parent&quot;: &quot;minecraft:item/handheld&quot;,<br />
&quot;textures&quot;: {<br />
&quot;layer0&quot;: &quot;minecraft:item/stick&quot;<br />
},<br />
&quot;overrides&quot;: [<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18001}, &quot;model&quot;: &quot;item/custom/old_survival_wand1&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18002}, &quot;model&quot;: &quot;item/custom/old_survival_wand2&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18003}, &quot;model&quot;: &quot;item/custom/survival_wand1&quot;},<br />
... etc</pre><br />
每一个在&quot;overrides&quot;列出的模型都要对应一个自定义模型数据<br /><br />
你可以配置、使用这些物品,输入:<br />
<code>/mgive stick{18001}</code><br />
<br />
旧版的Magic或许需要更复杂一点的格式:<br />
<br />
<code>/mgive stick{CustomModelData:18001}</code><br />
<br />
==== 1.14- (使用损害值而非自定义模型数据) ====<br />
<br />
资源包 和配置之间的联系大体是由物品及其耐久连接起来的<br />
<br />
如果你想创建并加入新模型,你需要了解插件有关加入自定义模型的技术:<br />
<br />
https://www.spigotmc.org/wiki/custom-item-models-in-1-9-and-up/<br />
<br />
大多数资源包的模型都是用BDCraft Cubik制作的。 除此之外,我们无法提供任何制作自定义模型的支持或帮助,请在其他地方自行寻找教程<br />
<br />
=== 合并 ===<br />
<br />
有时候你可能需要把Magic的资源包和其他资源包合并。这样做成一个属于你自己服务器的资源包,或者作为其他插件所需要的资源包<br />
<br />
我们提供了一个实用工具: [https://merge.elmakers.com 资源包合并]<br />
<br />
建议使用这个小工具,因为它可以正确处理合并中的冲突。多数情况下可以让您的资源包和其他插件的资源包相结合,即便同时使用损害值和自定义模型<br />
<br />
手动操作的流程:<br />
<br />
# 解压你的材质包<br />
# 解压Magic材质包<br />
# 复制Magic材质包到你资源包上<br />
# 压缩这个结合体文件夹且备份<br />
<br />
有时候,你会发现Magic使用的物品和你的资源包内物品有冲突<br />
<br />
如果你想要通过Magic修改任何物品,可以这么做。可以在此处看到Magic主要使用的物品:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/items/icons.yml<br />
<br />
所以举例:如果你想修改物品作为技能图标的话,你可以按以下两个步骤:<br />
<br />
# 在解压Magic资源包之后(第二步之前),修改 assets/minecraft/models/item/diamond''axe.json 为 iron''axe(只是举例)<br />
# 修改 plugins/Magic/items.yml,添加一行如<code>spell_icon: iron_axe</code>的内容<br />
<br />
这样就好让所有的技能图标使用铁斧<br />
<br />
=== 资源包 ===<br />
<br />
资源包和assest位置 在这里可以找到<br />
<br />
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/resource-pack<br />
<br />
=== 备选资源包 ===<br />
<br />
在这些免费、开放图标开放之前,我在另一个MC客户端mod中已经画了一些别的纹理资源。所以我决定不把这个作为默认的资源包,但你仍然可以使用。<br />
<br />
<font backcolor=black>作者在做Magic资源包之前还做了别的,他觉得可以分享一下</font><br />
<br />
只需要把 &quot;example: painterly&quot; 放到config.yml中即可开启,或者直接使用此资源包<br />
<br />
http://rp.elmakers.com/Magic-painterly-RP-6-1.zip</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Resource_Pack&diff=15892
Magic/Resource Pack
2021-08-28T15:40:26Z
<p>炫宙菌:/* 自定义 */</p>
<hr />
<div>== Magic官方资源包 ==<br />
<br />
Magic有一个官方的资源包,它提供了一些物品以供使用。木锄和金剑被用作法杖材质(修改一些NBT数据实现)<br />
<br />
== 禁用资源包 ==<br />
<br />
Magic会自动提供资源包下载。如果不想,请按照此法添加内容在plugins/Magic/config.yml关闭:<br />
<br />
<pre class="">resource_pack: &quot;&quot;</pre><br />
== 自定义资源包 ==<br />
<br />
你也可以设置<code>resource_pack</code> 来通过URL让玩家下载自定义的资源包,依旧由Magic管理此功能<br />
<br />
== 头颅图标 ==<br />
<br />
截至Magic6.1,技能图标被放在了资源包当中。所以,如果你关闭了资源包,你可能也需要恢复基于玩家头颅形式的图标(此内容不再更新!)<br />
<br />
<pre class="">url_icons_enabled: true</pre><br />
如果你重新打开了玩家头颅图标,可能需要参考一下 [https://github.com/elBukkit/MagicPlugin/blob/93e205d667f042b40f48eafe17ad4296e0d962ae/src/resource-pack/survival/assets/minecraft/models/item/skull_char.json 资源包中旧玩家头颅图标模型].<br />
<br />
或者也可以在server.properties或Magic里面放好资源包<br />
<br />
请注意,如果你没有使用资源包或者自定义的版本,法杖显示的样子就是木锄,技能图标将不可见且自定义音效无法播放(如magic.zap)。你当然可以随意更改Magic官方资源包的内容,把它放到自己的资源包里<br />
<br />
== 下载 ==<br />
<br />
当前资源包的版本有可能会发生变化,如果出于某些原因需要手动下载,最好在游戏中使用指令 <code>/getrp url</code>获得最新的URL。<br />
<br />
你也可以简单地通过检阅 plugins/Magic/defaults/config.defaults.yml 找到<code>resource_pack</code>下方写的URL。<br />
<br />
=== 在服务器中使用 ===<br />
<br />
如果你想在服务器中使用资源包,请把server.properties中的资源包链接删除。Magic将会自动帮助你使用正确版本的资源包,也可以自动更新Hash值,所以玩家在资源包更改会须重新下载<br />
<br />
资源包同样可作为示例的自定义配置,当使用默认配置时也会默认采用<br />
<br />
=== 旧的版本 ===<br />
<br />
资源包旧版本,会占用一部分 原版物品<br />
<br />
* 一些法杖:<br />
** 木锄, 默认法杖<br />
** 金斧, 大师法杖the master wand<br />
** 金锄,狼法杖The golden hoe, the Wolf wand<br />
** 金镐,隐身斗篷The golden pickaxe, the invisibility cloak<br />
** 金锹,魔法扫帚The golden shovel, the broomstick<br />
** 金剑,大师之剑 the Master Sword<br />
* 怪物蛋方块 (只有在玩家背包里才有效,而不是对于怪物蛋方块)<br />
** 建筑师法杖<br />
<br />
如果你使用了MagicV6-(适用于1.8服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-5.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-5.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-5.zip<br />
<br />
如果你使用了MagicV5-(适用于1.7服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-4.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-4.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-4.zip<br />
<br />
这些资源包大体和现有版本相同,但它们覆盖了僵尸马的材质,用于骑行扫帚时的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.<br />
<br />
=== 自定义 ===<br />
<br />
你可以随意下载和修改这个Zip压缩包<br /><br />
它完全免费,不论用作何途<br /><br />
你只需要将它解压、修改、再压缩,然后分享出去<br />
<br />
请记住,你可能还需要调整Magic的一些配置以适应你的更改。最简单的修改方法是替换掉资源包中的模型。<br />
<br />
配置和模型之间的联系是通过自定义模型数据建立的。设置起来很简单,只需要开启任何内置模型即可(如stick.json),现在来看看它是如何工作的<br />
<br />
<pre class="">{<br />
&quot;parent&quot;: &quot;minecraft:item/handheld&quot;,<br />
&quot;textures&quot;: {<br />
&quot;layer0&quot;: &quot;minecraft:item/stick&quot;<br />
},<br />
&quot;overrides&quot;: [<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18001}, &quot;model&quot;: &quot;item/custom/old_survival_wand1&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18002}, &quot;model&quot;: &quot;item/custom/old_survival_wand2&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18003}, &quot;model&quot;: &quot;item/custom/survival_wand1&quot;},<br />
... etc</pre><br />
每一个在&quot;overrides&quot;列出的模型都要对应一个自定义模型数据<br /><br />
你可以配置、使用这些物品,输入:<br />
<code>/mgive stick{18001}</code><br />
<br />
旧版的Magic或许需要更复杂一点的格式:<br />
<br />
<code>/mgive stick{CustomModelData:18001}</code><br />
<br />
==== 1.14- (使用损害值而非自定义模型数据) ====<br />
<br />
资源包 和配置之间的联系大体是由物品及其耐久连接起来的<br />
<br />
如果你想创建并加入新模型,你需要了解插件有关加入自定义模型的技术:<br />
<br />
https://www.spigotmc.org/wiki/custom-item-models-in-1-9-and-up/<br />
<br />
大多数资源包的模型都是用BDCraft Cubik制作的。 除此之外,我们无法提供任何制作自定义模型的支持或帮助,请在其他地方自行寻找教程<br />
<br />
=== 合并 ===<br />
<br />
有时候你可能需要把Magic的资源包和其他资源包合并。这样做成一个属于你自己服务器的资源包,或者作为其他插件所需要的资源包<br />
<br />
我们提供了一个实用工具: [https://merge.elmakers.com 资源包合并]<br />
<br />
建议使用这个小工具,因为它可以正确处理合并中的冲突。多数情况下可以让您的资源包和其他插件的资源包相结合,即便同时使用损害值和自定义模型<br />
<br />
手动操作的流程:<br />
<br />
# 解压你的材质包<br />
# 解压Magic材质包<br />
# 复制Magic材质包到你资源包上<br />
# 压缩这个结合体文件夹且备份<br />
<br />
有时候,你会发现Magic使用的物品和你的资源包内物品有冲突<br />
<br />
如果你想要通过Magic修改任何物品,可以这么做。可以在此处看到Magic主要使用的物品:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/items/icons.yml<br />
<br />
所以举例:如果你想修改物品作为技能图标的话,你可以按以下两个步骤:<br />
<br />
# 在解压Magic资源包之后(第二步之前),修改 assets/minecraft/models/item/diamond''axe.json 为 iron''axe(只是举例)<br />
# 修改 plugins/Magic/items.yml,添加一行如<code>spell_icon: iron_axe</code>的内容<br />
<br />
这样就好让所有的技能图标使用铁斧<br />
<br />
=== 资源包 ===<br />
<br />
资源包和assest位置 在这里可以找到<br />
<br />
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/resource-pack<br />
<br />
=== 备选资源包 ===<br />
<br />
在这些免费、开放图标被发现之前,我在另一个MC客户端mod中已经画了一些东西。所以我决定不把这些作为默认值,但你仍然可以使用。<br />
<br />
<font backcolor=black>作者在做Magic资源包之前还做了别的,他觉得可以分享一下</font><br />
<br />
只需要把 &quot;example: painterly&quot; 放到config.yml中即可开启,或者直接使用此资源包<br />
<br />
http://rp.elmakers.com/Magic-painterly-RP-6-1.zip</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Resource_Pack&diff=15891
Magic/Resource Pack
2021-08-28T15:38:24Z
<p>炫宙菌:/* 下载 */</p>
<hr />
<div>== Magic官方资源包 ==<br />
<br />
Magic有一个官方的资源包,它提供了一些物品以供使用。木锄和金剑被用作法杖材质(修改一些NBT数据实现)<br />
<br />
== 禁用资源包 ==<br />
<br />
Magic会自动提供资源包下载。如果不想,请按照此法添加内容在plugins/Magic/config.yml关闭:<br />
<br />
<pre class="">resource_pack: &quot;&quot;</pre><br />
== 自定义资源包 ==<br />
<br />
你也可以设置<code>resource_pack</code> 来通过URL让玩家下载自定义的资源包,依旧由Magic管理此功能<br />
<br />
== 头颅图标 ==<br />
<br />
截至Magic6.1,技能图标被放在了资源包当中。所以,如果你关闭了资源包,你可能也需要恢复基于玩家头颅形式的图标(此内容不再更新!)<br />
<br />
<pre class="">url_icons_enabled: true</pre><br />
如果你重新打开了玩家头颅图标,可能需要参考一下 [https://github.com/elBukkit/MagicPlugin/blob/93e205d667f042b40f48eafe17ad4296e0d962ae/src/resource-pack/survival/assets/minecraft/models/item/skull_char.json 资源包中旧玩家头颅图标模型].<br />
<br />
或者也可以在server.properties或Magic里面放好资源包<br />
<br />
请注意,如果你没有使用资源包或者自定义的版本,法杖显示的样子就是木锄,技能图标将不可见且自定义音效无法播放(如magic.zap)。你当然可以随意更改Magic官方资源包的内容,把它放到自己的资源包里<br />
<br />
== 下载 ==<br />
<br />
当前资源包的版本有可能会发生变化,如果出于某些原因需要手动下载,最好在游戏中使用指令 <code>/getrp url</code>获得最新的URL。<br />
<br />
你也可以简单地通过检阅 plugins/Magic/defaults/config.defaults.yml 找到<code>resource_pack</code>下方写的URL。<br />
<br />
=== 在服务器中使用 ===<br />
<br />
如果你想在服务器中使用资源包,请把server.properties中的资源包链接删除。Magic将会自动帮助你使用正确版本的资源包,也可以自动更新Hash值,所以玩家在资源包更改会须重新下载<br />
<br />
资源包同样可作为示例的自定义配置,当使用默认配置时也会默认采用<br />
<br />
=== 旧的版本 ===<br />
<br />
资源包旧版本,会占用一部分 原版物品<br />
<br />
* 一些法杖:<br />
** 木锄, 默认法杖<br />
** 金斧, 大师法杖the master wand<br />
** 金锄,狼法杖The golden hoe, the Wolf wand<br />
** 金镐,隐身斗篷The golden pickaxe, the invisibility cloak<br />
** 金锹,魔法扫帚The golden shovel, the broomstick<br />
** 金剑,大师之剑 the Master Sword<br />
* 怪物蛋方块 (只有在玩家背包里才有效,而不是对于怪物蛋方块)<br />
** 建筑师法杖<br />
<br />
如果你使用了MagicV6-(适用于1.8服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-5.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-5.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-5.zip<br />
<br />
如果你使用了MagicV5-(适用于1.7服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-4.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-4.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-4.zip<br />
<br />
这些资源包大体和现有版本相同,但它们覆盖了僵尸马的材质,用于骑行扫帚时的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.<br />
<br />
=== 自定义 ===<br />
<br />
你可以随意下载和 修改Zip压缩包<br /><br />
它完全免费,不论用作何途 Just unzip, modify, re-zip<br /><br />
只需解压、修改、再压缩,然后分享出去<br />
<br />
请记住,你可能还需要调整Magic的一些配置以适应你的更改。最简单的修改方法是替换掉资源包中的模型。<br />
<br />
配置和模型之间的联系是通过自定义模型数据建立的。设置起来很简单,只需要开启任何内置模型即可(如stick.json),现在来看看它是如何工作的<br />
<br />
<pre class="">{<br />
&quot;parent&quot;: &quot;minecraft:item/handheld&quot;,<br />
&quot;textures&quot;: {<br />
&quot;layer0&quot;: &quot;minecraft:item/stick&quot;<br />
},<br />
&quot;overrides&quot;: [<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18001}, &quot;model&quot;: &quot;item/custom/old_survival_wand1&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18002}, &quot;model&quot;: &quot;item/custom/old_survival_wand2&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18003}, &quot;model&quot;: &quot;item/custom/survival_wand1&quot;},<br />
... etc</pre><br />
每一个在&quot;overrides&quot;列出的模型都要对应一个自定义模型数据<br /><br />
你可以配置、使用这些物品,输入:<br />
<code>/mgive stick{18001}</code><br />
<br />
旧版的Magic或许需要更复杂一点的格式:<br />
<br />
<code>/mgive stick{CustomModelData:18001}</code><br />
<br />
==== 1.14- (使用损害值而非自定义模型数据) ====<br />
<br />
资源包 和配置之间的联系大体是由物品及其耐久连接起来的<br />
<br />
如果你想创建并加入新模型,你需要了解插件有关加入自定义模型的技术:<br />
<br />
https://www.spigotmc.org/wiki/custom-item-models-in-1-9-and-up/<br />
<br />
大多数资源包的模型都是用BDCraft Cubik制作的。 除此之外,我们无法提供任何制作自定义模型的支持或帮助,请在其他地方自行寻找教程<br />
<br />
=== 合并 ===<br />
<br />
有时候你可能需要把Magic的资源包和其他资源包合并。这样做成一个属于你自己服务器的资源包,或者作为其他插件所需要的资源包<br />
<br />
我们提供了一个实用工具: [https://merge.elmakers.com 资源包合并]<br />
<br />
建议使用这个小工具,因为它可以正确处理合并中的冲突。多数情况下可以让您的资源包和其他插件的资源包相结合,即便同时使用损害值和自定义模型<br />
<br />
手动操作的流程:<br />
<br />
# 解压你的材质包<br />
# 解压Magic材质包<br />
# 复制Magic材质包到你资源包上<br />
# 压缩这个结合体文件夹且备份<br />
<br />
有时候,你会发现Magic使用的物品和你的资源包内物品有冲突<br />
<br />
如果你想要通过Magic修改任何物品,可以这么做。可以在此处看到Magic主要使用的物品:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/items/icons.yml<br />
<br />
所以举例:如果你想修改物品作为技能图标的话,你可以按以下两个步骤:<br />
<br />
# 在解压Magic资源包之后(第二步之前),修改 assets/minecraft/models/item/diamond''axe.json 为 iron''axe(只是举例)<br />
# 修改 plugins/Magic/items.yml,添加一行如<code>spell_icon: iron_axe</code>的内容<br />
<br />
这样就好让所有的技能图标使用铁斧<br />
<br />
=== 资源包 ===<br />
<br />
资源包和assest位置 在这里可以找到<br />
<br />
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/resource-pack<br />
<br />
=== 备选资源包 ===<br />
<br />
在这些免费、开放图标被发现之前,我在另一个MC客户端mod中已经画了一些东西。所以我决定不把这些作为默认值,但你仍然可以使用。<br />
<br />
<font backcolor=black>作者在做Magic资源包之前还做了别的,他觉得可以分享一下</font><br />
<br />
只需要把 &quot;example: painterly&quot; 放到config.yml中即可开启,或者直接使用此资源包<br />
<br />
http://rp.elmakers.com/Magic-painterly-RP-6-1.zip</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Resource_Pack&diff=15890
Magic/Resource Pack
2021-08-28T15:37:10Z
<p>炫宙菌:/* 自定义 */</p>
<hr />
<div>== Magic官方资源包 ==<br />
<br />
Magic有一个官方的资源包,它提供了一些物品以供使用。木锄和金剑被用作法杖材质(修改一些NBT数据实现)<br />
<br />
== 禁用资源包 ==<br />
<br />
Magic会自动提供资源包下载。如果不想,请按照此法添加内容在plugins/Magic/config.yml关闭:<br />
<br />
<pre class="">resource_pack: &quot;&quot;</pre><br />
== 自定义资源包 ==<br />
<br />
你也可以设置<code>resource_pack</code> 来通过URL让玩家下载自定义的资源包,依旧由Magic管理此功能<br />
<br />
== 头颅图标 ==<br />
<br />
截至Magic6.1,技能图标被放在了资源包当中。所以,如果你关闭了资源包,你可能也需要恢复基于玩家头颅形式的图标(此内容不再更新!)<br />
<br />
<pre class="">url_icons_enabled: true</pre><br />
如果你重新打开了玩家头颅图标,可能需要参考一下 [https://github.com/elBukkit/MagicPlugin/blob/93e205d667f042b40f48eafe17ad4296e0d962ae/src/resource-pack/survival/assets/minecraft/models/item/skull_char.json 资源包中旧玩家头颅图标模型].<br />
<br />
或者也可以在server.properties或Magic里面放好资源包<br />
<br />
请注意,如果你没有使用资源包或者自定义的版本,法杖显示的样子就是木锄,技能图标将不可见且自定义音效无法播放(如magic.zap)。你当然可以随意更改Magic官方资源包的内容,把它放到自己的资源包里<br />
<br />
== 下载 ==<br />
<br />
当前资源包的版本有更改的可能,如果出于某些原因需要下载,最好在游戏中使用指令 <code>/getrp url</code>获得最新的URL。<br />
<br />
你也可以简单地通过检阅 plugins/Magic/defaults/config.defaults.yml 找到<code>resource_pack</code>下方写的URL。<br />
<br />
=== 在服务器中使用 ===<br />
<br />
如果你想在服务器中使用资源包,请把server.properties中的资源包链接删除。Magic将会自动帮助你使用正确版本的资源包,也可以自动更新Hash值,所以玩家在资源包更改会须重新下载<br />
<br />
资源包同样可作为示例的自定义配置,当使用默认配置时也会默认采用<br />
<br />
=== 旧的版本 ===<br />
<br />
资源包旧版本,会占用一部分 原版物品<br />
<br />
* 一些法杖:<br />
** 木锄, 默认法杖<br />
** 金斧, 大师法杖the master wand<br />
** 金锄,狼法杖The golden hoe, the Wolf wand<br />
** 金镐,隐身斗篷The golden pickaxe, the invisibility cloak<br />
** 金锹,魔法扫帚The golden shovel, the broomstick<br />
** 金剑,大师之剑 the Master Sword<br />
* 怪物蛋方块 (只有在玩家背包里才有效,而不是对于怪物蛋方块)<br />
** 建筑师法杖<br />
<br />
如果你使用了MagicV6-(适用于1.8服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-5.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-5.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-5.zip<br />
<br />
如果你使用了MagicV5-(适用于1.7服务器), 下面的内容可能有用:<br />
<br />
* http://rp.elmakers.com/Magic-RP-4.zip<br />
* http://rp.elmakers.com/Magic-potter-RP-4.zip<br />
* http://rp.elmakers.com/Magic-bending-RP-4.zip<br />
<br />
这些资源包大体和现有版本相同,但它们覆盖了僵尸马的材质,用于骑行扫帚时的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.<br />
<br />
=== 自定义 ===<br />
<br />
你可以随意下载和 修改Zip压缩包<br /><br />
它完全免费,不论用作何途 Just unzip, modify, re-zip<br /><br />
只需解压、修改、再压缩,然后分享出去<br />
<br />
请记住,你可能还需要调整Magic的一些配置以适应你的更改。最简单的修改方法是替换掉资源包中的模型。<br />
<br />
配置和模型之间的联系是通过自定义模型数据建立的。设置起来很简单,只需要开启任何内置模型即可(如stick.json),现在来看看它是如何工作的<br />
<br />
<pre class="">{<br />
&quot;parent&quot;: &quot;minecraft:item/handheld&quot;,<br />
&quot;textures&quot;: {<br />
&quot;layer0&quot;: &quot;minecraft:item/stick&quot;<br />
},<br />
&quot;overrides&quot;: [<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18001}, &quot;model&quot;: &quot;item/custom/old_survival_wand1&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18002}, &quot;model&quot;: &quot;item/custom/old_survival_wand2&quot;},<br />
{&quot;predicate&quot;: {&quot;custom_model_data&quot;: 18003}, &quot;model&quot;: &quot;item/custom/survival_wand1&quot;},<br />
... etc</pre><br />
每一个在&quot;overrides&quot;列出的模型都要对应一个自定义模型数据<br /><br />
你可以配置、使用这些物品,输入:<br />
<code>/mgive stick{18001}</code><br />
<br />
旧版的Magic或许需要更复杂一点的格式:<br />
<br />
<code>/mgive stick{CustomModelData:18001}</code><br />
<br />
==== 1.14- (使用损害值而非自定义模型数据) ====<br />
<br />
资源包 和配置之间的联系大体是由物品及其耐久连接起来的<br />
<br />
如果你想创建并加入新模型,你需要了解插件有关加入自定义模型的技术:<br />
<br />
https://www.spigotmc.org/wiki/custom-item-models-in-1-9-and-up/<br />
<br />
大多数资源包的模型都是用BDCraft Cubik制作的。 除此之外,我们无法提供任何制作自定义模型的支持或帮助,请在其他地方自行寻找教程<br />
<br />
=== 合并 ===<br />
<br />
有时候你可能需要把Magic的资源包和其他资源包合并。这样做成一个属于你自己服务器的资源包,或者作为其他插件所需要的资源包<br />
<br />
我们提供了一个实用工具: [https://merge.elmakers.com 资源包合并]<br />
<br />
建议使用这个小工具,因为它可以正确处理合并中的冲突。多数情况下可以让您的资源包和其他插件的资源包相结合,即便同时使用损害值和自定义模型<br />
<br />
手动操作的流程:<br />
<br />
# 解压你的材质包<br />
# 解压Magic材质包<br />
# 复制Magic材质包到你资源包上<br />
# 压缩这个结合体文件夹且备份<br />
<br />
有时候,你会发现Magic使用的物品和你的资源包内物品有冲突<br />
<br />
如果你想要通过Magic修改任何物品,可以这么做。可以在此处看到Magic主要使用的物品:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/items/icons.yml<br />
<br />
所以举例:如果你想修改物品作为技能图标的话,你可以按以下两个步骤:<br />
<br />
# 在解压Magic资源包之后(第二步之前),修改 assets/minecraft/models/item/diamond''axe.json 为 iron''axe(只是举例)<br />
# 修改 plugins/Magic/items.yml,添加一行如<code>spell_icon: iron_axe</code>的内容<br />
<br />
这样就好让所有的技能图标使用铁斧<br />
<br />
=== 资源包 ===<br />
<br />
资源包和assest位置 在这里可以找到<br />
<br />
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/resource-pack<br />
<br />
=== 备选资源包 ===<br />
<br />
在这些免费、开放图标被发现之前,我在另一个MC客户端mod中已经画了一些东西。所以我决定不把这些作为默认值,但你仍然可以使用。<br />
<br />
<font backcolor=black>作者在做Magic资源包之前还做了别的,他觉得可以分享一下</font><br />
<br />
只需要把 &quot;example: painterly&quot; 放到config.yml中即可开启,或者直接使用此资源包<br />
<br />
http://rp.elmakers.com/Magic-painterly-RP-6-1.zip</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Custom_Spells&diff=15889
Magic/Custom Spells
2021-08-28T15:11:29Z
<p>炫宙菌:/* Requirements【需求】 */</p>
<hr />
<div>== 插件自定义法术 ==<br />
<br />
Magic的法术可以非常复杂,从零开始可能很困难,所以如果默认的内部法术里面有类似于你心中理想的法术,可以试试在此基础上修改修改<br />
<br />
Magic的法术类似于脚本事件,可以包含十分复杂的规则、行为和逻辑,借此制作高度自由化的视觉以及游戏体验<br />
<br />
== 工具和参考 ==<br />
<br />
在阅读了以下教程后,有些网页工具就显得非常有用了:<br />
* [http://reference.elmakers.com/ 参考指南] 此链接列出了所有参数、行为、效果以及其他本指南中提到的内容<br />
** [http://mine.elmakers.com/legacy/reference/ Legacy version] 1.13-版本专用<br />
* [http://mine.elmakers.com/#spells 默认生存服法术列表] 查看更高级的内置生存服技能的相关信息,并且把游戏中的关键词转化为相应内容以查到正确的配置<br />
<br />
== 教学 ==<br />
<br />
本教程将由魔法导弹技能开始学习,逐步拨云见日地了解它的组成<br />
<br />
== 分析法术 ==<br />
<br />
多数法术有五个主要部分,我们每次讨论一个:<br />
<br />
* '''Base Properties''': 基础的法术设置,比如图标、SP消耗和SP获取量,以及一些法杖升级或使用/cast parameters无法更改的内容<br />
* '''Actions''': 现在大部分法术使用 [[Magic/Actions|行为系统]], 可以让你灵活地自定义法术的行为,实现你所想的效果<br />
* '''Effects''': 有多种施法时产生的视觉效果,一般由施法多个过程触发<br />
* '''Parameters''': 行为需要参数来改变它们的视觉效果。参数可以作为进阶法术、法杖或使用/cast parameters时的必备部分,更加直接和方便地测试法术的效果。译者注:参数包含如技能伤害、范围、时效等内容<br />
* '''Costs''': 法术需要一些消耗才能释放,大多数情况消耗法力,当然物品、金钱和生命值也是可以作为消耗的<br />
<br />
== 基础配置 ==<br />
<br />
拿Magic Missile【魔法导弹】技能举例, [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/spells/missile.yml 它的配置文件在这].<br />
<br />
<pre class="">missile:</pre><br />
这是技能的 &quot关键&quot; 名。当使用/cast命令或/wand命令时,显示的技能名就是这个,支持非英文<br />
<br />
<pre class=""> icon: diamond_axe:160<br />
icon_disabled: diamond_hoe:160<br />
icon_url: http://textures.minecraft.net/texture/2ba95570c7b712713632d4c0d2fc66906613d3850a596a0267c6d763fe741ac</pre><br />
上述三个分别是:图标、不可用图标(如缺少法力、冷却未到)、图标URL。技能的图标,表现为在游戏中它显示成什么,通常在法杖、商店中作为物品时显示为这里设置的图标<br />
<br />
Magic可以使用资源包里的图标(默认技能使用的图标就是),当然原版物品、玩家头颅也可以。如果config.yml的 &quoturl_icons_enabled&quot;设置为true,技能将会使用'''icon_url''' 以通过自定义材质创建玩家头颅作为图标。<br />
<br />
如果不这样设置,那么技能将会采用'''icon'''属性中的内容作为图标。当一个技能暂不可用时 (法力不足、处于冷却、没有权限) ,则会采用 '''icon_disabled''' 属性中的内容作为图标 (头颅图标不支持icon_disabled)。 <br />
<br />
在官方提供的资源包中,每一个技能的不可用图标会和正常图标相同,但是会多一个红色的 &quot;no&quot; 标志覆盖在上面<br />
<br />
<pre class=""> upgrade_required_path: beginner<br />
upgrade_required_casts: 40</pre><br />
法术是可以进阶的,进阶法术可通过间隔符号&quot;|&quot;定义,这样的话 &quot;missile|2&quot;就代表着第二级别的 Magic Missile【魔法导弹】 Level 2。<br />
<br />
法术的继承是根据上一级来的,这意味着未覆盖的设置将继承上一级的设置(比如二级技能只是参数里面的伤害和一级不一样,只写了damage的参数,其余继承一级技能的所有设置)<br />
<br />
举例说明,请查阅[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/missile.yml#L108 Magic Missile【魔法导弹】] ,二级的魔法导弹会提高射程和伤害<br />
<br />
这些设置决定了进阶这一功能如何运作,恰如魔法导弹的进阶,你必须处于&quot;Beginner&quot;【初学者】 熟练度并且成功释放法术40次<br />
<br />
<pre class=""> category: combat</pre><br />
技能可以设置类别,主要用于技能书的管理,或用于/spells 命令<br />
<br />
<pre class=""> worth: 150<br />
earns_sp: 8<br />
earns_cooldown: 10000</pre><br />
这些设置项决定了 [[Magic/Spell Points|技能点]] 在此技能的运作方式。<br />
'''worth''' 属性指此法术技能点 is the cost of the spell in spell points. (或金钱数, 需要有技能商店的设置)<br />
<br />
'''earns_sp''' 属性决定了释放这一法术可获得的技能点 ''最大值'' 。当一个技能被释放时,玩家获得技能点,技能则会进入一段时间的冷却,在这段时间内,法术成功释放时额外获得的技能点数量将会有所削减。这个机制可以防止玩家反复释放技能刷技能点。<br />
<br />
'''earns_cooldown''' 属性决定了技能点的获取冷却持续多久。注意,这并不是严格的冷却时间,在冷却时间内仍然可以获得技能点,但是会根据上次获得技能点的时间成比例减少。 <br />
<br />
例如,首次使用Magic Missile【魔法导弹】,将可以获得8技能点,如果在五秒后使用 (假定这个技能自身的冷却是10秒) ,就只会获得4技能点<br />
<br />
Magic Missile 【魔法导弹】也是玩家的默认法杖上自带的第一个法术,作为一个默认的教学类技能,它的技能点获取冷却其实是相当短的,其他的法术默认设置都是15分钟<br />
<br />
当Magic Missile【魔法导弹】升级时,它的技能点冷却就和其他法术相同了(其实说的还是插件默认给的配置,可以忽略)<br />
<br />
=== 游戏内文本 ===<br />
<br />
如需本地化游戏文本, 可通过messages.yml修改全部的游戏内文本。每一个技能的名字和描述都可以在[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/messages/spells.yml#L1 &quot;spells&quot; 部分]被找到<br />
<br />
不管怎样,处于方便起见你也可以在技能的基础配置里设置 '''name'''【名字】 和 '''description'''【描述】<br />
<br />
=== class【法术类】 ===<br />
<br />
一些老的法术,如[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/superblob.yml#L10 SuperBlob【超级气泡】],这一技能就使用了如此一个技能类属性:<br />
<br />
<pre class="">superblob:<br />
class: ConstructSpell</pre><br />
这些法术早于action【行为】系统,所以这类技能不能使用'''actions'''【行为】部分 <br />
<br />
这些发射的表现形式完全硬代码写死。每一个技能都拥有它独立的类,请查阅[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/java/com/elmakers/mine/bukkit/spell/builtin 此处提供的源代码]<br />
<br />
如果可以避免,则不建议使用这类法术,最好还是使用基于'''actions'''【行为】编写的技能(即现在通行的常用技能)。无论如何,一些技能(如工程魔法)还尚未换用新模式。<br />
<br />
== Actions【行为】 ==<br />
<br />
大多数的技能现在都在使用[[Magic/Actions|Actions]]【行为】系统。'''actions''' 部分用于决定一个技能释放时的各种表现形式,是技能的核心部分<br />
<br />
再来回顾一下 Magic Missile【魔法导弹】:<br />
<br />
<pre class=""> actions:<br />
cast:<br />
- class: CustomProjectile<br />
actions:<br />
- class: Damage<br />
- class: BreakBlock<br />
ignore_result: true</pre><br />
行为可以有多个组成部分,但大部分技能只会有一个 '''cast'''部分,这些行为将在法术释放时得以执行<br />
<br />
行为通常是一个层次化的结构,这意味着一个行为可能有&quot;child&quot;【子行为】,这就可以在特定条件下运行这一层次下的子行为<br />
<br />
每一个行为都至少需要有一个'''class''' 【类】属性,类决定了行为会如何运作。类可以在 [[Magic/Actions|行为]] 页面找到,或者你也可以查阅[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/java/com/elmakers/mine/bukkit/action/builtin 此处提供的源代码]<br />
<br />
请注意:当引用源代码时,使用技能配置,&quot;Action&quot;【行为】部分的类名可能被遗漏<br />
<br />
许多技能的内部配置都是以 &quot;CustomProjectile&quot;【自定义投掷物】开端(就和Mythicmobs的Projectile类似)。这个行为会创建一个虚拟的投掷物而非原版的雪球、箭矢等,通过自定义这个虚拟的投掷物以实现一些灵活的自定义效果。<br />
<br />
注:如果说MM的投掷物技能必须要有一个载体如雪球,Magic则不需要,这个投掷物可以通过效果赋予它视觉上的感官而无需依托一个原版投掷物载体。<br />
<br />
当此投掷物击中一个目标时(既可以是方块也可以是实体),将会运行行为列表上的行为<br />
<br />
在这种情况下,当魔法导弹命中时会执行伤害行为和方块破坏行为。无论目标是什么,这两个行为都会被执行。但如果击中了方块,那么伤害行为就无效,如果击中了实体,那么方块破坏的行为就无效<br />
<br />
=== 行为参数 ===<br />
<br />
每个行为都有一些参数可供修改其表现形式。这些参数可以放到两个地方:直接作为行为列表中的一种属性;或者和其他共享性的参数一样,写在parameters【参数】部分即可(详情见下文)<br />
<br />
在此情况下,BreakBlock【方块破坏】行为如有'''ignore_result''',则会被设置为true<br />
<br />
每个行为都会转向一个结果,通常结果分为:成功、失败或无目标。若要将一个法术算作成功释放,则至少需要有一个最终转向成功的行为。这是唯一能够获得技能点的方法,否则就需要有法术进阶将施法次数计入其中<br />
<br />
拿Magic Missile【魔法导弹】举例,破坏方块更多的是一种次要的装饰效果,且不会计入获得技能点。必须通过魔法导弹击中且对实体造成伤害才算做成功计数。<br />
<br />
因此,如果法术有 BreakBlock 行为,&quot;ignore_result: true&quot; 则表示着忽略此行为的结果,这意味着造成伤害是唯一影响法术整体效果的行为<br />
<br />
== Effects【效果】 ==<br />
<br />
'''effects''' 【效果】部分决定了一个法术将会使用什么样的虚拟效果(譬如说闪电没有实质性伤害和点燃)。通常来说,法术至少要有一个 '''cast'''的效果部分作为技能释放时的效果。给法术添加一些粒子效果和音效通常会让法术变得更加有趣。<br />
<br />
来再回顾一下Magic Missile【魔法导弹】:<br />
<br />
<pre class=""> cast:<br />
- class: EffectSingle<br />
sound: magic.zap_crack<br />
location: origin<br />
color_override: color<br />
effectlib:<br />
class: ConeEffect<br />
iterations: 10<br />
particle: redstone<br />
lengthGrow: 0.1<br />
radiusGrow: 0.003<br />
updateLocations: false<br />
updateDirections: false</pre><br />
这里的'''cast'''部分将会在法术释放时运行。每个部分都是一个列表,藉此可以运行多个不同的效果。每一个部分都有一些设置项:<br />
<br />
* '''class''': 效果所属的类。可能略微有些过时,可以忽略(译者注:我不认为这个东西可以随便忽略)。'''EffectSingle'''表示只运行一个简单的效果,但如今Magic大部分的效果都依赖于Effeclib。其他的设置为:EffectRing, EffectTrail 以及EffectTransform,但它们很少见也不常用。<br />
* '''sound''': 播放的音效,这个音效可以是资源包中的自定义音效(譬如 &quot;magic.zap_crack&quot;)或原版内置的音效,这里有[https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html 原版音效枚举]<br />
**sound_pitch** 和 '''sound_volume''' 分别指音调和音量,译者注:似乎原版音效的音调只能在0.0-2.0之间<br />
* '''location''': 效果在什么地方播放。这里可以填写 '''origin''' (施法者), '''target'''(目标)或'''both'''(两者)<br />
* '''color_override''': 通过技能可使法杖拥有个性化颜色。'''color_override'''属性会指示Effectlib使用和参数相同的颜色 (通常来说''color''【颜色】是大部分Effectlib的效果被控制的方式)。此项仅对redstone【红石】和mob_spell【气泡】粒子有效(这两个粒子可采用多种颜色)<br />
* '''effectlib''': Magic和 [https://dev.bukkit.org/projects/effectlib EffectLib]密切相关,大多数法术都在使用Effectlib效果。详见[https://github.com/elBukkit/MagicPlugin/wiki/EffectLibParameters 此处查看]更多有关Effectlib的配置效果<br />
<br />
Magic Missile【魔法导弹】也有一个 &quot;tick&quot; 【刻】效果列表:<br />
<br />
<pre class=""> tick:<br />
- particle: redstone<br />
location: target </pre><br />
在这里可以看出'''class'''可被忽略不写, EffectSingle【单一效果】 将会使用默认类的效果<br />
<br />
'''tick''' 效果列表是CustomProjectile使用的一系列特殊的效果。这些效果将在投掷物运动的每服务器tick被触发显现出来(说白了其实和Mythicmobs的投掷物tick类似)。根据投掷物的速度等设置,每tick可以显示多次效果,所以不适宜在这里写太过于复杂的内容。<br />
<br />
对于我们现在讨论的这个法术,它只使用了一个简单的'''particle'''【粒子】, 粒子列表可在此处[https://github.com/Slikey/EffectLib/blob/master/src/main/java/de/slikey/effectlib/util/ParticleEffect.java Effectlib粒子枚举]找到<br />
<br />
Magic Missile【魔法导弹】也有一些对方块起效的效果,受限于篇幅不在此处列举。对于爆头、击中方块等也有特殊效果,如果对此感兴趣,可以查阅详细配置(https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/missile.yml#L18)<br />
<br />
== Parameters【参数】 ==<br />
<br />
法术有一些基本参数,请在此处查阅:[[Magic/SpellParameters|法术参数]](译者注:这些基本参数不受parameters层次管辖,如category description等都是基本参数,不是这一节的重点)<br />
<br />
每个行为都有它自己特定的参数,具体请查阅[[Magic/Actions|行为]] ,可能没法和插件最新版本完全同步。也可以在 [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/java/com/elmakers/mine/bukkit/action/builtin/CustomProjectileAction.java#L226 源代码]处找到每个行为对应的参数,通过搜索更好的&quot;prepare&quot; 参数模式以获取它从其配置中读取的内容<br />
<br />
在 '''parameters''' 【参数】层次下的这些参数会影响该法术的全部行为,其设定具有全局性。<br />
<br />
再来看看Magic Missile 【魔法导弹】法术:<br />
<br />
<pre class=""> parameters:<br />
allow_max_range: true #允许最大距离<br />
velocity: 200 #速度<br />
range: 24 #距离<br />
hitbox: true #碰撞箱<br />
target_type: Damageable #目标类型<br />
player_damage: 2 #对玩家伤害<br />
entity_damage: 4 #对实体伤害<br />
target_breakables: 1 #目标损害量<br />
cooldown: 1000 #冷却<br />
reorient: false #重新强制目标面向特定方向<br />
destructible: solid #可破坏<br />
destructible_durability: 50 #可破坏的耐久度<br />
break_durability: 2 #损坏的耐久度<br />
undo: 10000 #撤销时间</pre><br />
=== Headshots【爆头】 ===<br />
<br />
CustomProjectile【自定义投掷物】行为会检测法术是否击中实体头部 ,并且可以运行一组独立的'''headshot'''【爆头】行为;对于某些法术 (例如 Magic Missile【魔法导弹】)还可以使用一些额外的参数:<br />
<br />
<pre class=""> headshot_parameters:<br />
damage_multiplier: 1.5</pre><br />
如此一来,魔法导弹爆头将造成1.5倍伤害<br />
<br />
== Costs【消耗】 ==<br />
<br />
法术的消耗,在此列表上的一些消耗物将在施法时被消耗,通常来说使用的消耗物是法力,如:<br />
<br />
<pre class=""> costs:<br />
mana: 15</pre><br />
<br />
== Requirements【需求】 ==<br />
<br />
为了限制玩家购买或使用,法术可以有指定的要求。可以设定一些索引或技术途径,要求玩家必须拥有某项class, skill, spell(这里的class和skill是SkillAPI插件的内容)等才可以购买法术<br />
<br />
当前支持的一些需求:<br />
<br />
* Type: skillapi<br />
** skill - 需要玩家拥有某个SkillAPI的技能<br />
** class - 需要玩家拥有某个SkillAPI的class<br />
<br />
此处展示了一个需求示例,可能在法术、选择器或其他配置中出现。需要玩家获得Skillapi的技能'''enchanting'''<br />
<br />
<syntaxhighlight lang="yaml"> requirements:<br />
- type: skillapi<br />
- skill: enchanting</syntaxhighlight><br />
'''type''' 指定需求的类型<br /><br />
'''skill''' 进一步指定要求SkillAPI提供技能,并指定此技能到底是什么</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Custom_Spells&diff=15888
Magic/Custom Spells
2021-08-28T15:09:12Z
<p>炫宙菌:/* Parameters【参数】 */</p>
<hr />
<div>== 插件自定义法术 ==<br />
<br />
Magic的法术可以非常复杂,从零开始可能很困难,所以如果默认的内部法术里面有类似于你心中理想的法术,可以试试在此基础上修改修改<br />
<br />
Magic的法术类似于脚本事件,可以包含十分复杂的规则、行为和逻辑,借此制作高度自由化的视觉以及游戏体验<br />
<br />
== 工具和参考 ==<br />
<br />
在阅读了以下教程后,有些网页工具就显得非常有用了:<br />
* [http://reference.elmakers.com/ 参考指南] 此链接列出了所有参数、行为、效果以及其他本指南中提到的内容<br />
** [http://mine.elmakers.com/legacy/reference/ Legacy version] 1.13-版本专用<br />
* [http://mine.elmakers.com/#spells 默认生存服法术列表] 查看更高级的内置生存服技能的相关信息,并且把游戏中的关键词转化为相应内容以查到正确的配置<br />
<br />
== 教学 ==<br />
<br />
本教程将由魔法导弹技能开始学习,逐步拨云见日地了解它的组成<br />
<br />
== 分析法术 ==<br />
<br />
多数法术有五个主要部分,我们每次讨论一个:<br />
<br />
* '''Base Properties''': 基础的法术设置,比如图标、SP消耗和SP获取量,以及一些法杖升级或使用/cast parameters无法更改的内容<br />
* '''Actions''': 现在大部分法术使用 [[Magic/Actions|行为系统]], 可以让你灵活地自定义法术的行为,实现你所想的效果<br />
* '''Effects''': 有多种施法时产生的视觉效果,一般由施法多个过程触发<br />
* '''Parameters''': 行为需要参数来改变它们的视觉效果。参数可以作为进阶法术、法杖或使用/cast parameters时的必备部分,更加直接和方便地测试法术的效果。译者注:参数包含如技能伤害、范围、时效等内容<br />
* '''Costs''': 法术需要一些消耗才能释放,大多数情况消耗法力,当然物品、金钱和生命值也是可以作为消耗的<br />
<br />
== 基础配置 ==<br />
<br />
拿Magic Missile【魔法导弹】技能举例, [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/spells/missile.yml 它的配置文件在这].<br />
<br />
<pre class="">missile:</pre><br />
这是技能的 &quot关键&quot; 名。当使用/cast命令或/wand命令时,显示的技能名就是这个,支持非英文<br />
<br />
<pre class=""> icon: diamond_axe:160<br />
icon_disabled: diamond_hoe:160<br />
icon_url: http://textures.minecraft.net/texture/2ba95570c7b712713632d4c0d2fc66906613d3850a596a0267c6d763fe741ac</pre><br />
上述三个分别是:图标、不可用图标(如缺少法力、冷却未到)、图标URL。技能的图标,表现为在游戏中它显示成什么,通常在法杖、商店中作为物品时显示为这里设置的图标<br />
<br />
Magic可以使用资源包里的图标(默认技能使用的图标就是),当然原版物品、玩家头颅也可以。如果config.yml的 &quoturl_icons_enabled&quot;设置为true,技能将会使用'''icon_url''' 以通过自定义材质创建玩家头颅作为图标。<br />
<br />
如果不这样设置,那么技能将会采用'''icon'''属性中的内容作为图标。当一个技能暂不可用时 (法力不足、处于冷却、没有权限) ,则会采用 '''icon_disabled''' 属性中的内容作为图标 (头颅图标不支持icon_disabled)。 <br />
<br />
在官方提供的资源包中,每一个技能的不可用图标会和正常图标相同,但是会多一个红色的 &quot;no&quot; 标志覆盖在上面<br />
<br />
<pre class=""> upgrade_required_path: beginner<br />
upgrade_required_casts: 40</pre><br />
法术是可以进阶的,进阶法术可通过间隔符号&quot;|&quot;定义,这样的话 &quot;missile|2&quot;就代表着第二级别的 Magic Missile【魔法导弹】 Level 2。<br />
<br />
法术的继承是根据上一级来的,这意味着未覆盖的设置将继承上一级的设置(比如二级技能只是参数里面的伤害和一级不一样,只写了damage的参数,其余继承一级技能的所有设置)<br />
<br />
举例说明,请查阅[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/missile.yml#L108 Magic Missile【魔法导弹】] ,二级的魔法导弹会提高射程和伤害<br />
<br />
这些设置决定了进阶这一功能如何运作,恰如魔法导弹的进阶,你必须处于&quot;Beginner&quot;【初学者】 熟练度并且成功释放法术40次<br />
<br />
<pre class=""> category: combat</pre><br />
技能可以设置类别,主要用于技能书的管理,或用于/spells 命令<br />
<br />
<pre class=""> worth: 150<br />
earns_sp: 8<br />
earns_cooldown: 10000</pre><br />
这些设置项决定了 [[Magic/Spell Points|技能点]] 在此技能的运作方式。<br />
'''worth''' 属性指此法术技能点 is the cost of the spell in spell points. (或金钱数, 需要有技能商店的设置)<br />
<br />
'''earns_sp''' 属性决定了释放这一法术可获得的技能点 ''最大值'' 。当一个技能被释放时,玩家获得技能点,技能则会进入一段时间的冷却,在这段时间内,法术成功释放时额外获得的技能点数量将会有所削减。这个机制可以防止玩家反复释放技能刷技能点。<br />
<br />
'''earns_cooldown''' 属性决定了技能点的获取冷却持续多久。注意,这并不是严格的冷却时间,在冷却时间内仍然可以获得技能点,但是会根据上次获得技能点的时间成比例减少。 <br />
<br />
例如,首次使用Magic Missile【魔法导弹】,将可以获得8技能点,如果在五秒后使用 (假定这个技能自身的冷却是10秒) ,就只会获得4技能点<br />
<br />
Magic Missile 【魔法导弹】也是玩家的默认法杖上自带的第一个法术,作为一个默认的教学类技能,它的技能点获取冷却其实是相当短的,其他的法术默认设置都是15分钟<br />
<br />
当Magic Missile【魔法导弹】升级时,它的技能点冷却就和其他法术相同了(其实说的还是插件默认给的配置,可以忽略)<br />
<br />
=== 游戏内文本 ===<br />
<br />
如需本地化游戏文本, 可通过messages.yml修改全部的游戏内文本。每一个技能的名字和描述都可以在[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/messages/spells.yml#L1 &quot;spells&quot; 部分]被找到<br />
<br />
不管怎样,处于方便起见你也可以在技能的基础配置里设置 '''name'''【名字】 和 '''description'''【描述】<br />
<br />
=== class【法术类】 ===<br />
<br />
一些老的法术,如[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/superblob.yml#L10 SuperBlob【超级气泡】],这一技能就使用了如此一个技能类属性:<br />
<br />
<pre class="">superblob:<br />
class: ConstructSpell</pre><br />
这些法术早于action【行为】系统,所以这类技能不能使用'''actions'''【行为】部分 <br />
<br />
这些发射的表现形式完全硬代码写死。每一个技能都拥有它独立的类,请查阅[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/java/com/elmakers/mine/bukkit/spell/builtin 此处提供的源代码]<br />
<br />
如果可以避免,则不建议使用这类法术,最好还是使用基于'''actions'''【行为】编写的技能(即现在通行的常用技能)。无论如何,一些技能(如工程魔法)还尚未换用新模式。<br />
<br />
== Actions【行为】 ==<br />
<br />
大多数的技能现在都在使用[[Magic/Actions|Actions]]【行为】系统。'''actions''' 部分用于决定一个技能释放时的各种表现形式,是技能的核心部分<br />
<br />
再来回顾一下 Magic Missile【魔法导弹】:<br />
<br />
<pre class=""> actions:<br />
cast:<br />
- class: CustomProjectile<br />
actions:<br />
- class: Damage<br />
- class: BreakBlock<br />
ignore_result: true</pre><br />
行为可以有多个组成部分,但大部分技能只会有一个 '''cast'''部分,这些行为将在法术释放时得以执行<br />
<br />
行为通常是一个层次化的结构,这意味着一个行为可能有&quot;child&quot;【子行为】,这就可以在特定条件下运行这一层次下的子行为<br />
<br />
每一个行为都至少需要有一个'''class''' 【类】属性,类决定了行为会如何运作。类可以在 [[Magic/Actions|行为]] 页面找到,或者你也可以查阅[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/java/com/elmakers/mine/bukkit/action/builtin 此处提供的源代码]<br />
<br />
请注意:当引用源代码时,使用技能配置,&quot;Action&quot;【行为】部分的类名可能被遗漏<br />
<br />
许多技能的内部配置都是以 &quot;CustomProjectile&quot;【自定义投掷物】开端(就和Mythicmobs的Projectile类似)。这个行为会创建一个虚拟的投掷物而非原版的雪球、箭矢等,通过自定义这个虚拟的投掷物以实现一些灵活的自定义效果。<br />
<br />
注:如果说MM的投掷物技能必须要有一个载体如雪球,Magic则不需要,这个投掷物可以通过效果赋予它视觉上的感官而无需依托一个原版投掷物载体。<br />
<br />
当此投掷物击中一个目标时(既可以是方块也可以是实体),将会运行行为列表上的行为<br />
<br />
在这种情况下,当魔法导弹命中时会执行伤害行为和方块破坏行为。无论目标是什么,这两个行为都会被执行。但如果击中了方块,那么伤害行为就无效,如果击中了实体,那么方块破坏的行为就无效<br />
<br />
=== 行为参数 ===<br />
<br />
每个行为都有一些参数可供修改其表现形式。这些参数可以放到两个地方:直接作为行为列表中的一种属性;或者和其他共享性的参数一样,写在parameters【参数】部分即可(详情见下文)<br />
<br />
在此情况下,BreakBlock【方块破坏】行为如有'''ignore_result''',则会被设置为true<br />
<br />
每个行为都会转向一个结果,通常结果分为:成功、失败或无目标。若要将一个法术算作成功释放,则至少需要有一个最终转向成功的行为。这是唯一能够获得技能点的方法,否则就需要有法术进阶将施法次数计入其中<br />
<br />
拿Magic Missile【魔法导弹】举例,破坏方块更多的是一种次要的装饰效果,且不会计入获得技能点。必须通过魔法导弹击中且对实体造成伤害才算做成功计数。<br />
<br />
因此,如果法术有 BreakBlock 行为,&quot;ignore_result: true&quot; 则表示着忽略此行为的结果,这意味着造成伤害是唯一影响法术整体效果的行为<br />
<br />
== Effects【效果】 ==<br />
<br />
'''effects''' 【效果】部分决定了一个法术将会使用什么样的虚拟效果(譬如说闪电没有实质性伤害和点燃)。通常来说,法术至少要有一个 '''cast'''的效果部分作为技能释放时的效果。给法术添加一些粒子效果和音效通常会让法术变得更加有趣。<br />
<br />
来再回顾一下Magic Missile【魔法导弹】:<br />
<br />
<pre class=""> cast:<br />
- class: EffectSingle<br />
sound: magic.zap_crack<br />
location: origin<br />
color_override: color<br />
effectlib:<br />
class: ConeEffect<br />
iterations: 10<br />
particle: redstone<br />
lengthGrow: 0.1<br />
radiusGrow: 0.003<br />
updateLocations: false<br />
updateDirections: false</pre><br />
这里的'''cast'''部分将会在法术释放时运行。每个部分都是一个列表,藉此可以运行多个不同的效果。每一个部分都有一些设置项:<br />
<br />
* '''class''': 效果所属的类。可能略微有些过时,可以忽略(译者注:我不认为这个东西可以随便忽略)。'''EffectSingle'''表示只运行一个简单的效果,但如今Magic大部分的效果都依赖于Effeclib。其他的设置为:EffectRing, EffectTrail 以及EffectTransform,但它们很少见也不常用。<br />
* '''sound''': 播放的音效,这个音效可以是资源包中的自定义音效(譬如 &quot;magic.zap_crack&quot;)或原版内置的音效,这里有[https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html 原版音效枚举]<br />
**sound_pitch** 和 '''sound_volume''' 分别指音调和音量,译者注:似乎原版音效的音调只能在0.0-2.0之间<br />
* '''location''': 效果在什么地方播放。这里可以填写 '''origin''' (施法者), '''target'''(目标)或'''both'''(两者)<br />
* '''color_override''': 通过技能可使法杖拥有个性化颜色。'''color_override'''属性会指示Effectlib使用和参数相同的颜色 (通常来说''color''【颜色】是大部分Effectlib的效果被控制的方式)。此项仅对redstone【红石】和mob_spell【气泡】粒子有效(这两个粒子可采用多种颜色)<br />
* '''effectlib''': Magic和 [https://dev.bukkit.org/projects/effectlib EffectLib]密切相关,大多数法术都在使用Effectlib效果。详见[https://github.com/elBukkit/MagicPlugin/wiki/EffectLibParameters 此处查看]更多有关Effectlib的配置效果<br />
<br />
Magic Missile【魔法导弹】也有一个 &quot;tick&quot; 【刻】效果列表:<br />
<br />
<pre class=""> tick:<br />
- particle: redstone<br />
location: target </pre><br />
在这里可以看出'''class'''可被忽略不写, EffectSingle【单一效果】 将会使用默认类的效果<br />
<br />
'''tick''' 效果列表是CustomProjectile使用的一系列特殊的效果。这些效果将在投掷物运动的每服务器tick被触发显现出来(说白了其实和Mythicmobs的投掷物tick类似)。根据投掷物的速度等设置,每tick可以显示多次效果,所以不适宜在这里写太过于复杂的内容。<br />
<br />
对于我们现在讨论的这个法术,它只使用了一个简单的'''particle'''【粒子】, 粒子列表可在此处[https://github.com/Slikey/EffectLib/blob/master/src/main/java/de/slikey/effectlib/util/ParticleEffect.java Effectlib粒子枚举]找到<br />
<br />
Magic Missile【魔法导弹】也有一些对方块起效的效果,受限于篇幅不在此处列举。对于爆头、击中方块等也有特殊效果,如果对此感兴趣,可以查阅详细配置(https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/missile.yml#L18)<br />
<br />
== Parameters【参数】 ==<br />
<br />
法术有一些基本参数,请在此处查阅:[[Magic/SpellParameters|法术参数]](译者注:这些基本参数不受parameters层次管辖,如category description等都是基本参数,不是这一节的重点)<br />
<br />
每个行为都有它自己特定的参数,具体请查阅[[Magic/Actions|行为]] ,可能没法和插件最新版本完全同步。也可以在 [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/java/com/elmakers/mine/bukkit/action/builtin/CustomProjectileAction.java#L226 源代码]处找到每个行为对应的参数,通过搜索更好的&quot;prepare&quot; 参数模式以获取它从其配置中读取的内容<br />
<br />
在 '''parameters''' 【参数】层次下的这些参数会影响该法术的全部行为,其设定具有全局性。<br />
<br />
再来看看Magic Missile 【魔法导弹】法术:<br />
<br />
<pre class=""> parameters:<br />
allow_max_range: true #允许最大距离<br />
velocity: 200 #速度<br />
range: 24 #距离<br />
hitbox: true #碰撞箱<br />
target_type: Damageable #目标类型<br />
player_damage: 2 #对玩家伤害<br />
entity_damage: 4 #对实体伤害<br />
target_breakables: 1 #目标损害量<br />
cooldown: 1000 #冷却<br />
reorient: false #重新强制目标面向特定方向<br />
destructible: solid #可破坏<br />
destructible_durability: 50 #可破坏的耐久度<br />
break_durability: 2 #损坏的耐久度<br />
undo: 10000 #撤销时间</pre><br />
=== Headshots【爆头】 ===<br />
<br />
CustomProjectile【自定义投掷物】行为会检测法术是否击中实体头部 ,并且可以运行一组独立的'''headshot'''【爆头】行为;对于某些法术 (例如 Magic Missile【魔法导弹】)还可以使用一些额外的参数:<br />
<br />
<pre class=""> headshot_parameters:<br />
damage_multiplier: 1.5</pre><br />
如此一来,魔法导弹爆头将造成1.5倍伤害<br />
<br />
== Costs【消耗】 ==<br />
<br />
法术的消耗,在此列表上的一些消耗物将在施法时被消耗,通常来说使用的消耗物是法力,如:<br />
<br />
<pre class=""> costs:<br />
mana: 15</pre><br />
<br />
== Requirements【需求】 ==<br />
<br />
为了限制玩家购买或使用,法术可以有指定的要求。可以设定一些索引或技术途径,要求玩家必须拥有某项class, skill, spell(这里的class和skill是SkillAPI插件的内容)等才可以购买法术<br />
<br />
当前支持的一些需求:<br />
<br />
* Type: skillapi<br />
** skill - 需要玩家拥有某个SkillAPI的技能<br />
** class - 需要玩家拥有某个SkillAPI的class<br />
<br />
此处展示了一个需求示例,可能在法术、选择器或其他配置中出现。需要玩家获得Skillapi的技能'''enchanting'''<br />
<br />
<syntaxhighlight lang="yaml"> requirements:<br />
- type: skillapi<br />
- skill: enchanting</syntaxhighlight><br />
'''type''' 指定需求的类型<br /><br />
'''skill''' 进一步指定需求SkillAPI提供技能以及此技能到底是什么</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Custom_Spells&diff=15887
Magic/Custom Spells
2021-08-28T14:19:16Z
<p>炫宙菌:/* 分析法术 */</p>
<hr />
<div>== 插件自定义法术 ==<br />
<br />
Magic的法术可以非常复杂,从零开始可能很困难,所以如果默认的内部法术里面有类似于你心中理想的法术,可以试试在此基础上修改修改<br />
<br />
Magic的法术类似于脚本事件,可以包含十分复杂的规则、行为和逻辑,借此制作高度自由化的视觉以及游戏体验<br />
<br />
== 工具和参考 ==<br />
<br />
在阅读了以下教程后,有些网页工具就显得非常有用了:<br />
* [http://reference.elmakers.com/ 参考指南] 此链接列出了所有参数、行为、效果以及其他本指南中提到的内容<br />
** [http://mine.elmakers.com/legacy/reference/ Legacy version] 1.13-版本专用<br />
* [http://mine.elmakers.com/#spells 默认生存服法术列表] 查看更高级的内置生存服技能的相关信息,并且把游戏中的关键词转化为相应内容以查到正确的配置<br />
<br />
== 教学 ==<br />
<br />
本教程将由魔法导弹技能开始学习,逐步拨云见日地了解它的组成<br />
<br />
== 分析法术 ==<br />
<br />
多数法术有五个主要部分,我们每次讨论一个:<br />
<br />
* '''Base Properties''': 基础的法术设置,比如图标、SP消耗和SP获取量,以及一些法杖升级或使用/cast parameters无法更改的内容<br />
* '''Actions''': 现在大部分法术使用 [[Magic/Actions|行为系统]], 可以让你灵活地自定义法术的行为,实现你所想的效果<br />
* '''Effects''': 有多种施法时产生的视觉效果,一般由施法多个过程触发<br />
* '''Parameters''': 行为需要参数来改变它们的视觉效果。参数可以作为进阶法术、法杖或使用/cast parameters时的必备部分,更加直接和方便地测试法术的效果。译者注:参数包含如技能伤害、范围、时效等内容<br />
* '''Costs''': 法术需要一些消耗才能释放,大多数情况消耗法力,当然物品、金钱和生命值也是可以作为消耗的<br />
<br />
== 基础配置 ==<br />
<br />
拿Magic Missile【魔法导弹】技能举例, [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/spells/missile.yml 它的配置文件在这].<br />
<br />
<pre class="">missile:</pre><br />
这是技能的 &quot关键&quot; 名。当使用/cast命令或/wand命令时,显示的技能名就是这个,支持非英文<br />
<br />
<pre class=""> icon: diamond_axe:160<br />
icon_disabled: diamond_hoe:160<br />
icon_url: http://textures.minecraft.net/texture/2ba95570c7b712713632d4c0d2fc66906613d3850a596a0267c6d763fe741ac</pre><br />
上述三个分别是:图标、不可用图标(如缺少法力、冷却未到)、图标URL。技能的图标,表现为在游戏中它显示成什么,通常在法杖、商店中作为物品时显示为这里设置的图标<br />
<br />
Magic可以使用资源包里的图标(默认技能使用的图标就是),当然原版物品、玩家头颅也可以。如果config.yml的 &quoturl_icons_enabled&quot;设置为true,技能将会使用'''icon_url''' 以通过自定义材质创建玩家头颅作为图标。<br />
<br />
如果不这样设置,那么技能将会采用'''icon'''属性中的内容作为图标。当一个技能暂不可用时 (法力不足、处于冷却、没有权限) ,则会采用 '''icon_disabled''' 属性中的内容作为图标 (头颅图标不支持icon_disabled)。 <br />
<br />
在官方提供的资源包中,每一个技能的不可用图标会和正常图标相同,但是会多一个红色的 &quot;no&quot; 标志覆盖在上面<br />
<br />
<pre class=""> upgrade_required_path: beginner<br />
upgrade_required_casts: 40</pre><br />
法术是可以进阶的,进阶法术可通过间隔符号&quot;|&quot;定义,这样的话 &quot;missile|2&quot;就代表着第二级别的 Magic Missile【魔法导弹】 Level 2。<br />
<br />
法术的继承是根据上一级来的,这意味着未覆盖的设置将继承上一级的设置(比如二级技能只是参数里面的伤害和一级不一样,只写了damage的参数,其余继承一级技能的所有设置)<br />
<br />
举例说明,请查阅[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/missile.yml#L108 Magic Missile【魔法导弹】] ,二级的魔法导弹会提高射程和伤害<br />
<br />
这些设置决定了进阶这一功能如何运作,恰如魔法导弹的进阶,你必须处于&quot;Beginner&quot;【初学者】 熟练度并且成功释放法术40次<br />
<br />
<pre class=""> category: combat</pre><br />
技能可以设置类别,主要用于技能书的管理,或用于/spells 命令<br />
<br />
<pre class=""> worth: 150<br />
earns_sp: 8<br />
earns_cooldown: 10000</pre><br />
这些设置项决定了 [[Magic/Spell Points|技能点]] 在此技能的运作方式。<br />
'''worth''' 属性指此法术技能点 is the cost of the spell in spell points. (或金钱数, 需要有技能商店的设置)<br />
<br />
'''earns_sp''' 属性决定了释放这一法术可获得的技能点 ''最大值'' 。当一个技能被释放时,玩家获得技能点,技能则会进入一段时间的冷却,在这段时间内,法术成功释放时额外获得的技能点数量将会有所削减。这个机制可以防止玩家反复释放技能刷技能点。<br />
<br />
'''earns_cooldown''' 属性决定了技能点的获取冷却持续多久。注意,这并不是严格的冷却时间,在冷却时间内仍然可以获得技能点,但是会根据上次获得技能点的时间成比例减少。 <br />
<br />
例如,首次使用Magic Missile【魔法导弹】,将可以获得8技能点,如果在五秒后使用 (假定这个技能自身的冷却是10秒) ,就只会获得4技能点<br />
<br />
Magic Missile 【魔法导弹】也是玩家的默认法杖上自带的第一个法术,作为一个默认的教学类技能,它的技能点获取冷却其实是相当短的,其他的法术默认设置都是15分钟<br />
<br />
当Magic Missile【魔法导弹】升级时,它的技能点冷却就和其他法术相同了(其实说的还是插件默认给的配置,可以忽略)<br />
<br />
=== 游戏内文本 ===<br />
<br />
如需本地化游戏文本, 可通过messages.yml修改全部的游戏内文本。每一个技能的名字和描述都可以在[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/messages/spells.yml#L1 &quot;spells&quot; 部分]被找到<br />
<br />
不管怎样,处于方便起见你也可以在技能的基础配置里设置 '''name'''【名字】 和 '''description'''【描述】<br />
<br />
=== class【法术类】 ===<br />
<br />
一些老的法术,如[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/superblob.yml#L10 SuperBlob【超级气泡】],这一技能就使用了如此一个技能类属性:<br />
<br />
<pre class="">superblob:<br />
class: ConstructSpell</pre><br />
这些法术早于action【行为】系统,所以这类技能不能使用'''actions'''【行为】部分 <br />
<br />
这些发射的表现形式完全硬代码写死。每一个技能都拥有它独立的类,请查阅[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/java/com/elmakers/mine/bukkit/spell/builtin 此处提供的源代码]<br />
<br />
如果可以避免,则不建议使用这类法术,最好还是使用基于'''actions'''【行为】编写的技能(即现在通行的常用技能)。无论如何,一些技能(如工程魔法)还尚未换用新模式。<br />
<br />
== Actions【行为】 ==<br />
<br />
大多数的技能现在都在使用[[Magic/Actions|Actions]]【行为】系统。'''actions''' 部分用于决定一个技能释放时的各种表现形式,是技能的核心部分<br />
<br />
再来回顾一下 Magic Missile【魔法导弹】:<br />
<br />
<pre class=""> actions:<br />
cast:<br />
- class: CustomProjectile<br />
actions:<br />
- class: Damage<br />
- class: BreakBlock<br />
ignore_result: true</pre><br />
行为可以有多个组成部分,但大部分技能只会有一个 '''cast'''部分,这些行为将在法术释放时得以执行<br />
<br />
行为通常是一个层次化的结构,这意味着一个行为可能有&quot;child&quot;【子行为】,这就可以在特定条件下运行这一层次下的子行为<br />
<br />
每一个行为都至少需要有一个'''class''' 【类】属性,类决定了行为会如何运作。类可以在 [[Magic/Actions|行为]] 页面找到,或者你也可以查阅[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/java/com/elmakers/mine/bukkit/action/builtin 此处提供的源代码]<br />
<br />
请注意:当引用源代码时,使用技能配置,&quot;Action&quot;【行为】部分的类名可能被遗漏<br />
<br />
许多技能的内部配置都是以 &quot;CustomProjectile&quot;【自定义投掷物】开端(就和Mythicmobs的Projectile类似)。这个行为会创建一个虚拟的投掷物而非原版的雪球、箭矢等,通过自定义这个虚拟的投掷物以实现一些灵活的自定义效果。<br />
<br />
注:如果说MM的投掷物技能必须要有一个载体如雪球,Magic则不需要,这个投掷物可以通过效果赋予它视觉上的感官而无需依托一个原版投掷物载体。<br />
<br />
当此投掷物击中一个目标时(既可以是方块也可以是实体),将会运行行为列表上的行为<br />
<br />
在这种情况下,当魔法导弹命中时会执行伤害行为和方块破坏行为。无论目标是什么,这两个行为都会被执行。但如果击中了方块,那么伤害行为就无效,如果击中了实体,那么方块破坏的行为就无效<br />
<br />
=== 行为参数 ===<br />
<br />
每个行为都有一些参数可供修改其表现形式。这些参数可以放到两个地方:直接作为行为列表中的一种属性;或者和其他共享性的参数一样,写在parameters【参数】部分即可(详情见下文)<br />
<br />
在此情况下,BreakBlock【方块破坏】行为如有'''ignore_result''',则会被设置为true<br />
<br />
每个行为都会转向一个结果,通常结果分为:成功、失败或无目标。若要将一个法术算作成功释放,则至少需要有一个最终转向成功的行为。这是唯一能够获得技能点的方法,否则就需要有法术进阶将施法次数计入其中<br />
<br />
拿Magic Missile【魔法导弹】举例,破坏方块更多的是一种次要的装饰效果,且不会计入获得技能点。必须通过魔法导弹击中且对实体造成伤害才算做成功计数。<br />
<br />
因此,如果法术有 BreakBlock 行为,&quot;ignore_result: true&quot; 则表示着忽略此行为的结果,这意味着造成伤害是唯一影响法术整体效果的行为<br />
<br />
== Effects【效果】 ==<br />
<br />
'''effects''' 【效果】部分决定了一个法术将会使用什么样的虚拟效果(譬如说闪电没有实质性伤害和点燃)。通常来说,法术至少要有一个 '''cast'''的效果部分作为技能释放时的效果。给法术添加一些粒子效果和音效通常会让法术变得更加有趣。<br />
<br />
来再回顾一下Magic Missile【魔法导弹】:<br />
<br />
<pre class=""> cast:<br />
- class: EffectSingle<br />
sound: magic.zap_crack<br />
location: origin<br />
color_override: color<br />
effectlib:<br />
class: ConeEffect<br />
iterations: 10<br />
particle: redstone<br />
lengthGrow: 0.1<br />
radiusGrow: 0.003<br />
updateLocations: false<br />
updateDirections: false</pre><br />
这里的'''cast'''部分将会在法术释放时运行。每个部分都是一个列表,藉此可以运行多个不同的效果。每一个部分都有一些设置项:<br />
<br />
* '''class''': 效果所属的类。可能略微有些过时,可以忽略(译者注:我不认为这个东西可以随便忽略)。'''EffectSingle'''表示只运行一个简单的效果,但如今Magic大部分的效果都依赖于Effeclib。其他的设置为:EffectRing, EffectTrail 以及EffectTransform,但它们很少见也不常用。<br />
* '''sound''': 播放的音效,这个音效可以是资源包中的自定义音效(譬如 &quot;magic.zap_crack&quot;)或原版内置的音效,这里有[https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html 原版音效枚举]<br />
**sound_pitch** 和 '''sound_volume''' 分别指音调和音量,译者注:似乎原版音效的音调只能在0.0-2.0之间<br />
* '''location''': 效果在什么地方播放。这里可以填写 '''origin''' (施法者), '''target'''(目标)或'''both'''(两者)<br />
* '''color_override''': 通过技能可使法杖拥有个性化颜色。'''color_override'''属性会指示Effectlib使用和参数相同的颜色 (通常来说''color''【颜色】是大部分Effectlib的效果被控制的方式)。此项仅对redstone【红石】和mob_spell【气泡】粒子有效(这两个粒子可采用多种颜色)<br />
* '''effectlib''': Magic和 [https://dev.bukkit.org/projects/effectlib EffectLib]密切相关,大多数法术都在使用Effectlib效果。详见[https://github.com/elBukkit/MagicPlugin/wiki/EffectLibParameters 此处查看]更多有关Effectlib的配置效果<br />
<br />
Magic Missile【魔法导弹】也有一个 &quot;tick&quot; 【刻】效果列表:<br />
<br />
<pre class=""> tick:<br />
- particle: redstone<br />
location: target </pre><br />
在这里可以看出'''class'''可被忽略不写, EffectSingle【单一效果】 将会使用默认类的效果<br />
<br />
'''tick''' 效果列表是CustomProjectile使用的一系列特殊的效果。这些效果将在投掷物运动的每服务器tick被触发显现出来(说白了其实和Mythicmobs的投掷物tick类似)。根据投掷物的速度等设置,每tick可以显示多次效果,所以不适宜在这里写太过于复杂的内容。<br />
<br />
对于我们现在讨论的这个法术,它只使用了一个简单的'''particle'''【粒子】, 粒子列表可在此处[https://github.com/Slikey/EffectLib/blob/master/src/main/java/de/slikey/effectlib/util/ParticleEffect.java Effectlib粒子枚举]找到<br />
<br />
Magic Missile【魔法导弹】也有一些对方块起效的效果,受限于篇幅不在此处列举。对于爆头、击中方块等也有特殊效果,如果对此感兴趣,可以查阅详细配置(https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/missile.yml#L18)<br />
<br />
== Parameters【参数】 ==<br />
<br />
法术有一些基本参数,请在此处查阅:[[Magic/SpellParameters|法术参数]](译者注:这些基本参数不受parameters层次管辖,如category description等都是基本参数,不是这一节的重点)<br />
<br />
每个行为都有它自己特定的参数,具体请查阅[[Magic/Actions|行为]] ,可能没法和插件最新版本完全同步。行为参数也可以在 [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/java/com/elmakers/mine/bukkit/action/builtin/CustomProjectileAction.java#L226 源代码]处找到每个行为对应的参数,通过搜索更好的&quot;prepare&quot; 参数模式以获取它从其配置中读取的内容<br />
<br />
在 '''parameters''' 【参数】层次下的这些参数会影响该法术的全部行为,其设定具有全局性。<br />
<br />
再来看看Magic Missile 【魔法导弹】法术:<br />
<br />
<pre class=""> parameters:<br />
allow_max_range: true #允许最大距离<br />
velocity: 200 #速度<br />
range: 24 #距离<br />
hitbox: true #碰撞箱<br />
target_type: Damageable #目标类型<br />
player_damage: 2 #对玩家伤害<br />
entity_damage: 4 #对实体伤害<br />
target_breakables: 1 #目标损害量<br />
cooldown: 1000 #冷却<br />
reorient: false #重新强制目标面向特定方向<br />
destructible: solid #可破坏<br />
destructible_durability: 50 #可破坏的耐久度<br />
break_durability: 2 #损坏的耐久度<br />
undo: 10000 #撤销时间</pre><br />
=== Headshots【爆头】 ===<br />
<br />
CustomProjectile【自定义投掷物】行为会检测法术是否击中实体头部 ,并且可以运行一组独立的'''headshot'''【爆头】行为;对于某些法术 (例如 Magic Missile【魔法导弹】)还可以使用一些额外的参数:<br />
<br />
<pre class=""> headshot_parameters:<br />
damage_multiplier: 1.5</pre><br />
如此一来,魔法导弹爆头将造成1.5倍伤害<br />
<br />
== Costs【消耗】 ==<br />
<br />
法术的消耗,在此列表上的一些消耗物将在施法时被消耗,通常来说使用的消耗物是法力,如:<br />
<br />
<pre class=""> costs:<br />
mana: 15</pre><br />
<br />
== Requirements【需求】 ==<br />
<br />
为了限制玩家购买或使用,法术可以有指定的要求。可以设定一些索引或技术途径,要求玩家必须拥有某项class, skill, spell(这里的class和skill是SkillAPI插件的内容)等才可以购买法术<br />
<br />
当前支持的一些需求:<br />
<br />
* Type: skillapi<br />
** skill - 需要玩家拥有某个SkillAPI的技能<br />
** class - 需要玩家拥有某个SkillAPI的class<br />
<br />
此处展示了一个需求示例,可能在法术、选择器或其他配置中出现。需要玩家获得Skillapi的技能'''enchanting'''<br />
<br />
<syntaxhighlight lang="yaml"> requirements:<br />
- type: skillapi<br />
- skill: enchanting</syntaxhighlight><br />
'''type''' 指定需求的类型<br /><br />
'''skill''' 进一步指定需求SkillAPI提供技能以及此技能到底是什么</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Custom_Spells&diff=15886
Magic/Custom Spells
2021-08-28T14:18:34Z
<p>炫宙菌:/* 工具和参考 */</p>
<hr />
<div>== 插件自定义法术 ==<br />
<br />
Magic的法术可以非常复杂,从零开始可能很困难,所以如果默认的内部法术里面有类似于你心中理想的法术,可以试试在此基础上修改修改<br />
<br />
Magic的法术类似于脚本事件,可以包含十分复杂的规则、行为和逻辑,借此制作高度自由化的视觉以及游戏体验<br />
<br />
== 工具和参考 ==<br />
<br />
在阅读了以下教程后,有些网页工具就显得非常有用了:<br />
* [http://reference.elmakers.com/ 参考指南] 此链接列出了所有参数、行为、效果以及其他本指南中提到的内容<br />
** [http://mine.elmakers.com/legacy/reference/ Legacy version] 1.13-版本专用<br />
* [http://mine.elmakers.com/#spells 默认生存服法术列表] 查看更高级的内置生存服技能的相关信息,并且把游戏中的关键词转化为相应内容以查到正确的配置<br />
<br />
== 教学 ==<br />
<br />
本教程将由魔法导弹技能开始学习,逐步拨云见日地了解它的组成<br />
<br />
== 分析法术 ==<br />
<br />
多数法术有五个主要部分,我们每次讨论一个:<br />
<br />
* '''Base Properties''': 基础的法术设置,比如图标、SP消耗和SP获取量,以及一些法杖升级或使用/cast parameters无法更改的内容<br />
* '''Actions''': 完善的法术使用Modern spells use the [[Magic/Actions|行为系统]], 可以让你灵活地自定义法术的行为,实现你所想的效果<br />
* '''Effects''': 有多种施法时产生的视觉效果,一般由施法多个过程触发<br />
* '''Parameters''': 行为需要参数来改变它们的视觉效果。参数可以作为进阶法术、法杖或使用/cast parameters时的必备部分,更加直接和方便地测试法术的效果。译者注:参数包含如技能伤害、范围、时效等内容<br />
* '''Costs''': 法术需要一些消耗才能释放,大多数情况消耗法力,当然物品、金钱和生命值也是可以作为消耗的<br />
<br />
== 基础配置 ==<br />
<br />
拿Magic Missile【魔法导弹】技能举例, [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/spells/missile.yml 它的配置文件在这].<br />
<br />
<pre class="">missile:</pre><br />
这是技能的 &quot关键&quot; 名。当使用/cast命令或/wand命令时,显示的技能名就是这个,支持非英文<br />
<br />
<pre class=""> icon: diamond_axe:160<br />
icon_disabled: diamond_hoe:160<br />
icon_url: http://textures.minecraft.net/texture/2ba95570c7b712713632d4c0d2fc66906613d3850a596a0267c6d763fe741ac</pre><br />
上述三个分别是:图标、不可用图标(如缺少法力、冷却未到)、图标URL。技能的图标,表现为在游戏中它显示成什么,通常在法杖、商店中作为物品时显示为这里设置的图标<br />
<br />
Magic可以使用资源包里的图标(默认技能使用的图标就是),当然原版物品、玩家头颅也可以。如果config.yml的 &quoturl_icons_enabled&quot;设置为true,技能将会使用'''icon_url''' 以通过自定义材质创建玩家头颅作为图标。<br />
<br />
如果不这样设置,那么技能将会采用'''icon'''属性中的内容作为图标。当一个技能暂不可用时 (法力不足、处于冷却、没有权限) ,则会采用 '''icon_disabled''' 属性中的内容作为图标 (头颅图标不支持icon_disabled)。 <br />
<br />
在官方提供的资源包中,每一个技能的不可用图标会和正常图标相同,但是会多一个红色的 &quot;no&quot; 标志覆盖在上面<br />
<br />
<pre class=""> upgrade_required_path: beginner<br />
upgrade_required_casts: 40</pre><br />
法术是可以进阶的,进阶法术可通过间隔符号&quot;|&quot;定义,这样的话 &quot;missile|2&quot;就代表着第二级别的 Magic Missile【魔法导弹】 Level 2。<br />
<br />
法术的继承是根据上一级来的,这意味着未覆盖的设置将继承上一级的设置(比如二级技能只是参数里面的伤害和一级不一样,只写了damage的参数,其余继承一级技能的所有设置)<br />
<br />
举例说明,请查阅[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/missile.yml#L108 Magic Missile【魔法导弹】] ,二级的魔法导弹会提高射程和伤害<br />
<br />
这些设置决定了进阶这一功能如何运作,恰如魔法导弹的进阶,你必须处于&quot;Beginner&quot;【初学者】 熟练度并且成功释放法术40次<br />
<br />
<pre class=""> category: combat</pre><br />
技能可以设置类别,主要用于技能书的管理,或用于/spells 命令<br />
<br />
<pre class=""> worth: 150<br />
earns_sp: 8<br />
earns_cooldown: 10000</pre><br />
这些设置项决定了 [[Magic/Spell Points|技能点]] 在此技能的运作方式。<br />
'''worth''' 属性指此法术技能点 is the cost of the spell in spell points. (或金钱数, 需要有技能商店的设置)<br />
<br />
'''earns_sp''' 属性决定了释放这一法术可获得的技能点 ''最大值'' 。当一个技能被释放时,玩家获得技能点,技能则会进入一段时间的冷却,在这段时间内,法术成功释放时额外获得的技能点数量将会有所削减。这个机制可以防止玩家反复释放技能刷技能点。<br />
<br />
'''earns_cooldown''' 属性决定了技能点的获取冷却持续多久。注意,这并不是严格的冷却时间,在冷却时间内仍然可以获得技能点,但是会根据上次获得技能点的时间成比例减少。 <br />
<br />
例如,首次使用Magic Missile【魔法导弹】,将可以获得8技能点,如果在五秒后使用 (假定这个技能自身的冷却是10秒) ,就只会获得4技能点<br />
<br />
Magic Missile 【魔法导弹】也是玩家的默认法杖上自带的第一个法术,作为一个默认的教学类技能,它的技能点获取冷却其实是相当短的,其他的法术默认设置都是15分钟<br />
<br />
当Magic Missile【魔法导弹】升级时,它的技能点冷却就和其他法术相同了(其实说的还是插件默认给的配置,可以忽略)<br />
<br />
=== 游戏内文本 ===<br />
<br />
如需本地化游戏文本, 可通过messages.yml修改全部的游戏内文本。每一个技能的名字和描述都可以在[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/messages/spells.yml#L1 &quot;spells&quot; 部分]被找到<br />
<br />
不管怎样,处于方便起见你也可以在技能的基础配置里设置 '''name'''【名字】 和 '''description'''【描述】<br />
<br />
=== class【法术类】 ===<br />
<br />
一些老的法术,如[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/superblob.yml#L10 SuperBlob【超级气泡】],这一技能就使用了如此一个技能类属性:<br />
<br />
<pre class="">superblob:<br />
class: ConstructSpell</pre><br />
这些法术早于action【行为】系统,所以这类技能不能使用'''actions'''【行为】部分 <br />
<br />
这些发射的表现形式完全硬代码写死。每一个技能都拥有它独立的类,请查阅[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/java/com/elmakers/mine/bukkit/spell/builtin 此处提供的源代码]<br />
<br />
如果可以避免,则不建议使用这类法术,最好还是使用基于'''actions'''【行为】编写的技能(即现在通行的常用技能)。无论如何,一些技能(如工程魔法)还尚未换用新模式。<br />
<br />
== Actions【行为】 ==<br />
<br />
大多数的技能现在都在使用[[Magic/Actions|Actions]]【行为】系统。'''actions''' 部分用于决定一个技能释放时的各种表现形式,是技能的核心部分<br />
<br />
再来回顾一下 Magic Missile【魔法导弹】:<br />
<br />
<pre class=""> actions:<br />
cast:<br />
- class: CustomProjectile<br />
actions:<br />
- class: Damage<br />
- class: BreakBlock<br />
ignore_result: true</pre><br />
行为可以有多个组成部分,但大部分技能只会有一个 '''cast'''部分,这些行为将在法术释放时得以执行<br />
<br />
行为通常是一个层次化的结构,这意味着一个行为可能有&quot;child&quot;【子行为】,这就可以在特定条件下运行这一层次下的子行为<br />
<br />
每一个行为都至少需要有一个'''class''' 【类】属性,类决定了行为会如何运作。类可以在 [[Magic/Actions|行为]] 页面找到,或者你也可以查阅[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/java/com/elmakers/mine/bukkit/action/builtin 此处提供的源代码]<br />
<br />
请注意:当引用源代码时,使用技能配置,&quot;Action&quot;【行为】部分的类名可能被遗漏<br />
<br />
许多技能的内部配置都是以 &quot;CustomProjectile&quot;【自定义投掷物】开端(就和Mythicmobs的Projectile类似)。这个行为会创建一个虚拟的投掷物而非原版的雪球、箭矢等,通过自定义这个虚拟的投掷物以实现一些灵活的自定义效果。<br />
<br />
注:如果说MM的投掷物技能必须要有一个载体如雪球,Magic则不需要,这个投掷物可以通过效果赋予它视觉上的感官而无需依托一个原版投掷物载体。<br />
<br />
当此投掷物击中一个目标时(既可以是方块也可以是实体),将会运行行为列表上的行为<br />
<br />
在这种情况下,当魔法导弹命中时会执行伤害行为和方块破坏行为。无论目标是什么,这两个行为都会被执行。但如果击中了方块,那么伤害行为就无效,如果击中了实体,那么方块破坏的行为就无效<br />
<br />
=== 行为参数 ===<br />
<br />
每个行为都有一些参数可供修改其表现形式。这些参数可以放到两个地方:直接作为行为列表中的一种属性;或者和其他共享性的参数一样,写在parameters【参数】部分即可(详情见下文)<br />
<br />
在此情况下,BreakBlock【方块破坏】行为如有'''ignore_result''',则会被设置为true<br />
<br />
每个行为都会转向一个结果,通常结果分为:成功、失败或无目标。若要将一个法术算作成功释放,则至少需要有一个最终转向成功的行为。这是唯一能够获得技能点的方法,否则就需要有法术进阶将施法次数计入其中<br />
<br />
拿Magic Missile【魔法导弹】举例,破坏方块更多的是一种次要的装饰效果,且不会计入获得技能点。必须通过魔法导弹击中且对实体造成伤害才算做成功计数。<br />
<br />
因此,如果法术有 BreakBlock 行为,&quot;ignore_result: true&quot; 则表示着忽略此行为的结果,这意味着造成伤害是唯一影响法术整体效果的行为<br />
<br />
== Effects【效果】 ==<br />
<br />
'''effects''' 【效果】部分决定了一个法术将会使用什么样的虚拟效果(譬如说闪电没有实质性伤害和点燃)。通常来说,法术至少要有一个 '''cast'''的效果部分作为技能释放时的效果。给法术添加一些粒子效果和音效通常会让法术变得更加有趣。<br />
<br />
来再回顾一下Magic Missile【魔法导弹】:<br />
<br />
<pre class=""> cast:<br />
- class: EffectSingle<br />
sound: magic.zap_crack<br />
location: origin<br />
color_override: color<br />
effectlib:<br />
class: ConeEffect<br />
iterations: 10<br />
particle: redstone<br />
lengthGrow: 0.1<br />
radiusGrow: 0.003<br />
updateLocations: false<br />
updateDirections: false</pre><br />
这里的'''cast'''部分将会在法术释放时运行。每个部分都是一个列表,藉此可以运行多个不同的效果。每一个部分都有一些设置项:<br />
<br />
* '''class''': 效果所属的类。可能略微有些过时,可以忽略(译者注:我不认为这个东西可以随便忽略)。'''EffectSingle'''表示只运行一个简单的效果,但如今Magic大部分的效果都依赖于Effeclib。其他的设置为:EffectRing, EffectTrail 以及EffectTransform,但它们很少见也不常用。<br />
* '''sound''': 播放的音效,这个音效可以是资源包中的自定义音效(譬如 &quot;magic.zap_crack&quot;)或原版内置的音效,这里有[https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html 原版音效枚举]<br />
**sound_pitch** 和 '''sound_volume''' 分别指音调和音量,译者注:似乎原版音效的音调只能在0.0-2.0之间<br />
* '''location''': 效果在什么地方播放。这里可以填写 '''origin''' (施法者), '''target'''(目标)或'''both'''(两者)<br />
* '''color_override''': 通过技能可使法杖拥有个性化颜色。'''color_override'''属性会指示Effectlib使用和参数相同的颜色 (通常来说''color''【颜色】是大部分Effectlib的效果被控制的方式)。此项仅对redstone【红石】和mob_spell【气泡】粒子有效(这两个粒子可采用多种颜色)<br />
* '''effectlib''': Magic和 [https://dev.bukkit.org/projects/effectlib EffectLib]密切相关,大多数法术都在使用Effectlib效果。详见[https://github.com/elBukkit/MagicPlugin/wiki/EffectLibParameters 此处查看]更多有关Effectlib的配置效果<br />
<br />
Magic Missile【魔法导弹】也有一个 &quot;tick&quot; 【刻】效果列表:<br />
<br />
<pre class=""> tick:<br />
- particle: redstone<br />
location: target </pre><br />
在这里可以看出'''class'''可被忽略不写, EffectSingle【单一效果】 将会使用默认类的效果<br />
<br />
'''tick''' 效果列表是CustomProjectile使用的一系列特殊的效果。这些效果将在投掷物运动的每服务器tick被触发显现出来(说白了其实和Mythicmobs的投掷物tick类似)。根据投掷物的速度等设置,每tick可以显示多次效果,所以不适宜在这里写太过于复杂的内容。<br />
<br />
对于我们现在讨论的这个法术,它只使用了一个简单的'''particle'''【粒子】, 粒子列表可在此处[https://github.com/Slikey/EffectLib/blob/master/src/main/java/de/slikey/effectlib/util/ParticleEffect.java Effectlib粒子枚举]找到<br />
<br />
Magic Missile【魔法导弹】也有一些对方块起效的效果,受限于篇幅不在此处列举。对于爆头、击中方块等也有特殊效果,如果对此感兴趣,可以查阅详细配置(https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/missile.yml#L18)<br />
<br />
== Parameters【参数】 ==<br />
<br />
法术有一些基本参数,请在此处查阅:[[Magic/SpellParameters|法术参数]](译者注:这些基本参数不受parameters层次管辖,如category description等都是基本参数,不是这一节的重点)<br />
<br />
每个行为都有它自己特定的参数,具体请查阅[[Magic/Actions|行为]] ,可能没法和插件最新版本完全同步。行为参数也可以在 [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/java/com/elmakers/mine/bukkit/action/builtin/CustomProjectileAction.java#L226 源代码]处找到每个行为对应的参数,通过搜索更好的&quot;prepare&quot; 参数模式以获取它从其配置中读取的内容<br />
<br />
在 '''parameters''' 【参数】层次下的这些参数会影响该法术的全部行为,其设定具有全局性。<br />
<br />
再来看看Magic Missile 【魔法导弹】法术:<br />
<br />
<pre class=""> parameters:<br />
allow_max_range: true #允许最大距离<br />
velocity: 200 #速度<br />
range: 24 #距离<br />
hitbox: true #碰撞箱<br />
target_type: Damageable #目标类型<br />
player_damage: 2 #对玩家伤害<br />
entity_damage: 4 #对实体伤害<br />
target_breakables: 1 #目标损害量<br />
cooldown: 1000 #冷却<br />
reorient: false #重新强制目标面向特定方向<br />
destructible: solid #可破坏<br />
destructible_durability: 50 #可破坏的耐久度<br />
break_durability: 2 #损坏的耐久度<br />
undo: 10000 #撤销时间</pre><br />
=== Headshots【爆头】 ===<br />
<br />
CustomProjectile【自定义投掷物】行为会检测法术是否击中实体头部 ,并且可以运行一组独立的'''headshot'''【爆头】行为;对于某些法术 (例如 Magic Missile【魔法导弹】)还可以使用一些额外的参数:<br />
<br />
<pre class=""> headshot_parameters:<br />
damage_multiplier: 1.5</pre><br />
如此一来,魔法导弹爆头将造成1.5倍伤害<br />
<br />
== Costs【消耗】 ==<br />
<br />
法术的消耗,在此列表上的一些消耗物将在施法时被消耗,通常来说使用的消耗物是法力,如:<br />
<br />
<pre class=""> costs:<br />
mana: 15</pre><br />
<br />
== Requirements【需求】 ==<br />
<br />
为了限制玩家购买或使用,法术可以有指定的要求。可以设定一些索引或技术途径,要求玩家必须拥有某项class, skill, spell(这里的class和skill是SkillAPI插件的内容)等才可以购买法术<br />
<br />
当前支持的一些需求:<br />
<br />
* Type: skillapi<br />
** skill - 需要玩家拥有某个SkillAPI的技能<br />
** class - 需要玩家拥有某个SkillAPI的class<br />
<br />
此处展示了一个需求示例,可能在法术、选择器或其他配置中出现。需要玩家获得Skillapi的技能'''enchanting'''<br />
<br />
<syntaxhighlight lang="yaml"> requirements:<br />
- type: skillapi<br />
- skill: enchanting</syntaxhighlight><br />
'''type''' 指定需求的类型<br /><br />
'''skill''' 进一步指定需求SkillAPI提供技能以及此技能到底是什么</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Commands&diff=15885
Magic/Commands
2021-08-28T13:53:58Z
<p>炫宙菌:/* Wand Commands 法杖命令 */</p>
<hr />
<div>=== Commands 命令 ===<br />
<br />
默认地,有几项命令的权限已经给予OP。试试看用TAB补全一下指令吧!(e.g. /mgive TAB) 查看游戏内的帮助<br />
<br />
请点开 [https://github.com/elBukkit/MagicPlugin/wiki/Permissions The page on permissions](Permissions权限) 以查看更多权限相关的细节<br />
<br />
==== Wand Commands 法杖命令 ====<br />
<br />
* '''/wand''' : 创建一个新的、空的法杖.<br />
* '''/wand &lt;名字&gt;''' : 创建一个法杖,但是基于wands.yml中已经预设的法杖<br />
* '''/wand list''' : 列出wands.yml中可用的法杖列表模版<br />
* '''/wand enchant [#等级]''' : 随机添加技能和配置到法杖<br />
* '''/wand add \技能名&gt;''' : 在手持的法杖上面添加一个技能<br />
* '''/wand restore''' : 恢复玩家丢失的法杖<br />
* '''/wand organize''' : 重构法杖上的技能<br />
* '''/wand fill''' : 把所有已知的(而且有权限的)技能绑定到法杖上面<br />
* '''/wand remove &lt;技能名&gt;''' : 清除当前手持法杖上全部技能<br />
* '''/wand configure &lt;属性&gt; &lt;数值&gt;''' : 编辑法杖的可配置项(详见下文)<br />
* '''/wand upgrade &lt;属性&gt; &lt;数值&gt;''' : 编辑法杖的可配置项,但是不会降低任何数值(见下文)<br />
* '''/wand override &lt;参数&gt; &lt;数值&gt;''' : 修改法杖释放技能的方式<br />
* '''/wand bind''' : 绑定法杖,这样就只有你自己才能用了<br />
* '''/wand unbind''' : 取消绑定, 包括已经保存的备份<br />
* '''/wand save &lt;名字&gt;''' : 储存法杖并添加到新配置模板<br />
* '''/wand delete &lt;id&gt;''' : 删除一个法杖模版<br />
* '''/wand combine &lt;法杖&gt;''' : 向现有的模版套入新的法杖(更新覆盖)<br />
* '''/wand add brush &lt;材质&gt;''' : 添加当前手持法杖的新材质<br />
* '''/wand remove brush &lt;材质&gt;''' : 移除当前手持法杖的一个材质<br />
* '''/wand name &lt;名字&gt;''' : 命名法杖(你也可以通过铁砧改名)<br />
* '''/wand describe''' : 列出法杖的所有配置项,与 &quot;configure&quot;一同使用<br />
* '''/wand unlock''' : 解锁一个锁定的法杖,以便于编辑 (&quot;/wand configure locked &quot;可以锁定)<br />
* '''/wand create''' : 基于你手持的物品创建一个新法杖<br />
* '''/wand destroy''' : 取消手持法杖的附带效果 ('''相当于摧毁''') <br />
* '''/wand duplicate''' : 创建一个你手上法杖的副本<br />
* '''/wand enchant xp : 提升你所有的XP等级(消耗XP)到法杖。可通过命令方块制作一个升级系统'''<br />
* '''/wandp &lt;玩家&gt; &lt;...&gt;''' : 这样就可以使用/wand 系命令来指定玩家使用/wand命令了<br />
<br />
用于配置和升级的法杖可用的参数<br />
[https://github.com/elBukkit/MagicPlugin/wiki/WandParameters 法杖参数]<br />
<br />
==== The mgive Command Mgive命令 ====<br />
<br />
/mgive 命令运作时类似于原版或Ess的/give命令。可以通过这一命令给予玩家任何物品,包括魔法物品如法杖、技能或升级。同样地,可以给予玩家XP, 同时这个命令或许还可以解决/xp命令的无效故障<br />
<br />
* '''/mgive [玩家] &lt;物品&gt; [数量]''' : 最基本的命令格式。只有物品是必填项<br />
* '''/mgive [玩家]''' elder : 给予[玩家] 一个“Elder”法杖<br />
* '''/mgive [玩家]''' sp 100 : 给予[玩家] 100 技能点<br />
* '''/mgive [玩家]''' sp:100 : 给予[玩家] 一个价值100技能点的物品<br />
* '''/mgive fling 32''' : 给你自己 32次 &quot;fling&quot; 技能的使用权。这个使用权可以堆叠,也可以放到箱子里面或者丢给其他玩家<br />
* '''/mgive [玩家] xp 200''' : 给予 [玩家] 200 XP, 即便他手持着法杖也有效<br />
* '''/mgive [玩家] gold_nugget 32''' : 给予 [玩家] 32 金粒。物品格式必须遵从Bukkit's材质<br />
* '''/mgive spell:wolf''' :给你自己&quot;wolf&quot; 法术。“spell:”、“wand:”、“upgrade:”这类前缀可用来区分同名项<br />
* '''/mgive book:engineering''' : &quot;book:&lt;类别&gt;&quot; 的物品将会创建一本技能书,所有属于这一类别的技能都会被囊括在内,同时标明Lore和消耗<br />
* '''/mgive book:all''' : 创建一本无所不能的技能书,按技能排列、囊括全部的技能<br />
<br />
==== The /mmob command Mmob指令 ====<br />
<br />
请参见[https://github.com/elBukkit/MagicPlugin/wiki/MagicMobs MagicMobs]部分!<br />
<br />
==== The /mitem command Mitem指令 ====<br />
<br />
请参见[https://github.com/elBukkit/MagicPlugin/wiki/CustomItems CustomItems]部分<br />
<br />
==== Utility Commands 实用命令 ====<br />
<br />
* '''/magic load''' : 重载配置文件,包括技能的配置<br />
* '''/magic save''' : 强制储存一次玩家数据、其他数据(如遗失的法杖或图片地图)<br />
* '''/magic commit''' : 提交所有的更改 (相当于对所有玩家都使用一次&quot;Commit&quot;技能)<br />
* '''/magic cancel''' : 【取消所有的制作中的??】Cancel all in-progress construction batches.<br />
* '''/magic list [wands | automata | maps | tasks] &lt;玩家&gt;''' : 列出所有遗失的法杖、地图或自动装置(可能这个词不准确)。&quot;tasks&quot;模式则可以检测所有运行中的失效插件任务<br />
* '''/magic clean &lt;玩家&gt;''' : 清除玩家未拥有的的遗失的法杖<br />
* '''/magic clean ALL''' : 清除所有世界的所有法杖<br />
* '''/spells''' : 列出玩家已知的全部技能。玩家可以查看他们有权限释放的的所有法术的详细信息。虽然已经移除了一些奇异的的东西,此命令仍可安全给予玩家。玩家可以看到有关法杖上技能的信息,和游戏里面看到的一样(譬如通过Lore Tooltips展示)<br />
<br />
==== The Mage Command Mage命令 ====<br />
<br />
此类命令可以检查或修改玩家的数据(''Information'')<br />
<br />
* '''/mage check &lt;玩家&gt;''' : 检查玩家的权限,展示他们的位置和可用的技能<br />
* '''/mage debug &lt;玩家&gt;''' : 切换该玩家的Debug输出模式<br />
* '''/mage describe &lt;玩家&gt; [spell/data]''' : 转储玩家的施法信息、存储数据等<br />
* '''/mage configure &lt;玩家&gt; &lt;spell/data&gt; &lt;数值&gt;''' : 设置玩家的某个数据,如修改施法等<br />
* '''/mage reset &lt;玩家&gt;''' :完全重设一个玩家所有的存储数据<br />
<br />
==== The Cast Command 施法命令 ====<br />
<br />
'''/cast''' 命令在前台游戏中十分有用。可以让你直接释放任何法术,但是它也可以让你使用命令参数制作可配置的法术系统。<br /><br />
许多法术都需要基于某个法术配合参数。你可以自行调整参数以实现法术的多样化而无需动用后台配置。掌控服务器后台的人可以把配置好的技能储存在spells.yml里(只要放到spells文件夹就可以),这样玩家就能使用新的法术了。<br />
<br />
例如&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''' 即可<br />
<br />
在施法命令里面调整的参数和在spells.yml里面的一样,都会对该技能中声明过的全体起效,例如 <code>/cast &lt;技能名&gt; &lt;参数1&gt; &lt;数值1&gt; &lt;参数2&gt; &lt;数值2&gt;</code>.浏览起来和spells.yml里面的别无二致,该怎么设置就是什么样的效果<br /><br />
[https://github.com/elBukkit/MagicPlugin/wiki/SpellParameters 更多技能可用参数的细节文档]<br />
<br />
=== Debugging Utilities Debug实用命令 ===<br />
<br />
制作好一个新技能,用/cast命令可以快速释放,上面我们说过了<br />
<br />
==== '''/cast''' ====<br />
<br />
cast的命令可以快速检测不同参数的效果,上面也是提过的<br />
<br />
==== '''/wand override''' ====<br />
<br />
/wand override 命令可用来修改指定法杖释放法术的方式。<br />
<br />
例如:<br />
<br />
<pre class=""># 让所有的法术必须通过下面这个法杖参数释放 (慎用!)<br />
/wand override bypass_undo true<br />
# 只是减少“Blink”法术的冷却时间<br />
/wand override blink.cooldown 0<br />
# 让“Missile”技能的导弹飞行速度降低为5<br />
/wand override missile.velocity 5</pre><br />
==== '''/mage debug''' ====<br />
<br />
此命令会开启指定玩家的Debug输出,后面跟进一个等级数可以调整输出的强度,等级越高输出越详细。<br />
<br />
<pre class=""># 开启或关闭Debug<br />
/mage debug [玩家]<br />
# 显示一大堆信息,这样做可能会刷屏<br />
/mage debug [玩家] 20</pre><br />
==== '''/mage check''' ====<br />
<br />
通过权限有效检测问题。如果玩家有时没法施法,用这个命令在他们手持法杖并且技能激活时使用可以查一下原因<br />
<br />
==== '''/wand save''' ====<br />
<br />
如果你在前台游戏新建或者修改了一个法杖,最好保存一下到配置文件里面。&quot;/wand save Test&quot; 就会在&quot;plugins/Magic/wands/Test.yml&quot;路径创建一个新的法杖模版文件。这个新的法杖当然可以使用/wand或者/mgive召唤出来</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/%E6%9D%83%E9%99%90&diff=15884
Magic/权限
2021-08-28T12:27:15Z
<p>炫宙菌:/* 玩家权限 */</p>
<hr />
<div><br />
大多数Magic的权限都可以用于命令的使用,除少数只应该给管理员使用<br />
<br />
== 快速入门 ==<br />
<br />
通常情况下,管理员最好拥有以下权限以使用Magic所有的命令和物品:<br />
<br />
<pre class="">Magic.commands.*<br />
Magic.create.*</pre><br />
Magic.* ''绝不是'' 一个合适的权限, 有许多权限需要适用于跳过检测或其他的功能,当然了我们不一定一直都要使用这些功能。如果你要跳过一些技能检测的话,给自己OP未尝不是一个更好的选择<br />
<br />
玩家不必要有什么特殊的权限,见下文详解。<br />
<br />
== 玩家权限 ==<br />
<br />
'''默认所有玩家都有权使用法杖和所有法术'''. <br /><br />
你可以通过给玩家负权限以限制:<br />
<br />
* -Magic.wand.use : 玩家不能使用法杖<br />
* -Magic.use.&lt;wandname&gt; : 玩家不能使用指定的法杖或魔法物品<br />
* -Magic.wand.craft : 玩家不能合成法杖<br />
* -Magic.cast.* : 玩家不能释放任何一个法术<br />
* Magic.cast.&lt;spellname&gt; : 玩家可以释放某一法术<br />
<br />
'''默认地,玩家是不能使用任何命令的(只能通过法杖一类释放了)'''. <br /><br />
Magic的权限遵从格式: &quot;Magic.commands.&lt;命令&gt;.&lt;子命令&gt;&quot;. 例如:<br />
<br />
* Magic.commands.mskills : 玩家可以使用/mskills 技能选择器<br />
* Magic.commands.spells : 玩家可以使用/spells 命令<br />
<br />
== 管理员的权限 ==<br />
<br />
可能也需要限制一些物品或法杖不让管理员使用,默认情况下他们的确可以通过命令生成任何物品<br />
<br />
* Magic.commands.mgive : 可以生成物品或法杖<br />
* Magic.commands.wand : 只可以生成法杖<br />
* -Magic.create.* : 不可以生成物品或法杖<br />
* Magic.create.wand : 可以生成法杖名&quot;wand&quot;<br />
* Magic.create.battle : 可以生成法杖名&quot;battle&quot;<br />
* Magic.create.stone : 可以生成石头<br />
* Magic.create.hylian''shield : 可以生成 hylian''shield(海拉尔之盾,不知道是玩塞尔达的梗还是Mod物品名) 物品<br />
<br />
== 跳过权限 ==<br />
<br />
下面的权限默认OP有,可以跳过许多种检测:<br />
<br />
* Magic.bypass : 跳过大部分的限制检测<br />
* Magic.bypass_build : 跳过技能释放时的建造限制检测<br />
* Magic.bypass_break : 通过技能释放时的方块破坏限制检测<br />
* Magic.bypass_pvp : 跳过PVP限制检测<br />
* Magic.bypass_restricted : 跳过限制的材料建造检测<br />
* Magic.bypass_hidden : 玩家可以在TAB补全和技能列表里面看到隐藏的技能<br />
* Magic.override_bind: : 玩家可以使用法杖绑定给其他玩家<br />
* Magic.bypass : 玩家跳过其他权限检测<br />
* Magic.wand.override_drop : 玩家可以跳过防丢弃法杖、放在箱子里面的检测<br />
* Magic.wand.override_locked : 玩家可以更改锁定的法杖的配置<br />
* Magic.wand.override_stash : 玩家可以把绑定的法杖放进箱子<br />
* Magic.wand.use.protected : 玩家可以使用带&quot;protected&quot;保护标志的设定,意味着法杖无敌化<br />
* Magic.wand.use.powered : 玩家可以使用带&quot;powered&quot;强度标志的设定,意味着跳过某些限制<br />
<br />
== 物品生成权限 ==<br />
<br />
* Magic.commands.mgive : 可用 /mgive 生成任意物品<br />
* Magic.commands.wand : 可用 /wand 生成法杖<br />
* Magic.create.<name> : 可用 /wand 或 /mgive获取指定的法杖。所有的法杖都是默认可用的。<br />
* -Magic.create.* : 给负的权限以限制使用/wand和/mgive的权限<br />
<br />
== 法杖修改权限 ==<br />
<br />
这些权限可以修改法杖<br />
<br />
* Magic.commands.wand.describe : 可用 /wand describe 来显示法杖的信息<br />
* Magic.commands.wand.add :可用 /wand add 添加法术或刷子到当前 法杖<br />
* Magic.commands.wand.add.spell.<spellname> : 玩家可以添加指定的法术到法杖上,所有法术默认是被允许添加的<br />
* Magic.commands.wand.add.material : 玩家可以添加一个材质到法杖上,默认开启<br />
* Magic.commands.wand.bind : 玩家可以设置一个绑定在自己身上的法杖(可自我绑定)<br />
* Magic.commands.wand.unbind : 玩家可以解绑法杖<br />
* Magic.commands.wand.remove : 可用 /wand remove 来从法杖上移除法术或刷子<br />
* Magic.commands.wand.create : 可用 /wand create 让一个物品变成一个空法杖<br />
* Magic.commands.wand.destroy : 可用 /wand destroy 使一个法杖变回普通物品<br />
* Magic.commands.wand.delete : 玩家可用/wand delete 来删除一个已存储的法杖模版<br />
* Magic.commands.wand.enchant : 玩家可用/wand enchant 来随机强化一个法杖<br />
* Magic.commands.wand.name : 玩家可用/wand name 以重命名<br />
* Magic.commands.wand.list : 玩家可用/wand list 可以观看所有法杖<br />
* Magic.commands.wand.save : 玩家可用/wand save 可以存储一个法杖物品为新的配置模版<br />
* Magic.commands.wand.fill : 玩家可用/wand fill 可以添加所有可添加的法术到法杖上<br />
* Magic.commands.wand.configure : 玩家可用/wand configure 以修改法杖配置<br />
* Magic.commands.wand.upgrade : 玩家可用/wand upgrade 改进法杖属性(?)<br />
* Magic.commands.wand.duplicate : 玩家可用/wand duplicate 创建法杖的副本<br />
* Magic.commands.wand.organize : 玩家可用/wand organize 重新整理法术背包<br />
* Magic.commands.wand.restore : 玩家可用/wand restore 寻回丢失的已绑定法杖<br />
* Magic.commands.wand.unlock : 玩家可用/wand unlock 解锁一个锁定的法杖<br />
* Magic.commands.wand.override : 玩家可用/wand override 修改覆盖的法术<br />
<br />
== 远程法杖修改 ==<br />
<br />
使用 /wandp 命令的权限和 /wand 命令相同 <br /><br />
/wandp <玩家名> <子命令> 的效果就和此玩家使用 /wand <子命令> 一样。这样可以用来控制其他玩家对法杖进行一些操作,对于其他插件管理玩家法杖十分有效.<br />
<br />
* Magic.commands.wandp.* : 玩家可以使用 /wandp命令以控制其他玩家使用法杖类命令<br />
<br />
== Mage配置 ==<br />
<br />
* Magic.commands.mage.debug : 玩家可为自己或他人开启debug模式<br />
* Magic.commands.mage.check : 玩家可以检查施法、破坏、建造等的权限<br />
* Magic.commands.mage.getdata : 玩家可检查施法者数据或释放的法术<br />
* Magic.commands.mage.setdata : 玩家可修改施法者数据或释放的法术<br />
* Magic.commands.mage.reset : 玩家可以完全重置施法者的数据<br />
<br />
== 物品改动 ==<br />
<br />
/mitem命令可以 在游戏中修改非法杖物品<br />
<br />
* Magic.commands.mitem.add : 添加附魔、属性或lore<br />
* Magic.commands.mitem.remove : 移除附魔、属性或lore<br />
* Magic.commands.mitem.describe : 显示物品的相关信息<br />
* Magic.commands.mitem.duplicate : 制造一个物品的副本<br />
* Magic.commands.mitem.destroy : 摧毁物品<br />
* Magic.commands.mitem.skull : 创建一个基于书本内附数据的自定义头颅<br />
* Magic.commands.mitem.save : 把一个物品保存为模版<br />
* Magic.commands.mitem.delete : 删除一个已保存的物品(模版)<br />
* Magic.commands.mitem.worth : 显示物品的价值(需要Vault?)<br />
* Magic.commands.mitem.type : 修改物品种类<br />
* Magic.commands.mitem.export : 导出所有的物品并命名为一个csv文件<br />
<br />
== 魔法生物 ==<br />
<br />
可使用魔法生物的生成和管理指令:<br />
<br />
* Magic.commands.mmob spawn :生成一个自定义的魔法生物<br />
* Magic.commands.mmob list :列出自定义魔法生物种类<br />
* Magic.commands.clear 清除所有在已载入的世界的自定义生物<br />
<br />
== 图片地图 ==<br />
<br />
一些 /mmap 命令的权限<br />
<br />
* Magic.commands.mmap load : 加载一个图片地图<br />
* Magic.commands.mmap list : 列出所有 已加载的图片地图<br />
* Magic.commands.mmap give : 给玩家一个图片地图<br />
* Magic.commands.mmap import : 通过Pixelator(像素图片转换工具)导入图片地图<br />
<br />
== 命令施法 ==<br />
<br />
使用 /cast 命令可以在游戏里直接施法<br />
<br />
* Magic.commands.cast : 玩家可使用 /cast<br />
* Magic.commands.cast.parameters :玩家可使用参数修改施法(譬如修改范围、伤害)<br />
*注:使用参数施法可能<font color=red>极其危险</font>, 这个权限最好只给服主或者完全值得信任的管理员。<br />
*举例说明: /cast 火舞 无伤大雅,但是一旦使用了/cast fire radius 1000 就会出大问题,毕竟你不希望看到一千格都着火<br />
<br />
== 其他管理员命令 ==<br />
<br />
* Magic.commands.magic.load : 可以重载 spells.yml, wands.yml, config.yml 以及 messages.yml. (包括defaults内)<br />
* Magic.commands.magic.[save|clean|search|list| .. etc] : 所有命令遵从本身所具有的样式<br />
<br />
这个列表可能不完整, 请访问 [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/plugin.yml plugin.yml] 获取完整的权限</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Actions&diff=15872
Magic/Actions
2021-08-21T01:23:10Z
<p>炫宙菌:/* 行为系统 */</p>
<hr />
<div>== 行为系统 ==<br />
<br />
Magic有一个灵活的&quot;action【行为】&quot; 系统,你可以基于默认的法术构建自己独一无二的法术<br />
<br />
大部分法术如今都使用行为系统,不再使用先前的&quotclass&quot【类】系统.<br />
<br />
行为系统会根据施法者的施法量智能地平衡负载。 Magic will try to ensure that spells don't lag the server by modifying too many blocks or entities in a single tick.<br />
<br />
This means that any spell has the potential to get &quot;batched&quot; for delayed processing. This is not strictly speaking &quot;asynchronous&quot;, but it is the same general idea. If a spell requires too much &quot;work&quot; to complete in a single tick, it will spread out over multiple ticks.<br />
<br />
== Create your own spells ==<br />
<br />
The action system lets you build your own spells for some really cool custom behavior! Take a look through the [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/ survival spell configurations] to get a feel for what's possible. In particular, there are a few spells (laser, singularity, magichat) that are documented pretty well, I'm hoping to do better with that in the future.<br />
<br />
=== Built in Actions ===<br />
<br />
Please check out the [http://mine.elmakers.com/reference/#actions Reference Manual] for a list of all builtin spell actions and their parameters!<br />
<br />
== Create your own actions ==<br />
<br />
If you can't seem to get the effect you want, and have a bit of Java/Bukkit experience, it's pretty each to code up some new SpellAction classes. This is now the preferred method to extend Magic, rather than creating a new Spell class.<br />
<br />
This will let you mix your custom actions in with the builtin actions!<br />
<br />
All you need to do is to implement the [https://github.com/elBukkit/MagicPlugin/blob/master/MagicAPI/src/main/java/com/elmakers/mine/bukkit/api/action/SpellAction.java SpellAction] interface found in MagicAPI. Alternately, you can extend [http://jenkins.elmakers.com/job/MagicLib/doxygen/classcom_1_1elmakers_1_1mine_1_1bukkit_1_1action_1_1_base_spell_action.html BaseSpellAction] in MagicLib, which takes care of some of the boilerplate code for you.<br />
<br />
If using BaseSpellAction (which I would recommend), you will need to build against the Magic plugin itself, not the API. The plugin is not available in the Central Maven repo, so you will have to add the elMakers repo:<br />
<br />
<pre class=""> &lt;repositories&gt;<br />
&lt;repository&gt;<br />
&lt;id&gt;elMakers&lt;/id&gt;<br />
&lt;url&gt;http://maven.elmakers.com/repository/&lt;/url&gt;<br />
&lt;/repository&gt;<br />
&lt;/repositories&gt;</pre><br />
Then you would add Magic as a dependency like this:<br />
<br />
<pre class=""><br />
&lt;dependencies&gt;<br />
&lt;dependency&gt;<br />
&lt;groupId&gt;com.elmakers.mine.bukkit.plugins&lt;/groupId&gt;<br />
&lt;artifactId&gt;Magic&lt;/artifactId&gt;<br />
&lt;version&gt;8.3&lt;/version&gt;<br />
&lt;scope&gt;provided&lt;/scope&gt;<br />
&lt;/dependency&gt;<br />
&lt;/dependencies&gt;</pre><br />
=== Action anatomy ===<br />
<br />
Actions have a few important methods that get called at certain times. It is important, especially for performance, to know what to do and when.<br />
<br />
''initialize''<br />
<br />
This method is called whenever a spell is loaded for the first time. It is only called once per player per server session, and is given the action's parameters. Spells rarely use this, though in cases where you have a big list of things in your parameters or spell config it may be more efficient to pre-parse it here.<br />
<br />
Any parameters read inside of initialize() cannot be overridden by /cast or /wand override.<br />
<br />
''prepare''<br />
<br />
This is called at the beginning of a spell cast, giving the action the current CastContext and parameters. This is generally when you'll want to read your parameters into class variables.<br />
<br />
''reset''<br />
<br />
This is called at the beginning of one &quot;iteration&quot; of a spell cast. This is generally only used by CompoundAction classes, to reset their counter to the beginning of their action list. It is rare you'll need to override this.<br />
<br />
''perform''<br />
<br />
This is the main body of your action, where you will do your work. This may be called many, many times during a spell cast, so try and keep things efficient.<br />
<br />
''finish''<br />
<br />
This is called for each action after the entire spell cast is complete, and is a good place to perform and cleanup or final actions.<br />
<br />
=== Cast Context and Parameters ===<br />
<br />
Most spells only need to override &quot;prepare&quot; and &quot;perform&quot;. The &quot;prepare&quot; method is passed a ConfigurationSection, which can be used to read in the action's parameters.<br />
<br />
Both &quot;prepare&quot; and &quot;perform&quot; are passed a [http://jenkins.elmakers.com/job/MagicAPI/doxygen/interfacecom_1_1elmakers_1_1mine_1_1bukkit_1_1api_1_1action_1_1_cast_context.html CastContext] object. This object is how you interact with all of the core Magic functionality- such as the undo system. Methods are constantly added to CastContext as needed by the builtin actions, so there is quite a bit there you can make use of.<br />
<br />
== Action Flow ==<br />
<br />
Normally actions in a spell are processed &quot;serially&quot;- that is, one at a time, in a row.<br />
<br />
If an action takes some time to complete (Delay action, in-flight Projectile, etc) the spell will sit and wait on that action until it completes.<br />
<br />
Sometimes you'd like more than one thing to happen at a time in a spell.<br /><br />
There are a few different actions that can do that:<br />
<br />
* '''Multiply''': Kind of like &quot;Repeat&quot; except all of the &quot;cloned&quot; actions run at the same time (in parallel) instead of one after another (in serial)<br />
* '''Parallel''': Runs all of the actions in its &quot;actions&quot; list separately, in parallel<br />
* '''Asynchronous''': Runs its actions list as normal (serially, one after another) except it does this in parallel with the rest of the spell- so an Asynchronous action always completely immediately, no matter how longer the actions inside it really take<br />
<br />
Then there is this kind of odd case of the '''Serial''' action- this is basically just used to group actions together. Mainly this is used in &quot;Parallel&quot;, since that one takes each action in its list as a separate &quot;thread&quot; to run, Serial may be used to group several actions together that you want to run one after another in parallel with other actions.<br />
<br />
To try and tie all that together with an example- what does the [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/chainlightning.yml Chain Lightning] spell do?<br />
<br />
It launches a projectile, when that projectile hits it does an AreaOfEffect.<br />
<br />
AOE will run actions for each target in a radius, but we want to spawn a new projectile towards each of those targets. <br />
<br />
However, we want them to all fly at once, rather than one firing, waiting for hit, then another firing, etc.<br />
<br />
That is what the Asynchronous action does, it makes all of the chained projectiles fly at once.<br />
<br />
Similarly [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/meteor.yml Meteor Shower] uses Multiply to launch several meteors at once.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Actions&diff=15871
Magic/Actions
2021-08-21T01:11:19Z
<p>炫宙菌:/* Action System */</p>
<hr />
<div>== 行为系统 ==<br />
<br />
Magic has a flexible &quot;action&quot; system that lets you build your own spells, using the individual behaviors that the default spells employ.<br />
<br />
Most spells in Magic are made up of &quot;actions&quot;, rather than having a custom class for each spell.<br />
<br />
Magic's action system intelligently load-balances given the number of mages actively casting spells. Magic will try to ensure that spells don't lag the server by modifying too many blocks or entities in a single tick.<br />
<br />
This means that any spell has the potential to get &quot;batched&quot; for delayed processing. This is not strictly speaking &quot;asynchronous&quot;, but it is the same general idea. If a spell requires too much &quot;work&quot; to complete in a single tick, it will spread out over multiple ticks.<br />
<br />
== Create your own spells ==<br />
<br />
The action system lets you build your own spells for some really cool custom behavior! Take a look through the [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/ survival spell configurations] to get a feel for what's possible. In particular, there are a few spells (laser, singularity, magichat) that are documented pretty well, I'm hoping to do better with that in the future.<br />
<br />
=== Built in Actions ===<br />
<br />
Please check out the [http://mine.elmakers.com/reference/#actions Reference Manual] for a list of all builtin spell actions and their parameters!<br />
<br />
== Create your own actions ==<br />
<br />
If you can't seem to get the effect you want, and have a bit of Java/Bukkit experience, it's pretty each to code up some new SpellAction classes. This is now the preferred method to extend Magic, rather than creating a new Spell class.<br />
<br />
This will let you mix your custom actions in with the builtin actions!<br />
<br />
All you need to do is to implement the [https://github.com/elBukkit/MagicPlugin/blob/master/MagicAPI/src/main/java/com/elmakers/mine/bukkit/api/action/SpellAction.java SpellAction] interface found in MagicAPI. Alternately, you can extend [http://jenkins.elmakers.com/job/MagicLib/doxygen/classcom_1_1elmakers_1_1mine_1_1bukkit_1_1action_1_1_base_spell_action.html BaseSpellAction] in MagicLib, which takes care of some of the boilerplate code for you.<br />
<br />
If using BaseSpellAction (which I would recommend), you will need to build against the Magic plugin itself, not the API. The plugin is not available in the Central Maven repo, so you will have to add the elMakers repo:<br />
<br />
<pre class=""> &lt;repositories&gt;<br />
&lt;repository&gt;<br />
&lt;id&gt;elMakers&lt;/id&gt;<br />
&lt;url&gt;http://maven.elmakers.com/repository/&lt;/url&gt;<br />
&lt;/repository&gt;<br />
&lt;/repositories&gt;</pre><br />
Then you would add Magic as a dependency like this:<br />
<br />
<pre class=""><br />
&lt;dependencies&gt;<br />
&lt;dependency&gt;<br />
&lt;groupId&gt;com.elmakers.mine.bukkit.plugins&lt;/groupId&gt;<br />
&lt;artifactId&gt;Magic&lt;/artifactId&gt;<br />
&lt;version&gt;8.3&lt;/version&gt;<br />
&lt;scope&gt;provided&lt;/scope&gt;<br />
&lt;/dependency&gt;<br />
&lt;/dependencies&gt;</pre><br />
=== Action anatomy ===<br />
<br />
Actions have a few important methods that get called at certain times. It is important, especially for performance, to know what to do and when.<br />
<br />
''initialize''<br />
<br />
This method is called whenever a spell is loaded for the first time. It is only called once per player per server session, and is given the action's parameters. Spells rarely use this, though in cases where you have a big list of things in your parameters or spell config it may be more efficient to pre-parse it here.<br />
<br />
Any parameters read inside of initialize() cannot be overridden by /cast or /wand override.<br />
<br />
''prepare''<br />
<br />
This is called at the beginning of a spell cast, giving the action the current CastContext and parameters. This is generally when you'll want to read your parameters into class variables.<br />
<br />
''reset''<br />
<br />
This is called at the beginning of one &quot;iteration&quot; of a spell cast. This is generally only used by CompoundAction classes, to reset their counter to the beginning of their action list. It is rare you'll need to override this.<br />
<br />
''perform''<br />
<br />
This is the main body of your action, where you will do your work. This may be called many, many times during a spell cast, so try and keep things efficient.<br />
<br />
''finish''<br />
<br />
This is called for each action after the entire spell cast is complete, and is a good place to perform and cleanup or final actions.<br />
<br />
=== Cast Context and Parameters ===<br />
<br />
Most spells only need to override &quot;prepare&quot; and &quot;perform&quot;. The &quot;prepare&quot; method is passed a ConfigurationSection, which can be used to read in the action's parameters.<br />
<br />
Both &quot;prepare&quot; and &quot;perform&quot; are passed a [http://jenkins.elmakers.com/job/MagicAPI/doxygen/interfacecom_1_1elmakers_1_1mine_1_1bukkit_1_1api_1_1action_1_1_cast_context.html CastContext] object. This object is how you interact with all of the core Magic functionality- such as the undo system. Methods are constantly added to CastContext as needed by the builtin actions, so there is quite a bit there you can make use of.<br />
<br />
== Action Flow ==<br />
<br />
Normally actions in a spell are processed &quot;serially&quot;- that is, one at a time, in a row.<br />
<br />
If an action takes some time to complete (Delay action, in-flight Projectile, etc) the spell will sit and wait on that action until it completes.<br />
<br />
Sometimes you'd like more than one thing to happen at a time in a spell.<br /><br />
There are a few different actions that can do that:<br />
<br />
* '''Multiply''': Kind of like &quot;Repeat&quot; except all of the &quot;cloned&quot; actions run at the same time (in parallel) instead of one after another (in serial)<br />
* '''Parallel''': Runs all of the actions in its &quot;actions&quot; list separately, in parallel<br />
* '''Asynchronous''': Runs its actions list as normal (serially, one after another) except it does this in parallel with the rest of the spell- so an Asynchronous action always completely immediately, no matter how longer the actions inside it really take<br />
<br />
Then there is this kind of odd case of the '''Serial''' action- this is basically just used to group actions together. Mainly this is used in &quot;Parallel&quot;, since that one takes each action in its list as a separate &quot;thread&quot; to run, Serial may be used to group several actions together that you want to run one after another in parallel with other actions.<br />
<br />
To try and tie all that together with an example- what does the [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/chainlightning.yml Chain Lightning] spell do?<br />
<br />
It launches a projectile, when that projectile hits it does an AreaOfEffect.<br />
<br />
AOE will run actions for each target in a radius, but we want to spawn a new projectile towards each of those targets. <br />
<br />
However, we want them to all fly at once, rather than one firing, waiting for hit, then another firing, etc.<br />
<br />
That is what the Asynchronous action does, it makes all of the chained projectiles fly at once.<br />
<br />
Similarly [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/meteor.yml Meteor Shower] uses Multiply to launch several meteors at once.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15870
Magic/Admins
2021-08-21T01:08:34Z
<p>炫宙菌:/* 配置 */</p>
<hr />
<div>=== 安装 ===<br />
<br />
Magic需要 [http://www.spigotmc.org Spigot] 或 CraftBukkit,只需把 Magic.jar 放到plugins文件夹<br />
<br />
默认使用法术要做的准备就这么多<br />
<br />
默认只有NPC才能获得法杖 (但所有人都可以释放他们法杖上已获得的法术)<br />
<br />
=== 权限 ===<br />
<br />
默认仅OP可以使用任何命令,玩家不必使用命令<br />
<br />
译者注:当然了这只是作者的想法,我就很不喜欢这种脱离命令的操作<br />
<br />
[[Magic/Permissions|查看所有权限]]<br />
<br />
=== 命令 ===<br />
<br />
Magic的命令通常仅供管理员使用<br />
<br />
[[Magic/Commands|查看所有命令]]<br />
<br />
=== 配置 ===<br />
<br />
特定配置参数的更新文档,请参阅这些文件:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
关于个性化配置,请参阅 [[Magic/Customization|此页面]]</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15869
Magic/Admins
2021-08-21T01:08:26Z
<p>炫宙菌:/* Configuration */</p>
<hr />
<div>=== 安装 ===<br />
<br />
Magic需要 [http://www.spigotmc.org Spigot] 或 CraftBukkit,只需把 Magic.jar 放到plugins文件夹<br />
<br />
默认使用法术要做的准备就这么多<br />
<br />
默认只有NPC才能获得法杖 (但所有人都可以释放他们法杖上已获得的法术)<br />
<br />
=== 权限 ===<br />
<br />
默认仅OP可以使用任何命令,玩家不必使用命令<br />
<br />
译者注:当然了这只是作者的想法,我就很不喜欢这种脱离命令的操作<br />
<br />
[[Magic/Permissions|查看所有权限]]<br />
<br />
=== 命令 ===<br />
<br />
Magic的命令通常仅供管理员使用<br />
<br />
[[Magic/Commands|查看所有命令]]<br />
<br />
=== 配置 ===<br />
<br />
特定配置参数的更新文档,请参阅这些文件:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
关于个性化配置,请参阅此页面 [[Magic/Customization|此页面]]</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15868
Magic/Admins
2021-08-21T01:07:24Z
<p>炫宙菌:/* Configuration */</p>
<hr />
<div>=== 安装 ===<br />
<br />
Magic需要 [http://www.spigotmc.org Spigot] 或 CraftBukkit,只需把 Magic.jar 放到plugins文件夹<br />
<br />
默认使用法术要做的准备就这么多<br />
<br />
默认只有NPC才能获得法杖 (但所有人都可以释放他们法杖上已获得的法术)<br />
<br />
=== 权限 ===<br />
<br />
默认仅OP可以使用任何命令,玩家不必使用命令<br />
<br />
译者注:当然了这只是作者的想法,我就很不喜欢这种脱离命令的操作<br />
<br />
[[Magic/Permissions|查看所有权限]]<br />
<br />
=== 命令 ===<br />
<br />
Magic的命令通常仅供管理员使用<br />
<br />
[[Magic/Commands|查看所有命令]]<br />
<br />
=== Configuration ===<br />
<br />
特定配置参数的更新文档,请参阅这些文件:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
关于 [[Magic/Customization|this page]] for more for information on customizing Magic.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15867
Magic/Admins
2021-08-21T01:06:30Z
<p>炫宙菌:/* 命令 */</p>
<hr />
<div>=== 安装 ===<br />
<br />
Magic需要 [http://www.spigotmc.org Spigot] 或 CraftBukkit,只需把 Magic.jar 放到plugins文件夹<br />
<br />
默认使用法术要做的准备就这么多<br />
<br />
默认只有NPC才能获得法杖 (但所有人都可以释放他们法杖上已获得的法术)<br />
<br />
=== 权限 ===<br />
<br />
默认仅OP可以使用任何命令,玩家不必使用命令<br />
<br />
译者注:当然了这只是作者的想法,我就很不喜欢这种脱离命令的操作<br />
<br />
[[Magic/Permissions|查看所有权限]]<br />
<br />
=== 命令 ===<br />
<br />
Magic的命令通常仅供管理员使用<br />
<br />
[[Magic/Commands|查看所有命令]]<br />
<br />
=== Configuration ===<br />
<br />
See these files for updated documentation on specific configuration<br /><br />
parameters:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
And [[Customization|this page]] for more for information on customizing Magic.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15866
Magic/Admins
2021-08-21T01:06:18Z
<p>炫宙菌:/* 命令 */</p>
<hr />
<div>=== 安装 ===<br />
<br />
Magic需要 [http://www.spigotmc.org Spigot] 或 CraftBukkit,只需把 Magic.jar 放到plugins文件夹<br />
<br />
默认使用法术要做的准备就这么多<br />
<br />
默认只有NPC才能获得法杖 (但所有人都可以释放他们法杖上已获得的法术)<br />
<br />
=== 权限 ===<br />
<br />
默认仅OP可以使用任何命令,玩家不必使用命令<br />
<br />
译者注:当然了这只是作者的想法,我就很不喜欢这种脱离命令的操作<br />
<br />
[[Magic/Permissions|查看所有权限]]<br />
<br />
=== 命令 ===<br />
<br />
Magic的命令通常仅供管理员使用<br />
<br />
[[Magic、Commands|查看所有命令]]<br />
<br />
=== Configuration ===<br />
<br />
See these files for updated documentation on specific configuration<br /><br />
parameters:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
And [[Customization|this page]] for more for information on customizing Magic.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15865
Magic/Admins
2021-08-21T01:05:55Z
<p>炫宙菌:/* Commands */</p>
<hr />
<div>=== 安装 ===<br />
<br />
Magic需要 [http://www.spigotmc.org Spigot] 或 CraftBukkit,只需把 Magic.jar 放到plugins文件夹<br />
<br />
默认使用法术要做的准备就这么多<br />
<br />
默认只有NPC才能获得法杖 (但所有人都可以释放他们法杖上已获得的法术)<br />
<br />
=== 权限 ===<br />
<br />
默认仅OP可以使用任何命令,玩家不必使用命令<br />
<br />
译者注:当然了这只是作者的想法,我就很不喜欢这种脱离命令的操作<br />
<br />
[[Magic/Permissions|查看所有权限]]<br />
<br />
=== 命令 ===<br />
<br />
Magic的命令通常仅供管理员使用<br />
<br />
[[MagicCommands|查看所有命令]]<br />
<br />
=== Configuration ===<br />
<br />
See these files for updated documentation on specific configuration<br /><br />
parameters:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
And [[Customization|this page]] for more for information on customizing Magic.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15864
Magic/Admins
2021-08-21T01:05:15Z
<p>炫宙菌:/* Permissions */</p>
<hr />
<div>=== 安装 ===<br />
<br />
Magic需要 [http://www.spigotmc.org Spigot] 或 CraftBukkit,只需把 Magic.jar 放到plugins文件夹<br />
<br />
默认使用法术要做的准备就这么多<br />
<br />
默认只有NPC才能获得法杖 (但所有人都可以释放他们法杖上已获得的法术)<br />
<br />
=== 权限 ===<br />
<br />
默认仅OP可以使用任何命令,玩家不必使用命令<br />
<br />
译者注:当然了这只是作者的想法,我就很不喜欢这种脱离命令的操作<br />
<br />
[[Magic/Permissions|查看所有权限]]<br />
<br />
=== Commands ===<br />
<br />
Commands in Magic are generally for admin-use only. <br />
<br />
[[Commands|See All Commands]]<br />
<br />
=== Configuration ===<br />
<br />
See these files for updated documentation on specific configuration<br /><br />
parameters:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
And [[Customization|this page]] for more for information on customizing Magic.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15863
Magic/Admins
2021-08-21T01:05:07Z
<p>炫宙菌:/* Installation */</p>
<hr />
<div>=== 安装 ===<br />
<br />
Magic需要 [http://www.spigotmc.org Spigot] 或 CraftBukkit,只需把 Magic.jar 放到plugins文件夹<br />
<br />
默认使用法术要做的准备就这么多<br />
<br />
默认只有NPC才能获得法杖 (但所有人都可以释放他们法杖上已获得的法术)<br />
<br />
=== Permissions ===<br />
<br />
默认仅OP可以使用任何命令,玩家不必使用命令<br />
<br />
译者注:当然了这只是作者的想法,我就很不喜欢这种脱离命令的操作<br />
<br />
[[Magic/Permissions|查看所有权限]]<br />
<br />
=== Commands ===<br />
<br />
Commands in Magic are generally for admin-use only. <br />
<br />
[[Commands|See All Commands]]<br />
<br />
=== Configuration ===<br />
<br />
See these files for updated documentation on specific configuration<br /><br />
parameters:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
And [[Customization|this page]] for more for information on customizing Magic.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15862
Magic/Admins
2021-08-21T01:01:54Z
<p>炫宙菌:/* Permissions */</p>
<hr />
<div>=== Installation ===<br />
<br />
Magic requires [http://www.spigotmc.org Spigot] or CraftBukkit, just place Magic.jar into the plugins<br /><br />
folder. This is all you need to do to experiment with spells, by default<br /><br />
only ops can get wands (though anyone can cast any spells if they get<br /><br />
ahold of a wand with spells!)<br />
<br />
=== Permissions ===<br />
<br />
默认仅OP可以使用任何命令,玩家不必使用命令<br />
<br />
译者注:当然了这只是作者的想法,我就很不喜欢这种脱离命令的操作<br />
<br />
[[Magic/Permissions|查看所有权限]]<br />
<br />
=== Commands ===<br />
<br />
Commands in Magic are generally for admin-use only. <br />
<br />
[[Commands|See All Commands]]<br />
<br />
=== Configuration ===<br />
<br />
See these files for updated documentation on specific configuration<br /><br />
parameters:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
And [[Customization|this page]] for more for information on customizing Magic.</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Admins&diff=15861
Magic/Admins
2021-08-21T01:00:08Z
<p>炫宙菌:创建页面,内容为“=== Installation === Magic requires [http://www.spigotmc.org Spigot] or CraftBukkit, just place Magic.jar into the plugins<br /> folder. This is all you need to do…”</p>
<hr />
<div>=== Installation ===<br />
<br />
Magic requires [http://www.spigotmc.org Spigot] or CraftBukkit, just place Magic.jar into the plugins<br /><br />
folder. This is all you need to do to experiment with spells, by default<br /><br />
only ops can get wands (though anyone can cast any spells if they get<br /><br />
ahold of a wand with spells!)<br />
<br />
=== Permissions ===<br />
<br />
By default only op's have access to any commands, players do not need commands to use Magic and generally should not have any.<br />
<br />
[[Permissions|See All Permissions]]<br />
<br />
=== Commands ===<br />
<br />
Commands in Magic are generally for admin-use only. <br />
<br />
[[Commands|See All Commands]]<br />
<br />
=== Configuration ===<br />
<br />
See these files for updated documentation on specific configuration<br /><br />
parameters:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/CONFIGURATION.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md<br /><br />
https://github.com/elBukkit/MagicPlugin/blob/master/WANDS.md<br />
<br />
And [[Customization|this page]] for more for information on customizing Magic.</div>
炫宙菌
https://mineplugin.org/index.php?title=%E6%A8%A1%E6%9D%BF:Magic&diff=15860
模板:Magic
2021-08-21T01:00:02Z
<p>炫宙菌:</p>
<hr />
<div>{{Navbox<br />
| name = Magic<br />
| state = <br />
| title = Magic<br />
|group1 = 基本界面<br />
| list1 = [[Magic]] {{w}} [[Magic/Commands|指令]] {{w}} [[Magic/权限|权限]] {{w}} [[Magic/Cutsom_Spells|自定义法术]] {{w}} [[Magic/Progression|进度]] {{w}} [[Magic/Spell_Points|技能点]] {{w}} [[Magic/Crafting|配方]] {{w}} [[Magic/FAQ|FAQ]] {{w}} [[Magic/Basic_Setup|基础配设]] {{w}} [[Magic/Customization|个性化]] {{w}} [[Magic/Resource_Pack|资源包]] {{w}} [[Magic/Examples|举例]] {{w}} [[Magic/Messages_and_Languages|语言和消息]] {{w}} [[Magic/Vanity_Items|酷炫物品]] {{w}} [[Magic/Shops|商店]]<br />
|group2 = 举例界面<br />
| list2 = [[Magic/Engineering|工程师法术]] {{w}} [[Magic/The-Nether-Side|地狱之面]] {{w}} [[Magic/The-Other-Side|其他之面]] {{w}} [[Magic/Automata|自动操作装置]] {{w}} [[Magic/AutomaticBlocks|自动机械方块]] {{w}} [[Magic/Painterly|彩绘]] {{w}} [[Magic/MobArena|竞技场]] {{w}} [[Magic/Slimefun|粘液科技]] {{w}} [[Magic/RPG|Rpg]]<br />
|group3 = 进阶界面<br />
| list3 = [[Magic/Actions|行为]] {{w}} [[Magic/ImageMaps|图片地图]] {{w}} [[Magic/Regions|领域]] {{w}} [[Magic/Placeholders|Placeholders]] {{w}} [[Magic/Skript|Skript]] {{w}} [[Magic/NPC|NPC]] {{w}} [[Magic/MagicMobs|魔法生物]] {{w}} [[Magic/Parameters|参数]] {{w}} [[Magic/Icons|图标]] {{w}} [[Magic/Admins|管理]]<br />
|group4 = 自定义相关<br />
| list4 = [[Magic/Custom Wands|自定义法杖]] {{w}} [[Magic/Custom Paths|自定义熟练度]]<br />
|group5 = 高级管理<br />
| list5 = [[Magic/Player Data Storage|玩家数据存储]]<br />
}}<br />
<noinclude>[[分类:大家族模板]]</noinclude></div>
炫宙菌
https://mineplugin.org/index.php?title=%E6%A8%A1%E6%9D%BF:Magic&diff=15859
模板:Magic
2021-08-21T00:52:24Z
<p>炫宙菌:</p>
<hr />
<div>{{Navbox<br />
| name = Magic<br />
| state = <br />
| title = Magic<br />
|group1 = 基本界面<br />
| list1 = [[Magic]] {{w}} [[Magic/Commands|指令]] {{w}} [[Magic/权限|权限]] {{w}} [[Magic/Cutsom_Spells|自定义法术]] {{w}} [[Magic/Progression|进度]] {{w}} [[Magic/Spell_Points|技能点]] {{w}} [[Magic/Crafting|配方]] {{w}} [[Magic/FAQ|FAQ]] {{w}} [[Magic/Basic_Setup|基础配设]] {{w}} [[Magic/Customization|个性化]] {{w}} [[Magic/Resource_Pack|资源包]] {{w}} [[Magic/Examples|举例]] {{w}} [[Magic/Messages_and_Languages|语言和消息]] {{w}} [[Magic/Vanity_Items|酷炫物品]] {{w}} [[Magic/Shops|商店]]<br />
|group2 = 举例界面<br />
| list2 = [[Magic/Engineering|工程师法术]] {{w}} [[Magic/The-Nether-Side|地狱之面]] {{w}} [[Magic/The-Other-Side|其他之面]] {{w}} [[Magic/Automata|自动操作装置]] {{w}} [[Magic/AutomaticBlocks|自动机械方块]] {{w}} [[Magic/Painterly|彩绘]] {{w}} [[Magic/MobArena|竞技场]] {{w}} [[Magic/Slimefun|粘液科技]] {{w}} [[Magic/RPG|Rpg]]<br />
|group3 = 进阶界面<br />
| list3 = [[Magic/Actions|行为]] {{w}} [[Magic/ImageMaps|图片地图]] {{w}} [[Magic/Regions|领域]] {{w}} [[Magic/Placeholders|Placeholders]] {{w}} [[Magic/Skript|Skript]] {{w}} [[Magic/NPC|NPC]] {{w}} [[Magic/MagicMobs|魔法生物]] {{w}} [[Magic/Parameters|参数]] {{w}} [[Magic/Icons|图标]] {{w}} [[Magic/Adming|管理]]<br />
|group4 = 自定义相关<br />
| list4 = [[Magic/Custom Wands|自定义法杖]] {{w}} [[Magic/Custom Paths|自定义熟练度]]<br />
|group5 = 高级管理<br />
| list5 = [[Magic/Player Data Storage|玩家数据存储]]<br />
}}<br />
<noinclude>[[分类:大家族模板]]</noinclude></div>
炫宙菌
https://mineplugin.org/index.php?title=%E6%A8%A1%E6%9D%BF:Magic&diff=15858
模板:Magic
2021-08-21T00:52:03Z
<p>炫宙菌:</p>
<hr />
<div>{{Navbox<br />
| name = Magic<br />
| state = <br />
| title = Magic<br />
|group1 = 基本界面<br />
| list1 = [[Magic]] {{w}} [[Magic/Commands|指令]] {{w}} [[Magic/权限|权限]] {{w}} [[Magic/Cutsom_Spells|自定义法术]] {{w}} [[Magic/Progression|进度]] {{w}} [[Magic/Spell_Points|技能点]] {{w}} [[Magic/Crafting|配方]] {{w}} [[Magic/FAQ|FAQ]] {{w}} [[Magic/Basic_Setup|基础配设]] {{w}} [[Magic/Customization|个性化]] {{w}} [[Magic/Resource_Pack|资源包]] {{w}} [[Magic/Examples|举例]] {{w}} [[Magic/Messages_and_Languages|语言和消息]] {{w}} [[Magic/Vanity_Items|酷炫物品]] {{w}} [[Magic/Shops|商店]]<br />
|group2 = 举例界面<br />
| list2 = [[Magic/Engineering|工程师法术]] {{w}} [[Magic/The-Nether-Side|地狱之面]] {{w}} [[Magic/The-Other-Side|其他之面]] {{w}} [[Magic/Automata|自动操作装置]] {{w}} [[Magic/AutomaticBlocks|自动机械方块]] {{w}} [[Magic/Painterly|彩绘]] {{w}} [[Magic/MobArena|竞技场]] {{w}} [[Magic/Slimefun|粘液科技]] {{w}} [[Magic/RPG|Rpg]] {{w}} [[Magic/Adming|管理]]<br />
|group3 = 进阶界面<br />
| list3 = [[Magic/Actions|行为]] {{w}} [[Magic/ImageMaps|图片地图]] {{w}} [[Magic/Regions|领域]] {{w}} [[Magic/Placeholders|Placeholders]] {{w}} [[Magic/Skript|Skript]] {{w}} [[Magic/NPC|NPC]] {{w}} [[Magic/MagicMobs|魔法生物]] {{w}} [[Magic/Parameters|参数]] {{w}} [[Magic/Icons|图标]]<br />
|group4 = 自定义相关<br />
| list4 = [[Magic/Custom Wands|自定义法杖]] {{w}} [[Magic/Custom Paths|自定义熟练度]]<br />
|group5 = 高级管理<br />
| list5 = [[Magic/Player Data Storage|玩家数据存储]]<br />
}}<br />
<noinclude>[[分类:大家族模板]]</noinclude></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/FAQ&diff=15857
Magic/FAQ
2021-08-21T00:44:49Z
<p>炫宙菌:</p>
<hr />
<div><br />
<center>{{hide|标题='''如何自定义法术和法杖?''' |内容=<br />
请勿编辑 &quot;defaults&quot; 文件夹内的文件. 这个文件就在 <code>plugins/Magic</code> 中如果你在这里配置内容它会覆盖为默认设置。包括修改默认法术配置、禁用法术、创建法术、创建法杖在内的操作都会被重置<br />
<br />
请记住,自行加入任何自定义的文件都会被“添加”至默认设置里,如果你想彻底推翻原有配置,或者复制默认的全部设置,那么最好在config.yml中找到&quot;'''load''default''spells: false'''&quot设置成false以关闭<br />
<br />
请查阅 [[Magic/Customization|自定义]]获取更多信息<br />
}}</center><br />
<br />
<center>{{hide|标题='''我的扫帚怎么不动了?!''' |内容=<br />
如果你使用Paper核心且在paper.yml里设置了 <code>armor_stand_tick</code> 为false,请把它改成true<br />
扫帚或者其他一些什么东西,其实是通过盔甲架做出那种效果,所以在paper中关闭这些功能就会让它们无法使用<br />
}}</center><br />
<br />
<center>{{hide|标题='''我要怎么修改技能点的冷却?''' |内容=<br />
你可以全局修改技能点冷却或者每一个技能的技能点冷却(需要在法术配置里面修改)。请查阅[[Magic/Spell Points#SP调整|SP调整]] 获取更多信息<br />
}}</center><br />
<br />
<center>{{hide|标题='''我的配置出错了!''' |内容=<br />
首先你要确认是不是使用了TAB代替了空格,YAML语法不认TAB<br />
<br />
最好用一个专门的YAML语法编辑器如Notepad++而不是Win自带的记事本<br />
<br />
同样也要确保没有在最高层次前加空格,例如 <code> potter</code>就很好, <code>example potter</code>则不行<br />
<br />
尝试使用 [http://yaml-online-parser.appspot.com YAML语法检测工具]看看哪里语法错了(疑似要翻墙)<br />
<br />
游戏内编辑器 (<code>/mconfig editor</code>)可以帮你纠错<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''创造模式下法杖好像不太正常?''' |内容=<br />
法杖在创造模式并不能完全正常工作, 有时候就是这样无能为力<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么本地化/修改插件内文本?''' |内容=<br />
所有Magic的游戏内文本都可以在<code>plugins/Magic/messages.yml</code>里修改<br />
<br />
详情请看 [[Magic/Messages and Languages|语言和消息]]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么玩到哈利波特/星球大战/Bending/Guns?''' |内容=<br />
看看 [[Magic/Examples|示例]]<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么修改商店价格?''' |内容=<br />
<br />
自定义商店的内容请点此链接查看: [Magic/Shops#修改价格 Shops]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么制作一个生存服的技能、法杖或配方?''' |内容=<br />
针对生存服有配置好的,可以试试这个: https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival<br />
<br />
藉此可能是一个好的开始,你可以在游戏里放一个熟悉的法术,然后看看它是怎么运行的<br />
<br />
earthquake(地震) 和 singularity (奇点)是比较复杂的法术里较好的学习范例。自定义请参考[Magic/Customization 自定义]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么去看合成配方?''' |内容=<br />
所有生存合成配方在这可以找到: [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 合成设置]<br />
<br />
在服务端里也可以看到,路径: plugins/Magic/defaults/crafting.defaults.yml<br />
}}</center><br />
<br />
<center>{{hide|标题='''有时候法杖会随机停止工作''' |内容=<br />
如果你在 CraftBukkit/Spigot 1.7上运行Magic,请确保使用了特定的版本 [http://dev.bukkit.org/plugins/magic/ CB Build].通常情况下,创造模式和许多插件会破坏法杖上特殊的自定义数据。Magic本身最好在1.8+运行 <br />
<br />
如果你在1.8+遇到这个问题, 则可能是因为某个插件不正常地保存或恢复物品导致的<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''为什么 [https://github.com/elBukkit/MagicPlugin/wiki/Icons 法术图标]全部都是钻石斧?''' |内容=<br />
需要加载 [[Magic/Resource Pack|资源包]]才能正确显示法术/法杖的图标<br /><br />
}}</center><br />
<br />
<center>{{hide|标题=''熟练度进度是什么?''' |内容=<br />
法杖最初从初心者开始,逐渐进阶为学徒、新手、大师、工程师、建筑师、管道工。默认工程师和建筑师不可用,可以通过<code>/mconfig example add engineering</code>添加工程范例。 管道工更是锁定的一个进度,在添加工程范例之前,最好对这方面多做了解<br />
}}</center><br />
<br />
<center>{{hide|标题='''玩家弄丢了法杖,该怎么办?''' |内容=<br />
使用&quot;restore&quot; 命令可以恢复玩家绑定的法杖,只有法杖配置中设置了&quot;bound【绑定】&quot;功能且已经绑定给了玩家才有效<br />
<br />
<code>/wandp &lt;player&gt; restore</code><br />
<br />
即可恢复玩家的法杖.每个类型的法杖仅能存储一个,所以如果玩家有多个不同的法杖就可能没有用了<br />
<br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么让法术以NPC为目标?''' |内容=<br />
默认无法选取NPC为目标,可以在法术的参数处添加一行 &quot;target_npc: true&quot; 以实现。如需给所有法术添加此参数,请编辑spells.yml中的 &quot;default&quot;法术,如下:<br />
<br />
<pre class="">default:<br />
parameters:<br />
target_npc: true</pre><br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么让玩家无法在WorldGuard区域里使用某法术?''' |内容=<br />
此功能需要安装WorldGuard 6.2或更高版本,Magic可供添加一些新的标志(flags):<br />
<br />
<pre class="">/region flag arena -w world blocked-spells kill,torture</pre><br />
详细信息请查阅 [[Magic/Regions|领域]]<br />
<br />
}}</center></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/FAQ&diff=15856
Magic/FAQ
2021-08-21T00:41:57Z
<p>炫宙菌:</p>
<hr />
<div><br />
<center>{{hide|标题='''如何自定义法术和法杖?''' |内容=<br />
请勿编辑 &quot;defaults&quot; 文件夹内的文件. 这个文件就在 <code>plugins/Magic</code> 中如果你在这里配置内容它会覆盖为默认设置。包括修改默认法术配置、禁用法术、创建法术、创建法杖在内的操作都会被重置<br />
<br />
请记住,自行加入任何自定义的文件都会被“添加”至默认设置里,如果你想彻底推翻原有配置,或者复制默认的全部设置,那么最好在config.yml中找到&quot;'''load''default''spells: false'''&quot设置成false以关闭<br />
<br />
请查阅 [[Magic/Customization|自定义]]获取更多信息<br />
}}</center><br />
<br />
<center>{{hide|标题='''我的扫帚怎么不动了?!''' |内容=<br />
如果你使用Paper核心且在paper.yml里设置了 <code>armor_stand_tick</code> 为false,请把它改成true<br />
扫帚或者其他一些什么东西,其实是通过盔甲架做出那种效果,所以在paper中关闭这些功能就会让它们无法使用<br />
}}</center><br />
<br />
<center>{{hide|标题='''我要怎么修改技能点的冷却?''' |内容=<br />
你可以全局修改技能点冷却或者每一个技能的技能点冷却(需要在法术配置里面修改)。请查阅[[Magic/Spell Points#SP调整|SP调整]] 获取更多信息<br />
}}</center><br />
<br />
<center>{{hide|标题='''我的配置出错了!''' |内容=<br />
首先你要确认是不是使用了TAB代替了空格,YAML语法不认TAB<br />
<br />
最好用一个专门的YAML语法编辑器如Notepad++而不是Win自带的记事本<br />
<br />
同样也要确保没有在最高层次前加空格,例如 <code> potter</code>就很好, <code>example potter</code>则不行<br />
<br />
尝试使用 [http://yaml-online-parser.appspot.com YAML语法检测工具]看看哪里语法错了(疑似要翻墙)<br />
<br />
游戏内编辑器 (<code>/mconfig editor</code>)可以帮你纠错<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''创造模式下法杖好像不太正常?''' |内容=<br />
法杖在创造模式并不能完全正常工作, 有时候就是这样无能为力<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么本地化/修改插件内文本?''' |内容=<br />
所有Magic的游戏内文本都可以在<code>plugins/Magic/messages.yml</code>里修改<br />
<br />
详情请看 [[Magic/Messages|语言]]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么玩到哈利波特/星球大战/Bending/Guns?''' |内容=<br />
看看 [[Magic/Examples|示例]]<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么修改商店价格?''' |内容=<br />
<br />
自定义商店的内容请点此链接查看: [Magic/Shops#修改价格 Shops]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么制作一个生存服的技能、法杖或配方?''' |内容=<br />
针对生存服有配置好的,可以试试这个: https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival<br />
<br />
藉此可能是一个好的开始,你可以在游戏里放一个熟悉的法术,然后看看它是怎么运行的<br />
<br />
earthquake(地震) 和 singularity (奇点)是比较复杂的法术里较好的学习范例。自定义请参考[Magic/Customization 自定义]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么去看合成配方?''' |内容=<br />
所有生存合成配方在这可以找到: [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 合成设置]<br />
<br />
在服务端里也可以看到,路径: plugins/Magic/defaults/crafting.defaults.yml<br />
}}</center><br />
<br />
<center>{{hide|标题='''有时候法杖会随机停止工作''' |内容=<br />
如果你在 CraftBukkit/Spigot 1.7上运行Magic,请确保使用了特定的版本 [http://dev.bukkit.org/plugins/magic/ CB Build].通常情况下,创造模式和许多插件会破坏法杖上特殊的自定义数据。Magic本身最好在1.8+运行 <br />
<br />
如果你在1.8+遇到这个问题, 则可能是因为某个插件不正常地保存或恢复物品导致的<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''为什么 [https://github.com/elBukkit/MagicPlugin/wiki/Icons 法术图标]全部都是钻石斧?''' |内容=<br />
需要加载 [[Magic/Resource Pack|资源包]]才能正确显示法术/法杖的图标<br /><br />
}}</center><br />
<br />
<center>{{hide|标题=''熟练度进度是什么?''' |内容=<br />
法杖最初从初心者开始,逐渐进阶为学徒、新手、大师、工程师、建筑师、管道工。默认工程师和建筑师不可用,可以通过<code>/mconfig example add engineering</code>添加工程范例。 管道工更是锁定的一个进度,在添加工程范例之前,最好对这方面多做了解<br />
}}</center><br />
<br />
<center>{{hide|标题='''玩家弄丢了法杖,该怎么办?''' |内容=<br />
使用&quot;restore&quot; 命令可以恢复玩家绑定的法杖,只有法杖配置中设置了&quot;bound【绑定】&quot;功能且已经绑定给了玩家才有效<br />
<br />
<code>/wandp &lt;player&gt; restore</code><br />
<br />
即可恢复玩家的法杖.每个类型的法杖仅能存储一个,所以如果玩家有多个不同的法杖就可能没有用了<br />
<br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么让法术以NPC为目标?''' |内容=<br />
默认无法选取NPC为目标,可以在法术的参数处添加一行 &quot;target_npc: true&quot; 以实现。如需给所有法术添加此参数,请编辑spells.yml中的 &quot;default&quot;法术,如下:<br />
<br />
<pre class="">default:<br />
parameters:<br />
target_npc: true</pre><br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么让玩家无法在WorldGuard区域里使用某法术?''' |内容=<br />
此功能需要安装WorldGuard 6.2或更高版本,Magic可供添加一些新的标志(flags):<br />
<br />
<pre class="">/region flag arena -w world blocked-spells kill,torture</pre><br />
详细信息请查阅 [[Magic/Regions|领域]]<br />
<br />
}}</center></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/FAQ&diff=15855
Magic/FAQ
2021-08-21T00:41:36Z
<p>炫宙菌:</p>
<hr />
<div><br />
<center>{{hide|标题='''如何自定义法术和法杖?''' |内容=<br />
请勿编辑 &quot;defaults&quot; 文件夹内的文件. 这个文件就在 <code>plugins/Magic</code> 中如果你在这里配置内容它会覆盖为默认设置。包括修改默认法术配置、禁用法术、创建法术、创建法杖在内的操作都会被重置<br />
<br />
请记住,自行加入任何自定义的文件都会被“添加”至默认设置里,如果你想彻底推翻原有配置,或者复制默认的全部设置,那么最好在config.yml中找到&quot;'''load''default''spells: false'''&quot设置成false以关闭<br />
<br />
请查阅 [[Magic/Customization|自定义]]获取更多信息<br />
}}</center><br />
<br />
<center>{{hide|标题='''我的扫帚怎么不动了?!''' |内容=<br />
如果你使用Paper核心且在paper.yml里设置了 <code>armor_stand_tick</code> 为false,请把它改成true<br />
扫帚或者其他一些什么东西,其实是通过盔甲架做出那种效果,所以在paper中关闭这些功能就会让它们无法使用<br />
}}</center><br />
<br />
<center>{{hide|标题='''我要怎么修改技能点的冷却?''' |内容=<br />
你可以全局修改技能点冷却或者每一个技能的技能点冷却(需要在法术配置里面修改)。请查阅[[Magic/Spell Points#SP调整|SP调整]] 获取更多信息<br />
}}</center><br />
<br />
<center>{{hide|标题='''我的配置出错了!''' |内容=<br />
首先你要确认是不是使用了TAB代替了空格,YAML语法不认TAB<br />
<br />
最好用一个专门的YAML语法编辑器如Notepad++而不是Win自带的记事本<br />
<br />
同样也要确保没有在最高层次前加空格,例如 <code> potter</code>就很好, <code>example potter</code>则不行<br />
<br />
尝试使用 [http://yaml-online-parser.appspot.com YAML语法检测工具]看看哪里语法错了(疑似要翻墙)<br />
<br />
游戏内编辑器 (<code>/mconfig editor</code>)可以帮你纠错<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''创造模式下法杖好像不太正常?''' |内容=<br />
法杖在创造模式并不能完全正常工作, 有时候就是这样无能为力<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么本地化/修改插件内文本?''' |内容=<br />
所有Magic的游戏内文本都可以在<code>plugins/Magic/messages.yml</code>里修改<br />
<br />
详情请看 [[Magic/Messages|语言]]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么玩到哈利波特/星球大战/Bending/Guns?''' |内容=<br />
看看 [[Magic/Examples|示例]]<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么修改商店价格?''' |内容=<br />
<br />
自定义商店的内容请点此链接查看: [Magic/Shops#修改价格 Shops]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么制作一个生存服的技能、法杖或配方?''' |内容=<br />
针对生存服有配置好的,可以试试这个: https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival<br />
<br />
藉此可能是一个好的开始,你可以在游戏里放一个熟悉的法术,然后看看它是怎么运行的<br />
<br />
earthquake(地震) 和 singularity (奇点)是比较复杂的法术里较好的学习范例。自定义请参考[Magic/Customization 自定义]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么去看合成配方?''' |内容=<br />
所有生存合成配方在这可以找到: [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 合成设置]<br />
<br />
在服务端里也可以看到,路径: plugins/Magic/defaults/crafting.defaults.yml<br />
}}</center><br />
<br />
<center>{{hide|标题='''有时候法杖会随机停止工作''' |内容=<br />
如果你在 CraftBukkit/Spigot 1.7上运行Magic,请确保使用了特定的版本 [http://dev.bukkit.org/plugins/magic/ CB Build].通常情况下,创造模式和许多插件会破坏法杖上特殊的自定义数据。Magic本身最好在1.8+运行 <br />
<br />
如果你在1.8+遇到这个问题, 则可能是因为某个插件不正常地保存或恢复物品导致的<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''为什么 [https://github.com/elBukkit/MagicPlugin/wiki/Icons 法术图标]全部都是钻石斧?''' |内容=<br />
需要加载 [[Magic/Resource Pack|资源包]]才能正确显示法术/法杖的图标<br /><br />
}}</center><br />
<br />
<center>{{hide|标题=''熟练度进度是什么?''' |内容=<br />
法杖最初从初心者开始,逐渐进阶为学徒、新手、大师、工程师、建筑师、管道工。默认工程师和建筑师不可用,可以通过<code>/mconfig example add engineering</code>添加工程范例。 管道工更是锁定的一个进度,在添加工程范例之前,最好对这方面多做了解<br />
}}</center><br />
<br />
<center>{{hide|标题='''玩家弄丢了法杖,该怎么办?''' |内容=<br />
使用&quot;restore&quot; 命令可以恢复玩家绑定的法杖,只有法杖配置中设置了&quot;bound【绑定】&quot;功能且已经绑定给了玩家才有效<br />
<br />
<code>/wandp &lt;player&gt; restore</code><br />
<br />
即可恢复玩家的法杖.每个类型的法杖仅能存储一个,所以如果玩家有多个不同的法杖就可能没有用了<br />
<br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么让法术以NPC为目标?''' |内容=<br />
默认无法选取NPC为目标,可以在法术的参数处添加一行 &quot;target_npc: true&quot; 以实现。如需给所有法术添加此参数,请编辑spells.yml中的 &quot;default&quot;法术,如下:<br />
<br />
<pre class="">default:<br />
parameters:<br />
target_npc: true</pre><br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么让玩家无法在WorldGuard区域里使用某法术?''' |内容=<br />
此功能需要安装WorldGuard 6.2或更高版本,Magic可供添加一些新的标志(flags):<br />
<br />
<pre class="">region flag arena -w world blocked-spells kill,torture</pre><br />
详细信息请查阅 [[Magic/Regions|领域]]<br />
<br />
}}</center></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/FAQ&diff=15854
Magic/FAQ
2021-08-21T00:36:30Z
<p>炫宙菌:</p>
<hr />
<div><br />
<center>{{hide|标题='''如何自定义法术和法杖?''' |内容=<br />
请勿编辑 &quot;defaults&quot; 文件夹内的文件. 这个文件就在 <code>plugins/Magic</code> 中如果你在这里配置内容它会覆盖为默认设置。包括修改默认法术配置、禁用法术、创建法术、创建法杖在内的操作都会被重置<br />
<br />
请记住,自行加入任何自定义的文件都会被“添加”至默认设置里,如果你想彻底推翻原有配置,或者复制默认的全部设置,那么最好在config.yml中找到&quot;'''load''default''spells: false'''&quot设置成false以关闭<br />
<br />
请查阅 [[Magic/Customization|自定义]]获取更多信息<br />
}}</center><br />
<br />
<center>{{hide|标题='''我的扫帚怎么不动了?!''' |内容=<br />
如果你使用Paper核心且在paper.yml里设置了 <code>armor_stand_tick</code> 为false,请把它改成true<br />
扫帚或者其他一些什么东西,其实是通过盔甲架做出那种效果,所以在paper中关闭这些功能就会让它们无法使用<br />
}}</center><br />
<br />
<center>{{hide|标题='''我要怎么修改技能点的冷却?''' |内容=<br />
你可以全局修改技能点冷却或者每一个技能的技能点冷却(需要在法术配置里面修改)。请查阅[[Magic/Spell Points#SP调整|SP调整]] 获取更多信息<br />
}}</center><br />
<br />
<center>{{hide|标题='''我的配置出错了!''' |内容=<br />
首先你要确认是不是使用了TAB代替了空格,YAML语法不认TAB<br />
<br />
最好用一个专门的YAML语法编辑器如Notepad++而不是Win自带的记事本<br />
<br />
同样也要确保没有在最高层次前加空格,例如 <code> potter</code>就很好, <code>example potter</code>则不行<br />
<br />
尝试使用 [http://yaml-online-parser.appspot.com YAML语法检测工具]看看哪里语法错了(疑似要翻墙)<br />
<br />
游戏内编辑器 (<code>/mconfig editor</code>)可以帮你纠错<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''创造模式下法杖好像不太正常?''' |内容=<br />
法杖在创造模式并不能完全正常工作, 有时候就是这样无能为力<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''怎么本地化/修改插件内文本?''' |内容=<br />
所有Magic的游戏内文本都可以在<code>plugins/Magic/messages.yml</code>里修改<br />
<br />
详情请看 [[Magic/Messages|语言]]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么玩到哈利波特/星球大战/Bending/Guns?''' |内容=<br />
看看 [[Magic/Examples|示例]]<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么修改商店价格?''' |内容=<br />
<br />
自定义商店的内容请点此链接查看: [Magic/Shops#修改价格 Shops]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么制作一个生存服的技能、法杖或配方?''' |内容=<br />
针对生存服有配置好的,可以试试这个: https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival<br />
<br />
藉此可能是一个好的开始,你可以在游戏里放一个熟悉的法术,然后看看它是怎么运行的<br />
<br />
earthquake(地震) 和 singularity (奇点)是比较复杂的法术里较好的学习范例。自定义请参考[Magic/Customization 自定义]<br />
}}</center><br />
<br />
<center>{{hide|标题='''我怎么去看合成配方?''' |内容=<br />
所有生存合成配方在这可以找到: [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 合成设置]<br />
<br />
在服务端里也可以看到,路径: plugins/Magic/defaults/crafting.defaults.yml<br />
}}</center><br />
<br />
<center>{{hide|标题='''有时候法杖会随机停止工作''' |内容=<br />
如果你在 CraftBukkit/Spigot 1.7上运行Magic,请确保使用了特定的版本 [http://dev.bukkit.org/plugins/magic/ CB Build].通常情况下,创造模式和许多插件会破坏法杖上特殊的自定义数据。Magic本身最好在1.8+运行 <br />
<br />
如果你在1.8+遇到这个问题, 则可能是因为某个插件不正常地保存或恢复物品导致的<br /><br />
}}</center><br />
<br />
<center>{{hide|标题='''为什么 [https://github.com/elBukkit/MagicPlugin/wiki/Icons 法术图标]全部都是钻石斧?''' |内容=<br />
需要加载 [[Magic/ResourcePack|资源包]]才能正确显示法术/法杖的图标<br /><br />
}}</center><br />
<br />
<center>{{hide|标题=''熟练度进度是什么?''' |内容=<br />
法杖最初从初心者开始,逐渐进阶为学徒、新手、大师、工程师、建筑师、管道工。默认工程师和建筑师不可用,可以通过<code>/mconfig example add engineering</code>添加工程范例。 管道工更是锁定的一个进度,在添加工程范例之前,最好对这方面多做了解<br />
}}</center><br />
<br />
<center>{{hide|标题='''玩家弄丢了法杖,该怎么办?''' |内容=<br />
使用&quot;restore&quot; 命令可以恢复玩家绑定的法杖,只有法杖配置中设置了&quot;bound【绑定】&quot;功能且已经绑定给了玩家才有效<br />
<br />
<code>/wandp &lt;player&gt; restore</code><br />
<br />
即可恢复玩家的法杖.每个类型的法杖仅能存储一个,所以如果玩家有多个不同的法杖就可能没有用了<br />
<br />
}}</center><br />
<br />
<center>{{hide|标题='''How do I allow spells to target NPCs?''' |内容=<br />
Spells won't target NPCs by default. You can turn this on by adding &quot;target_npc: true&quot; to a spell's parameters. To turn this on for all spells, use the &quot;default&quot; entry in spells.yml, like so:<br />
<br />
<pre class="">default:<br />
parameters:<br />
target_npc: true</pre><br />
}}</center><br />
<br />
<center>{{hide|标题='''How do I change it so players can't use specific spells in a region?''' |内容=<br />
This can be done using WorldGuard 6.2 or higher, Magic will add some custom flags:<br />
<br />
<pre class="">region flag arena -w world blocked-spells kill,torture</pre><br />
For more info see the [[Regions|Regions]] section.<br /><br />
}}</center></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Customization&diff=15853
Magic/Customization
2021-08-20T13:16:07Z
<p>炫宙菌:/* Custom Icons */</p>
<hr />
<div>Magic是个可完全自定义的插件。插件的性能、可用的技能、法杖以及游戏内文本都可以自定义<br />
<br />
== 前台编辑 ==<br />
<br />
查看[[Magic/In-Game-Customization|前台编辑]],你可以通过游戏指令或网页编辑器来更改部分内容<br />
<br />
== 常见问题 ==<br />
<br />
'''我的编辑无效!'''<br />
<br />
请审阅你编辑的文件,文件顶部有注释指引你如何编辑。<br />
<br />
最重要的是不要编辑plugins/Magic/defaults中的文件,他们只是作为参考文件,每次载入都会覆盖原有更改。他们代表着所有的现有配置内容,包括默认的以及你编辑的。<br />
<br />
你应当在 plugins/Magic 路径下进行操作,如果你还没有明白WIKI的意思,请继续往下看<br />
<br />
== 默认生存服配置 ==<br />
<br />
如果你无需自定义Magic的某些内容,<br /><br />
那么最好单独留着那个文件,如果下次默认配置有所更新的话可能会好一些<br />
<br />
作者一直在尝试让默认配置更加具有游戏平衡性和可玩性。<br /><br />
作者希望大家也可以参与默认配置的更新<br /><br />
这样能够更加让插件的默认设置贴合他的设想<br /><br />
但是如果你迫切需要个性化内容,作者也不会阻拦。<br />
<br />
Magic默认提供的体验:<br />
<br />
* 玩家默认无法使用插件命令<br />
* 玩家可以合成法杖 (如使用烈焰棒和下界之星)<br />
* (目前默认已关闭): 玩家可以在自然生成的箱子里拿到法杖<br />
* 法杖默认低等级,但是可以在附魔台升级<br />
* 法杖可以由铁砧制作(??)、从ESS商店中购买或从EssKit中获得等……<br />
* 在铁砧给法杖命名可以绑定给玩家,其他玩家就用不了了<br />
* 管理员可以设置任务或其他奖励以升级或生成法杖<br />
* 法杖是不可破坏的。如果安装了dynmap则会显示出来,玩家由此可以找到丢失的法杖<br />
* 每一个法杖都有一个背包大小的空间储存法术和材料,玩家可以借此使用和操作<br />
* 法杖使用 &quot;法力&quot; 系统,默认玩家会慢慢恢复法力<br />
* 如果找到或者创建一个拥有对应法术的法杖,那么玩家都有权释放所有法术<br />
<br />
上述任何内容都可以关闭或修改。下面有些不一样的设置:<br />
<br />
* 有三种不同的法杖物品栏模式可选择:<br /> <br />
chest inventory (默认的箱子物品栏模式), click-to-cycle(点击切换),和hotbar-enabled (热键)<br />
* 法杖、法术和命令其实还是基于权限的(可以设置VIP内容)<br />
* 玩家死亡可以保留法杖(对于所有玩家 或每一个法杖)<br />
* 法杖可预先装填玩家有权限使用的全部法术<br />
* 消耗材料而非法力释放<br />
* 其他物品形式的法杖 (如附魔剑)<br />
<br />
另外,默认的法术和法杖模版都是完全可修改的<br />
<br />
如果你希望使Magic本地化,你可以修改messages.yml <br /><br />
并且再留一份参与Github上的本地化。<br />
<br />
译者注:作者希望不同国家的使用者自己汉化好可以给大家都留一份<br />
<br />
== 插件文件夹的布局 ==<br />
<br />
有那么些个文件和文件夹在第一次允许Magic时就存在<br />
<br />
* '''defaults''': Magic会在此文件夹内放出默认的插件配置以供你随时查看<br />
* '''data''': 诸如玩家数据等数据的储存位置<br />
<br />
其余的文件夹都与你的配置相对应。你可以在plugins/Magic中任何YML文件中自定义操作,或者在文件夹的单独文件内<br />
<br />
* '''crafting''': 自定义合成配方<br />
* '''enchanting''': 进度(自定义附魔可能不再是了)<br />
* '''items''': 自定义非法杖的原版物品<br />
* '''materials''': 自定义Magic与不同方块和物品的交互<br />
* '''messages''': 游戏内文本<br />
* '''mobs''': 自定义怪物,包括可释放技能的怪<br />
* '''spells''': 技能,包括商店,只要是使用行为(Actions)功能的<br />
* '''wands''': 一种自定义的可释放法术的魔法物品,也有一些其他功能<br />
<br />
== 简单个性化 ==<br />
<br />
请查阅 [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/defaults/config/defaults.yml 默认配置]以获取一些管理员常用的可修改的内容范例。<br />
同样列出来了所有默认的设置并附带注释。<br />
<br />
这里同样有一个[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/examples/customized/spells.yml spells.yml] 教你如何简单自定义法术的配置<br />
<br />
=== 自定义合成配方 ===<br />
<br />
可以通过修改 crafting.yml 以修改、移除或创建合成配方。请勿编辑crafting.defaults.yml,此文件仅作为参考,任何对其的更改将被插件覆盖掉<br />
<br />
如要关闭一个内置配方,请在文件中添加类似于如下的内容:<br />
<br />
<pre class="">battle:<br />
enabled: false</pre><br />
请查阅<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 生存服合成配置范例]以查看所有默认包含在内的配方<br />
<br />
=== 自定义技能 ===<br />
<br />
Magic是一个高度自定义的技能系统,服主们可以藉此创造非一般的游戏体验<br /><br />
插件本身会创建默认的技能配置(spells.defaults.yml),包含了一定数量的技能<br /><br />
如果你想要加新技能,或者删除自带技能,请编辑 &quot;spells.yml&quot; 模版文件,或者自己新建其他文件也可以<br />
注:只要是存在于plugins\Magic\spells文件夹下的文本都会被读取,即便是txt文本文档插件也会尝试读取<br />
<br />
'''请勿''' 编辑 spells.defaults.yml, 它只是一个默认文件范例,对它进行的任何修改都会被插件覆盖<br />
<br />
禁用一个技能也很简单,只需要在spells.yml(或对应的技能文件里)添加以下内容关闭即可,如:<br />
<br />
<pre class="">blast:<br />
enabled: false</pre><br />
可以查看Magic生成的<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/spells 默认的技能]。<br /><br />
这里包含了一系列的技能,且玩家可以在游戏中使用<br />
<br />
默认的配置文件有详细的使用说明,包括所有可用的设置项<br />
<br />
所有的技能都有一些应该调整的常用配置:<br />
<br />
* enabled - 设置为 &quot;false&quot; 以完全禁用一个现有的技能 (如默认生成的)<br />
* cooldown - 技能的冷却时间,单位为秒 (但是parameters里面的单位是毫秒)<br />
* range - 技能可以达到的目标有多远,单位为方块<br />
* transparent- 技能可以穿过的东西(如草、水)<br />
* costs - 释放时消耗的消耗物,可以是物品+数量,当然还有生命值、饥饿值等等<br />
* name, description, wand icon, 等都可以在技能文件里编辑<br />
<br />
更详细的文档:<br />
<br />
[[Magic/Custom Spells|自定义法术]]<br />
<br />
=== 行为系统 ===<br />
<br />
4.0迎来了一个大更新,如今法术逐渐改用行为系统<br />
<br />
你可以指定法术运行一系列行为来实现自定义化的效果,而无需使用旧的类系统<br />
<br />
译者注:类系统的灵活度较低,相当于作者设计了一些样式固定的技能只可以修改参数,而行为系统则可以细分法术以实现高度自定义<br />
<br />
例如:<br />
<br />
<pre class="">disintegrate:<br />
icon_url: http://i.imgur.com/zZKzDFS.png<br />
icon: bone<br />
category: combat<br />
pvp_restricted: true<br />
worth: 2500<br />
actions:<br />
cast:<br />
- class: Damage<br />
- class: ModifyBlock<br />
# ... 以此样式添加更多效果和参数即可</pre><br />
采用了行为系统的法术无需自行编写源代码,它们就像是乐高积木那样组合在一起,这也是作者称之为行为的原因<br />
<br />
正如你所见的Disintegrate技能, 它既可以造成伤害也可以修改方块<br />
<br />
欲知更多信息,请查阅[[Magic/Actions|行为系统]]<br />
<br />
=== 添加自定义法杖 ===<br />
<br />
可以在wands.yml添加自定义法杖, 也可以在游戏中创建并通过&quot;/wand save&quot;保存法杖<br />
<br />
可以参考默认配置中的插件内置法杖。比如&quot;base_wand&quot; 模板就可以为物品创建法杖提供不错的范例(此法杖有法术物品栏的功能,左键可释放法术),当然你也可以不采纳,发挥自己想象力即可<br />
<br />
这里是一个可供参考的战争服配置:<br />
<br />
<pre class=""># 这只是一个基础性配置模板,并没有使用一个游戏中确切的物品<br />
# 或许对于不少物品都能够采用此配置<br />
base_gun:<br />
# 因为作者不推荐直接使用,所以这个模板目前具有隐藏的属性,无法在TAB列表或法杖列表中看见<br />
# <br />
hidden: true<br />
# 对于枪械,应当右键开火,那么就可以这么设置<br />
right_click: cast<br />
# 左键则会触发alt-cast,此处的第二种施法方案可以自定义,用作装弹法术未尝不可<br />
left_click: alt_cast<br />
# 如果使用了自定义图标,法杖就必须无法破坏,<br />
# 因为损坏值不同的物品使用的图标不同<br />
indestructible: true<br />
# 此处设定施法的源位置相较于玩家的眼睛有什么偏移量<br />
# 此处已经填写的值代表的位置大致在枪管附近<br />
cast_location: 0.5,-0.4,0.5<br />
# 此处用以防止因原版攻速过慢导致无法正常使用<br />
attributes:<br />
GENERIC_ATTACK_SPEED: 10<br />
<br />
# 下面这把枪就可以直接在游戏里用<br />
ak47:<br />
# 继承自上面的base_gun模板,充分利用了这里出现的所有属性<br />
inherit: base_gun<br />
# 使用的图标.如果你要添加新的,需要在资源包里面同样添加新物品<br />
# 这个过程可能稍有些麻烦,而且不能和这里的重复<br />
icon: diamond_pickaxe:1<br />
# 每把枪只有两个技能,一个是右键时触发<br />
active_spell: ak47<br />
# 另一个是左键触发,用以装弹 此处没有法术物品栏<br />
alternate_spell: reload_ak47<br />
# 法力对于枪来说代表弹容,不会恢复,重载法术会重新填装<br />
mana: 70<br />
mana_max: 70</pre><br />
法杖区别于普通物品的最大不同在于——法杖可以释放法术 (运行一系列行为run a set of actions, 通常也不必太复杂) ,并且可以用不同的点击方式对应其他机制,总之法杖可以采用下列的动作:<br />
<br />
* left_click #左键<br />
* right_click #右键<br />
* swap (默认是F键) #交换<br />
* drop (默认是Q键)<br />
<br />
下列操作可以绑定上面的按键<br />
<br />
* cast (释放当前可用法术)<br />
* alt_cast (释放替补法术)<br />
* toggle (开启/关闭法术物品栏)<br />
* cycle (未开启法术物品栏时用以切换下一个法术)<br />
* cycle_hotbar (切换到下一个热键)<br />
<br />
详细文档:<br />
<br />
[[Magic/Custom Wands|自定义法杖]]<br />
<br />
=== 自定义进度 ===<br />
<br />
默认的Magic配置的进度系统可自定义<br />
<br />
Magic中基本的进度有:<br />
<br />
# 玩家合成了法杖,开启熟练度——&quot;beginner&quot;【初心者】<br />
# 玩家通过施法获得了技能点<br />
# 玩家与附魔台交互,打开法术商店<br />
# 法术商店展示了初心者玩家可用的法术<br />
# 玩家消耗技能点在法术商店购买法术<br />
# 每次购买法术,法杖都会增加法力、保护属性等<br />
# 如果一个玩家收集了所有初心者法术,则会进阶为&quot;student&quot;【学徒】<br />
# 进阶可能会增加玩家的法力、修改法杖的图标,当然可能也会有其他效果<br />
# 现在玩家可以在法术商店看到学徒法术了<br />
<br />
详细文档:<br />
<br />
[[Magic/Custom Paths|自定义熟练度]]<br />
<br />
=== 自定义图标 ===<br />
<br />
关于如何设定自定义法术/法杖的图标,详见 [[Magic/Icons|图标]].</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Icons&diff=15852
Magic/Icons
2021-08-20T13:15:53Z
<p>炫宙菌:创建页面,内容为“== Custom Icons == Magic supports &quot;custom icons&quot; by way of using 1.8 player skulls. (NOTE: This is no longer true, recent version of Magic use RP items in…”</p>
<hr />
<div>== Custom Icons ==<br />
<br />
Magic supports &quot;custom icons&quot; by way of using 1.8 player skulls. (NOTE: This is no longer true, recent version of Magic use RP items instead of player skulls, but this information may still be useful)<br />
<br />
In order for these to work properly, you must be using the Magic resource pack, or at least [https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/resource-pack/potter/assets/minecraft/models/item/skull_char.json this specific part of it].<br />
<br />
This changes skull items when held in an inventory from this:<br />
<br />
[[File:http://i.imgur.com/qXJwmGv.png|fig:]]<br /><br />
to this:<br /><br />
[[File:http://i.imgur.com/COH6rdF.png|fig:]]<br />
<br />
Note, in particular, that normal player skulls will be affected, too, so that is a consolation you will have to make to use custom icons.<br />
<br />
Otherwise, your wand inventory will look like this:<br />
<br />
[[File:http://i.imgur.com/rclAteO.png|thumb|none]]<br />
<br />
Making spells basically unreadable. If you can not use a resource pack, I recommend setting &quot;url''icons''enabled: false&quot; in your config.yml to turn off the custom icons.<br />
<br />
== Customizing ==<br />
<br />
'''''Note: This method no longer works reliably, Mojang has deprecated the skins.mojang API'''''<br /><br />
''See the below section on Advanced Skin Retrieval''<br />
<br />
A spell or wand can use any Minecraft skin as an icon texture. The icon will be the front of the head, though all sides of the head are visible when a spell item is held in a player's hand.<br />
<br />
You can use an online database of heads to find one you like, such as [[Minecraft heads|http://heads.freshcoal.com]]. You can also browse the collection of [http://mine.elmakers.com/#textures textures made specifically for Magic here].<br />
<br />
If you want to make your own, you can via a relatively simple process:<br />
<br />
# Create a skin as you would normally for a player, making the head an 8x8 icon.<br />
# Download your current skin and keep it as a backup.<br />
# Upload your &quot;spell skin&quot; to your Minecraft account.<br />
# Check &quot;http://skins.minecraft.net/MinecraftSkins/NathanWolf.png&quot; (using your own username)<br />
# Once the skin image above changes to your spell icon (this may take some time!), record its URL- you should be redirected to an image like &quot;http://textures.minecraft.net/texture/4a41b28f5f8bc079342b2f49d3b8b649e89b60754a3acbad681cdc86a5&quot;<br />
# Re-upload your own skin to restore your sense of self.<br />
# Put the texture URL you recorded into your spells.yml config, under the &quot;icon_url&quot; property.<br />
<br />
== Advanced Skin Retrieval ==<br />
<br />
The above routine might not work anymore, as skins.mojang now updates very rarely, if at all.<br />
<br />
Fortunately, there is a way to get around this if you have a little tech know-how:<br />
<br />
# Get your UUID, if you don't know it already: https://api.mojang.com/users/profiles/minecraft/NathanWolf<br />
# Make a note of the &quot;id&quot; returned by the above, it never changes. It will look something like &quot;4cb358ae719c442393c78769ce46e9c3&quot; (no dashes and don't copy the quotes)<br />
# Note that API requests are heavily limited by Mojang, don't spam these links or you will get blocked. You may need to wait a minute or two before going to the next step. <br />
# Now look up your player profile using the UUID from above: https://sessionserver.mojang.com/session/minecraft/profile/4cb358ae719c442393c78769ce46e9c3<br />
# This should give you a block of JSON that looks like this:<br />
<br />
<pre class="">{<br />
&quot;id&quot;:<br />
&quot;4cb358ae719c442393c78769ce46e9c3&quot;,<br />
&quot;name&quot;:<br />
&quot;NathanWolf&quot;,<br />
&quot;properties&quot;:<br />
[<br />
{<br />
&quot;name&quot;:<br />
&quot;textures&quot;,<br />
&quot;value&quot;:<br />
&quot;eyJ0aW1lc3RhbXAiOjE0MzA0OTMyNTIwNTMsInByb2ZpbGVJZCI6IjRjYjM1OGFlNzE5YzQ0MjM5M2M3ODc2OWNlNDZlOWMzIiwicHJvZmlsZU5hbWUiOiJOYXRoYW5Xb2xmIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzRhNDFiMjhmNWY4YmMwNzkzNDJiMmY0OWQzYjhiNjQ5ZTg5YjYwNzU0YTNhY2JhZDY4MWNkYzg2YTUifX19&quot;<br />
}<br />
]<br />
}</pre><br />
# Take that long blob of text in &quot;value&quot;, all of it without the quotes, and copy+paste it to this website: https://www.base64decode.org<br />
<br />
Click &quot;DECODE&quot; and you should see something like this (that's right- inside the base64-encoded string in the JSON is... more JSON! GG, Mojang)<br />
<br />
<pre class="">{&quot;timestamp&quot;:1430493252053,&quot;profileId&quot;:&quot;4cb358ae719c442393c78769ce46e9c3&quot;,&quot;profileName&quot;:&quot;NathanWolf&quot;,&quot;textures&quot;:<br />
{&quot;SKIN&quot;:<br />
{&quot;url&quot;:&quot;http://textures.minecraft.net/texture/4a41b28f5f8bc079342b2f49d3b8b649e89b60754a3acbad681cdc86a5&quot;}<br />
}}</pre><br />
# Finally, you can see your new skin URL there in the &quot;url&quot; field. This tends to update instantly, much more quickly than the skins.mojang URL redirect.<br />
<br />
== Super-Advanced Scripted Skin Retrieval ==<br />
<br />
As part of the de-iconing of Minecraft 1.8.4, I wrote some scripts to mass-update all the icons in Magic. If you have some PHP experience and are feeling adventurous, you can check out the scripts I used here:<br />
<br />
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/resource-pack/common/source<br />
<br />
Steps to use these scripts:<br />
<br />
# Clone the Magic repository on github<br />
# Navigate to src/resource-pack/common/src<br />
# Put your new icons (8x8 images) in the source_images folder<br />
# Run &quot;php makeicons.php&quot; to convert your 8x8 icons into skins<br />
# Run &quot;php uploadicons.php&quot; to upload your new skins<br />
<br />
Both scripts will skip skins that have already been processed. The image_map.yml file is used to track uploaded skins so they don't get re-uploaded. It is also what drives my global list of textures.. so if you feel like sharing, please send me your updated YML file! :)<br />
<br />
The script will save and restore your original skin, but of course it's always a good idea to have a backup before running something like this.</div>
炫宙菌
https://mineplugin.org/index.php?title=%E6%A8%A1%E6%9D%BF:Magic&diff=15851
模板:Magic
2021-08-20T13:15:20Z
<p>炫宙菌:</p>
<hr />
<div>{{Navbox<br />
| name = Magic<br />
| state = <br />
| title = Magic<br />
|group1 = 基本界面<br />
| list1 = [[Magic]] {{w}} [[Magic/Commands|指令]] {{w}} [[Magic/权限|权限]] {{w}} [[Magic/Cutsom_Spells|自定义法术]] {{w}} [[Magic/Progression|进度]] {{w}} [[Magic/Spell_Points|技能点]] {{w}} [[Magic/Crafting|配方]] {{w}} [[Magic/FAQ|FAQ]] {{w}} [[Magic/Basic_Setup|基础配设]] {{w}} [[Magic/Customization|个性化]] {{w}} [[Magic/Resource_Pack|资源包]] {{w}} [[Magic/Examples|举例]] {{w}} [[Magic/Messages_and_Languages|语言和消息]] {{w}} [[Magic/Vanity_Items|酷炫物品]] {{w}} [[Magic/Shops|商店]]<br />
|group2 = 举例界面<br />
| list2 = [[Magic/Engineering|工程师法术]] {{w}} [[Magic/The-Nether-Side|地狱之面]] {{w}} [[Magic/The-Other-Side|其他之面]] {{w}} [[Magic/Automata|自动操作装置]] {{w}} [[Magic/AutomaticBlocks|自动机械方块]] {{w}} [[Magic/Painterly|彩绘]] {{w}} [[Magic/MobArena|竞技场]] {{w}} [[Magic/Slimefun|粘液科技]] {{w}} [[Magic/RPG|Rpg]] {{w}}<br />
|group3 = 进阶界面<br />
| list3 = [[Magic/Actions|行为]] {{w}} [[Magic/ImageMaps|图片地图]] {{w}} [[Magic/Regions|领域]] {{w}} [[Magic/Placeholders|Placeholders]] {{w}} [[Magic/Skript|Skript]] {{w}} [[Magic/NPC|NPC]] {{w}} [[Magic/MagicMobs|魔法生物]] {{w}} [[Magic/Parameters|参数]] {{w}} [[Magic/Icons|图标]]<br />
|group4 = 自定义相关<br />
| list4 = [[Magic/Custom Wands|自定义法杖]] {{w}} [[Magic/Custom Paths|自定义熟练度]]<br />
|group5 = 高级管理<br />
| list5 = [[Magic/Player Data Storage|玩家数据存储]]<br />
}}<br />
<noinclude>[[分类:大家族模板]]</noinclude></div>
炫宙菌
https://mineplugin.org/index.php?title=%E6%A8%A1%E6%9D%BF:Magic&diff=15850
模板:Magic
2021-08-20T13:13:52Z
<p>炫宙菌:</p>
<hr />
<div>{{Navbox<br />
| name = Magic<br />
| state = <br />
| title = Magic<br />
|group1 = 基本界面<br />
| list1 = [[Magic]] {{w}} [[Magic/Commands|指令]] {{w}} [[Magic/权限|权限]] {{w}} [[Magic/Cutsom_Spells|自定义法术]] {{w}} [[Magic/Progression|进度]] {{w}} [[Magic/Spell_Points|技能点]] {{w}} [[Magic/Crafting|配方]] {{w}} [[Magic/FAQ|FAQ]] {{w}} [[Magic/Basic_Setup|基础配设]] {{w}} [[Magic/Customization|个性化]] {{w}} [[Magic/Resource_Pack|资源包]] {{w}} [[Magic/Examples|举例]] {{w}} [[Magic/Messages_and_Languages|语言和消息]] {{w}} [[Magic/Vanity_Items|酷炫物品]] {{w}} [[Magic/Shops|商店]]<br />
|group2 = 举例界面<br />
| list2 = [[Magic/Engineering|工程师法术]] {{w}} [[Magic/The-Nether-Side|地狱之面]] {{w}} [[Magic/The-Other-Side|其他之面]] {{w}} [[Magic/Automata|自动操作装置]] {{w}} [[Magic/AutomaticBlocks|自动机械方块]] {{w}} [[Magic/Painterly|彩绘]] {{w}} [[Magic/MobArena|竞技场]] {{w}} [[Magic/Slimefun|粘液科技]] {{w}} [[Magic/RPG|Rpg]] {{w}}<br />
|group3 = 进阶界面<br />
| list3 = [[Magic/Actions|行为]] {{w}} [[Magic/ImageMaps|图片地图]] {{w}} [[Magic/Regions|领域]] {{w}} [[Magic/Placeholders|Placeholders]] {{w}} [[Magic/Skript|Skript]] {{w}} [[Magic/NPC|NPC]] {{w}} [[Magic/MagicMobs|魔法生物]] {{w}} [[Magic/Parameters|参数]] {{w}}<br />
|group4 = 自定义相关<br />
| list4 = [[Magic/Custom Wands|自定义法杖]] {{w}} [[Magic/Custom Paths|自定义熟练度]]<br />
|group5 = 高级管理<br />
| list5 = [[Magic/Player Data Storage|玩家数据存储]]<br />
}}<br />
<noinclude>[[分类:大家族模板]]</noinclude></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Custom_Paths&diff=15848
Magic/Custom Paths
2021-08-20T13:13:45Z
<p>炫宙菌:炫宙菌移动页面Magic/Custom Path至Magic/Custom Paths</p>
<hr />
<div>== Customizing Progress via Paths ==<br />
<br />
A &quot;Path&quot; in Magic is a collection of ranks. A wand may be at a certain rank on that path, and will progress along the path from rank to rank.<br />
<br />
Paths are defined in paths.yml, new paths can be added there or default paths modified.<br />
<br />
Paths have lists of spells available for each rank, as well as other properties like mana benefits, special effects used when ranking up, and more.<br />
<br />
Detailed documentation may be added here eventually, for now please refer to the well-documented survival paths:<br />
<br />
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/paths</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Custom_Path&diff=15849
Magic/Custom Path
2021-08-20T13:13:45Z
<p>炫宙菌:炫宙菌移动页面Magic/Custom Path至Magic/Custom Paths</p>
<hr />
<div>#重定向 [[Magic/Custom Paths]]</div>
炫宙菌
https://mineplugin.org/index.php?title=%E6%A8%A1%E6%9D%BF:Magic&diff=15847
模板:Magic
2021-08-20T13:13:06Z
<p>炫宙菌:</p>
<hr />
<div>{{Navbox<br />
| name = Magic<br />
| state = <br />
| title = Magic<br />
|group1 = 基本界面<br />
| list1 = [[Magic]] {{w}} [[Magic/Commands|指令]] {{w}} [[Magic/权限|权限]] {{w}} [[Magic/Cutsom_Spells|自定义法术]] {{w}} [[Magic/Progression|进度]] {{w}} [[Magic/Spell_Points|技能点]] {{w}} [[Magic/Crafting|配方]] {{w}} [[Magic/FAQ|FAQ]] {{w}} [[Magic/Basic_Setup|基础配设]] {{w}} [[Magic/Customization|个性化]] {{w}} [[Magic/Resource_Pack|资源包]] {{w}} [[Magic/Examples|举例]] {{w}} [[Magic/Messages_and_Languages|语言和消息]] {{w}} [[Magic/Vanity_Items|酷炫物品]] {{w}} [[Magic/Shops|商店]]<br />
|group2 = 举例界面<br />
| list2 = [[Magic/Engineering|工程师法术]] {{w}} [[Magic/The-Nether-Side|地狱之面]] {{w}} [[Magic/The-Other-Side|其他之面]] {{w}} [[Magic/Automata|自动操作装置]] {{w}} [[Magic/AutomaticBlocks|自动机械方块]] {{w}} [[Magic/Painterly|彩绘]] {{w}} [[Magic/MobArena|竞技场]] {{w}} [[Magic/Slimefun|粘液科技]] {{w}} [[Magic/RPG|Rpg]] {{w}}<br />
|group3 = 进阶界面<br />
| list3 = [[Magic/Actions|行为]] {{w}} [[Magic/ImageMaps|图片地图]] {{w}} [[Magic/Regions|领域]] {{w}} [[Magic/Placeholders|Placeholders]] {{w}} [[Magic/Skript|Skript]] {{w}} [[Magic/NPC|NPC]] {{w}} [[Magic/MagicMobs|魔法生物]] {{w}} [[Magic/Parameters|参数]] {{w}}<br />
|group4 = 自定义相关<br />
| list4 = [[Magic/Custom Wands|自定义法杖]] {{w}} [[Magic/Custom Path|自定义熟练度]]<br />
|group5 = 高级管理<br />
| list5 = [[Magic/Player Data Storage|玩家数据存储]]<br />
}}<br />
<noinclude>[[分类:大家族模板]]</noinclude></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Custom_Paths&diff=15846
Magic/Custom Paths
2021-08-20T13:12:55Z
<p>炫宙菌:创建页面,内容为“== Customizing Progress via Paths == A &quot;Path&quot; in Magic is a collection of ranks. A wand may be at a certain rank on that path, and will progress along the…”</p>
<hr />
<div>== Customizing Progress via Paths ==<br />
<br />
A &quot;Path&quot; in Magic is a collection of ranks. A wand may be at a certain rank on that path, and will progress along the path from rank to rank.<br />
<br />
Paths are defined in paths.yml, new paths can be added there or default paths modified.<br />
<br />
Paths have lists of spells available for each rank, as well as other properties like mana benefits, special effects used when ranking up, and more.<br />
<br />
Detailed documentation may be added here eventually, for now please refer to the well-documented survival paths:<br />
<br />
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/paths</div>
炫宙菌
https://mineplugin.org/index.php?title=%E6%A8%A1%E6%9D%BF:Magic&diff=15845
模板:Magic
2021-08-20T13:12:48Z
<p>炫宙菌:</p>
<hr />
<div>{{Navbox<br />
| name = Magic<br />
| state = <br />
| title = Magic<br />
|group1 = 基本界面<br />
| list1 = [[Magic]] {{w}} [[Magic/Commands|指令]] {{w}} [[Magic/权限|权限]] {{w}} [[Magic/Cutsom_Spells|自定义法术]] {{w}} [[Magic/Progression|进度]] {{w}} [[Magic/Spell_Points|技能点]] {{w}} [[Magic/Crafting|配方]] {{w}} [[Magic/FAQ|FAQ]] {{w}} [[Magic/Basic_Setup|基础配设]] {{w}} [[Magic/Customization|个性化]] {{w}} [[Magic/Resource_Pack|资源包]] {{w}} [[Magic/Examples|举例]] {{w}} [[Magic/Messages_and_Languages|语言和消息]] {{w}} [[Magic/Vanity_Items|酷炫物品]] {{w}} [[Magic/Shops|商店]]<br />
|group2 = 举例界面<br />
| list2 = [[Magic/Engineering|工程师法术]] {{w}} [[Magic/The-Nether-Side|地狱之面]] {{w}} [[Magic/The-Other-Side|其他之面]] {{w}} [[Magic/Automata|自动操作装置]] {{w}} [[Magic/AutomaticBlocks|自动机械方块]] {{w}} [[Magic/Painterly|彩绘]] {{w}} [[Magic/MobArena|竞技场]] {{w}} [[Magic/Slimefun|粘液科技]] {{w}} [[Magic/RPG|Rpg]] {{w}}<br />
|group3 = 进阶界面<br />
| list3 = [[Magic/Actions|行为]] {{w}} [[Magic/ImageMaps|图片地图]] {{w}} [[Magic/Regions|领域]] {{w}} [[Magic/Placeholders|Placeholders]] {{w}} [[Magic/Skript|Skript]] {{w}} [[Magic/NPC|NPC]] {{w}} [[Magic/MagicMobs|魔法生物]] {{w}} [[Magic/Parameters|参数]] {{w}}<br />
|group4 = 自定义相关<br />
| list4 = [[Magic/Custom Wands|自定义法杖]] [[Magic/Custom Path|自定义熟练度]]<br />
|group5 = 高级管理<br />
| list5 = [[Magic/Player Data Storage|玩家数据存储]]<br />
}}<br />
<noinclude>[[分类:大家族模板]]</noinclude></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Customization&diff=15844
Magic/Customization
2021-08-20T13:11:03Z
<p>炫宙菌:/* Customizing Progression */</p>
<hr />
<div>Magic是个可完全自定义的插件。插件的性能、可用的技能、法杖以及游戏内文本都可以自定义<br />
<br />
== 前台编辑 ==<br />
<br />
查看[[Magic/In-Game-Customization|前台编辑]],你可以通过游戏指令或网页编辑器来更改部分内容<br />
<br />
== 常见问题 ==<br />
<br />
'''我的编辑无效!'''<br />
<br />
请审阅你编辑的文件,文件顶部有注释指引你如何编辑。<br />
<br />
最重要的是不要编辑plugins/Magic/defaults中的文件,他们只是作为参考文件,每次载入都会覆盖原有更改。他们代表着所有的现有配置内容,包括默认的以及你编辑的。<br />
<br />
你应当在 plugins/Magic 路径下进行操作,如果你还没有明白WIKI的意思,请继续往下看<br />
<br />
== 默认生存服配置 ==<br />
<br />
如果你无需自定义Magic的某些内容,<br /><br />
那么最好单独留着那个文件,如果下次默认配置有所更新的话可能会好一些<br />
<br />
作者一直在尝试让默认配置更加具有游戏平衡性和可玩性。<br /><br />
作者希望大家也可以参与默认配置的更新<br /><br />
这样能够更加让插件的默认设置贴合他的设想<br /><br />
但是如果你迫切需要个性化内容,作者也不会阻拦。<br />
<br />
Magic默认提供的体验:<br />
<br />
* 玩家默认无法使用插件命令<br />
* 玩家可以合成法杖 (如使用烈焰棒和下界之星)<br />
* (目前默认已关闭): 玩家可以在自然生成的箱子里拿到法杖<br />
* 法杖默认低等级,但是可以在附魔台升级<br />
* 法杖可以由铁砧制作(??)、从ESS商店中购买或从EssKit中获得等……<br />
* 在铁砧给法杖命名可以绑定给玩家,其他玩家就用不了了<br />
* 管理员可以设置任务或其他奖励以升级或生成法杖<br />
* 法杖是不可破坏的。如果安装了dynmap则会显示出来,玩家由此可以找到丢失的法杖<br />
* 每一个法杖都有一个背包大小的空间储存法术和材料,玩家可以借此使用和操作<br />
* 法杖使用 &quot;法力&quot; 系统,默认玩家会慢慢恢复法力<br />
* 如果找到或者创建一个拥有对应法术的法杖,那么玩家都有权释放所有法术<br />
<br />
上述任何内容都可以关闭或修改。下面有些不一样的设置:<br />
<br />
* 有三种不同的法杖物品栏模式可选择:<br /> <br />
chest inventory (默认的箱子物品栏模式), click-to-cycle(点击切换),和hotbar-enabled (热键)<br />
* 法杖、法术和命令其实还是基于权限的(可以设置VIP内容)<br />
* 玩家死亡可以保留法杖(对于所有玩家 或每一个法杖)<br />
* 法杖可预先装填玩家有权限使用的全部法术<br />
* 消耗材料而非法力释放<br />
* 其他物品形式的法杖 (如附魔剑)<br />
<br />
另外,默认的法术和法杖模版都是完全可修改的<br />
<br />
如果你希望使Magic本地化,你可以修改messages.yml <br /><br />
并且再留一份参与Github上的本地化。<br />
<br />
译者注:作者希望不同国家的使用者自己汉化好可以给大家都留一份<br />
<br />
== 插件文件夹的布局 ==<br />
<br />
有那么些个文件和文件夹在第一次允许Magic时就存在<br />
<br />
* '''defaults''': Magic会在此文件夹内放出默认的插件配置以供你随时查看<br />
* '''data''': 诸如玩家数据等数据的储存位置<br />
<br />
其余的文件夹都与你的配置相对应。你可以在plugins/Magic中任何YML文件中自定义操作,或者在文件夹的单独文件内<br />
<br />
* '''crafting''': 自定义合成配方<br />
* '''enchanting''': 进度(自定义附魔可能不再是了)<br />
* '''items''': 自定义非法杖的原版物品<br />
* '''materials''': 自定义Magic与不同方块和物品的交互<br />
* '''messages''': 游戏内文本<br />
* '''mobs''': 自定义怪物,包括可释放技能的怪<br />
* '''spells''': 技能,包括商店,只要是使用行为(Actions)功能的<br />
* '''wands''': 一种自定义的可释放法术的魔法物品,也有一些其他功能<br />
<br />
== 简单个性化 ==<br />
<br />
请查阅 [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/defaults/config/defaults.yml 默认配置]以获取一些管理员常用的可修改的内容范例。<br />
同样列出来了所有默认的设置并附带注释。<br />
<br />
这里同样有一个[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/examples/customized/spells.yml spells.yml] 教你如何简单自定义法术的配置<br />
<br />
=== 自定义合成配方 ===<br />
<br />
可以通过修改 crafting.yml 以修改、移除或创建合成配方。请勿编辑crafting.defaults.yml,此文件仅作为参考,任何对其的更改将被插件覆盖掉<br />
<br />
如要关闭一个内置配方,请在文件中添加类似于如下的内容:<br />
<br />
<pre class="">battle:<br />
enabled: false</pre><br />
请查阅<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 生存服合成配置范例]以查看所有默认包含在内的配方<br />
<br />
=== 自定义技能 ===<br />
<br />
Magic是一个高度自定义的技能系统,服主们可以藉此创造非一般的游戏体验<br /><br />
插件本身会创建默认的技能配置(spells.defaults.yml),包含了一定数量的技能<br /><br />
如果你想要加新技能,或者删除自带技能,请编辑 &quot;spells.yml&quot; 模版文件,或者自己新建其他文件也可以<br />
注:只要是存在于plugins\Magic\spells文件夹下的文本都会被读取,即便是txt文本文档插件也会尝试读取<br />
<br />
'''请勿''' 编辑 spells.defaults.yml, 它只是一个默认文件范例,对它进行的任何修改都会被插件覆盖<br />
<br />
禁用一个技能也很简单,只需要在spells.yml(或对应的技能文件里)添加以下内容关闭即可,如:<br />
<br />
<pre class="">blast:<br />
enabled: false</pre><br />
可以查看Magic生成的<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/spells 默认的技能]。<br /><br />
这里包含了一系列的技能,且玩家可以在游戏中使用<br />
<br />
默认的配置文件有详细的使用说明,包括所有可用的设置项<br />
<br />
所有的技能都有一些应该调整的常用配置:<br />
<br />
* enabled - 设置为 &quot;false&quot; 以完全禁用一个现有的技能 (如默认生成的)<br />
* cooldown - 技能的冷却时间,单位为秒 (但是parameters里面的单位是毫秒)<br />
* range - 技能可以达到的目标有多远,单位为方块<br />
* transparent- 技能可以穿过的东西(如草、水)<br />
* costs - 释放时消耗的消耗物,可以是物品+数量,当然还有生命值、饥饿值等等<br />
* name, description, wand icon, 等都可以在技能文件里编辑<br />
<br />
更详细的文档:<br />
<br />
[[Magic/Custom Spells|自定义法术]]<br />
<br />
=== 行为系统 ===<br />
<br />
4.0迎来了一个大更新,如今法术逐渐改用行为系统<br />
<br />
你可以指定法术运行一系列行为来实现自定义化的效果,而无需使用旧的类系统<br />
<br />
译者注:类系统的灵活度较低,相当于作者设计了一些样式固定的技能只可以修改参数,而行为系统则可以细分法术以实现高度自定义<br />
<br />
例如:<br />
<br />
<pre class="">disintegrate:<br />
icon_url: http://i.imgur.com/zZKzDFS.png<br />
icon: bone<br />
category: combat<br />
pvp_restricted: true<br />
worth: 2500<br />
actions:<br />
cast:<br />
- class: Damage<br />
- class: ModifyBlock<br />
# ... 以此样式添加更多效果和参数即可</pre><br />
采用了行为系统的法术无需自行编写源代码,它们就像是乐高积木那样组合在一起,这也是作者称之为行为的原因<br />
<br />
正如你所见的Disintegrate技能, 它既可以造成伤害也可以修改方块<br />
<br />
欲知更多信息,请查阅[[Magic/Actions|行为系统]]<br />
<br />
=== 添加自定义法杖 ===<br />
<br />
可以在wands.yml添加自定义法杖, 也可以在游戏中创建并通过&quot;/wand save&quot;保存法杖<br />
<br />
可以参考默认配置中的插件内置法杖。比如&quot;base_wand&quot; 模板就可以为物品创建法杖提供不错的范例(此法杖有法术物品栏的功能,左键可释放法术),当然你也可以不采纳,发挥自己想象力即可<br />
<br />
这里是一个可供参考的战争服配置:<br />
<br />
<pre class=""># 这只是一个基础性配置模板,并没有使用一个游戏中确切的物品<br />
# 或许对于不少物品都能够采用此配置<br />
base_gun:<br />
# 因为作者不推荐直接使用,所以这个模板目前具有隐藏的属性,无法在TAB列表或法杖列表中看见<br />
# <br />
hidden: true<br />
# 对于枪械,应当右键开火,那么就可以这么设置<br />
right_click: cast<br />
# 左键则会触发alt-cast,此处的第二种施法方案可以自定义,用作装弹法术未尝不可<br />
left_click: alt_cast<br />
# 如果使用了自定义图标,法杖就必须无法破坏,<br />
# 因为损坏值不同的物品使用的图标不同<br />
indestructible: true<br />
# 此处设定施法的源位置相较于玩家的眼睛有什么偏移量<br />
# 此处已经填写的值代表的位置大致在枪管附近<br />
cast_location: 0.5,-0.4,0.5<br />
# 此处用以防止因原版攻速过慢导致无法正常使用<br />
attributes:<br />
GENERIC_ATTACK_SPEED: 10<br />
<br />
# 下面这把枪就可以直接在游戏里用<br />
ak47:<br />
# 继承自上面的base_gun模板,充分利用了这里出现的所有属性<br />
inherit: base_gun<br />
# 使用的图标.如果你要添加新的,需要在资源包里面同样添加新物品<br />
# 这个过程可能稍有些麻烦,而且不能和这里的重复<br />
icon: diamond_pickaxe:1<br />
# 每把枪只有两个技能,一个是右键时触发<br />
active_spell: ak47<br />
# 另一个是左键触发,用以装弹 此处没有法术物品栏<br />
alternate_spell: reload_ak47<br />
# 法力对于枪来说代表弹容,不会恢复,重载法术会重新填装<br />
mana: 70<br />
mana_max: 70</pre><br />
法杖区别于普通物品的最大不同在于——法杖可以释放法术 (运行一系列行为run a set of actions, 通常也不必太复杂) ,并且可以用不同的点击方式对应其他机制,总之法杖可以采用下列的动作:<br />
<br />
* left_click #左键<br />
* right_click #右键<br />
* swap (默认是F键) #交换<br />
* drop (默认是Q键)<br />
<br />
下列操作可以绑定上面的按键<br />
<br />
* cast (释放当前可用法术)<br />
* alt_cast (释放替补法术)<br />
* toggle (开启/关闭法术物品栏)<br />
* cycle (未开启法术物品栏时用以切换下一个法术)<br />
* cycle_hotbar (切换到下一个热键)<br />
<br />
详细文档:<br />
<br />
[[Magic/Custom Wands|自定义法杖]]<br />
<br />
=== 自定义进度 ===<br />
<br />
默认的Magic配置的进度系统可自定义<br />
<br />
Magic中基本的进度有:<br />
<br />
# 玩家合成了法杖,开启熟练度——&quot;beginner&quot;【初心者】<br />
# 玩家通过施法获得了技能点<br />
# 玩家与附魔台交互,打开法术商店<br />
# 法术商店展示了初心者玩家可用的法术<br />
# 玩家消耗技能点在法术商店购买法术<br />
# 每次购买法术,法杖都会增加法力、保护属性等<br />
# 如果一个玩家收集了所有初心者法术,则会进阶为&quot;student&quot;【学徒】<br />
# 进阶可能会增加玩家的法力、修改法杖的图标,当然可能也会有其他效果<br />
# 现在玩家可以在法术商店看到学徒法术了<br />
<br />
详细文档:<br />
<br />
[[Magic/Custom Paths|自定义熟练度]]<br />
<br />
=== Custom Icons ===<br />
<br />
For information on how to set up your own custom spell and wand icons, see [[Icons|Custom Icons]].</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Parameters&diff=15843
Magic/Parameters
2021-08-20T13:03:31Z
<p>炫宙菌:创建页面,内容为“== Spell Parameters == === Spell Properties === There are some base properties of a spell that can't be changed by cast parameters or wand overrides. These propert…”</p>
<hr />
<div>== Spell Parameters ==<br />
<br />
=== Spell Properties ===<br />
<br />
There are some base properties of a spell that can't be changed by cast parameters or wand overrides. These properties go at the base level of a spell's configuration, alongside &quot;actions&quot;, &quot;effects&quot; and &quot;parameters&quot;.<br />
<br />
Please check out the [http://mine.elmakers.com/reference/#spells Reference Manual] for complete descriptions of all spell properties!<br />
<br />
== Wand Parameters ==<br />
<br />
=== Wand Customization ===<br />
<br />
Every wand is a unique item, though they may be created from templates. The survival templates can be found here:<br />
<br />
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/wands/<br />
<br />
Any of the parameters below may be used in a template, or applied to a wand in-game via any of the following commands<br />
<br />
<pre class="">/wand configure<br />
/wand upgrade<br />
/wandp @p configure<br />
/wandp @p upgrade</pre><br />
The &quot;upgrade&quot; command will never lower a value on a wand, and is meant for in-game command block or other<br /><br />
use, to allow players to upgrade their wands, such incrase mana regeneration to a set limit, while not<br /><br />
affecting a wand that already has a higher xp regen.<br />
<br />
Note (mainly to other plugin developers) that these parameters are also the NBT tags used to store wand data, under the &quot;wand&quot;<br /><br />
parent node.<br />
<br />
==== Parameters ====<br />
<br />
Please check out the [http://mine.elmakers.com/reference/#wands Reference Manual] for descriptions of all wand parameters!<br />
<br />
=== Messages ===<br />
<br />
All wand template names and descriptions are contained in messages.yml, <br /><br />
though non-builtin wands may include a default name and description in the wands.yml definition.<br />
<br />
== EffectLib Parameters ==<br />
<br />
EffectLib effects can be used via an &quot;effectlib&quot; block. The only required parameter in this block is &quot;class&quot;, referring to an EffectLib class.<br />
<br />
You can use the &quot;fxdemo&quot; spell in-game to preview all of the available effects.<br />
<br />
Please check out the [http://mine.elmakers.com/reference/#effectlib Reference Manual] for a list of all EffectLib effects and parameters!<br />
<br />
=== Examples ===<br />
<br />
<pre class=""> effects:<br />
cast:<br />
- location: target<br />
effectlib:<br />
class: AnimatedBall<br />
duration: 5000</pre><br />
=== Developers ===<br />
<br />
Developers may want to browse through the [http://jenkins.elmakers.com/job/EffectLib/doxygen/namespacede_1_1slikey_1_1effectlib_1_1effect.html doxygen documentation].<br />
<br />
== Effect Parameters ==<br />
<br />
=== Effects ===<br />
<br />
Each effect is configured using a &quot;player&quot; class and several common parameters:<br />
<br />
| Name | Values | Description<br /><br />
|-------------------|----------------|-----------------<br /><br />
| effectlib | [[EffectLibParameters|EffectLib]] | Configuration of an [[EffectLib|EffectLib]] effect.<br /><br />
| location | target/origin/both | Where to play the effect<br /><br />
| color | RRGGBB | The main color to use, only applies to some effects (like Fireworks)<br /><br />
| color1 | RRGGBB | The secondary color to use, only applies to some effects (like Fireworks)<br /><br />
| delay | milliseconds | How long to wait before starting the effect<br /><br />
| effect | Effect name | A Bukkit effect, often includes sound and particles<br /><br />
| sound | [[Sound|Sound name]] | A sound to play, taken from the Bukkit sound constant or sounds.json<br /><br />
| sound''volume | 0.0 - 2.0 | The volume at which to play a sound<br /><br />
| sound''pitch | 0.0 - 2.0 | The pitch to use for playing a sound<br /><br />
| particle | Particle name | A Particle type to use, taken from a Magic constant<br /><br />
| particle''count | count | The number of particles to spawn<br /><br />
| particle''offset''x | integer | How much random x-jitter to apply to particles<br /><br />
| particle''offset''y | integer | How much random y-jitter to apply to particles<br /><br />
| particle''offset''z | integer | How much random z-jitter to apply to particles<br /><br />
| particle''data | integer | A special magic data number, use with care, it can crash the client!!<br /><br />
| particle''sub''type | string | A special magic data value, use with care, it can crash the client!!<br /><br />
| firework | Firework Effect | The type of firework to launch, if other firework params are specified without this it will be random<br /><br />
| firework''power | integer | The firework power<br /><br />
| firework''flicker | true/false | Whether or not to flicker the firework effect<br />
<br />
==== Built-in Effects ====<br />
<br />
Magic comes with a few builtin effect players that may be useful, but in general if you're using EffectLib effects, EffectSingle is the only one you need.<br />
<br />
==== Built-in Effect Configuration ====<br />
<br />
| Name | Values | Description<br /><br />
|-------------------|----------------|-----------------<br /><br />
| class | Class name | An effect player class, either a builtin or a fully-qualified external EffectPlayer. Defaults to EffectSingle.<br />
<br />
==== Repeating Effects ====<br />
<br />
| Name | Values | Description<br /><br />
|-------------------|----------------|-----------------<br /><br />
| iterations | count | How many times to repeat the effect<br /><br />
| period | milliseconds | How often to repeat the effect<br /><br />
| reverse | true/false | Whether or not to play the effect in reverse<br />
<br />
==== EffectRing ====<br />
<br />
| Name | Values | Description<br /><br />
|-------------------|----------------|-----------------<br /><br />
| radius | blocks | How large the ring should get<br /><br />
| size | count | How many effects to spawn per ring<br />
<br />
==== EffectTrail ====<br />
<br />
| Name | Values | Description<br /><br />
|-------------------|----------------|-----------------<br /><br />
| length | blocks | The length of the trail, may be automatic if a target was provided.<br />
<br />
enum reference:<br />
<br />
* Sound: https://raw.githubusercontent.com/Bukkit/Bukkit/master/src/main/java/org/bukkit/Sound.java<br />
* Effect: https://raw.githubusercontent.com/Bukkit/Bukkit/master/src/main/java/org/bukkit/Effect.java<br />
* ParticleType: https://github.com/Slikey/EffectLib/blob/master/src/main/java/de/slikey/effectlib/util/ParticleEffect.java#L44<br />
* FireworkEffect: https://raw.githubusercontent.com/Bukkit/Bukkit/master/src/main/java/org/bukkit/FireworkEffect.java<br />
* EffectLib Classes: http://dev.bukkit.org/bukkit-plugins/effectlib/</div>
炫宙菌
https://mineplugin.org/index.php?title=%E6%A8%A1%E6%9D%BF:Magic&diff=15842
模板:Magic
2021-08-20T13:03:15Z
<p>炫宙菌:</p>
<hr />
<div>{{Navbox<br />
| name = Magic<br />
| state = <br />
| title = Magic<br />
|group1 = 基本界面<br />
| list1 = [[Magic]] {{w}} [[Magic/Commands|指令]] {{w}} [[Magic/权限|权限]] {{w}} [[Magic/Cutsom_Spells|自定义法术]] {{w}} [[Magic/Progression|进度]] {{w}} [[Magic/Spell_Points|技能点]] {{w}} [[Magic/Crafting|配方]] {{w}} [[Magic/FAQ|FAQ]] {{w}} [[Magic/Basic_Setup|基础配设]] {{w}} [[Magic/Customization|个性化]] {{w}} [[Magic/Resource_Pack|资源包]] {{w}} [[Magic/Examples|举例]] {{w}} [[Magic/Messages_and_Languages|语言和消息]] {{w}} [[Magic/Vanity_Items|酷炫物品]] {{w}} [[Magic/Shops|商店]]<br />
|group2 = 举例界面<br />
| list2 = [[Magic/Engineering|工程师法术]] {{w}} [[Magic/The-Nether-Side|地狱之面]] {{w}} [[Magic/The-Other-Side|其他之面]] {{w}} [[Magic/Automata|自动操作装置]] {{w}} [[Magic/AutomaticBlocks|自动机械方块]] {{w}} [[Magic/Painterly|彩绘]] {{w}} [[Magic/MobArena|竞技场]] {{w}} [[Magic/Slimefun|粘液科技]] {{w}} [[Magic/RPG|Rpg]] {{w}}<br />
|group3 = 进阶界面<br />
| list3 = [[Magic/Actions|行为]] {{w}} [[Magic/ImageMaps|图片地图]] {{w}} [[Magic/Regions|领域]] {{w}} [[Magic/Placeholders|Placeholders]] {{w}} [[Magic/Skript|Skript]] {{w}} [[Magic/NPC|NPC]] {{w}} [[Magic/MagicMobs|魔法生物]] {{w}} [[Magic/Parameters|参数]] {{w}}<br />
|group4 = 自定义相关<br />
| list4 = [[Magic/Custom Wands|自定义法杖]]<br />
|group5 = 高级管理<br />
| list5 = [[Magic/Player Data Storage|玩家数据存储]]<br />
}}<br />
<noinclude>[[分类:大家族模板]]</noinclude></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Custom_Wands&diff=15841
Magic/Custom Wands
2021-08-20T12:56:07Z
<p>炫宙菌:创建页面,内容为“== Create Custom Wands == A &quot;wand&quot; in Magic is any item that can cast spells. Wands can also have a variety of other properties. See here for customizati…”</p>
<hr />
<div>== Create Custom Wands ==<br />
<br />
A &quot;wand&quot; in Magic is any item that can cast spells. Wands can also have a variety of other properties.<br />
<br />
See here for customization info: [[WandParameters|WandParameters]]<br />
<br />
== Creating a wand from scratch ==<br />
<br />
Holding any item that you'd like to make into a wand, use <code>/wand create</code>. For example:<br />
<br />
<pre class="">/mgive wood_hoe:4<br />
/wand create</pre><br />
You now have a wand, but it doesn't do anything useful and still looks like a hoe. If you're making a normal spellcasting wand, it's a good idea to ''inherit'' from the base wand config. Like this:<br />
<br />
<pre class="">/wand configure template base_wand</pre><br />
This turns on the normal wand control scheme, and makes the wand bound and indestructible.<br />
<br />
You should get a message that the wand was bound to you, and the icon may change to a fancy wand icon if using the resource pack.<br />
<br />
Now you can add properties to the wand if you want:<br />
<br />
<pre class="">/wand unbind<br />
/wand configure protection_falling 0.8<br />
/wand add missile<br />
/wand add fling<br />
/wand configure mana_regeneration 40<br />
/wand configure mana_max 200<br />
/wand configure name Superwand<br />
/wand configure description A super cool wand</pre><br />
Hint: Try out tab-completion with wand commands, <code>/wand configure &lt;tab&gt;</code> will list all options!<br />
<br />
That will add two spells, some fall protection, increase mana, and make the wand unbound.<br />
<br />
Now you can save your wand:<br />
<br />
<pre class="">/wand save superwand</pre><br />
This wand is now available via /mgive, and can be used in crafting and other Magic configuration files just like any of the builtin wands.<br />
<br />
== Wands from Configuration Files ==<br />
<br />
To create new wand types, often you will want to make each wand have a unique progression, and keep its spells separate from other wands.<br />
<br />
See: [[Wands,-Classes-and-Paths|Wands, Classes and Paths]] for more info<br />
<br />
=== Custom Lore ===<br />
<br />
By default, wands will generate item lore based on wand properties. You can add a &quot;description&quot; property to the wand config that will go at the top, but everything else is auto-generated. <br />
<br />
If you'd prefer, you can add a &quot;lore&quot; string list to your wand configs. This will be used to generate the wand lore. You can add certain variables to the lore if you'd still like to use some autogenerated data, such as:<br />
<br />
<pre class="">customlore:<br />
<br />
inherit: wand<br />
<br />
lore:<br />
<br />
- This wand has<br />
<br />
- completely<br />
<br />
- custom<br />
<br />
- lore<br />
<br />
- $owner<br />
<br />
- You can add variables like so<br />
<br />
- $description<br />
<br />
- $spells<br />
<br />
- $brushes<br />
<br />
- $mana_regeneration<br />
<br />
- $path<br />
<br />
- $mana_max</pre></div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Customization&diff=15840
Magic/Customization
2021-08-20T12:54:45Z
<p>炫宙菌:/* 添加自定义法杖 */</p>
<hr />
<div>Magic是个可完全自定义的插件。插件的性能、可用的技能、法杖以及游戏内文本都可以自定义<br />
<br />
== 前台编辑 ==<br />
<br />
查看[[Magic/In-Game-Customization|前台编辑]],你可以通过游戏指令或网页编辑器来更改部分内容<br />
<br />
== 常见问题 ==<br />
<br />
'''我的编辑无效!'''<br />
<br />
请审阅你编辑的文件,文件顶部有注释指引你如何编辑。<br />
<br />
最重要的是不要编辑plugins/Magic/defaults中的文件,他们只是作为参考文件,每次载入都会覆盖原有更改。他们代表着所有的现有配置内容,包括默认的以及你编辑的。<br />
<br />
你应当在 plugins/Magic 路径下进行操作,如果你还没有明白WIKI的意思,请继续往下看<br />
<br />
== 默认生存服配置 ==<br />
<br />
如果你无需自定义Magic的某些内容,<br /><br />
那么最好单独留着那个文件,如果下次默认配置有所更新的话可能会好一些<br />
<br />
作者一直在尝试让默认配置更加具有游戏平衡性和可玩性。<br /><br />
作者希望大家也可以参与默认配置的更新<br /><br />
这样能够更加让插件的默认设置贴合他的设想<br /><br />
但是如果你迫切需要个性化内容,作者也不会阻拦。<br />
<br />
Magic默认提供的体验:<br />
<br />
* 玩家默认无法使用插件命令<br />
* 玩家可以合成法杖 (如使用烈焰棒和下界之星)<br />
* (目前默认已关闭): 玩家可以在自然生成的箱子里拿到法杖<br />
* 法杖默认低等级,但是可以在附魔台升级<br />
* 法杖可以由铁砧制作(??)、从ESS商店中购买或从EssKit中获得等……<br />
* 在铁砧给法杖命名可以绑定给玩家,其他玩家就用不了了<br />
* 管理员可以设置任务或其他奖励以升级或生成法杖<br />
* 法杖是不可破坏的。如果安装了dynmap则会显示出来,玩家由此可以找到丢失的法杖<br />
* 每一个法杖都有一个背包大小的空间储存法术和材料,玩家可以借此使用和操作<br />
* 法杖使用 &quot;法力&quot; 系统,默认玩家会慢慢恢复法力<br />
* 如果找到或者创建一个拥有对应法术的法杖,那么玩家都有权释放所有法术<br />
<br />
上述任何内容都可以关闭或修改。下面有些不一样的设置:<br />
<br />
* 有三种不同的法杖物品栏模式可选择:<br /> <br />
chest inventory (默认的箱子物品栏模式), click-to-cycle(点击切换),和hotbar-enabled (热键)<br />
* 法杖、法术和命令其实还是基于权限的(可以设置VIP内容)<br />
* 玩家死亡可以保留法杖(对于所有玩家 或每一个法杖)<br />
* 法杖可预先装填玩家有权限使用的全部法术<br />
* 消耗材料而非法力释放<br />
* 其他物品形式的法杖 (如附魔剑)<br />
<br />
另外,默认的法术和法杖模版都是完全可修改的<br />
<br />
如果你希望使Magic本地化,你可以修改messages.yml <br /><br />
并且再留一份参与Github上的本地化。<br />
<br />
译者注:作者希望不同国家的使用者自己汉化好可以给大家都留一份<br />
<br />
== 插件文件夹的布局 ==<br />
<br />
有那么些个文件和文件夹在第一次允许Magic时就存在<br />
<br />
* '''defaults''': Magic会在此文件夹内放出默认的插件配置以供你随时查看<br />
* '''data''': 诸如玩家数据等数据的储存位置<br />
<br />
其余的文件夹都与你的配置相对应。你可以在plugins/Magic中任何YML文件中自定义操作,或者在文件夹的单独文件内<br />
<br />
* '''crafting''': 自定义合成配方<br />
* '''enchanting''': 进度(自定义附魔可能不再是了)<br />
* '''items''': 自定义非法杖的原版物品<br />
* '''materials''': 自定义Magic与不同方块和物品的交互<br />
* '''messages''': 游戏内文本<br />
* '''mobs''': 自定义怪物,包括可释放技能的怪<br />
* '''spells''': 技能,包括商店,只要是使用行为(Actions)功能的<br />
* '''wands''': 一种自定义的可释放法术的魔法物品,也有一些其他功能<br />
<br />
== 简单个性化 ==<br />
<br />
请查阅 [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/defaults/config/defaults.yml 默认配置]以获取一些管理员常用的可修改的内容范例。<br />
同样列出来了所有默认的设置并附带注释。<br />
<br />
这里同样有一个[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/examples/customized/spells.yml spells.yml] 教你如何简单自定义法术的配置<br />
<br />
=== 自定义合成配方 ===<br />
<br />
可以通过修改 crafting.yml 以修改、移除或创建合成配方。请勿编辑crafting.defaults.yml,此文件仅作为参考,任何对其的更改将被插件覆盖掉<br />
<br />
如要关闭一个内置配方,请在文件中添加类似于如下的内容:<br />
<br />
<pre class="">battle:<br />
enabled: false</pre><br />
请查阅<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 生存服合成配置范例]以查看所有默认包含在内的配方<br />
<br />
=== 自定义技能 ===<br />
<br />
Magic是一个高度自定义的技能系统,服主们可以藉此创造非一般的游戏体验<br /><br />
插件本身会创建默认的技能配置(spells.defaults.yml),包含了一定数量的技能<br /><br />
如果你想要加新技能,或者删除自带技能,请编辑 &quot;spells.yml&quot; 模版文件,或者自己新建其他文件也可以<br />
注:只要是存在于plugins\Magic\spells文件夹下的文本都会被读取,即便是txt文本文档插件也会尝试读取<br />
<br />
'''请勿''' 编辑 spells.defaults.yml, 它只是一个默认文件范例,对它进行的任何修改都会被插件覆盖<br />
<br />
禁用一个技能也很简单,只需要在spells.yml(或对应的技能文件里)添加以下内容关闭即可,如:<br />
<br />
<pre class="">blast:<br />
enabled: false</pre><br />
可以查看Magic生成的<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/spells 默认的技能]。<br /><br />
这里包含了一系列的技能,且玩家可以在游戏中使用<br />
<br />
默认的配置文件有详细的使用说明,包括所有可用的设置项<br />
<br />
所有的技能都有一些应该调整的常用配置:<br />
<br />
* enabled - 设置为 &quot;false&quot; 以完全禁用一个现有的技能 (如默认生成的)<br />
* cooldown - 技能的冷却时间,单位为秒 (但是parameters里面的单位是毫秒)<br />
* range - 技能可以达到的目标有多远,单位为方块<br />
* transparent- 技能可以穿过的东西(如草、水)<br />
* costs - 释放时消耗的消耗物,可以是物品+数量,当然还有生命值、饥饿值等等<br />
* name, description, wand icon, 等都可以在技能文件里编辑<br />
<br />
更详细的文档:<br />
<br />
[[Magic/Custom Spells|自定义法术]]<br />
<br />
=== 行为系统 ===<br />
<br />
4.0迎来了一个大更新,如今法术逐渐改用行为系统<br />
<br />
你可以指定法术运行一系列行为来实现自定义化的效果,而无需使用旧的类系统<br />
<br />
译者注:类系统的灵活度较低,相当于作者设计了一些样式固定的技能只可以修改参数,而行为系统则可以细分法术以实现高度自定义<br />
<br />
例如:<br />
<br />
<pre class="">disintegrate:<br />
icon_url: http://i.imgur.com/zZKzDFS.png<br />
icon: bone<br />
category: combat<br />
pvp_restricted: true<br />
worth: 2500<br />
actions:<br />
cast:<br />
- class: Damage<br />
- class: ModifyBlock<br />
# ... 以此样式添加更多效果和参数即可</pre><br />
采用了行为系统的法术无需自行编写源代码,它们就像是乐高积木那样组合在一起,这也是作者称之为行为的原因<br />
<br />
正如你所见的Disintegrate技能, 它既可以造成伤害也可以修改方块<br />
<br />
欲知更多信息,请查阅[[Magic/Actions|行为系统]]<br />
<br />
=== 添加自定义法杖 ===<br />
<br />
可以在wands.yml添加自定义法杖, 也可以在游戏中创建并通过&quot;/wand save&quot;保存法杖<br />
<br />
可以参考默认配置中的插件内置法杖。比如&quot;base_wand&quot; 模板就可以为物品创建法杖提供不错的范例(此法杖有法术物品栏的功能,左键可释放法术),当然你也可以不采纳,发挥自己想象力即可<br />
<br />
这里是一个可供参考的战争服配置:<br />
<br />
<pre class=""># 这只是一个基础性配置模板,并没有使用一个游戏中确切的物品<br />
# 或许对于不少物品都能够采用此配置<br />
base_gun:<br />
# 因为作者不推荐直接使用,所以这个模板目前具有隐藏的属性,无法在TAB列表或法杖列表中看见<br />
# <br />
hidden: true<br />
# 对于枪械,应当右键开火,那么就可以这么设置<br />
right_click: cast<br />
# 左键则会触发alt-cast,此处的第二种施法方案可以自定义,用作装弹法术未尝不可<br />
left_click: alt_cast<br />
# 如果使用了自定义图标,法杖就必须无法破坏,<br />
# 因为损坏值不同的物品使用的图标不同<br />
indestructible: true<br />
# 此处设定施法的源位置相较于玩家的眼睛有什么偏移量<br />
# 此处已经填写的值代表的位置大致在枪管附近<br />
cast_location: 0.5,-0.4,0.5<br />
# 此处用以防止因原版攻速过慢导致无法正常使用<br />
attributes:<br />
GENERIC_ATTACK_SPEED: 10<br />
<br />
# 下面这把枪就可以直接在游戏里用<br />
ak47:<br />
# 继承自上面的base_gun模板,充分利用了这里出现的所有属性<br />
inherit: base_gun<br />
# 使用的图标.如果你要添加新的,需要在资源包里面同样添加新物品<br />
# 这个过程可能稍有些麻烦,而且不能和这里的重复<br />
icon: diamond_pickaxe:1<br />
# 每把枪只有两个技能,一个是右键时触发<br />
active_spell: ak47<br />
# 另一个是左键触发,用以装弹 此处没有法术物品栏<br />
alternate_spell: reload_ak47<br />
# 法力对于枪来说代表弹容,不会恢复,重载法术会重新填装<br />
mana: 70<br />
mana_max: 70</pre><br />
法杖区别于普通物品的最大不同在于——法杖可以释放法术 (运行一系列行为run a set of actions, 通常也不必太复杂) ,并且可以用不同的点击方式对应其他机制,总之法杖可以采用下列的动作:<br />
<br />
* left_click #左键<br />
* right_click #右键<br />
* swap (默认是F键) #交换<br />
* drop (默认是Q键)<br />
<br />
下列操作可以绑定上面的按键<br />
<br />
* cast (释放当前可用法术)<br />
* alt_cast (释放替补法术)<br />
* toggle (开启/关闭法术物品栏)<br />
* cycle (未开启法术物品栏时用以切换下一个法术)<br />
* cycle_hotbar (切换到下一个热键)<br />
<br />
详细文档:<br />
<br />
[[Magic/Custom Wands|自定义法杖]]<br />
<br />
=== Customizing Progression ===<br />
<br />
The default Magic configurations use a progression system that can be customized.<br />
<br />
The basics of progression in Magic are:<br />
<br />
# Players craft a wand, which starts at the &quot;beginner&quot; rank.<br />
# Players earn Spell Points by casting spells.<br />
# Players interact with an enchantment table to show the spell shop.<br />
# The spell shop shows the player spells available to the beginner rank.<br />
# Players purchase spells from the spell shop by spending Spell Points.<br />
# For each spell purchased, a wand may gain mana, protection or other attributes.<br />
# Once a player collects all of the beginner spells, they rank up to student.<br />
# Ranking up may give the player a mana boost, change their wand icon, or have other effects.<br />
# Now the player will see student spells in the spellshop.<br />
<br />
Detailed documentation:<br />
<br />
[[Custom Paths]]<br />
<br />
=== Custom Icons ===<br />
<br />
For information on how to set up your own custom spell and wand icons, see [[Icons|Custom Icons]].</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Customization&diff=15838
Magic/Customization
2021-08-19T13:01:45Z
<p>炫宙菌:/* 添加自定义法杖 */</p>
<hr />
<div>Magic是个可完全自定义的插件。插件的性能、可用的技能、法杖以及游戏内文本都可以自定义<br />
<br />
== 前台编辑 ==<br />
<br />
查看[[Magic/In-Game-Customization|前台编辑]],你可以通过游戏指令或网页编辑器来更改部分内容<br />
<br />
== 常见问题 ==<br />
<br />
'''我的编辑无效!'''<br />
<br />
请审阅你编辑的文件,文件顶部有注释指引你如何编辑。<br />
<br />
最重要的是不要编辑plugins/Magic/defaults中的文件,他们只是作为参考文件,每次载入都会覆盖原有更改。他们代表着所有的现有配置内容,包括默认的以及你编辑的。<br />
<br />
你应当在 plugins/Magic 路径下进行操作,如果你还没有明白WIKI的意思,请继续往下看<br />
<br />
== 默认生存服配置 ==<br />
<br />
如果你无需自定义Magic的某些内容,<br /><br />
那么最好单独留着那个文件,如果下次默认配置有所更新的话可能会好一些<br />
<br />
作者一直在尝试让默认配置更加具有游戏平衡性和可玩性。<br /><br />
作者希望大家也可以参与默认配置的更新<br /><br />
这样能够更加让插件的默认设置贴合他的设想<br /><br />
但是如果你迫切需要个性化内容,作者也不会阻拦。<br />
<br />
Magic默认提供的体验:<br />
<br />
* 玩家默认无法使用插件命令<br />
* 玩家可以合成法杖 (如使用烈焰棒和下界之星)<br />
* (目前默认已关闭): 玩家可以在自然生成的箱子里拿到法杖<br />
* 法杖默认低等级,但是可以在附魔台升级<br />
* 法杖可以由铁砧制作(??)、从ESS商店中购买或从EssKit中获得等……<br />
* 在铁砧给法杖命名可以绑定给玩家,其他玩家就用不了了<br />
* 管理员可以设置任务或其他奖励以升级或生成法杖<br />
* 法杖是不可破坏的。如果安装了dynmap则会显示出来,玩家由此可以找到丢失的法杖<br />
* 每一个法杖都有一个背包大小的空间储存法术和材料,玩家可以借此使用和操作<br />
* 法杖使用 &quot;法力&quot; 系统,默认玩家会慢慢恢复法力<br />
* 如果找到或者创建一个拥有对应法术的法杖,那么玩家都有权释放所有法术<br />
<br />
上述任何内容都可以关闭或修改。下面有些不一样的设置:<br />
<br />
* 有三种不同的法杖物品栏模式可选择:<br /> <br />
chest inventory (默认的箱子物品栏模式), click-to-cycle(点击切换),和hotbar-enabled (热键)<br />
* 法杖、法术和命令其实还是基于权限的(可以设置VIP内容)<br />
* 玩家死亡可以保留法杖(对于所有玩家 或每一个法杖)<br />
* 法杖可预先装填玩家有权限使用的全部法术<br />
* 消耗材料而非法力释放<br />
* 其他物品形式的法杖 (如附魔剑)<br />
<br />
另外,默认的法术和法杖模版都是完全可修改的<br />
<br />
如果你希望使Magic本地化,你可以修改messages.yml <br /><br />
并且再留一份参与Github上的本地化。<br />
<br />
译者注:作者希望不同国家的使用者自己汉化好可以给大家都留一份<br />
<br />
== 插件文件夹的布局 ==<br />
<br />
有那么些个文件和文件夹在第一次允许Magic时就存在<br />
<br />
* '''defaults''': Magic会在此文件夹内放出默认的插件配置以供你随时查看<br />
* '''data''': 诸如玩家数据等数据的储存位置<br />
<br />
其余的文件夹都与你的配置相对应。你可以在plugins/Magic中任何YML文件中自定义操作,或者在文件夹的单独文件内<br />
<br />
* '''crafting''': 自定义合成配方<br />
* '''enchanting''': 进度(自定义附魔可能不再是了)<br />
* '''items''': 自定义非法杖的原版物品<br />
* '''materials''': 自定义Magic与不同方块和物品的交互<br />
* '''messages''': 游戏内文本<br />
* '''mobs''': 自定义怪物,包括可释放技能的怪<br />
* '''spells''': 技能,包括商店,只要是使用行为(Actions)功能的<br />
* '''wands''': 一种自定义的可释放法术的魔法物品,也有一些其他功能<br />
<br />
== 简单个性化 ==<br />
<br />
请查阅 [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/defaults/config/defaults.yml 默认配置]以获取一些管理员常用的可修改的内容范例。<br />
同样列出来了所有默认的设置并附带注释。<br />
<br />
这里同样有一个[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/examples/customized/spells.yml spells.yml] 教你如何简单自定义法术的配置<br />
<br />
=== 自定义合成配方 ===<br />
<br />
可以通过修改 crafting.yml 以修改、移除或创建合成配方。请勿编辑crafting.defaults.yml,此文件仅作为参考,任何对其的更改将被插件覆盖掉<br />
<br />
如要关闭一个内置配方,请在文件中添加类似于如下的内容:<br />
<br />
<pre class="">battle:<br />
enabled: false</pre><br />
请查阅<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 生存服合成配置范例]以查看所有默认包含在内的配方<br />
<br />
=== 自定义技能 ===<br />
<br />
Magic是一个高度自定义的技能系统,服主们可以藉此创造非一般的游戏体验<br /><br />
插件本身会创建默认的技能配置(spells.defaults.yml),包含了一定数量的技能<br /><br />
如果你想要加新技能,或者删除自带技能,请编辑 &quot;spells.yml&quot; 模版文件,或者自己新建其他文件也可以<br />
注:只要是存在于plugins\Magic\spells文件夹下的文本都会被读取,即便是txt文本文档插件也会尝试读取<br />
<br />
'''请勿''' 编辑 spells.defaults.yml, 它只是一个默认文件范例,对它进行的任何修改都会被插件覆盖<br />
<br />
禁用一个技能也很简单,只需要在spells.yml(或对应的技能文件里)添加以下内容关闭即可,如:<br />
<br />
<pre class="">blast:<br />
enabled: false</pre><br />
可以查看Magic生成的<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/spells 默认的技能]。<br /><br />
这里包含了一系列的技能,且玩家可以在游戏中使用<br />
<br />
默认的配置文件有详细的使用说明,包括所有可用的设置项<br />
<br />
所有的技能都有一些应该调整的常用配置:<br />
<br />
* enabled - 设置为 &quot;false&quot; 以完全禁用一个现有的技能 (如默认生成的)<br />
* cooldown - 技能的冷却时间,单位为秒 (但是parameters里面的单位是毫秒)<br />
* range - 技能可以达到的目标有多远,单位为方块<br />
* transparent- 技能可以穿过的东西(如草、水)<br />
* costs - 释放时消耗的消耗物,可以是物品+数量,当然还有生命值、饥饿值等等<br />
* name, description, wand icon, 等都可以在技能文件里编辑<br />
<br />
更详细的文档:<br />
<br />
[[Magic/Custom Spells|自定义法术]]<br />
<br />
=== 行为系统 ===<br />
<br />
4.0迎来了一个大更新,如今法术逐渐改用行为系统<br />
<br />
你可以指定法术运行一系列行为来实现自定义化的效果,而无需使用旧的类系统<br />
<br />
译者注:类系统的灵活度较低,相当于作者设计了一些样式固定的技能只可以修改参数,而行为系统则可以细分法术以实现高度自定义<br />
<br />
例如:<br />
<br />
<pre class="">disintegrate:<br />
icon_url: http://i.imgur.com/zZKzDFS.png<br />
icon: bone<br />
category: combat<br />
pvp_restricted: true<br />
worth: 2500<br />
actions:<br />
cast:<br />
- class: Damage<br />
- class: ModifyBlock<br />
# ... 以此样式添加更多效果和参数即可</pre><br />
采用了行为系统的法术无需自行编写源代码,它们就像是乐高积木那样组合在一起,这也是作者称之为行为的原因<br />
<br />
正如你所见的Disintegrate技能, 它既可以造成伤害也可以修改方块<br />
<br />
欲知更多信息,请查阅[[Magic/Actions|行为系统]]<br />
<br />
=== 添加自定义法杖 ===<br />
<br />
可以在wands.yml添加自定义法杖, 也可以在游戏中创建并通过&quot;/wand save&quot;保存法杖<br />
<br />
可以参考默认配置中的插件内置法杖。比如&quot;base_wand&quot; 模板就可以为物品创建法杖提供不错的范例(此法杖有法术物品栏的功能,左键可释放法术),当然你也可以不采纳,发挥自己想象力即可<br />
<br />
这里是一个可供参考的战争服配置:<br />
<br />
<pre class=""># 这只是一个基础性配置模板,并没有使用一个游戏中确切的物品<br />
# 或许对于不少物品都能够采用此配置<br />
base_gun:<br />
# 因为作者不推荐直接使用,所以这个模板目前具有隐藏的属性,无法在TAB列表或法杖列表中看见<br />
# <br />
hidden: true<br />
# 对于枪械,应当右键开火,那么就可以这么设置<br />
right_click: cast<br />
# 左键则会触发alt-cast,此处的第二种施法方案可以自定义,用作装弹法术未尝不可<br />
left_click: alt_cast<br />
# 如果使用了自定义图标,法杖就必须无法破坏,<br />
# 因为损坏值不同的物品使用的图标不同<br />
indestructible: true<br />
# 此处设定施法的源位置相较于玩家的眼睛有什么偏移量<br />
# 此处已经填写的值代表的位置大致在枪管附近<br />
cast_location: 0.5,-0.4,0.5<br />
# 此处用以防止因原版攻速过慢导致无法正常使用<br />
attributes:<br />
GENERIC_ATTACK_SPEED: 10<br />
<br />
# 下面这把枪就可以直接在游戏里用<br />
ak47:<br />
# 继承自上面的base_gun模板,充分利用了这里出现的所有属性<br />
inherit: base_gun<br />
# 使用的图标.如果你要添加新的,需要在资源包里面同样添加新物品<br />
# 这个过程可能稍有些麻烦,而且不能和这里的重复<br />
icon: diamond_pickaxe:1<br />
# 每把枪只有两个技能,一个是右键时触发<br />
active_spell: ak47<br />
# 另一个是左键触发,用以装弹 此处没有法术物品栏<br />
alternate_spell: reload_ak47<br />
# 法力对于枪来说代表弹容,不会恢复,重载法术会重新填装<br />
mana: 70<br />
mana_max: 70</pre><br />
The most important thing that differentiates a wand from a normal item is the ability to cast spells (run a set of actions, basically, doesn't have to be magical) and attach other mechanics to various clicks. In total wands can perform actions on any of the following:<br />
<br />
* left_click<br />
* right_click<br />
* swap (usually the F key)<br />
* drop (usually the Q key)<br />
<br />
The actions that can be bound to these keys<br />
<br />
* cast (cast the currently active spell)<br />
* alt_cast (cast the alternate spell)<br />
* toggle (open/close the spell inventory)<br />
* cycle (cycle to the next spell without using an inventory)<br />
* cycle_hotbar (cycle to the next hotbar)<br />
<br />
Detailed documentation:<br />
<br />
[[Custom Wands]]<br />
<br />
=== Customizing Progression ===<br />
<br />
The default Magic configurations use a progression system that can be customized.<br />
<br />
The basics of progression in Magic are:<br />
<br />
# Players craft a wand, which starts at the &quot;beginner&quot; rank.<br />
# Players earn Spell Points by casting spells.<br />
# Players interact with an enchantment table to show the spell shop.<br />
# The spell shop shows the player spells available to the beginner rank.<br />
# Players purchase spells from the spell shop by spending Spell Points.<br />
# For each spell purchased, a wand may gain mana, protection or other attributes.<br />
# Once a player collects all of the beginner spells, they rank up to student.<br />
# Ranking up may give the player a mana boost, change their wand icon, or have other effects.<br />
# Now the player will see student spells in the spellshop.<br />
<br />
Detailed documentation:<br />
<br />
[[Custom Paths]]<br />
<br />
=== Custom Icons ===<br />
<br />
For information on how to set up your own custom spell and wand icons, see [[Icons|Custom Icons]].</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Customization&diff=15837
Magic/Customization
2021-08-19T12:28:04Z
<p>炫宙菌:/* 添加自定义法杖 */</p>
<hr />
<div>Magic是个可完全自定义的插件。插件的性能、可用的技能、法杖以及游戏内文本都可以自定义<br />
<br />
== 前台编辑 ==<br />
<br />
查看[[Magic/In-Game-Customization|前台编辑]],你可以通过游戏指令或网页编辑器来更改部分内容<br />
<br />
== 常见问题 ==<br />
<br />
'''我的编辑无效!'''<br />
<br />
请审阅你编辑的文件,文件顶部有注释指引你如何编辑。<br />
<br />
最重要的是不要编辑plugins/Magic/defaults中的文件,他们只是作为参考文件,每次载入都会覆盖原有更改。他们代表着所有的现有配置内容,包括默认的以及你编辑的。<br />
<br />
你应当在 plugins/Magic 路径下进行操作,如果你还没有明白WIKI的意思,请继续往下看<br />
<br />
== 默认生存服配置 ==<br />
<br />
如果你无需自定义Magic的某些内容,<br /><br />
那么最好单独留着那个文件,如果下次默认配置有所更新的话可能会好一些<br />
<br />
作者一直在尝试让默认配置更加具有游戏平衡性和可玩性。<br /><br />
作者希望大家也可以参与默认配置的更新<br /><br />
这样能够更加让插件的默认设置贴合他的设想<br /><br />
但是如果你迫切需要个性化内容,作者也不会阻拦。<br />
<br />
Magic默认提供的体验:<br />
<br />
* 玩家默认无法使用插件命令<br />
* 玩家可以合成法杖 (如使用烈焰棒和下界之星)<br />
* (目前默认已关闭): 玩家可以在自然生成的箱子里拿到法杖<br />
* 法杖默认低等级,但是可以在附魔台升级<br />
* 法杖可以由铁砧制作(??)、从ESS商店中购买或从EssKit中获得等……<br />
* 在铁砧给法杖命名可以绑定给玩家,其他玩家就用不了了<br />
* 管理员可以设置任务或其他奖励以升级或生成法杖<br />
* 法杖是不可破坏的。如果安装了dynmap则会显示出来,玩家由此可以找到丢失的法杖<br />
* 每一个法杖都有一个背包大小的空间储存法术和材料,玩家可以借此使用和操作<br />
* 法杖使用 &quot;法力&quot; 系统,默认玩家会慢慢恢复法力<br />
* 如果找到或者创建一个拥有对应法术的法杖,那么玩家都有权释放所有法术<br />
<br />
上述任何内容都可以关闭或修改。下面有些不一样的设置:<br />
<br />
* 有三种不同的法杖物品栏模式可选择:<br /> <br />
chest inventory (默认的箱子物品栏模式), click-to-cycle(点击切换),和hotbar-enabled (热键)<br />
* 法杖、法术和命令其实还是基于权限的(可以设置VIP内容)<br />
* 玩家死亡可以保留法杖(对于所有玩家 或每一个法杖)<br />
* 法杖可预先装填玩家有权限使用的全部法术<br />
* 消耗材料而非法力释放<br />
* 其他物品形式的法杖 (如附魔剑)<br />
<br />
另外,默认的法术和法杖模版都是完全可修改的<br />
<br />
如果你希望使Magic本地化,你可以修改messages.yml <br /><br />
并且再留一份参与Github上的本地化。<br />
<br />
译者注:作者希望不同国家的使用者自己汉化好可以给大家都留一份<br />
<br />
== 插件文件夹的布局 ==<br />
<br />
有那么些个文件和文件夹在第一次允许Magic时就存在<br />
<br />
* '''defaults''': Magic会在此文件夹内放出默认的插件配置以供你随时查看<br />
* '''data''': 诸如玩家数据等数据的储存位置<br />
<br />
其余的文件夹都与你的配置相对应。你可以在plugins/Magic中任何YML文件中自定义操作,或者在文件夹的单独文件内<br />
<br />
* '''crafting''': 自定义合成配方<br />
* '''enchanting''': 进度(自定义附魔可能不再是了)<br />
* '''items''': 自定义非法杖的原版物品<br />
* '''materials''': 自定义Magic与不同方块和物品的交互<br />
* '''messages''': 游戏内文本<br />
* '''mobs''': 自定义怪物,包括可释放技能的怪<br />
* '''spells''': 技能,包括商店,只要是使用行为(Actions)功能的<br />
* '''wands''': 一种自定义的可释放法术的魔法物品,也有一些其他功能<br />
<br />
== 简单个性化 ==<br />
<br />
请查阅 [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/defaults/config/defaults.yml 默认配置]以获取一些管理员常用的可修改的内容范例。<br />
同样列出来了所有默认的设置并附带注释。<br />
<br />
这里同样有一个[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/examples/customized/spells.yml spells.yml] 教你如何简单自定义法术的配置<br />
<br />
=== 自定义合成配方 ===<br />
<br />
可以通过修改 crafting.yml 以修改、移除或创建合成配方。请勿编辑crafting.defaults.yml,此文件仅作为参考,任何对其的更改将被插件覆盖掉<br />
<br />
如要关闭一个内置配方,请在文件中添加类似于如下的内容:<br />
<br />
<pre class="">battle:<br />
enabled: false</pre><br />
请查阅<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 生存服合成配置范例]以查看所有默认包含在内的配方<br />
<br />
=== 自定义技能 ===<br />
<br />
Magic是一个高度自定义的技能系统,服主们可以藉此创造非一般的游戏体验<br /><br />
插件本身会创建默认的技能配置(spells.defaults.yml),包含了一定数量的技能<br /><br />
如果你想要加新技能,或者删除自带技能,请编辑 &quot;spells.yml&quot; 模版文件,或者自己新建其他文件也可以<br />
注:只要是存在于plugins\Magic\spells文件夹下的文本都会被读取,即便是txt文本文档插件也会尝试读取<br />
<br />
'''请勿''' 编辑 spells.defaults.yml, 它只是一个默认文件范例,对它进行的任何修改都会被插件覆盖<br />
<br />
禁用一个技能也很简单,只需要在spells.yml(或对应的技能文件里)添加以下内容关闭即可,如:<br />
<br />
<pre class="">blast:<br />
enabled: false</pre><br />
可以查看Magic生成的<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/spells 默认的技能]。<br /><br />
这里包含了一系列的技能,且玩家可以在游戏中使用<br />
<br />
默认的配置文件有详细的使用说明,包括所有可用的设置项<br />
<br />
所有的技能都有一些应该调整的常用配置:<br />
<br />
* enabled - 设置为 &quot;false&quot; 以完全禁用一个现有的技能 (如默认生成的)<br />
* cooldown - 技能的冷却时间,单位为秒 (但是parameters里面的单位是毫秒)<br />
* range - 技能可以达到的目标有多远,单位为方块<br />
* transparent- 技能可以穿过的东西(如草、水)<br />
* costs - 释放时消耗的消耗物,可以是物品+数量,当然还有生命值、饥饿值等等<br />
* name, description, wand icon, 等都可以在技能文件里编辑<br />
<br />
更详细的文档:<br />
<br />
[[Magic/Custom Spells|自定义法术]]<br />
<br />
=== 行为系统 ===<br />
<br />
4.0迎来了一个大更新,如今法术逐渐改用行为系统<br />
<br />
你可以指定法术运行一系列行为来实现自定义化的效果,而无需使用旧的类系统<br />
<br />
译者注:类系统的灵活度较低,相当于作者设计了一些样式固定的技能只可以修改参数,而行为系统则可以细分法术以实现高度自定义<br />
<br />
例如:<br />
<br />
<pre class="">disintegrate:<br />
icon_url: http://i.imgur.com/zZKzDFS.png<br />
icon: bone<br />
category: combat<br />
pvp_restricted: true<br />
worth: 2500<br />
actions:<br />
cast:<br />
- class: Damage<br />
- class: ModifyBlock<br />
# ... 以此样式添加更多效果和参数即可</pre><br />
采用了行为系统的法术无需自行编写源代码,它们就像是乐高积木那样组合在一起,这也是作者称之为行为的原因<br />
<br />
正如你所见的Disintegrate技能, 它既可以造成伤害也可以修改方块<br />
<br />
欲知更多信息,请查阅[[Magic/Actions|行为系统]]<br />
<br />
=== 添加自定义法杖 ===<br />
<br />
可以在wands.yml添加自定义法杖, 也可以在游戏中创建并通过&quot;/wand save&quot;保存法杖<br />
<br />
可以参考默认配置中的插件内置法杖。比如&quot;base_wand&quot; 模板就可以为物品创建法杖提供不错的范例(此法杖有法术物品栏的功能,左键可释放法术),当然你也可以不采纳,发挥自己想象力即可<br />
<br />
这里是一个可供参考的战争服配置:<br />
<br />
<pre class=""># 这只是一个基础性配置模板,并没有使用一个游戏中确切的物品<br />
# 或许对于不少物品都能够采用此配置<br />
base_gun:<br />
# 因为作者不推荐直接使用,所以这个模板目前具有隐藏的属性,无法在TAB列表或法杖列表中看见<br />
# <br />
hidden: true<br />
# 对于枪械,应当右键开火,那么就可以这么设置<br />
right_click: cast<br />
# 左键则会触发alt-cast,此处的第二种施法方案可以自定义,用作装弹法术未尝不可<br />
left_click: alt_cast<br />
# If using custom icons, a wand must always be indestructible. This is because the damage value is<br />
# used to differentiate between icons.<br />
indestructible: true<br />
# This makes spell casts originate from a specific location relative to the player's eyes. In this case<br />
# we position them to come roughly out of the barrel of the weapon.<br />
cast_location: 0.5,-0.4,0.5<br />
# This prevents the vanilla mechanic that makes the items come up very slowly<br />
attributes:<br />
GENERIC_ATTACK_SPEED: 10<br />
<br />
# This is an actual gun we will use in-game.<br />
ak47:<br />
# Inherit from the base_gun template above, meaning we will use all of the properties that are set there.<br />
inherit: base_gun<br />
# This is the icon used. If adding your own items you will also need to add new items to the resource pack,<br />
# which is a bit complex and not covered here.<br />
icon: diamond_pickaxe:1<br />
# Each gun has only two spells- one that is cast on right-click<br />
active_spell: ak47<br />
# And one cast on left-click, to reload. There is no spell inventory<br />
alternate_spell: reload_ak47<br />
# Mana for guns represents ammo. It does not regenerate, the reload spell refills it.<br />
mana: 70<br />
mana_max: 70</pre><br />
The most important thing that differentiates a wand from a normal item is the ability to cast spells (run a set of actions, basically, doesn't have to be magical) and attach other mechanics to various clicks. In total wands can perform actions on any of the following:<br />
<br />
* left_click<br />
* right_click<br />
* swap (usually the F key)<br />
* drop (usually the Q key)<br />
<br />
The actions that can be bound to these keys<br />
<br />
* cast (cast the currently active spell)<br />
* alt_cast (cast the alternate spell)<br />
* toggle (open/close the spell inventory)<br />
* cycle (cycle to the next spell without using an inventory)<br />
* cycle_hotbar (cycle to the next hotbar)<br />
<br />
Detailed documentation:<br />
<br />
[[Custom Wands]]<br />
<br />
=== Customizing Progression ===<br />
<br />
The default Magic configurations use a progression system that can be customized.<br />
<br />
The basics of progression in Magic are:<br />
<br />
# Players craft a wand, which starts at the &quot;beginner&quot; rank.<br />
# Players earn Spell Points by casting spells.<br />
# Players interact with an enchantment table to show the spell shop.<br />
# The spell shop shows the player spells available to the beginner rank.<br />
# Players purchase spells from the spell shop by spending Spell Points.<br />
# For each spell purchased, a wand may gain mana, protection or other attributes.<br />
# Once a player collects all of the beginner spells, they rank up to student.<br />
# Ranking up may give the player a mana boost, change their wand icon, or have other effects.<br />
# Now the player will see student spells in the spellshop.<br />
<br />
Detailed documentation:<br />
<br />
[[Custom Paths]]<br />
<br />
=== Custom Icons ===<br />
<br />
For information on how to set up your own custom spell and wand icons, see [[Icons|Custom Icons]].</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Customization&diff=15836
Magic/Customization
2021-08-19T12:23:10Z
<p>炫宙菌:/* 添加自定义法杖 */</p>
<hr />
<div>Magic是个可完全自定义的插件。插件的性能、可用的技能、法杖以及游戏内文本都可以自定义<br />
<br />
== 前台编辑 ==<br />
<br />
查看[[Magic/In-Game-Customization|前台编辑]],你可以通过游戏指令或网页编辑器来更改部分内容<br />
<br />
== 常见问题 ==<br />
<br />
'''我的编辑无效!'''<br />
<br />
请审阅你编辑的文件,文件顶部有注释指引你如何编辑。<br />
<br />
最重要的是不要编辑plugins/Magic/defaults中的文件,他们只是作为参考文件,每次载入都会覆盖原有更改。他们代表着所有的现有配置内容,包括默认的以及你编辑的。<br />
<br />
你应当在 plugins/Magic 路径下进行操作,如果你还没有明白WIKI的意思,请继续往下看<br />
<br />
== 默认生存服配置 ==<br />
<br />
如果你无需自定义Magic的某些内容,<br /><br />
那么最好单独留着那个文件,如果下次默认配置有所更新的话可能会好一些<br />
<br />
作者一直在尝试让默认配置更加具有游戏平衡性和可玩性。<br /><br />
作者希望大家也可以参与默认配置的更新<br /><br />
这样能够更加让插件的默认设置贴合他的设想<br /><br />
但是如果你迫切需要个性化内容,作者也不会阻拦。<br />
<br />
Magic默认提供的体验:<br />
<br />
* 玩家默认无法使用插件命令<br />
* 玩家可以合成法杖 (如使用烈焰棒和下界之星)<br />
* (目前默认已关闭): 玩家可以在自然生成的箱子里拿到法杖<br />
* 法杖默认低等级,但是可以在附魔台升级<br />
* 法杖可以由铁砧制作(??)、从ESS商店中购买或从EssKit中获得等……<br />
* 在铁砧给法杖命名可以绑定给玩家,其他玩家就用不了了<br />
* 管理员可以设置任务或其他奖励以升级或生成法杖<br />
* 法杖是不可破坏的。如果安装了dynmap则会显示出来,玩家由此可以找到丢失的法杖<br />
* 每一个法杖都有一个背包大小的空间储存法术和材料,玩家可以借此使用和操作<br />
* 法杖使用 &quot;法力&quot; 系统,默认玩家会慢慢恢复法力<br />
* 如果找到或者创建一个拥有对应法术的法杖,那么玩家都有权释放所有法术<br />
<br />
上述任何内容都可以关闭或修改。下面有些不一样的设置:<br />
<br />
* 有三种不同的法杖物品栏模式可选择:<br /> <br />
chest inventory (默认的箱子物品栏模式), click-to-cycle(点击切换),和hotbar-enabled (热键)<br />
* 法杖、法术和命令其实还是基于权限的(可以设置VIP内容)<br />
* 玩家死亡可以保留法杖(对于所有玩家 或每一个法杖)<br />
* 法杖可预先装填玩家有权限使用的全部法术<br />
* 消耗材料而非法力释放<br />
* 其他物品形式的法杖 (如附魔剑)<br />
<br />
另外,默认的法术和法杖模版都是完全可修改的<br />
<br />
如果你希望使Magic本地化,你可以修改messages.yml <br /><br />
并且再留一份参与Github上的本地化。<br />
<br />
译者注:作者希望不同国家的使用者自己汉化好可以给大家都留一份<br />
<br />
== 插件文件夹的布局 ==<br />
<br />
有那么些个文件和文件夹在第一次允许Magic时就存在<br />
<br />
* '''defaults''': Magic会在此文件夹内放出默认的插件配置以供你随时查看<br />
* '''data''': 诸如玩家数据等数据的储存位置<br />
<br />
其余的文件夹都与你的配置相对应。你可以在plugins/Magic中任何YML文件中自定义操作,或者在文件夹的单独文件内<br />
<br />
* '''crafting''': 自定义合成配方<br />
* '''enchanting''': 进度(自定义附魔可能不再是了)<br />
* '''items''': 自定义非法杖的原版物品<br />
* '''materials''': 自定义Magic与不同方块和物品的交互<br />
* '''messages''': 游戏内文本<br />
* '''mobs''': 自定义怪物,包括可释放技能的怪<br />
* '''spells''': 技能,包括商店,只要是使用行为(Actions)功能的<br />
* '''wands''': 一种自定义的可释放法术的魔法物品,也有一些其他功能<br />
<br />
== 简单个性化 ==<br />
<br />
请查阅 [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/defaults/config/defaults.yml 默认配置]以获取一些管理员常用的可修改的内容范例。<br />
同样列出来了所有默认的设置并附带注释。<br />
<br />
这里同样有一个[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/examples/customized/spells.yml spells.yml] 教你如何简单自定义法术的配置<br />
<br />
=== 自定义合成配方 ===<br />
<br />
可以通过修改 crafting.yml 以修改、移除或创建合成配方。请勿编辑crafting.defaults.yml,此文件仅作为参考,任何对其的更改将被插件覆盖掉<br />
<br />
如要关闭一个内置配方,请在文件中添加类似于如下的内容:<br />
<br />
<pre class="">battle:<br />
enabled: false</pre><br />
请查阅<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 生存服合成配置范例]以查看所有默认包含在内的配方<br />
<br />
=== 自定义技能 ===<br />
<br />
Magic是一个高度自定义的技能系统,服主们可以藉此创造非一般的游戏体验<br /><br />
插件本身会创建默认的技能配置(spells.defaults.yml),包含了一定数量的技能<br /><br />
如果你想要加新技能,或者删除自带技能,请编辑 &quot;spells.yml&quot; 模版文件,或者自己新建其他文件也可以<br />
注:只要是存在于plugins\Magic\spells文件夹下的文本都会被读取,即便是txt文本文档插件也会尝试读取<br />
<br />
'''请勿''' 编辑 spells.defaults.yml, 它只是一个默认文件范例,对它进行的任何修改都会被插件覆盖<br />
<br />
禁用一个技能也很简单,只需要在spells.yml(或对应的技能文件里)添加以下内容关闭即可,如:<br />
<br />
<pre class="">blast:<br />
enabled: false</pre><br />
可以查看Magic生成的<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/spells 默认的技能]。<br /><br />
这里包含了一系列的技能,且玩家可以在游戏中使用<br />
<br />
默认的配置文件有详细的使用说明,包括所有可用的设置项<br />
<br />
所有的技能都有一些应该调整的常用配置:<br />
<br />
* enabled - 设置为 &quot;false&quot; 以完全禁用一个现有的技能 (如默认生成的)<br />
* cooldown - 技能的冷却时间,单位为秒 (但是parameters里面的单位是毫秒)<br />
* range - 技能可以达到的目标有多远,单位为方块<br />
* transparent- 技能可以穿过的东西(如草、水)<br />
* costs - 释放时消耗的消耗物,可以是物品+数量,当然还有生命值、饥饿值等等<br />
* name, description, wand icon, 等都可以在技能文件里编辑<br />
<br />
更详细的文档:<br />
<br />
[[Magic/Custom Spells|自定义法术]]<br />
<br />
=== 行为系统 ===<br />
<br />
4.0迎来了一个大更新,如今法术逐渐改用行为系统<br />
<br />
你可以指定法术运行一系列行为来实现自定义化的效果,而无需使用旧的类系统<br />
<br />
译者注:类系统的灵活度较低,相当于作者设计了一些样式固定的技能只可以修改参数,而行为系统则可以细分法术以实现高度自定义<br />
<br />
例如:<br />
<br />
<pre class="">disintegrate:<br />
icon_url: http://i.imgur.com/zZKzDFS.png<br />
icon: bone<br />
category: combat<br />
pvp_restricted: true<br />
worth: 2500<br />
actions:<br />
cast:<br />
- class: Damage<br />
- class: ModifyBlock<br />
# ... 以此样式添加更多效果和参数即可</pre><br />
采用了行为系统的法术无需自行编写源代码,它们就像是乐高积木那样组合在一起,这也是作者称之为行为的原因<br />
<br />
正如你所见的Disintegrate技能, 它既可以造成伤害也可以修改方块<br />
<br />
欲知更多信息,请查阅[[Magic/Actions|行为系统]]<br />
<br />
=== 添加自定义法杖 ===<br />
<br />
可以在wands.yml添加自定义法杖, 也可以在游戏中创建并通过&quot;/wand save&quot;保存法杖<br />
<br />
可以参考默认配置中的插件内置法杖。比如&quot;base_wand&quot; 模板就可以为物品创建法杖提供不错的范例(此法杖有法术物品栏的功能,左键可释放法术),当然你也可以不采纳,发挥自己想象力即可<br />
<br />
这里是一个可供参考的战争服配置:<br />
<br />
<pre class=""># 这只是一个基础性配置模板,并没有使用一个游戏中确切的物品<br />
# 或许对于不少物品都能够采用此配置<br />
base_gun:<br />
# This template is hidden since we don't want to use it directly. It will not show up in tab-completion<br />
# or in any lists of wands<br />
hidden: true<br />
# In this case, for guns, we want to cast on right-click, not left-click<br />
right_click: cast<br />
# Left-click will alt-cast, which for guns is the reload spell<br />
left_click: alt_cast<br />
# If using custom icons, a wand must always be indestructible. This is because the damage value is<br />
# used to differentiate between icons.<br />
indestructible: true<br />
# This makes spell casts originate from a specific location relative to the player's eyes. In this case<br />
# we position them to come roughly out of the barrel of the weapon.<br />
cast_location: 0.5,-0.4,0.5<br />
# This prevents the vanilla mechanic that makes the items come up very slowly<br />
attributes:<br />
GENERIC_ATTACK_SPEED: 10<br />
<br />
# This is an actual gun we will use in-game.<br />
ak47:<br />
# Inherit from the base_gun template above, meaning we will use all of the properties that are set there.<br />
inherit: base_gun<br />
# This is the icon used. If adding your own items you will also need to add new items to the resource pack,<br />
# which is a bit complex and not covered here.<br />
icon: diamond_pickaxe:1<br />
# Each gun has only two spells- one that is cast on right-click<br />
active_spell: ak47<br />
# And one cast on left-click, to reload. There is no spell inventory<br />
alternate_spell: reload_ak47<br />
# Mana for guns represents ammo. It does not regenerate, the reload spell refills it.<br />
mana: 70<br />
mana_max: 70</pre><br />
The most important thing that differentiates a wand from a normal item is the ability to cast spells (run a set of actions, basically, doesn't have to be magical) and attach other mechanics to various clicks. In total wands can perform actions on any of the following:<br />
<br />
* left_click<br />
* right_click<br />
* swap (usually the F key)<br />
* drop (usually the Q key)<br />
<br />
The actions that can be bound to these keys<br />
<br />
* cast (cast the currently active spell)<br />
* alt_cast (cast the alternate spell)<br />
* toggle (open/close the spell inventory)<br />
* cycle (cycle to the next spell without using an inventory)<br />
* cycle_hotbar (cycle to the next hotbar)<br />
<br />
Detailed documentation:<br />
<br />
[[Custom Wands]]<br />
<br />
=== Customizing Progression ===<br />
<br />
The default Magic configurations use a progression system that can be customized.<br />
<br />
The basics of progression in Magic are:<br />
<br />
# Players craft a wand, which starts at the &quot;beginner&quot; rank.<br />
# Players earn Spell Points by casting spells.<br />
# Players interact with an enchantment table to show the spell shop.<br />
# The spell shop shows the player spells available to the beginner rank.<br />
# Players purchase spells from the spell shop by spending Spell Points.<br />
# For each spell purchased, a wand may gain mana, protection or other attributes.<br />
# Once a player collects all of the beginner spells, they rank up to student.<br />
# Ranking up may give the player a mana boost, change their wand icon, or have other effects.<br />
# Now the player will see student spells in the spellshop.<br />
<br />
Detailed documentation:<br />
<br />
[[Custom Paths]]<br />
<br />
=== Custom Icons ===<br />
<br />
For information on how to set up your own custom spell and wand icons, see [[Icons|Custom Icons]].</div>
炫宙菌
https://mineplugin.org/index.php?title=Magic/Customization&diff=15835
Magic/Customization
2021-08-19T12:17:35Z
<p>炫宙菌:/* Adding Custom Wands */</p>
<hr />
<div>Magic是个可完全自定义的插件。插件的性能、可用的技能、法杖以及游戏内文本都可以自定义<br />
<br />
== 前台编辑 ==<br />
<br />
查看[[Magic/In-Game-Customization|前台编辑]],你可以通过游戏指令或网页编辑器来更改部分内容<br />
<br />
== 常见问题 ==<br />
<br />
'''我的编辑无效!'''<br />
<br />
请审阅你编辑的文件,文件顶部有注释指引你如何编辑。<br />
<br />
最重要的是不要编辑plugins/Magic/defaults中的文件,他们只是作为参考文件,每次载入都会覆盖原有更改。他们代表着所有的现有配置内容,包括默认的以及你编辑的。<br />
<br />
你应当在 plugins/Magic 路径下进行操作,如果你还没有明白WIKI的意思,请继续往下看<br />
<br />
== 默认生存服配置 ==<br />
<br />
如果你无需自定义Magic的某些内容,<br /><br />
那么最好单独留着那个文件,如果下次默认配置有所更新的话可能会好一些<br />
<br />
作者一直在尝试让默认配置更加具有游戏平衡性和可玩性。<br /><br />
作者希望大家也可以参与默认配置的更新<br /><br />
这样能够更加让插件的默认设置贴合他的设想<br /><br />
但是如果你迫切需要个性化内容,作者也不会阻拦。<br />
<br />
Magic默认提供的体验:<br />
<br />
* 玩家默认无法使用插件命令<br />
* 玩家可以合成法杖 (如使用烈焰棒和下界之星)<br />
* (目前默认已关闭): 玩家可以在自然生成的箱子里拿到法杖<br />
* 法杖默认低等级,但是可以在附魔台升级<br />
* 法杖可以由铁砧制作(??)、从ESS商店中购买或从EssKit中获得等……<br />
* 在铁砧给法杖命名可以绑定给玩家,其他玩家就用不了了<br />
* 管理员可以设置任务或其他奖励以升级或生成法杖<br />
* 法杖是不可破坏的。如果安装了dynmap则会显示出来,玩家由此可以找到丢失的法杖<br />
* 每一个法杖都有一个背包大小的空间储存法术和材料,玩家可以借此使用和操作<br />
* 法杖使用 &quot;法力&quot; 系统,默认玩家会慢慢恢复法力<br />
* 如果找到或者创建一个拥有对应法术的法杖,那么玩家都有权释放所有法术<br />
<br />
上述任何内容都可以关闭或修改。下面有些不一样的设置:<br />
<br />
* 有三种不同的法杖物品栏模式可选择:<br /> <br />
chest inventory (默认的箱子物品栏模式), click-to-cycle(点击切换),和hotbar-enabled (热键)<br />
* 法杖、法术和命令其实还是基于权限的(可以设置VIP内容)<br />
* 玩家死亡可以保留法杖(对于所有玩家 或每一个法杖)<br />
* 法杖可预先装填玩家有权限使用的全部法术<br />
* 消耗材料而非法力释放<br />
* 其他物品形式的法杖 (如附魔剑)<br />
<br />
另外,默认的法术和法杖模版都是完全可修改的<br />
<br />
如果你希望使Magic本地化,你可以修改messages.yml <br /><br />
并且再留一份参与Github上的本地化。<br />
<br />
译者注:作者希望不同国家的使用者自己汉化好可以给大家都留一份<br />
<br />
== 插件文件夹的布局 ==<br />
<br />
有那么些个文件和文件夹在第一次允许Magic时就存在<br />
<br />
* '''defaults''': Magic会在此文件夹内放出默认的插件配置以供你随时查看<br />
* '''data''': 诸如玩家数据等数据的储存位置<br />
<br />
其余的文件夹都与你的配置相对应。你可以在plugins/Magic中任何YML文件中自定义操作,或者在文件夹的单独文件内<br />
<br />
* '''crafting''': 自定义合成配方<br />
* '''enchanting''': 进度(自定义附魔可能不再是了)<br />
* '''items''': 自定义非法杖的原版物品<br />
* '''materials''': 自定义Magic与不同方块和物品的交互<br />
* '''messages''': 游戏内文本<br />
* '''mobs''': 自定义怪物,包括可释放技能的怪<br />
* '''spells''': 技能,包括商店,只要是使用行为(Actions)功能的<br />
* '''wands''': 一种自定义的可释放法术的魔法物品,也有一些其他功能<br />
<br />
== 简单个性化 ==<br />
<br />
请查阅 [https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/defaults/config/defaults.yml 默认配置]以获取一些管理员常用的可修改的内容范例。<br />
同样列出来了所有默认的设置并附带注释。<br />
<br />
这里同样有一个[https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/examples/customized/spells.yml spells.yml] 教你如何简单自定义法术的配置<br />
<br />
=== 自定义合成配方 ===<br />
<br />
可以通过修改 crafting.yml 以修改、移除或创建合成配方。请勿编辑crafting.defaults.yml,此文件仅作为参考,任何对其的更改将被插件覆盖掉<br />
<br />
如要关闭一个内置配方,请在文件中添加类似于如下的内容:<br />
<br />
<pre class="">battle:<br />
enabled: false</pre><br />
请查阅<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/crafting 生存服合成配置范例]以查看所有默认包含在内的配方<br />
<br />
=== 自定义技能 ===<br />
<br />
Magic是一个高度自定义的技能系统,服主们可以藉此创造非一般的游戏体验<br /><br />
插件本身会创建默认的技能配置(spells.defaults.yml),包含了一定数量的技能<br /><br />
如果你想要加新技能,或者删除自带技能,请编辑 &quot;spells.yml&quot; 模版文件,或者自己新建其他文件也可以<br />
注:只要是存在于plugins\Magic\spells文件夹下的文本都会被读取,即便是txt文本文档插件也会尝试读取<br />
<br />
'''请勿''' 编辑 spells.defaults.yml, 它只是一个默认文件范例,对它进行的任何修改都会被插件覆盖<br />
<br />
禁用一个技能也很简单,只需要在spells.yml(或对应的技能文件里)添加以下内容关闭即可,如:<br />
<br />
<pre class="">blast:<br />
enabled: false</pre><br />
可以查看Magic生成的<br /><br />
[https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/survival/spells 默认的技能]。<br /><br />
这里包含了一系列的技能,且玩家可以在游戏中使用<br />
<br />
默认的配置文件有详细的使用说明,包括所有可用的设置项<br />
<br />
所有的技能都有一些应该调整的常用配置:<br />
<br />
* enabled - 设置为 &quot;false&quot; 以完全禁用一个现有的技能 (如默认生成的)<br />
* cooldown - 技能的冷却时间,单位为秒 (但是parameters里面的单位是毫秒)<br />
* range - 技能可以达到的目标有多远,单位为方块<br />
* transparent- 技能可以穿过的东西(如草、水)<br />
* costs - 释放时消耗的消耗物,可以是物品+数量,当然还有生命值、饥饿值等等<br />
* name, description, wand icon, 等都可以在技能文件里编辑<br />
<br />
更详细的文档:<br />
<br />
[[Magic/Custom Spells|自定义法术]]<br />
<br />
=== 行为系统 ===<br />
<br />
4.0迎来了一个大更新,如今法术逐渐改用行为系统<br />
<br />
你可以指定法术运行一系列行为来实现自定义化的效果,而无需使用旧的类系统<br />
<br />
译者注:类系统的灵活度较低,相当于作者设计了一些样式固定的技能只可以修改参数,而行为系统则可以细分法术以实现高度自定义<br />
<br />
例如:<br />
<br />
<pre class="">disintegrate:<br />
icon_url: http://i.imgur.com/zZKzDFS.png<br />
icon: bone<br />
category: combat<br />
pvp_restricted: true<br />
worth: 2500<br />
actions:<br />
cast:<br />
- class: Damage<br />
- class: ModifyBlock<br />
# ... 以此样式添加更多效果和参数即可</pre><br />
采用了行为系统的法术无需自行编写源代码,它们就像是乐高积木那样组合在一起,这也是作者称之为行为的原因<br />
<br />
正如你所见的Disintegrate技能, 它既可以造成伤害也可以修改方块<br />
<br />
欲知更多信息,请查阅[[Magic/Actions|行为系统]]<br />
<br />
=== 添加自定义法杖 ===<br />
<br />
可以在wands.yml添加自定义法杖, 也可以在游戏中创建并通过&quot;/wand save&quot;保存法杖<br />
<br />
可以参考默认配置中的插件内置法杖。比如&quot;base_wand&quot; 模板就可以为物品创建法杖提供不错的范例(此法杖有法术物品栏的功能,左键可释放法术),当然你也可以不采纳,发挥自己想象力即可<br />
<br />
Here is an annotated example taken from the war configs:<br />
<br />
<pre class=""># This is a base template, it is not an actual item you would use in-game, but rather a set<br />
# of common properties that you might want to use for multiple items.<br />
base_gun:<br />
# This template is hidden since we don't want to use it directly. It will not show up in tab-completion<br />
# or in any lists of wands<br />
hidden: true<br />
# In this case, for guns, we want to cast on right-click, not left-click<br />
right_click: cast<br />
# Left-click will alt-cast, which for guns is the reload spell<br />
left_click: alt_cast<br />
# If using custom icons, a wand must always be indestructible. This is because the damage value is<br />
# used to differentiate between icons.<br />
indestructible: true<br />
# This makes spell casts originate from a specific location relative to the player's eyes. In this case<br />
# we position them to come roughly out of the barrel of the weapon.<br />
cast_location: 0.5,-0.4,0.5<br />
# This prevents the vanilla mechanic that makes the items come up very slowly<br />
attributes:<br />
GENERIC_ATTACK_SPEED: 10<br />
<br />
# This is an actual gun we will use in-game.<br />
ak47:<br />
# Inherit from the base_gun template above, meaning we will use all of the properties that are set there.<br />
inherit: base_gun<br />
# This is the icon used. If adding your own items you will also need to add new items to the resource pack,<br />
# which is a bit complex and not covered here.<br />
icon: diamond_pickaxe:1<br />
# Each gun has only two spells- one that is cast on right-click<br />
active_spell: ak47<br />
# And one cast on left-click, to reload. There is no spell inventory<br />
alternate_spell: reload_ak47<br />
# Mana for guns represents ammo. It does not regenerate, the reload spell refills it.<br />
mana: 70<br />
mana_max: 70</pre><br />
The most important thing that differentiates a wand from a normal item is the ability to cast spells (run a set of actions, basically, doesn't have to be magical) and attach other mechanics to various clicks. In total wands can perform actions on any of the following:<br />
<br />
* left_click<br />
* right_click<br />
* swap (usually the F key)<br />
* drop (usually the Q key)<br />
<br />
The actions that can be bound to these keys<br />
<br />
* cast (cast the currently active spell)<br />
* alt_cast (cast the alternate spell)<br />
* toggle (open/close the spell inventory)<br />
* cycle (cycle to the next spell without using an inventory)<br />
* cycle_hotbar (cycle to the next hotbar)<br />
<br />
Detailed documentation:<br />
<br />
[[Custom Wands]]<br />
<br />
=== Customizing Progression ===<br />
<br />
The default Magic configurations use a progression system that can be customized.<br />
<br />
The basics of progression in Magic are:<br />
<br />
# Players craft a wand, which starts at the &quot;beginner&quot; rank.<br />
# Players earn Spell Points by casting spells.<br />
# Players interact with an enchantment table to show the spell shop.<br />
# The spell shop shows the player spells available to the beginner rank.<br />
# Players purchase spells from the spell shop by spending Spell Points.<br />
# For each spell purchased, a wand may gain mana, protection or other attributes.<br />
# Once a player collects all of the beginner spells, they rank up to student.<br />
# Ranking up may give the player a mana boost, change their wand icon, or have other effects.<br />
# Now the player will see student spells in the spellshop.<br />
<br />
Detailed documentation:<br />
<br />
[[Custom Paths]]<br />
<br />
=== Custom Icons ===<br />
<br />
For information on how to set up your own custom spell and wand icons, see [[Icons|Custom Icons]].</div>
炫宙菌