我真的按了
本帖最后由 贺兰兰 于 2021-8-26 10:19 编辑


导读
G U I D E

此Wiki是MMOCore官方Wiki界面上最新版本的Wiki,我最大限度的还原了原Wiki的语句
仅删除了一些重复的页面。一些极难理解的部分我尽量会用更通俗易懂的语句描述出来。
排版均按照原文Wiki进行排版。
MMOCore是MMOItems同个作者所做的一款插件,维护至今该插件已经拥有了极其完整和复杂的体系
并且该插件与MMOItems类似,它拥有许多多种多样的系统
一个插件就可以解决需要多个插件才能实现的功能
并且,由于是由一个作者编写,该插件与MMOItems的兼容性极 其 好(真的超好)
如果你正在使用MMOItems,不妨配合这个插件一起使用,以打造一个优秀的MMORPG服务器

不会用MMOItems?欢迎移步我的MMOItems Wiki!


本插件在19年由@海螺螺 编写了Wiki,但是更新至此出现了很多新的功能
也被移除了一些功能,所以我决定重写该Wiki
并且,我会在帖子末尾附上最新版本的汉化配置文件,该文件将与插件版本同步更新

声明:

该文件以@Azitate 在MMOCore搬运贴上发布的1.4.2版本作为基础,
我个人增添汉化了一些新内容,并且修复了一些翻译错误并修改了一些插件更新后的配置格式
所以,本帖的一些有争议的汉化在定名时,比如技能名,副职业名
没有太大问题的,全部以Azitate的汉化配置文件为准。
这是大佬的搬运贴:[付费]MMOCORE


本帖更多是对原Wiki的还原,我也在原Wiki的基础上增添了一些注释,
包括一些没有注释的配置文件也写了注释。
一些难理解的部分也写上了个人的使用经验,方便阅读和理解。
如果目录跳转有错误请手动翻页,楼层顺序与目录相同

[字数统计]

汉字 23118 字
字符(不计空格) 75571 个
单词 7665 个
总字数 30783 字

仅统计初版Wiki字数,汉化配置文件与后期更新字数不计入

相关链接


本人能力微弱,如有错误欢迎指出,我会去确认并修改的
有问题都可以在本帖内提出,或者询问,看到了我会在能力范围内帮助你
欢迎去联机问答区发有关MMOCore和MMOItems的问题,并@我,我会提供支持
问答区的问题更容易获得支持,我也想恰点爱心

如果这篇帖子对你有些许帮助,可以给我一点人气吗?秋梨膏!


插件介绍
I N T R O D U C E
对此插件的介绍依旧沿用Azitate的介绍,他对该插件的概述描写的十分清楚。

MMOCORE为MMOITEMS作者的新一力作

本插件耗时6个月且经过了大量的调试与DEBUG

插件已趋于稳定可用于正常使用

该插件目前包含了18个主要功能

将来会添加更多的功能并支持Mysql存储

安装本插件可替代你服务器中的

公会、任务、职业、组队、好友、技能、传送点、经济、钓鱼、MCMMO/JOBS插件

本插件是个极为复杂的插件所以请保持耐心


目录
C A T A L O G U E

总览




主功能




副功能




副职业相关




兼容项与API



杂项



未翻译的内容


[API]

个人不太懂这方面,且开发插件的大佬英文水平肯定拉我10条街
我就不来献丑了


[转换至MySQL]

原Wiki为空页面,故无法翻译


汉化配置文件
C O N F I G

这里放上此贴发布时最新的MMOCore 1.7.1版本的汉化配置文件



MMOCore 1.7.1汉化配置文件.zip (47.74 KB, 下载次数: 330, 售价: 5 粒金粒)


汉化配置文件如有漏翻,错误,不兼容等问题可直接在帖子内回复,我会第一时间解决问题。

更新记录:



来自群组: Server CT

我真的按了
本帖最后由 1628872797 于 2021-5-19 15:37 编辑

主界面
H O M E
欢迎使用MMOCore Wiki!

如果你在Wiki中找不到所需的内容,欢迎进入官方Discord来获得进一步的支持。我们很乐意为你提供帮助!

译者注:这里简述下该Discord的反馈方式,该Discord不仅能为MMOCore提供支持,还可以为MMOItems和MythicMobs也提供支持,当然,你需要购买其高级版。首先,你需要注册一个
MythicCraft账号,这是MythicMobs的官方网站,并且MMOCore和MMOItems也是一起合作搞得,Discord也是共用一个。如果你是在Spigot上购买的插件,则首先需要绑定购买凭证在你的MythicCraft账号上。如果你是直接在该网站上购买的插件,则不需绑定。完成后,将你的Discord账号绑定至MythicCraft账号上,你就会自动拥有Discord频道内的权限。然后就直接发工单即可,支持贼快,棒的一批。)




我真的按了
本帖最后由 1628872797 于 2021-5-7 12:51 编辑

命令
C O M M A N D
下面是MMOCore所有可用命令的列表,你也可以在游戏中使用TAB补全来帮助使用命令。



常规命令

  • /mmocore - 显示帮助页面
  • /mmocore reload - 编辑配置文件后,重载整个插件,无需重启服务器。



货币命令

  • /mmocore note <玩家> <数值> - 给予该玩家一张面值<数值>的钞 票。可以存入银 行。
  • /mmocore coins <玩家> <数值> - 给予该玩家<数值>个硬 币。可以存入银 行。



任务命令

  • /mmocore quest start <玩家> <任务> - 强制该玩家开启某任务。
  • /mmocore quest cancel <玩家> - 强制取消该玩家当前的任务。



传送点命令

  • /mmocore waypoints unlock <传送点> <玩家> - 为该玩家解锁某个传送点。
  • /mmocore waypoints open <玩家> - 打开传送点菜单,并且检查该玩家是否站在一个传送点上。



管理命令

  • /mmocore admin attr-realloc-points <give/set> <玩家> <数值> -  将该玩家的属性点重新分配,并且给予/设定属性点
  • /mmocore admin attribute-points <give/set> <玩家> <数值> - 给予/设定该玩家的属性点。
  • /mmocore admin attribute <give/take> <玩家> <属性> <数值> - 给予/夺取该玩家的某个属性值。
  • /mmocore admin class <玩家> <主职业> - 设定某个玩家的主职业。
  • /mmocore admin force-class <玩家> <主职业> - 强制设定某个玩家的主职业。这意味着该玩家的等级,技能等等不会被更新。
  • /mmocore admin class-points <玩家> <数值> - 给予该玩家主职业点数。
  • /mmocore admin exp <玩家> <profession/main> <数值> - 给予该玩家的某个副职业/主职业经验。
  • /mmocore admin hideab <玩家> <时间> - 隐藏某个玩家的动作栏X时间。
  • /mmocore admin level <玩家> <profession/main> <数值> - 给予该玩家的某个副职业/主职业等级。
  • /mmocore admin nocd <玩家> - 管理员用于测试技能时可以使用。该命令会使该玩家无视技能消耗以及冷却。
  • /mmocore admin reset <玩家> - 强制清除某玩家的信息。比如主职业,等级,经验...
  • /mmocore admin resource-health <give/set/take> <玩家> <数值> - 修改玩家的生命值。
  • /mmocore admin resource-mana <give/set/take> <玩家> <数值> - 修改玩家的法力值。
  • /mmocore admin resource-stamina <give/set/take> <玩家> <数值> - 修改玩家的耐力值。
  • /mmocore admin resource-stellium <give/set/take> <玩家> <数值> - 修改玩家的星能点。
  • /mmocore admin skill-points <玩家> <数值> - 给予玩家技能点。可以用于升级技能。




经验加成命令

  • /mmocore booster create <profession/main> <倍率> <时长> (player) - 创建一个具有指定倍率和时长的经验加成器。
  • /mmocore booster list - 查看所有正在工作的经验加成器。
  • /mmocore booster remove <uuid> - 移除特定uuid的经验加成器。



技术性命令

  • /mmocore refreshpd <玩家> - 刷新某个玩家的玩家数据。必须在编辑任何技能后使用,尽管我们推荐直接重启服务器。所以,后果自负
  • /mmocore debug statmods <属性> - 查看属性。



其他命令
译者注:以下命令来自MMOCore搬运贴,原Wiki没有)

  • /player 或 /p - 开启玩家菜单。
  • /class <玩家> - 强制为某玩家开启主职业选择页面。
  • /waypoints - 开启传送点页面。
  • /deposit <玩家> - 强制为某玩家开启存钱页面。
  • /withdraw <玩家> - 取走玩家一些钱。
  • /party - 开启队伍菜单。
  • /friends - 开启好友列表。
  • /skills - 开启技能列表。
  • /quests - 开启任务列表。


我真的按了
本帖最后由 我真的按了 于 2021-6-21 16:56 编辑

变量
P L A C E H O L D E R
(提前说明,变量即为占位符,因为平时习惯称其为变量故也按此翻译。)
所有变量会在插件加载时自动注册,并且变量功能要求PlaceholderAPI插件正常启用。你无需执行任何命令即可初始化变量。小贴士:你也可以使用MVdWPlaceholderAPI插件的所有PAPI变量:{placeholderapi_mmocore_...}。



主要变量

  • %mmocore_attribute_ <属性>% - 返回玩家当前某个主属性的属性值。
  • %mmocore_<health/mana/stamina/stellium>% - 返回玩家当前的血量/法力/耐力/星能值。
  • %mmocore_<health/mana/stamina/stellium>_bar% - 以BOSS血条的方式返回玩家当前的血量/法力/耐力/星能值。
  • %mmocore_max_health% - 返回玩家的最大生命值。
  • %mmocore_stat_<stat_name>% - 返回玩家某个副属性的属性值。



点数变量

  • %mmocore_skill_points% - 返回玩家的技能点。详情见[玩家技能]
  • %mmocore_class_points% - 返回玩家的主职业点数。详情见[玩家主职业]
  • %mmocore_attribute_points% - 返回玩家的属性点。详情见[玩家能力]
  • %mmocore_attribute_reallocation_points% - 如上。(译者注:我真不想这么写,原Wiki就这么写的...)



主职业 & 副职业变量

  • %mmocore_level% - 返回玩家的主RPG等级。
  • %mmocore_level_percent% -返回升至下一级所需经验的百分比。
  • %mmocore_experience% - 返回玩家的经验。
  • %mmocore_next_level% - 返回玩家升到下一级所需的经验。与%mmocore_experience%配合效果更佳。
  • %mmocore_profession_<副职业>% - 返回玩家某个副职业的等级。
  • %mmocore_profession_experience_<副职业>% - 返回玩家某个副职业的经验。
  • %mmocore_profession_next_level_<副职业>% - 返回玩家某个副职业升到下一级所需的经与%mmocore_profession_experience_<副职业>%配合效果更佳。
  • %mmocore_profession_percent_<副职业>% - 返回玩家某个副职业升至下一级所需经验的百分比。
  • %mmocore_class% - 返回玩家的主职业名称,或者返回默认主职业。
  • %mmocore_mana_icon% - 返回玩家当前职业的法力图标。
  • %mmocore_mana_icon% - 返回玩家当前职业的法力名称。
  • %mmocore_bound_ <数值>% - 返回某个技能槽位中的技能名称。
  • %mmocore_exp_multiplier_<副职业>% - 返回某个副职业的经验倍率。
  • %mmocore_exp_boost_<副职业>% - 返回某个副职业由经验加成器提供的经验倍率。



任务&目标变量

  • %mmocore_quest% - 返回正在进行中的任务,没有任务则返回“None”。
  • %mmocore_quest_progress% - 返回当前任务的进度,没有任务则返回“0”。
  • %mmocore_quest_objective% - 返回当前任务的目标,没有任务则返回“None”。



公会变量

  • %mmocore_guild_name% - 返回公会名称,没有则返回''。(译者注:返回为空。下同。)
  • %mmocore_guild_tag% - 返回公会标签,没有则返回''。
  • %mmocore_guild_leader% - 返回公会首领,没有则返回''。
  • %mmocore_guild_members% - 返回公会成员,没有则返回''。
  • %mmocore_guild_online_members% - 返回公会在线的成员,没有则返回''。



技术型变量

技术型变量不用于返回供人类阅读的字符串,而是返回可以给其他插件使用的计算机可读字符串。

  • %mmocore_is_casting% - 如果该玩家是施法者,则返回true,否则返回false。
  • %mmocore_in_combat% - 如果该玩家正在战斗状态,则返回true,否则返回false。


我真的按了
本帖最后由 1628872797 于 2021-5-9 00:53 编辑

权限
P E R M I S S I O N S

  • mmocore.admin - 使用/mmocore admin 命令的权限。
  • mmocore.waypoints - 使用/waypoints 命令的权限。
  • mmocore.currency - 使用/deposit 和/withdraw 命令的权限。
  • mmocore.class-select - 使用/class 命令的权限。




我真的按了
本帖最后由 1628872797 于 2021-5-9 01:03 编辑

安装指南
I N S T A L L A T I O N   G U I D E

| 安装MMOCore 1.0.6+ |

首先,你需要MythicLib作为前置。然后,将MMOCore.jar拖放至plugins文件夹,并且重启服务器。当MMOCore与其他插件一起使用时,你可能需要设置一些特殊选项,以便MMOCore与该插件更好的兼容。

| MMOCore与MMOItems共用 |

安装MMOCore时,不得同时安装MMOItems Mana & Stamina。

最新的MMOItems与MMOCore有完全内置的绝对兼容。因此,同时使用这两个插件,你不需要做其他任何事。有关MMOCore与MMOItems兼容的更多信息,请查看[MMOItems 兼容]页面。




我真的按了
玩家主职业
P L A Y E R   C L A S S

由于大多数人的需求,一个极其支持自定义的主职业系统是MMOCore的标志之一。本页面将会介绍主职业系统的重要功能,并且教你该如何配置该系统。

我们的主职业系统旨在提供一个由用户自由定制的职业系统,该系统运行的非常优秀和稳定,我们把其他插件忽视的东西都重视了起来。

如果你想调出主职业选择菜单,只需要输入/class 命令即可。



| 主职业点数 |

如果你想选择或者更换主职业,则必须有一点主职业点数。该点数可以通过admin命令获得。通过使用该命令,服务器管理员可以在玩家升级时或者使用某些特殊物品时给予他们主职业点数。



| 默认主职业 |

玩家的默认主职业是Human(人类),这也是一个玩家最初始的主职业,他们可以通过获得主职业经验来升级该职业。不过该职业对于玩家算是一个临时主职业,因为该职业没有技能,并且初始属性很低。一旦玩家拥有了一点主职业点数,就应该更换一个主职业。预设的一些主职业有: Mage(法师),Marksman(神射手),Paladin(圣骑士),Rogue(盗贼)和Warrior(战士)。



| 主职业配置 |

每个主职业在文件夹中都有一个自己的配置文件,方便修改与配置。你可以根据需要创建多个职业配置文件,并且可以随意删除和修改预设的职业。创建新主职业时,你可以复制一份预设主职业配置,然后尽情发挥你的创意~
译者注:职业配置文件位于\MMOCore\classes文件夹内,本帖的汉化配置文件有相关注释帮助使用)


我真的按了
本帖最后由 1628872797 于 2021-5-9 01:04 编辑

玩家等级
L E V E L I N G
对于RPG与主职业来说,等级是个重要的东西。有许多途径可以获得经验来升级,也有许多物品可以让你获得经验来升级。



默认情况下,在你没有配置的时候,经验无法通过任何途径获得。你可以通过配置让任何东西都能给予玩家经验。首先,你有一个主等级,该等级即为你的主职业等级,然后,每一个副职业也有一个属于自己的等级。你可以在配置文件中设置副职业升级时给予主职业的经验。比如在mining.yml中:

  1. # 当这个职业升级时
  2. # 加到主等级的经验
  3. experience:
  4.     base: 20
  5.     per-level: 3
复制代码

如果你想让玩家在完成任务,击杀怪物等等日常中获得主等级经验,使用命令或者[触发器]即可。如果你希望MythicMobs怪物掉落经验,则可以在[自定义副职业]页面中查看经验来源部分。

你可以选择让主等级经验栏覆盖原版的经验栏。详见
[经验条]页面。


我真的按了
本帖最后由 我真的按了 于 2021-8-28 03:56 编辑

玩家能力
P L A Y E R   A T T R I B U T E S
玩家能力是一个使用广泛的RPG功能,他能为主职业增添更多的复杂性,你也可以把它理解为战斗技巧。默认情况下,MMOCore拥有三个玩家能力:力量、敏捷和智力。但是,你可以根据实际需要增添,删减,编辑任意数量的玩家属性。



| 能力 |

玩家能力是RPG统计数据,玩家可以通过升级能力来获得新的属性。目前MMOCore仅支持利用玩家能力来为玩家添加Buff,但我们计划为物品添加能力使用限制,即能力必须达到一定数值才可以使用某物品。利用能力变量,你可以为除了物品之外的东西添加限制,比如MythicMobs技能的条件。

| 能力菜单 |

使用能力菜单(可以用/attributes 命令打开),玩家可以查看自己的能力,升级能力或者使用能力洗点点数来重新分配能力点。

| 默认能力概述 |

默认的力量能力是给予像战士/圣骑士这样的坦克职业使用的,因为它既可以增加武器伤害,也可以增加血量来提升坦度。

战士,盗贼或者神射手也可以专门升级敏捷能力。该能力可以提高移动速度(可以帮助盗贼/神射手之类的职业避开战斗,或者提升战士在战斗中的战斗能力)。同时敏捷能力可以提升弓箭伤害和武器伤害。

智力
能力主要给法师使用,因为它可以极大增加魔法或者技能造成的伤害(相比于其他能力)。并且它会减少技能的冷却时间,其他职业也可以通过增加该能力减少技能的冷却时间。

最后,你可以使用attributes.yml配置文件来编辑这些
能力。预设的三个能力很经典,但你可以添加任意数量的其他属性,让能力系统变得更加复杂和有趣!


我真的按了
本帖最后由 1628872797 于 2021-5-8 19:22 编辑

玩家属性
P L A Y E R   S T A T I S T I C S
玩家的属性在MMOCore中十分重要。属性基于玩家的主职业,能力,队伍加成,临时技能,物品等等...



| 基于原版游戏的属性 |

  • attack_damage - 基础攻击伤害。
  • attack_speed - 原版攻击速度。(计算方式是1秒可以砍出几刀)
  • max_health - 原版最大血量。
  • movement_speed - 原版移动速度。(计算方式是100秒可以移动多少米)
  • knockback_resistance - 原版抗击退属性。
  • armor - 原版盔甲值。
  • armor_toughness - 原版盔甲韧性。(具体请看MC Wiki)



| 玩家资源 |

  • max_mana - 玩家拥有的最大法力值。
  • max_stamina - 玩家拥有的最大耐力值。
  • max_stellium - 玩家拥有的最大星能,星能用于传送点系统。
  • health_regeneration - 玩家的生命恢复速率。(默认:X点生命/秒,下同)
  • mana_regeneration - 玩家的法力恢复速率。
  • stamina_regeneration - 玩家的耐力恢复速率。
  • stellium_regeneration - 玩家的星能恢复速率。



| 实用 |

  • additional_experience - 玩家的经验加成倍率。
  • cooldown_reduction - 玩家的冷却缩减百分比。
  • speed_malus_reduction - 减少X%的减速效果。



| 暴击 |

  • critical_strike_chance - 玩家使用武器攻击时的暴击几率。
  • critical_strike_power - 玩家使用武器攻击时的暴击倍率。
  • skill_critical_strike_chance - 玩家使用技能攻击时的暴击几率。
  • skill_critical_strike_power - 玩家使用技能攻击时的暴击倍率。



| 伤害属性 |
以下属性是伤害的倍数,比如设定为50,则为伤害提升50%。

  • magic_damage - 魔法技能伤害倍率。
  • physical_damage - 物理技能/武器的伤害倍率。
  • projectile_damage - 弹射物的伤害倍率。
  • weapon_damage - 武器攻击的伤害倍率。
  • skill_damage - 所有技能的伤害倍率。
  • undead_damage - 对不死族的伤害倍率。
  • pvp_damage - 对玩家的伤害倍率。
  • pve_damage - 对玩家之外单位的伤害倍率。


我真的按了
玩家资源
P L A Y E R   R E S O U R C E S
MMOCore中拥有四个玩家资源。分别是:生命法力耐力星能。星能用于传送点系统,法力和耐力可以用于释放技能和使用物品。生命不多解释。

注:以下所有示例配置都可以主职业的配置文件中找到,例如classes/Mage.yml。



| 资源恢复 |

MMOCore拥有两种类型的资源恢复属性。第一种是基础恢复能力,该能力对以上四种玩家资源都适用。比如,玩家拥有10点耐力恢复属性,则每秒该玩家可以恢复10点耐力。如果你在主职业配置文件中启用
off-combat-stamina-regen选项,则该主职业的玩家只有在退出战斗状态后基础恢复能力才会生效。
译者注:每个玩家资源都有其对应的选项,比如上文的选项是专门给耐力值用的,下面的示例配置中的选项是专门给生命值用的,多多注意!)

默认的法师职业的相关配置:
  1. options:
  2.     off-combat-health-regen: true # 该职业的玩家只有退出战斗状态生命值属性才会恢复

  3. attributes:
  4.     health-regeneration:
  5.         base: 0.13 # 基础值
  6.         per-level: 0 # 每级增加的值
复制代码
法师职业在战斗状态之外时才会恢复生命,因为法师职业相当脆弱,所以该项可以逼迫他们尽量避战而专心治疗队友。法师的基础生命恢复速率为0.13/秒。

| 特殊资源恢复 |

MMOCore的第二种资源恢复类型可以视为一种被动技能。可以将某个职业的资源恢复给予该玩家的闪避率/最大生命值/法力值/耐力值。这样,该职业除了基本的资源恢复之外,也可以设置在脱离战斗时额外恢复/失去某个最大玩家资源的百分比。

如果你想自定义一个拥有特殊资源恢复的新职业,这将十分好用。比如,你可以制作一个使用怒气值而不是法力值的战士,在他脱离战斗后,他的怒气值会逐步减少。

当然,资源的恢复/失去速率也是可以在配置文件中调整的,你可以通过启用
off-combat项来使其在战斗状态时无法恢复玩家资源。

示例配置:
  1. resource:
  2.     health:
  3.         type: MAX
  4.         value:
  5.             base: 10
  6.             per-level: 1
  7.             max: 20
  8.         off-combat: true
复制代码
以上配置将在该职业玩家退出战斗状态时根据其等级恢复10%~20%的生命值。

type项只能设定为MAX或者MISSING,如果设为MAX则会获得,MISSING则会失去。数值部分对应每秒可以恢复X%的玩家资源,你也可以通过min和max可以界定范围。



我真的按了
本帖最后由 1628872797 于 2021-5-19 15:31 编辑

玩家技能
P L A Y E R   S K I L L S
技能是一个独特的系统,玩家可以用技能来攻击敌人,或者增强队友的战斗力和生存能力。技能分为主动技能和被动技能,被动技能在发生特定事件时自动触发,主动技能需要玩家将其绑定在技能槽位上并且主动释放技能才能触发。



| 升级技能 |

升级技能可以增强其威力。玩家可以根据自己游戏风格和决定走的技能路线自由升级技能,升级技能需要一个技能点。你可以在技能GUI(使用/skills 命令打开)中升级技能。

在GUI中的顶部选中你想升级的技能,并且点击升级按钮,即可升级该技能。在GUI的底部你可以看到该技能在升级后提升的数值。

| 绑定主动技能 |

玩家具有6个技能槽位,可以将想要的主动技能绑定在某些按键上。不过也因为如此,玩家一次最多只能绑定6个技能。

你可以使用技能GUI(/skills)来绑定技能,当你的技能升级后,你可以点击“切换绑定”按钮来查看你当前可用的技能槽位,也可以查看其他槽位上绑定了什么主动技能。

然后你可以通过点击某个槽位的物品按钮来将此技能绑定在该槽位上,绑定后,该槽位就会被替换为该技能,并保持更新。

如果未使用槽位X,绑定在其他槽位的技能将会自动填充到空槽位上,因此,低一级的键位总是会比其他键位被优先使用。

当你的技能升级和绑定完毕,你就可以释放他们了。详情见
[技能释放]页面。



| 预制的MMOCore技能 |

(译者注:该列表的阅读顺序将与MMOItems Wiki保持一致,为技能原名(译名)- 技能效果描述 - 可额外修改的参数。望周知!)
(译者注2:技能译名如没有太大问题均采用
Azitate的汉化配置文件定名,新加入的技能或翻译有些不准的技能由我进行定名。
(译者注3:为保持该列表的易用性,可额外修改的参数译名均不会出现在列表中,而是统一置于此处进行翻译,可自行查看可额外修改的参数译名并进行对照,并根据该技能语境对应翻译。)

可额外修改的参数:percent(百分比),extra(加成),damge(伤害),count(数量),
knockback(击退),duration(持续时间),radius(半径),ratio(比例),ignite(点燃时间),heal(治疗量),reduction(减伤百分比),redirect(重定向百分比),low(最低点),slow(减速时间),stun(眩晕),range(最大范围)

  • Ambers(琥珀)- 造成魔法伤害时有几率掉落琥珀,捡起琥珀可以恢复X%点法力值 - percent
  • Backstab(背刺)- 背刺可额外造成X%的伤害 - extra
  • Combo Attack(连击)- 连击目标,造成总共X点伤害 - damage, count
  • Control(操控)- 减速目标,单击左键后将其击退 - knockback, duration
  • Deep Wound(伤害加深)- 刺伤目标,根据对方失去的生命值造成额外伤害 - damage, extra
  • Empowered Attack(强击)- 使用后,下一次攻击会造成额外伤害,并对周围的敌人也造成伤害 - radius, ratio, extra
  • Evade(闪避)- 使用技能后免疫所有伤害,直到你再次攻击或者持续时间结束 - duration
  • Fire Berserker(火之勇者)-  当你被点燃时提升伤害 - extra
  • Fire Rage(火之愤怒) - 降低你的移动速度,但是能快速释放火焰弹,造成伤害和点燃目标 - count, damage, ignite
  • Fire Storm(火焰风暴)- 向四周释放火球,并造成伤害和点燃目标 - ignite, damage
  • Fireball(火球术)- 向目标发射一个火球,并且击中后会破裂成火焰碎片 - damage, ignite, ratio
  • Furtive Strike(偷袭)- 造成伤害,如目标周围无人,则造成额外伤害 - damage, extra, radius
  • Greater Healings(强效治疗术)- 次级治疗术的加强版本,更好的奶人 - heal
  • Human Shield(舍身守护)- 减少队友所受的伤害,并将减少的伤害转移到你身上 - reduction, redirect, duration, low译者注:此技能比较特殊,额外描述。当你释放此技能时,队友受到的伤害会减少reduction%,并将减少的伤害的redirect%转移到你身上,持续duration秒,当你的血量低于low点血量时失效)
  • Ice Spikes(冰刺)- 在地上召唤一些冰刺,冰刺将减速目标并对其造成伤害 - damage, slow
  • Minor Healings(次级治疗术)- 奶人 - heal
  • Neptune's Gift(海王星的礼物)- 站在水上时,法力和耐力的恢复速度提升 - extra
  • Power Mark(力量标记)- 标记会布满敌人的周围,在标记附近造成的伤害的一定比例都会被标记累积,X秒后标记爆炸,并对周围敌人造成累积的伤害和眩晕,伤害越高眩晕时间越长 - stun, ratio, duration
  • Sneaky Picky(潜行攻击)- 进入战斗状态的第一次攻击将造成额外伤害 - extra
  • Telekinesy(控制)- 控制目标,单击左键将其击退 - duration, knockback
  • Warp(传送)- 传送到目标位置 - range
  • Weaken(削弱)- 削弱目标,使其收到的伤害增加 - ratio, duration


:尽管没有在列表中写出,但是大多数技能都拥有cooldown(冷却时间),mana(消耗法力值),stamina(消耗耐力值)修饰符。(重点!)

| 技能文件夹 |

技能文件夹(MMOCore\skills)内包含所有MMOCore预设的技能,这些技能都被写死在插件内,无法删除,如果你不想使用某个技能,不要将其分配给职业即可。

每个技能都有专门的YAML文件,你可以在此文件内编辑Lore以及技能菜单(/skills)中的Lore,最好不要乱动里面的变量,以免引发错误。

| 示例技能 |

  1. name: 火焰风暴
  2. lore:
  3. - 向周围的敌人发射六枚火焰弹
  4. - 每个火焰弹造成 &c{damage} &7伤害
  5. - 并点燃目标 &c{ignite} &7秒
  6. - ''
  7. - '&e{cooldown}秒冷却'
  8. - '&9消耗 {mana} {mana_name}'
  9. material: BLAZE_POWDER
  10. damage:
  11.   base: 5.0
  12.   per-level: 3.0
  13. ignite:
  14.   base: 2.0
  15.   per-level: 0.1
  16. mana:
  17.   base: 15.0
  18.   per-level: 2.0
  19. cooldown:
  20.   base: 5.0
  21.   per-level: -0.1
  22.   max: 5.0
  23.   min: 1.0
复制代码
以上是一个示例技能,该技能有技能名称,Lore和几个属性修饰符。

你可以通过修改name选项来修改该技能在技能菜单(/skills)里显示的名称,修改lore选项可以修改在技能菜单里的Lore,material选项则是修改该技能在技能槽位或者是技能菜单里显示的物品。
通过修改底下的属性修饰符,你可以修改该技能的各种属性。首先你需要为这些属性提供一个基础值,然后设定该技能每升一级会提高多少点属性值。当然,你也可以设置这些属性的最大或者最小值,不至于出现冷却时间为负数的情况。

| 将MythicMobs技能与MMOCore绑定 |

遗憾的是,目前我们还没有“自己编写一个技能”的功能。但是,我们做到了可以将MythicMobs技能绑定至MMOCore,这非常coooooooooooool。这将有效替代对SkillAPI之类插件的需求,通过MythicMobs的语法制作属于自己的数百种技能,在此之外,你能也可以用我们提供的预设技能并对该技能做进一步拓展。

目前MMOCore中应用于玩家的预设技能并没有这么多。但是,你可以使用MythicMobs(必须为高级版)为MMOCore制作技能,这为技能制作提供了无限可能。注意:该功能至少需要MythicMobs 4.7.0 或者更高版本。

如果你想使用该功能,首先你需要在/skills/mythic-mobs文件夹内创建一个YAML配置文件,文件名将会被作为MMOCore中的技能ID。
以下是示例配置:
  1. # 在MythicMobs中的技能识别名
  2. mythicmobs-skill-id: IceBolt

  3. # 显示选项
  4. name: 冰弹
  5. lore:
  6. - '发射一枚冰弹'
  7. - '造成 &b{damage} &7点伤害并减速'
  8. - '你的目标 &b{slow} &7秒'
  9. - ''
  10. - '&e{cooldown}秒冷却时间'
  11. material: ICE

  12. # 属性修饰符
  13. cooldown:
  14.     base: 3.0
  15.     per-level: -0.1
  16.     max: 3.0
  17.     min: 1.0
  18. damage:
  19.     base: 6
  20.     per-level: 3
  21. slow:
  22.     base: 3
  23.     per-level: 1
复制代码
如你所见,技能的显示选项与属性修饰符的格式与预设技能格式相同。不同的是,你需要使用mythicmobs-skill-id选项将一个MythicMobs技能绑定在该技能上。请确保你输入的MythicMobs技能ID准确无误,此时,MMOCore会自动检测到技能(如果你将该技能分配给了一个职业)。

当你在MMOCore中配置完毕后,就可以转到MythicMobs中配置技能。我们将使用MythicMobs Wiki中的一个示例技能Ice Bolt,该示例技能可以发射一个具有伤害和减速效果的冰弹。
示例技能配置:
  1. IceBolt:
  2.   Skills:
  3.   - projectile{onTick=IceBolt-Tick;onHit=IceBolt-Hit;v=8;i=1;hR=1;vR=1} @targetLocation
  4. IceBolt-Tick:
  5.   Skills:
  6.   - effect:particles{p=snowballpoof;amount=20;speed=0;hS=0.2;vS=0.2} @origin
  7. IceBolt-Hit:
  8.   Skills:
  9.   - damage{a=10}
  10.   - potion{type=SLOW;duration=100;lvl=2}
复制代码

现在,因为该技能存在这么几行:
  1. - damage{a=10}
  2. - potion{type=SLOW;duration=100;lvl=2}
复制代码
所以该技能的伤害和减速效果不能在MMOCore中修改。

但是MythicMobs高级版可以在技能里使用公式和MythicMobs变量,所以这些技能可以通过PAPI变量的不同来造成不同伤害。

MMOCore专门为这些技能提供了一个新的MythicMobs变量<mmocore.skill.(技能名称).(修饰符)>,该变量基本可以返回该技能所有属性修改器的值。因此,你可以使用此变量在MythicMobs设定伤害数值与持续时间。

  • damage{a="<mmocore.skill.IceBolt.damage>"}
  • potion{type=SLOW;duration="<mmocore.skill.IceBolt.slow> * 20";lvl=2} 别忘了乘20,因为MMOCore使用秒作为时间单位,MythicMobs用tick作为时间单位。



重要提示:该变量严格区分大小写,这意味着类似<mmocore.skill.icebolt.damage>,<mmocore.skill.ICE_BOLT.damage>,<mmocore.skill.Ice-Bolt.damage>等变量都不会启用。确保在该变量中使用的技能名为与MythicMobs中的技能识别名完全一致,比如以上的示例变量就严格遵守了该规定。

| 被动技能 |

如果你想使用MythicMobs制作一个被动技能,首先你需要将passive-type: <被动类型> 项添加到/skills/mythic-mobs的技能YAML配置文件中。

如果你添加了这个选项,则这个技能不能被玩家绑定至技能槽位中,并且会在特定的事件触发时自动释放技能,具体是什么事件取决于被动类型。

被动技能的施法者永远是玩家,但是@target 选择器选择的目标会根据被动类型来改变。

| 可用的被动类型 |
(译者注:被动类型列表的格式是:被动类型 - 描述 - 触发目标,望周知!)

  • player_attack - 当玩家攻击某物时释放技能 - 玩家攻击的实体
  • player_damage - 当玩家受到伤害时释放技能 - 玩家
  • player_damage_by_entity - 当玩家受到其他实体的伤害时释放技能 - 伤害玩家的实体
  • player_death - 玩家死亡时释放技能 - 玩家
  • player_kill_entity - 玩家杀死一个实体时释放技能 - 被玩家杀死的实体
  • Shoot_bow - 当玩家使用弓射出一根箭时释放技能 - 被射出的箭
  • player_login - 当玩家登录时释放技能 - 玩家


我真的按了
本帖最后由 1628872797 于 2021-5-7 21:23 编辑

传送点
W A Y P O I N T S
传送点是让玩家保存自己的探索进度的一种方式。传送点是一个可以在世界中配置的地点,当玩家解锁了传送点时,就可以利用传送点来进行快速旅行,并且传送点之间互相链接。玩家可以站在传送点上按下Shift键来解锁传送点,并且玩家可以传送到他们之前解锁过的任何一个传送点。

默认情况下,玩家没有已解锁的传送点,但是随着玩家探索世界,就可以解锁越来越多的传送点,玩家可以在这些传送点之间快速旅行。但如果是没有被解锁的传送点,玩家将看不到它,当然也不能往那个点上传送。当玩家站在传送点上或者站在传送点附近时,会自动为玩家打开传送点菜单。

最重要的一点是:在传送点之间传送会消耗星能,星能是一种玩家资源,就像法力值一样,它可以随着时间推移而恢复,但是恢复速度会慢得多。星能用于平衡传送点系统,防止玩家随意传来传去。



| 传送点列表 |

玩家可以使用/waypoints 命令打开传送点菜单。这个菜单会显示服务器上所有的传送点,包括未解锁的传送点。已解锁的传送点将以末影之眼显示在菜单上。

使用命令打开传送点菜单只能让你查看传送点,而不能使用该菜单使用传送点。想要使用传送点,必须站在传送点上按下Shift键,虽然打开的是同一个菜单,但是用此方式打开的菜单可以进行传送,并且目前站立的传送点会在菜单上高亮显示(使用MC原版的发光效果)。然后,你就可以通过点击传送点消耗星能来传送到其他传送点。

在你解锁传送点和传送到其他传送点时,还有一个很cooooooooooool的动画效果。

| 传送点配置文件 |

waypoints.yml是所有传送点的配置文件。传送点系统不是一个必备系统,如果你不希望在服务器上使用该系统,只需要留白该配置文件即可,不会有任何问题。

| 传送点配置文件示例 |

在下面的段落中,会将该配置文件拆分,详细解释该传送点的配置文件。(译者注:感觉其实看看配置文件的注释就能懂。)
  1. # 传送点ID,每个ID之间不能冲突
  2. spawn:

  3.     # 传送点在GUI中显示的名称
  4.     name: '主城'
  5.    
  6.     # 传送点位置设置: <世界名> <x y z> <yaw> <pitch>
  7.     # Yaw和pitch就是玩家的视角位置,详细可以查看minecraft百科,不作详细解释
  8.     location: 'world 69 71 136 136 0'
  9.    
  10.     # 传送点半径
  11.     radius: 1.5
  12.    
  13.     # 星能消耗
  14.     # 星能是该插件特有的传送消耗点数单位,它会自然恢复不过恢复速度非常慢
  15.     stellium: 3

  16.     # 当玩家在这个传送点附近时,按下潜行键可以打开传送点菜单
  17.     sneak: true
  18.    
  19.     # 默认解锁该传送点?
  20.     default: true
复制代码
  • name:
这是该传送点在/waypoints 命令打开的菜单中显示的传送点名称,这与仅仅是用于配置的内部ID不是一个东西。并且这两项不一定要保持一致。

  • location:
这是该传送点的坐标位置,配置格式为<世界名> <x> <y> <z> <yaw> <pitch>。<yaw>和<pitch>是玩家所朝向的视角,具体请查看Minecraft 中文Wiki。如配置文件所示,末尾那个数请保持为0。(译者注:原wiki这么写的,可能是为了让玩家传送时保持平视?)

  • radius:
该项设定了玩家必须距离传送点多进才能解锁或者利用它进行传送。该项设定的数值为半径,以方块的块数为计量单位,比如你设置为5,则以传送点为圆心半径为5的圆内都可以解锁和使用该传送点。实际使用时,最好与你建造的传送点标志建筑相匹配,免得设的过小玩家根本就无法解锁该传送点。

  • stellium:
该项设定了传送到该传送点需要消耗多少星能。完全可以自定义数值,定为0则不消耗。一些高级的传送了可以让玩家消耗更多星能。

  • sneak:
该项设定了该传送点是否可以通过按下Shift键来进行解锁。如果设置为false,则你就拥有了一些只能通过任务奖励或者特殊物品才能解锁的传送点!这些传送点可以从其他传送点传送过来,但是玩家尝试用Shift去解锁时会无法解锁。

  • default:
该项设定了该传送点在默认情况下,是否就是已解锁状态。

  • dynamic:
该项设定了此传送点是否不需要站在其他传送点上,只需要打开传送点菜单上就能传送。


我真的按了
本帖最后由 1628872797 于 2021-5-9 01:06 编辑

战利品箱
L O O T   C H E S T S
战利品箱是鼓励和奖励玩家们探索世界的好方法。战利品箱有可能会在处于特定区域的玩家周围生成,并在其中随机生成一些战利品。战利品箱分为几个品质,品质越高,奖励也就越好。

战利品箱的默认配置可以在MMOCore/loot-chests.yml中找到。



| 常规全局选项 |

以下选项可以在插件的config.yml文件中找到。(译者注:有注释解释了这两个选项的作用)
  1. loot-chests:

  2.     # 战利品箱保留的时间(秒)
  3.     # 超时后战利品箱将消失
  4.     chest-expire-time: 600
  5.    
  6.     # 战利品箱的刷新时间
  7.     player-cooldown: 600
复制代码

| 战利品箱生成区域 |

MMOCore支持你自定义可以生成战利品箱的区域。与WorldGuard区域一样,首先你需要设定区域边界:
  1. sample-region: # 战利品箱生成区域的ID,不得与其他的区域相同
  2.    
  3.     # 生成区域的边界
  4.     bounds:
  5.         world: 世界名填在这里
  6.         x1: 32
  7.         x2: -15
  8.         z1: -419
  9.         z2: -375
复制代码

然后,你需要设定该区域生成战利品箱的频率(以秒为单位,默认为120秒,也就是2分钟)
  1. # 箱子生成的时间间隔
  2.     spawn-period: 120
复制代码
每隔X秒,MMOCore就会在该区域随机点名一位处于该区域的玩家,并且在其附近生成一个战利品箱。在点名时,插件会过滤掉处于战利品箱生成冷却的玩家,所以,如果该区域没有玩家或者所有玩家都处于冷却,该区域就不会生成战利品箱。

| 战利品箱品质 |

战利品箱品质直接决定了箱子内战利品的多少与优劣。当一个区域在生成战利品箱时,每个战利品箱品质都有机会被选中。
  1. tiers:
  2.    
  3.         # 品质ID
  4.         normal:
  5.         
  6.             # 粒子效果设置
  7.             effect:
  8.                 type: OFFSET # 动画类型
  9.                 particle: FLAME # 粒子类型
  10. # 可以找到可用的粒子名称 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html
  11.                 period: 60 # 粒子效果每次出现的时间间隔
  12.             
  13.             capacity: 10
  14.             chance: 1
  15.             drops:
  16.                 items:
  17.                 - 'vanilla{type=DIAMOND}'
复制代码

每个战利品箱品质都有自己的粒子效果,每X个tick(对应period项)都会在战利品箱附近显示一次,直到该战利品箱被打开/过期为止。显示的粒子可以调整其类型(粒子绘制的图案或者形状)和其使用的粒子。可用的粒子类型有HELIX,OFFSET和GALAXY。在Spigot Javadocs上可以找到所有可用的粒子名称。

chance项是该战利品箱生成时选中该品质的几率,所有几率的总和应为1。(0.1是10%几率)

drops项是该战利品箱品质中可生成的物品表,capacity项是该品质的战利品容量。如果你想知道战利品容量是怎么使用的,请查看[掉落物表]页面。你可以直接使用capacity: 10的方式直接指定一个不变的数值,或是利用公式来做一个可变的数值,如下所示:
译者注:啊...熟悉的配置,MMOItems中用了相同的配置公式,我在MMOItems的Wiki中详细解释了该公式的计算方式,具体可见MMOItems Wiki的[物品属性 & 选项]页面中的数值属性部分。)

  1. capacity:
  2.     base: 10 # 拥有10点基础数值
  3.     scale: 3 # 玩家每有一级,增加3点数值
  4.     spread: 0.1 # 在上方计算的数值上进行波动,波动范围为+/- 10%
  5.     max-spread: 0.3 # 波动的最大范围
复制代码

如果你已经在drop-table文件夹中配置了一些掉落表,你可以直接把配置好的掉落表ID直接拿来用。当然,你也可以为这个战利品箱等级写一个全新的掉落表。


我真的按了
本帖最后由 1628872797 于 2021-5-9 01:06 编辑

任务系统
Q U E S T S
任务是可以让玩家获得物品和经验的一系列目标。目标可以有很多种,比如前往某个地点,与NPC交谈,杀死X个怪物,将物品带回给NPC等等......其中一些目标需要装额外的插件,比如制作NPC的Citizens插件,或者MythicMobs提供的额外怪物目标。



| 前置任务 |

一个任务可能会要求你先完成另一个任务,所以你可以利用这个设置来做剧情线之类的东西。任务有一些触发器,可以在玩家完成某个目标后给予信息或者执行命令之类的,可以用于解释任务或者给予奖励。

| 任务进度 |

当玩家开始一个任务时,可以在任务GUI或者BOSS血条上追踪当前任务信息,可以看到目前的任务目标是什么,也可以看到距离完成任务还有多少进度。


| 任务菜单 |

玩家可以在任务菜单中查看所有可用和未锁定的任务,任务菜单可以使用/quests 命令打开。

| 如何设置任务 |

以下各段介绍了如何设置一个自定义任务,任务的所有配置文件都处于MMOCore/quests 文件夹下。

| 任务示例 |

  1. # 任务要求,默认要求是main,其他的是职业的类名
  2. level-req:
  3.     main: 10
  4.     mining: 5

  5. # 任务在GUI中显示的名称
  6. name: '新世界'

  7. # 任务在GUI中显示的LORE
  8. lore:
  9. - '一个例子任务.'
  10. - ''
  11. - '&e奖励:'
  12. - '&7► 木头工具'
  13. - '&7► 皮革甲'
  14. - '&7► 100 经验'


  15. parent: []


  16. delay: 12


  17. objectives:
  18.     1:
  19.         type: 'goto{world="world";x=56;y=68;z=115;range=5}'
  20.         lore: '前往营地'
  21.         triggers:
  22.         - 'message{format="&a铁匠> &f嗨, %player%! 我现在需要一个人来帮我."}'
  23.         - 'message{format="&a铁匠> &f你能给我三块橡木原木吗?"}'
  24.         - 'sound{sound=ENTITY_EXPERIENCE_ORB_PICKUP}'
  25.     2:
  26.         type: 'mineblock{type="OAK_LOG";amount=3}'
  27.         lore: '取得3块项目原木!'
  28.         triggers:
  29.         - 'message{format="&a铁匠> &f干得好, 现在把这些木头带回来给我!"}'
  30.         - 'sound{sound="ENTITY_EXPERIENCE_ORB_PICKUP"}'
  31.     3:
  32.         type: 'getitem{type="OAK_LOG";amount=3;npc=0}'
  33.         lore: '把原木交给铁匠.'
  34.         triggers:
  35.         - 'message{format="&a铁匠> &f干得好, 再次与铁匠交谈获得武器!"}'
  36.         - 'sound{sound=ENTITY_EXPERIENCE_ORB_PICKUP}'
  37.     4:
  38.         type: 'talkto{npc=0}'
  39.         lore: 从铁匠那获得你的武器!'
  40.         triggers:
  41.         - 'item{type=WOODEN_SWORD}'
  42.         - 'item{type=WOODEN_AXE}'
  43.         - 'item{type=BOW}'
  44.         - 'message{format="&a铁匠> &f去杀死五个骷髅骑士完成任务!"}'
  45.         - 'sound{sound=ENTITY_PLAYER_LEVELUP}'
  46.     5:
  47.         type: 'killmythicmob{name="SkeletalKnight";amount=5}'
  48.         lore: '击杀五个骷髅骑士!'
  49.         triggers:
  50.         - 'message{format="&a你已完成本教程!"}'
  51.         - 'sound{sound="ENTITY_PLAYER_LEVELUP"}'
  52.         - 'experience{amount=100}'
复制代码

| 分解以上配置 |

上面的配置时在quests文件夹内的YAML配置之一,每个任务都有一个独立的配置文件。该配置文件的第一个选项level-req,设定了玩家需要什么等级才可以解锁该任务。以上的配置文件设为主等级需要10级,挖矿等级需要5级才可以解锁该任务。

然后,在name项你可以设置该任务在任务菜单中显示的名称。

lore项设置该任务在任务菜单中显示的Lore,顺便一提,Lore下写的物品不会作为给予奖励的依据,只是单纯用于展示。

下一个parent选项可以设置该任务的前置任务,你需要先完成前置任务才可以解锁该任务。

delay选项设置该任务的冷却时间,在玩家完成任务后,可再次接取该任务的冷却时间,以小时为单位。如果你想将该任务设置为一次性任务,则不用填写任何内容,如果你想玩家完成该任务后可立即再次接取,设置为0即可。

| 目标 |

设置完任务的基本选项后,你就可以设置该任务的目标了。在配置文件内部,目标拥有类型,lore和触发器三个选项。

类型是玩家所需完成的操作种类,lore则是告诉玩家应该完成什么操作,触发器决定了玩家在完成了该目标后会发生什么。

因为目标的lore是显示在BOSS血条上的,所以你可以通过添加bar-color: <颜色>来更改BOSS血条的颜色。在
Spigot Javadocs上可以找到所有可用的颜色。

触发器既可以为玩家展示RPG的剧情,也可以为下一个目标做说明,或者只是单纯用于给予奖励。



| 一般目标 |
译者注:目标的格式为 目标 - 目标描述 - 示例配置,望周知!)

  • clickon - 玩家必须点击地图上的某个位置 - clickon{world=<世界名>;x=<x>;y=<y>;z=<z>;range=<半径>
  • mineblock - 玩家必须挖掘X个某种方块 - mineblock{type=<方块类型>;amount=<数量>}
  • killmob - 玩家必须击杀X个原版怪物 - killmob{type=<怪物名称>;amount=<数量>}
  • goto - 玩家必须到达某个坐标 - goto{world=<世界名>;x=<x>;y=<y>;z=<z>;range=<半径>}

| NPC目标 |

  • getitem - 玩家必须给NPC一些原版物品 - getitem{type=<物品类型>;npc=<NPC ID>;amount=<数量>}
  • getmmoitem - 玩家必须给NPC一些MMOItems的物品 - getmmoitem{type=<MMOItems物品类型>;id=<MMOItems物品ID>;npc=<NPC ID>;amount=<数量>}
  • talkto - 玩家必须与某个NPC对话 - talkto{npc=<NPC ID>}

| MythicMobs目标 |

  • killmythicmob - 玩家必须击杀X个MythicMobs怪物 - killmythicmob{name=<MythicMobs怪物识别名>;amount=<数量>}



| 触发器类型 |

触发器的更多信息请查看
[触发器]页面。


我真的按了
本帖最后由 我真的按了 于 2021-8-28 03:59 编辑

技能释放
C U S T O M   S K I L L   C A S T I N G
如果想释放主动技能,玩家必须按下[F]键进入释放模式。当玩家处于释放模式时,只要不再次按下[F]退出,就可以通过按[1]到[6]键来释放绑定的对应技能。处于释放模式时,玩家可释放的技能会显示在玩家的快捷栏上。如下图所示。(译者注:别问为什么没图,问就是原Wiki也没有,脑补下吧)

玩家无法在创造模式下释放技能。



| 技能槽偏移 |

你可能会注意到,截图上显示的按键并不是[1]到[6]的按键。这是因为玩家目前手持的物品正在处于快捷栏的第四个槽位上,因此他无法按下[4]来释放技能(MC不会监听无意义的物品交换),所以,技能从第四个槽位开始都往后偏移了一格。如果玩家可以保持将物品都放置于快捷栏的7,8,9号槽位上,就不会发生技能槽偏移。

| RPG快捷栏交换 |

如果你在config.yml中启用hotbar-swap选项,玩家可以通过按下潜行+交换物品键来将当前快捷栏的物品与快捷栏上方一栏的物品交换。此选项可以帮助玩家轻松更换自己的游戏风格,或者只是存放一些消耗品,并快捷的使用它们。


我真的按了
好友系统
F R I E N D S
好友系统是集成在MMOCore中的一个简单好用的系统。你可以使用/friends 命令打开好友菜单,该菜单中显示的你所有的好友,可以进行一些比如添加好友删除好友之类的操作。

将鼠标放在在线好友的位置上,可以看到该好友的主职业,等级,在线时间等等信息。如果是离线好友,也可以看到该好友离线了多长时间。




我真的按了
队伍系统
P A R T I E S
队伍系统也是集成在MMOCore的一个基本系统,你可以和最多七个朋友组成一支队伍,队伍中的人可以获得一些Buff加成。该系统可以与其他插件协同使用(比如DungeonsXL,译者注:DungeonsXL是一款副本插件)。关于队伍系统的更新也在计划中。



| 如何使用队伍系统 |

首先,你需要输入/party 命令,如果你还没有加入一支队伍,则系统会询问你是否要创建一支队伍。
然后,你会进入队伍系统的主界面菜单。在菜单内,你可以邀请好友进入队伍,也可以查看队伍信息。默认情况下,队伍对给予队伍成员一些Buff加成,队伍人数越多,加成也就越多。

| 队内聊天 |

玩家可以通过在要发的字前加上“@”来进行队内聊天。队内聊天只有同属队伍的成员才能看到。

| 队伍加成 |

队伍加成是对队内成员的额外加成,当一个队伍的人数大于2时,所有队伍成员都会获得加成。你可以在config.yml文件中修改队伍加成。

  1. party:

  2.     # 你可以在此处编辑玩家组队的效果加成,下方分别为生命加成和经验加成
  3.     buff:
  4.         health-regeneration: 3
  5.         additional-experience: 5
  6.    
  7.     # 队伍聊天的符号,当玩家在队伍中时,说话前面带个@符号就是将这个消息发送给其他队伍成员,符号可以自定义
  8.     chat-prefix: '@'
复制代码

当玩家打开属性菜单时,由队伍提供的队伍加成会显示在蛋糕图标上。当然,你可以通过修改/gui/player-stats.yml文件来自由配置。

  1. party:
  2.         slots: [16]
  3.         function: party
  4.         item: CAKE
  5.         name: '&a队伍加成'
  6.         lore:
  7.         - '&7与你的朋友一起组队'
  8.         - '&7获得独特的队伍加成!'
  9.         - ''
  10.         - '&7队伍加成 ({count}):'
  11.         - '&8- +{buff_additional_experience} 经验加成!'
  12.         - '&8- +{buff_health_regeneration} 生命加成'
复制代码


我真的按了
本帖最后由 1628872797 于 2021-5-9 03:46 编辑

掉落物表
D R O P   T A B L E S
在drop-tables文件夹内,你可以自由创建和修改掉落物表,掉落物表可以用于方块掉落或者战利品箱生成。因为掉落物表不仅仅用于方块掉落,所以我们专门为其增设了一个文件夹,以便配置和管理,引用掉落表也更方便。

掉落物表目前支持掉落原版物品,MMOItems物品和其他掉落表的物品。所以,你可以通过在一个掉落表内引用另一个掉落表的方式,来调整某个掉落物的最终掉率。(译者注:MMOCore的掉落表与MMOItems的掉落表逻辑极其类似,可以参考MMOItems Wiki的[物品掉落表]页面配合使用,当然配置格式是不一样的。哦对了,掉落表不能多层套娃!!!引用其他掉落表有一层或者两层就行,多层套娃会有很大问题!!!



| 示例配置 |

  1. # 你可以根据需要创建任意数量的掉落表
  2. # 也可以让一个掉落表引用另一个掉落表的掉落物
  3. #
  4. # 不要尝试让掉落表多个套娃!!!后果很严重!!!

  5. diamond-drop-table: # 掉落表名,不得与其他掉落表重名
  6.     items:
  7.     - 'vanilla{type=DIAMOND} 1 1-3' # 原版物品掉落
  8.     - 'mmoitem{type=material;id=RARE_DIAMOND} .1 1-3' # MMOItems物品掉落
  9.     - 'droptable{id=other-drop-table} .1' # 引用其他掉落表

  10. other-drop-table:
  11.     items:
  12.     - 'vanilla{type=STONE_SLAB} 1 1-3'</font>
复制代码
其实以上配置文件理解起来十分简单,因为内容不多,且有很详细的注释。首先,你需要为你的掉落表命名,以上示例中的掉落表被命名为diamond-drop-table。通过阅读block.yml文件的wiki,我们知道了这个掉落表是在破坏钻石矿石的时候触发的。(译者注:MMOCore目前的配置文件里我真没找到block.yml)
该掉落表可掉落物的物品是:100%掉落原版钻石1-3个,10%掉落MMOItems的material(材料)类型下RARE_DIAMOND(稀有钻石)1-3个,10%的几率引用other-drop-table掉落表。
掉落项的配置格式如下:
  1. - 掉落类型{<参数1>=<数值1>;<参数2>=<数值2>;...} <掉落几率> <最小值-最大值> <该掉落物占用的重量>
复制代码
最后三个参数(掉落几率,掉落数范围,掉落物重量)你不是一定要全部设定,可以不设定(如以上配置文件)。但是,如果你想使用掉落物重量系统,则必须设定掉落几率。

| 可用的掉落项 |

  • 另一个掉落表 - droptable{id=另一个掉落表ID} <掉落几率> <数量>
  • 原版物品 - vanilla{type=原版物品ID} <掉落几率> <数量>
  • 金币 - gold{} <掉落几率> <数量>
  • 纸币 - note{min=最小面额;max=最大面额} <掉落几率> <数量>
  • MMOItems物品 - mmoitem{type=MMOItems类型;id=MMOItems ID} <掉落几率> <数量>
  • 物品生成器 - gentemplate{id=模板ID;tier=稀有度ID;level=物品等级;match-level=<true/false>} <掉落几率> <数量>
  • 物品生成器 - miloot{type=物品类型;class=职业;match-class=<true/false>;tier=稀有度;level=<物品等级>;match-level=<true/false>} <掉落几率> <数量>

mmoitems,gentemplate,miloot三个掉落项只有同时安装了MMOItems才能使用,后两个掉落项的详解请查看MMOItems Wiki[获取物品]页面。
译者注:原Wiki就是让你去MMOItems的Wiki看。一般译者可能还需要多翻译一段MMOItems的Wiki,但是我不用,写了两个Wiki的人就是硬气。)

| 可掉落容量与掉落物重量 |

掉落物的重量与可掉落容量解决了一些具有多个稀有掉落物的掉落表,但因为那些物品确实稀有你不想让他们同时掉落的问题。你可以自定义设定每个掉落物与其他掉落物相比有多“重”,这样,即使一个欧皇玩家也不能一次就从BOSS身上拿到所有的稀有物品。
  1. weighted-drop-table:
  2.     items:
  3.     - 'vanilla{type=DIAMOND} .33 1-3 1'
  4.     - 'vanilla{type=EMERALD} .33 1-3 1'
  5.     - 'vanilla{type=GOLD_INGOT} 1 1-3 1'
复制代码
示例:你只想在以上三个物品中只掉落且至少掉落其中一个,且每个掉落物的几率都是1/3。

你只需要把每个掉落物的重量设定为1,然后将该掉落表应用于一个可掉落容量只有1的战利品箱(或者支持MMOCore掉落表的其他系统),这样,该战利品箱永远只会在以上三个物品中选择一个掉落。

当调用掉落表生成掉落物时,掉落物的总重量永远不会超过设定的可掉落容量。在实际设置中,一个掉落表可以应用于多个不同可掉落容量的场景中。比如,以上掉落表应用于一个可掉落容量为2的战利品箱,则最多会掉落两个物品,可掉落容量为3也同理。

掉落物重量可以设为任何值,你可以在一个掉落表中将不同的掉落物的重量设为0或者很高。

在读取掉落表时,插件会根据配置文件的顺序每一项都进行一次概率运算,所以最后一个物品掉落率设为1可以做出一个保底 物品。

| 掉落表条件 |

每个掉落表都可以设置掉落条件。掉落物条件保证只有在玩家满足所有条件的情况下,执行特定操作时才可以访问该掉落表。
以下是所有掉落表条件的列表。

  • 主等级 - level{amount=等级数值} - 玩家必须拥有X主等级
  • 副职业等级 - level{profession=副职业名;amount=等级数值} - 玩家某副职业必须拥有X职业等级
  • 生物群系 - biome{name=群系名} - 玩家必须所处于某生物群系
  • 世界 - world{name=世界名} - 玩家必须处于某个世界
  • 权限 - permission{node=权限节点} - 玩家必须具有某权限节点


我真的按了
本帖最后由 1628872797 于 2021-5-23 14:38 编辑

触发器
T R I G G E R S
这是一项技术性功能,单单阅读此页面不会学到任何信息,仅当其他Wiki页面重定向至该页面时,你才应该阅读该页面。

当满足某些条件后,MMOCore使用这些触发器来执行特定操作。触发器既可以用于主职业系统也可以用于任务系统,每个动作或者目标完成后你都可以使用触发器来执行操作。



| 可用的触发器类型 |

  • 信息 - 给玩家发送一段信息 - message{format="&a把你要显示的消息放在这里 "}
  • 命令 - 让控制台执行一段命令 - command{format="tellraw @a {"text":"Hello!"}"
  • 经验 - 给予玩家经验 - exp{profession=<副职业>;amount=<数量>}
  • 声音 - 给玩家播放一段声音 - sound{sound=<声音名称>;volume=<音量>;pitch=<音调>}
  • 原版物品 - 给予玩家原版物品 - item{type=<物品ID>;amount=<数量>}
  • MMOItems物品 - 给予玩家MMOItems物品 - mmoitem{type=<MMOItems类型>;id=<MMOItems ID>;amount=<数量>}
  • 法力值 - 给予/夺取/设置玩家法力值 - mana{operation=<GIVE/TAKE/SET>;amount=<数量>}
  • 耐力值 - 给予/夺取/设置玩家耐力值 - stamina{operation=<GIVE/TAKE/SET>;amount=<数量>}
  • 星能 - 给予/夺取/设置玩家星能 - stellium{operation=<GIVE/TAKE/SET>;amount=<数量>}
  • MythicMobs技能 - 释放一个MythicMobs技能 - mmskill{id=<MythicMobs技能ID>}
  • 金钱 - 给予/夺取/设置玩家金钱 - money{operation=<GIVE/TAKE/SET>;amount=<数量>}

所有触发器类型都默认配置完毕。其中信息触发器和命令触发器支持使用PAPI变量。

我真的按了
经验曲线
E X P E R I E N C E   C U R V E S
这是一项技术性功能,单单阅读此页面不会学到任何信息,仅当其他Wiki页面重定向至该页面时,你才应该阅读该页面。

经验曲线系统可以让你自定义设置玩家需要多少经验才能升级主职业或者副职业,且每级需求的经验可以不同。所有经验曲线配置文件都可以在/MMOCore/expcurves文件夹下找到。你可以通过创建以下格式的.txt文件来设置经验曲线。
  1. 200
  2. 400
  3. 600
  4. 800
  5. 1000
  6. 1200
  7. 1400
  8. 1600
  9. 1800
  10. 2000
  11. 2200
  12. 2400
  13. 2600
  14. ...
复制代码
第一行表示玩家需要200经验才能升到2级,第二行表示玩家需要400经验才能升到3级,以此类推。每次升级过后,经验都会清零,比如一个玩家获得了200经验升到了2级,他的经验会被清零,他需要再获得400经验才能升到3级。



| 使用Excel生成经验曲线 |

使用Excel(你可以在Microsoft官网上找到它),只要你选定了合适的表达式,就可以很方便的生成所需的MMOCore经验曲线。

在Excel上,你可以使用ROW函数来检索单元格。比如,你使用以下公式生成经验曲线:= 100 + ROW(A1) * 30,并一直纵向重复该公式,你应该就可以得到一个符合你公式要求的数列。

得到数列后,将其保存在.txt格式的文档内,并且保证除了这行数列没有其他任何文本,否则MMOCore无法读取。然后将其放在经验曲线文件夹内,你就得到了一个完全自定义的经验曲线。


第一页 上一页 下一页 最后一页