我真的按了
本帖最后由 贺兰兰 于 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无法读取。然后将其放在经验曲线文件夹内,你就得到了一个完全自定义的经验曲线。


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

默认属性值
D E F A U L T   S T A T   V A L U E S
在阅读此页面前,请先保证自己阅读并了解了[玩家主职业][玩家属性]页面。

stats.yml是一个极其重要的配置文件,因为它设定了玩家属性的默认初始值。在创建玩家主职业时未进行特别设置的属性项也将调用该配置文件内的数值进行补足。



| 默认配置 |

  1. default:
  2.     ATTACK_DAMAGE: # 攻击力
  3.         base: 1
  4.         per-level: 0
  5.     ATTACK_SPEED: # 攻速
  6.         base: 4
  7.         per-level: 0
  8.     MAX_HEALTH: # 最大生命
  9.         base: 20
  10.         per-level: 0
  11.     MOVEMENT_SPEED: # 移动速度
  12.         base: .2
  13.         per-level: 0
  14.     ARMOR: # 盔甲
  15.         base: 0
  16.         per-level: 0
  17.     ARMOR_TOUGHNESS: # 盔甲韧性
  18.         base: 0
  19.         per-level: 0
  20.     KNOCKBACK_RESISTANCE: # 抗击退
  21.         base: 0
  22.         per-level: 0
  23.     SPEED_MALUS_REDUCTION: # 减速抗性
  24.         base: 0
  25.         per-level: 0
  26.     HEALTH_REGENERATION: # 生命恢复
  27.         base: .1
  28.         per-level: 0
  29.         
  30.     # 最大值
  31.     MAX_MANA: # 法力值,下同
  32.         base: 20
  33.         per-level: 0
  34.     MAX_STAMINA: # 耐力值
  35.         base: 20
  36.         per-level: 0
  37.     MAX_STELLIUM: # 星能
  38.         base: 20
  39.         per-level: 0
  40.    
  41.     # 恢复速度
  42.     MANA_REGENERATION:
  43.         base: .166
  44.         per-level: .03
  45.     STAMINA_REGENERATION:
  46.         base: .166
  47.         per-level: .03
  48.     STELLIUM_REGENERATION:
  49.         base: .01
  50.         per-level: 0
  51.    
  52.     # 增加获得的经验值
  53.     ADDITIONAL_EXPERIENCE:
  54.         base: 0
  55.         per-level: 0
  56.    
  57.     # 技能冷却时间减少百分比X%
  58.     COOLDOWN_REDUCTION:
  59.         base: 0
  60.         per-level: 0
  61.    
  62.     # 技能伤害
  63.     SKILL_DAMAGE:
  64.         base: 0
  65.         per-level: 0
  66.    
  67.     # 物理技能伤害
  68.     PHYSICAL_DAMAGE:
  69.         base: 0
  70.         per-level: 0
  71.    
  72.     # 魔法技能伤害
  73.     MAGICAL_DAMAGE:
  74.         base: 0
  75.         per-level: 0
  76.    
  77.     # 武器伤害
  78.     WEAPON_DAMAGE:
  79.         base: 0
  80.         per-level: 0
  81.    
  82.     # 发射类技能或武器
  83.     PROJECTILE_DAMAGE:
  84.         base: 0
  85.         per-level: 0
  86.    
  87.     # 减少钓鱼所需要的拖拽(当为30时则减少30%)
  88.     FISHING_STRENGTH:
  89.         base: 0
  90.         per-level: 0.3
  91.         min: 0
  92.         max: 40
  93.    
  94.     # 无需拖拽即可捕获鱼的概率
  95.     CRITICAL_FISHING_CHANCE:
  96.         base: 5
  97.         per-level: 0
  98.         min: 0
  99.         max: 70
  100.             
  101.     # 当玩家钓鱼失败时
  102.     # 被鱼拖下水的概率
  103.     CRITICAL_FISHING_FAILURE_CHANCE:
  104.         base: 3
  105.         per-level: -.01
  106.         min: 1
  107.         max: 100

  108. # 不同数据在GUI中显示的小数位数
  109. # 如果未设置则默认为 "0.#"
  110. # https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html
  111. decimal-format:
  112.     MOVEMENT_SPEED: '0.##'
  113.     ARMOR_TOUGHNESS: '0.###'
  114.     KNOCKBACK_RESISTANCE: '0.##'
  115.     HEALTH_REGENERATION: '0.##'
  116.     MANA_REGENERATION: '0.##'
  117.     STELLIUM_REGENERATION: '0.##'
复制代码

| 十进制格式 |

  1. # 不同数据在GUI中显示的小数位数
  2. # 如果未设置则默认为 "0.#"
  3. # https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html
  4. decimal-format:
  5. MOVEMENT_SPEED: '0.##'
  6. ARMOR_TOUGHNESS: '0.###'
  7. KNOCKBACK_RESISTANCE: '0.##'
  8. HEALTH_REGENERATION: '0.##'
  9. MANA_REGENERATION: '0.##'
  10. STELLIUM_REGENERATION: '0.##'
复制代码
不同属性值在玩家属性菜单内后跟的小数位数。默认为“0.#”。


我真的按了
货币系统
C U R R E N C Y   S Y S T E M
MMOCore带有一个充满RPG风格的实体货币系统,该系统包含两种货币:纸币和金币。金币只有价值1的面额,而纸币可以设置为任何面额。这种货币系统可以让你的服务器充满RPG气氛,因为这些货币可以用于交易。也可以将这些货币放置于MythicMobs怪物的掉落表中,使其掉钱变得更加生动一点。



| 存款 |

玩家可以将他们的货币存入他们自己的Vault账户中。

你可以使用/deposit <玩家> 命令强制给该玩家打开存款菜单,或者拥有mmocore.currency权限的玩家也可以自己使用/deposit 命令给自己打开存款菜单。使用其他插件,可以将该命令绑定到方块或者NPC上。

| 取款 |

玩家可以通过取款功能从自己的Vault账户中取出一些实体货币,可以用于玩家之间交易或者支付其他费用等。

你可以使用/withdraw <玩家> 命令强制给该玩家打开取款菜单,
或者拥有mmocore.currency权限的玩家也可以自己使用/withdraw
命令给自己打开取款菜单。

当玩家发起一个取款请求时,系统会要求玩家在聊天框中输入想要取出的金额。假如玩家想要取出54 $,则会给予玩家4个1 $的金币和1张50 $的纸币。公式为withdraw = <金币> * 1 + <纸币> * 10


我真的按了
经验加成器
E X P   B O O S T E R S
管理员可以使用[命令]来创建一个给予全服玩家的经验加成器。使用/mmocore booster create 命令,你可以创建一个经验加成器。并且,你可以设定加成多少%的经验,甚至可以只为特定职业加成经验。



| 兼容性选项 |

这种类型的经验加成器100%符合EULA。最好的使用方式是使用MMOItems或者MythicMobs创建右键执行该命令的物品,并且自动为每个在线的玩家应用该经验加成器。

/mmocore booster create 命令提供了一个可选的player参数,你可以用此参数说明是由谁创建了这个经验加成器。

在一个经验加成器被创建并激活时,服务器会向全服玩家广播一条消息。

| 激活中的经验加成器 |

激活中的经验加成器显示在玩家属性菜单中,你可以使用/player 命令来打开该菜单。你可以在菜单内看到该经验加成器的剩余时间,由谁创建和应用于哪些职业。


我真的按了
战斗日志
C O M B A T   L O G

战斗日志是一项实用性功能,可以让玩家知道他们是否处于战斗状态,并且知道什么时候进入了或者退出了战斗状态。战斗日志是通过聊天框发送的。



| 资源恢复 |

战斗状态还决定了玩家是否可以自然恢复玩家资源,即血量、法力、耐力和星能。比如你可以通过配置,设定战士职业可以正常在战斗中恢复血量,而且恢复的血量还比脱战情况下多等等。

具体请查看
[玩家资源]页面。


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

血条压缩
H E A L T H   S C A L I N G
血条压缩是一个小功能,该功能可以让你在血量无论多少的时候,总是将血条压缩到你设定的特殊值。血条压缩默认为40点血量,放在游戏中则为两行爱心。

目前新版本的MMOCore中血条压缩功能已移至MythicLib,低版本则是MMOLib。你可以根据你目前使用的MMOCore的前置插件是哪个,而在以上两个插件的config.yml中配置血条压缩功能。



| 默认配置 |

  1. health-scale:
  2.   enabled: true
  3.   scale: 40
复制代码


我真的按了
经验条
E X P   B A R
这个简单的RPG小功能可以让玩家的主职业经验条替代原版经验条。这样玩家就可以很直观的看到他们离升级还有多少距离。你可以在config.yml中配置这个功能。



| 默认配置 |

  1. # 启用mmocore自带的经验条系统
  2. # 本更改需重启服务器才可生效
  3. override-vanilla-exp: true
复制代码


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

自定义副职业
C U S T O M   P R O F E S S I O N S
尽管MMOCore目前已经有了7个预设副职业,但你仍然可以根据需要创建任意数量的副职业,来使你的副职业系统更加有趣。副职业可以有特定的经验来源,即玩家完成了某些特定操作即可获得某副职业的X点经验。

一旦玩家获得了足够了副职业经验,不仅能够提升副职业等级,还能获得一些主职业经验,这些经验可以帮助玩家提升主职业等级。



| 示例:种植副职业 |

  1. # 职业名
  2. name: 种植

  3. # 当该副职业升级后,给予主等级多少经验
  4. experience:
  5.     base: 10
  6.     per-level: 2


  7. # 升级所需经验数量的文本,在插件的expcurves文件夹内
  8. exp-curve: levels

  9. exp-sources:
  10. - 'mineblock{type=CARROTS;amount=1-3;crop=true;player-placed:true}'
  11. - 'mineblock{type=POTATOES;amount=1-3;crop=true;player-placed:true}'
  12. - 'mineblock{type=WHEAT;amount=1-3;crop=true;player-placed:true}'
复制代码

所有副职业配置文件存放于\MMOCore\profession 文件夹中。你可以配置该副职业的显示名称,也可以配置该职业升级后会给予多少主职业经验。

| 经验曲线 |

详见[经验曲线]页面。

| 经验来源 |

首先,让我们来看一份示例配置。这是伐木副职业的经验来源。配置文件里写的是:每当玩家砍伐任意一种原木,就会给予1-3点该副职业经验。
  1. exp-sources:
  2. - 'mineblock{type=OAK_LOG;amount=1-3}'
  3. - 'mineblock{type=SPRUCE_LOG;amount=1-3}'
  4. - 'mineblock{type=BIRCH_LOG;amount=1-3}'
  5. - 'mineblock{type=JUNGLE_LOG;amount=1-3}'
  6. - 'mineblock{type=ACACIA_LOG;amount=1-3}'
  7. - 'mineblock{type=BIRCH_LOG;amount=1-3}'
  8. - 'mineblock{type=DARK_OAK_LOG;amount=1-3}'
复制代码

我们再看一份,以下是种植副职业的经验来源,每当玩家收获以下三种农作物(小麦、胡萝卜、马铃薯)时,就会给予玩家1-3点该职业的副职业经验。
  1. exp-sources:
  2. - 'mineblock{type=CARROTS;amount=1-3;crop=true;player-placed=true}'
  3. - 'mineblock{type=POTATOES;amount=1-3;crop=true;player-placed=true}'
  4. - 'mineblock{type=WHEAT;amount=1-3;crop=true;player-placed=true}'
复制代码
crop参数代表该农作物必须处于成熟阶段时,才会给予玩家经验。而player-placed参数表示即使这个方块是由玩家自己放置的,也会给予玩家经验。

| 一个额外选项 |

  • exp-holograms - 在玩家获得副职业经验时,是否以全息图的形式提醒玩家获取了多少经验值 - 默认为true

| 所有可用的经验来源 |

  • 击杀原版生物 - killmob{type=生物实体类型} - 击杀特定生物获得经验
  • 击杀MythicMobs怪物 - killmythicmob{type=MythicMobs怪物ID} - 击杀特定MythicMobs怪物获得经验
  • 垂钓 - fishitem{type=物品ID} - 钓上特定物品获得经验
  • 破坏方块 - mineblock{type=方块ID} - 破坏特定方块获得经验
  • 熔炼 - smeltitem{type=物品ID} - 熔炼特定物品获得经验(只限熔炉)
  • 酿造 - brewpotion{effect=SPEED,REGEN,...} - 酿造特定的药水获得经验,更多信息请见[炼金]页面
  • 附魔 - enchantitem{type=...} - 附出特定种类的魔获得经验,更多信息请见[附魔]页面
  • 合成 - craftitem{type=物品ID} - 合成特定物品获得经验


我真的按了
垂钓
F I S H I N G
MMOCore可以覆盖原版的垂钓掉落表。



| 垂钓经验 |

一般使用fishitem经验来源作为垂钓副职业的经验获取途径。可以让玩家在钓取一些特定的物品时获得经验,比如鱼,鞍,附魔书等等。物品越稀有,获得的经验也越多。

目前,fishitem只能识别物品材料,也就是说你不能为力量附魔书和抢夺附魔书单独设定经验的获取量。如果你一定要为同种物品材料绑定不同的经验获取量,目前唯一方法是使用MMOItems,并且把MMOItems的物品写入垂钓掉落表,然后设定不同的经验获取量。(译者注:你们懂得,作者也是要恰饭的嘛)

如果你不希望玩家获得垂钓副职业经验,只想要在垂钓时掉落自定义物品,那只需要在垂钓掉落表里的经验获取都设为0即可。
反过来,如果你想让玩家获得垂钓副职业经验,但不想自定义垂钓掉落表,那就把MMOCore里的垂钓掉落表全删了即可。

| 配置示例:
/professions/fishing.yml |

  1. # 职业名
  2. name: 垂钓

  3. # 当该副职业升级后,给予主等级多少经验
  4. experience:
  5. base: 20
  6. per-level: 3

  7. # 升级所需经验数量的文本,在插件的expcurves文件夹内
  8. exp-curve: levels

  9. exp-sources: {}

  10. # 该设置会覆盖原版MC的钓鱼奖励
  11. # 当你钓鱼时, 插件会读取配置中的设置
  12. # 你必须将条件最多、最重要的配置,如“drop-table”放在首位
  13. # tugs的数量 = 钓鱼时你需要点击的次数
  14. on-fish:
  15. overriding-drop-table:
  16. conditions:
  17. - 'region{name=swamp}'
  18. - 'biome{name=minecraft:beach}'


  19. items:
  20. - 'mmoitem{type=CONSUMABLE;id=SUSHI_ROLL;tugs=30-40;experience=1-6}'
  21. - 'mmoitem{type=GEM_STONE;id=SPITEFUL_OPAQUE_DIAMOND;tugs=10-15;experience=20-30}'

  22. # 默认的垂钓奖励设置
  23. # 当你删除上方的overriding-drop-table配置后,即可恢复原版的钓鱼奖励
  24. default:
  25. items:
  26. - 'vanilla{type=SALMON;tugs=4-5;experience=1-6}'
复制代码

如你所见,在默认配置里,垂钓副职业没有设置任何经验来源,不过你可以按照自己的意愿自由添加。

垂钓掉落表由两个选项定义:条件和物品。

当玩家正在垂钓时,MMOCore会按配置文件顺序遍历所有的垂钓掉落表,并且寻找出玩家满足该表所有条件的表。目前条件有两个,一个是region(区域)条件,该区域使用WorldGurad插件的区域,你可以为每个WorldGuard区域都设定一个垂钓掉落表。这样你就可以设置只有在某些区域内才能钓到稀有物品,甚至可以利用[传送点]系统来制作一个能钓到稀有物品的高级钓鱼区。
另一个条件是biome(生物群系)条件,它会读取玩家当时所在的生物群系,只有满足了配置所设置的生物群系才能满足条件。生物群系的格式必须是minecraft:<群系名>,如以上的示例配置所示。

如果创建的是无条件的垂钓表,请将其放在配置文件最下面,因为MMOCore按配置文件顺序读取垂钓掉落表,如果无条件就会导致MMOCore一直选择该掉落表进行掉落。另外,创建无条件的垂钓掉落表代表MMOCore的垂钓掉落表会始终覆盖原版垂钓掉落表。

| 掉落表物品 |

垂钓掉落表的物品格式与
[掉落物表]的格式相同,但是你必须设定两个额外的参数:tugs(拖动)和experience。tugs代表了你钓上该物品所需要点击的次数。experience代表了你获得的经验数。这两个参数都可以设为范围数值。

| 拖动 |

MMOCore添加了拖动来丰富原版的钓鱼系统。当玩家钓到一条鱼时,鱼会奋力挣脱,所以玩家通过必须快速连点左键来抵抗鱼的挣脱,直到鱼被钓上来。tugs项的数值决定了玩家钓上来这条鱼需要点多少下鼠标。如果玩家在鱼挣脱时停止点击,则鱼会逃跑。


我真的按了
炼金
A L C H E M Y
预设的炼金副职业允许玩家通过酿造各种类型的药水来获得经验,包括喷溅药水,滞留药水,或者是被升级过的原版药水。这些是炼金副职业配置文件中最重要的部分。



| 默认配置 |

  1. #职业名
  2. name: 炼金

  3. # 当该副职业升级后,给予主等级多少经验
  4. experience:
  5.     base: 20
  6.     per-level: 3

  7. # 升级所需经验数量的文本,在插件的expcurves文件夹内
  8. exp-curve: levels

  9. exp-sources:
  10. - 'brewpotion{effect=SPEED}'

  11. # 酿造药水时玩家可获得的经验值
  12. # 获得的经验量取决于药水效果、药水等级、持续时间
  13. alchemy-experience:

  14.     special:
  15.         
  16.         # 当将药水制作成喷溅药水时
  17.         # 可以获得原版基础经验的40%加成
  18.         splash: 40
  19.         
  20.         # 当将药水制作成滞留药水时
  21.         # 可以获得原版基础经验的40%加成
  22.         lingering: 40
  23.         
  24.         # 延长药水时间适
  25.         # 可以获得原版基础经验的40%加成
  26.         extend: 40
  27.         
  28.         # 升级药水等级时
  29.         # 可以获得原版基础经验的40%加成
  30.         upgrade: 40

  31.     # 酿造药水获得的经验数
  32.     effects:
  33.         
  34.         # 粗制、平凡、浑浊的药水
  35.         AWKWARD: 5
  36.         MUNDANE: 5
  37.         THICK: 5
  38.         
  39.         # 药水效果
  40.         NIGHT_VISION: 10
  41.         INVISIBILITY: 10
  42.         JUMP: 10
  43.         FIRE_RESISTANCE: 10
  44.         SPEED: 10
  45.         SLOWNESS: 10
  46.         WATER_BREATHING: 10
  47.         INSTANT_HEAL: 10
  48.         INSTANT_DAMAGE: 10
  49.         POISON: 10
  50.         REGEN: 10
  51.         STRENGTH: 10
  52.         WEAKNESS: 10
  53.         LUCK: 10
  54.         TURTLE_MASTER: 10
  55.         SLOW_FALLING: 10
复制代码
如你所见,炼金副职业的唯一经验来源是酿造(使用酿造台)。你可以使用brewitem经验来源设定玩家只能通过酿造哪些效果的药水才能获得经验。比如,你希望玩家只能在酿造速度和生命恢复药水时才可以获得经验,则将经验来源设为'brewpotion{effect=SPEED,REGEN}'即可。(不同的药水种类用逗号分隔)

alchemy-experience配置决定了玩家酿造药水可以获得多少经验。当玩家酿造更稀有的药水时,获得的经验应该要比酿造常见药水多。比如酿造再生药水需要使用恶魂之泪,而酿造瞬间恢复药水只需要闪烁的西瓜。

另外,酿造粗制、平凡、浑浊的药水应该给予很少的经验,因为玩家在酿造其他药水之前就要酿造这些药水。

| 基础经验 |

每种药水在被酿造时会获得基础经验。比如,玩家酿造抗火药水可以获得15点经验,而酿造跳跃药水可以获得20点经验。

| 额外酿造经验 |

当玩家使用红石延长药水时间时,玩家会在基础经验上获得一些额外经验,默认为40%。假设,玩家将跳跃药水用火药加长了时间,玩家总共就会获得20 + 20 * 40 % = 28点经验。可以使用
special.extend项配置加成的百分比。使用萤石提升药水效果也类似,可以通过special.upgrade项配置加成百分比。

如果玩家使用火药酿造成喷溅型药水或是用龙息酿造成滞留型药水,则也可以获得额外经验。分别可以使用special.splash项和special.lingering项配置百分比。

我真的按了
附魔
E N C H A N T I N G
附魔是MMOCore中一个比较特殊的副职业。玩家可以通过在原版附魔台上附魔来获得附魔副职业经验,最终获得的经验根据新附魔出的附魔种类和附魔等级决定。



| 附魔经验 |

一些附魔比其他附魔更难被附出来,所以这些附魔就应该获得更多的经验值。每个附魔中不同的附魔等级都有不同的经验获取量,当玩家成功将一个附魔附在某个物品上时,就会获得对应的经验。

如果你想知道一次附魔获得了多少经验,只需要将附出的附魔类型和附魔等级与应获取的经验对应好,然后相加即可。

| 示例配置 |

  1. # 职业名
  2. name: 附魔

  3. # 当该副职业升级后,给予主等级多少经验
  4. experience:
  5.     base: 10
  6.     per-level: 2

  7. # 升级所需经验数量的文本,在插件的expcurves文件夹内
  8. exp-curve: levels

  9. #经验来源
  10. exp-sources:
  11. - 'enchantitem{enchant=sharpness}'

  12. # 当玩家附魔物品时可获得经验
  13. # 一个物品附魔后给予的经验等于他附魔上的附魔等级的总和
  14. # 公式为 = <附魔等级> * <基础附魔经验>
  15. base-enchant-exp:
  16.     fire_protection: 10
  17.     sharpness: 10
  18.     flame: 10
  19.     aqua_affinity: 10
  20.     punch: 10
  21.     loyalty: 10
  22.     depth_strider: 10
  23.     vanishing_curse: 10
  24.     unbreaking: 10
  25.     knockback: 10
  26.     luck_of_the_sea: 10
  27.     binding_curse: 10
  28.     fortune: 10
  29.     protection: 10
  30.     efficiency: 10
  31.     mending: 10
  32.     frost_walker: 10
  33.     lure: 10
  34.     looting: 10
  35.     piercing: 10
  36.     blast_protection: 10
  37.     smite: 10
  38.     multishot: 10
  39.     fire_aspect: 10
  40.     channeling: 10
  41.     sweeping: 10
  42.     thorns: 10
  43.     bane_of_arthropods: 10
  44.     respiration: 10
  45.     riptide: 10
  46.     silk_touch: 10
  47.     quick_charge: 10
  48.     projectile_protection: 10
  49.     impaling: 10
  50.     feather_falling: 10
  51.     power: 10
  52.     infinity: 10
  53.     power: 10
  54.     infinity: 10
复制代码

| 示例配置解读 |

假设玩家附出了一把效率IV,耐久III,精准采集的附魔钻石镐。根据附魔计算公式:总附魔经验 = [(附魔1种类) * (附魔1等级)] + [(附魔2种类) * (附魔2等级)] + ...  则他应该获得的经验为
4 * 40 + 3 * 10 + 1 * 50 = 160 + 30 + 50 = 240 点附魔经验。

我真的按了
锻造
S M I T H I N G
锻造也是MMOCore一种特殊的副职业。当玩家使用原版的铁砧修复物品时,就可以获得锻造经验。获取经验的多少取决于修复的物品和修复的耐久度。

配置文件也非常好理解:修复特定物品100点耐久度所获得的经验。



| 示例配置 |

  1. # 职业名
  2. name: 锻造

  3. # 当该副职业升级后,给予主等级多少经验
  4. experience:
  5.     base: 20
  6.     per-level: 3

  7. # 升级所需经验数量的文本,在插件的expcurves文件夹内
  8. exp-curve: levels

  9. exp-sources:
  10. - 'repairitem{}'

  11. # 每使用特定材料修复 100点 耐久值可获得的经验数量
  12. # 比如钻石修复钻石工具等


  13. # 注意!钻石/铁锭/任何用于修复的材料 每次修复均不能修复相同数量的耐久值
  14. repair-exp:

  15.     # 剑
  16.     DIAMOND_SWORD: 1.923 # 最大耐久: 1561
  17.     GOLDEN_SWORD: 62.5 # 最大耐久: 32
  18.     IRON_SWORD: 8 # 最大耐久: 250
  19.     STONE_SWORD: 7.634 # 最大耐久: 131
  20.     WOODEN_SWORD: 13.56 # 最大耐久: 59
  21.    
  22.     # 镐
  23.     DIAMOND_PICKAXE: 1.923
  24.     GOLDEN_PICKAXE: 62.5
  25.     IRON_PICKAXE: 8
  26.     STONE_PICKAXE: 7.634
  27.     WOODEN_PICKAXE: 13.56
  28.    
  29.     # 添加你想设置的一切如: bows, shields
复制代码

| 注意 |

因为所有物品的最大耐久度并不相同,但是原版的修复机制是一个物品修复其25%的耐久。所以出于平衡的考虑,配置文件里的经验值配置有点奇怪。比如你使用铁砧修理一把钻石镐,钻石镐的最大耐久度是1561,当你使用一个钻石去修复该钻石镐时,应该能修复1561 * 25%大约390点耐久。最终能大概获得 390 / 100 * 1923 = 7.6 锻造经验。

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

采矿以及方块再生
M I N I N G   A N D   B L O C K   R E G E N
方块再生功能可以让一些特定的方块被挖掘后过一段时间重新生成。这是个非常有用的RPG工具,因为你不需要再担心生存世界内的资源有限。如果你没有在config.yml文件中对某些世界启用[工具限制],那方块再生功能也不会在那个世界生效。

MMOCore可以让你完全覆盖原版的方块掉落表,并让其掉落MMOItems的更加复杂的物品。你甚至可以把每个方块的原版掉落表都给关闭掉。

你可以在任意副职业配置文件中配置有关方块再生和自定义方块掉落表的配置,尽管我们接下来要看看mining.yml配置文件来解读方块掉落表。



| 示例配置 |

以下示例配置是/professions/mining.yml配置文件中的一部分。

  1. on-mine:

  2.     # ID
  3.     diamond-skull:
  4.         material: 'skull{value="这里略去皮肤头的值,影响帖子观感,可以去汉化配置文件里看"}'
  5.         drop-table:
  6.             items:
  7.             - 'vanilla{type=DIAMOND} 1 1-4'
  8.         vanilla-drops: false
  9.         regen:
  10.             time: 20
  11.             # 未恢复时这个方块会变成什么样子
  12.             temp-block: 'skull{value="这里略去皮肤头的值,影响帖子观感,可以去汉化配置文件里看"}'
  13.         triggers:
  14.         - 'exp{profession=mining;amount=20}'
  15. #ID
  16.     diamond:
  17.         # 方块类型
  18.         material: vanilla{type=DIAMOND_ORE}

  19.         # 掉落表
  20.         drop-table:
  21.             items:
  22.             - 'vanilla{type=DIAMOND} 1 1-3'
  23.         
  24.         # 破坏方块时触发的效果
  25.         triggers:
  26.         - 'exp{profession=mining;amount=20}'
  27.         
  28.         # 设置为false则禁用这个方块的原版掉落.
  29.         vanilla-drops: false
  30.         
  31.         regen:
  32.         
  33.             # 方块自动恢复的时间
  34.             time: 2000
  35.             
  36.             # 未恢复时这个方块会变成什么样子
  37.             # 注意:每个ID设置的方块都要不同
  38.             temp-block: vanilla{type=STONE}
复制代码

| 被指定的方块 |

material项决定了是哪个方块被挖掘时触发以下的配置。有三种可以使用的[方块类型]分别是原版方块,MMOItems 自定义方块(仅在同时安装了MMOItems时才可用)和皮肤头。
  1. material: vanilla{type=DIAMOND_ORE}
复制代码

| 掉落表 |

该项决定了此方块被破坏时掉落的物品。你可以在此设置一个全新的掉落表,也可以在之前在drop-tables文件夹设置的掉落表里,用它的ID直接调用它。可见[掉落物表]页面。
  1. drop-table:
  2.             items:
  3.             - 'vanilla{type=DIAMOND} 1 1-3'
  4.            # - 'mmoitem{type=material;id=RARE_DIAMOND} .1 1-3'
  5.            # - 'droptable{id=other-drop-table} .1'
复制代码

| 额外选项 |

  • vanilla-drops - 该选项可以禁用原版方块掉落原版物品 - 默认为true

| 方块再生 |

  1. regen:
  2.             time: 2000
复制代码
这是该方块被挖掘后变回原来的方块所需的时间,以tick为单位(在本示例文件中为钻石矿)。另外,你还需要设置在这段时间中暂时代替该方块位置的方块(此方块称为临时方块)。
  1. temp-block: vanilla{type=STONE}
复制代码


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

工具限制
T O O L   R E S T R I C T I O N S
工具限制功能可以限制什么工具可以挖掘什么方块,可在restrictions.yml文件中配置。十分适合在使用[采矿以及方块再生]系统时配合使用。



| 默认配置 |

  1. # 挖掘世界自然生成的矿石方块不会自然恢复方块/掉落自定义物品
  2. #
  3. # 该配置中设置的方块,无论是自然生成还是你服务器自己设置的挖矿区域,必须使用特定的工具来挖掘
  4. # 否则什么都不会掉落

  5. WOODEN_PICKAXE:

  6.     # 该工具可以破坏什么矿石
  7.     can-mine:
  8.     - vanilla{type=COAL_ORE}

  9. STONE_PICKAXE:
  10.     can-mine:
  11.     - vanilla{type=IRON_ORE}
  12.     # MMOItems 自定义方块, 1是MMOITEMS的物品ID
  13.     - mmoitems{id=1}
  14.    
  15.     # 工具破坏继承,在下方填写要继承的工具
  16.     # 下方的例子意思是石镐可以继承木稿可以破坏的方块
  17.     parent: WOODEN_PICKAXE

  18. IRON_PICKAXE:
  19.     parent: STONE_PICKAXE
  20.     can-mine:
  21.     - vanilla{type=GOLD_ORE}
  22.     # 自定义头颅类型的矿石
  23.     - skull{value="此处省去自定义头颅的特征码,因为影响帖子观感,请自行去汉化配置文件里去看"}

  24. GOLDEN_PICKAXE:
  25.     parent: IRON_PICKAXE
  26.     can-mine:
  27.     - vanilla{type=LAPIS_ORE}

  28. DIAMOND_PICKAXE:
  29.     parent: GOLDEN_PICKAXE
  30.     can-mine:
  31.     - vanilla{type=DIAMOND_ORE}
  32.     - vanilla{type=EMERALD_ORE}
  33.     - vanilla{type=REDSTONE_ORE}
复制代码
默认情况下,此配置仅仅针对采矿进行限制,并且包含了所有的镐子。但是,你仍然可以添加斧头、铁锹甚至是除了工具之外的物品到这个限制表,并给予他们一些限制。

配置也很简单,首先选择你要配置的工具,然后在can-mine项下为其指定可以破坏的方块列表。为了更好的兼容性,我们将这些方块分成了三种[方块类型],分别是原版方块,MMOItems 自定义方块和自定义头颅。

parent项代表继承关系,比如说石镐继承了木镐,则石镐除了挖掘自己本身就可以挖掘的方块外,还可以挖掘木镐可以挖掘的方块。然后铁镐继承了石镐,则铁镐除了自己本身就可以挖掘的方块外,还可以挖掘木镐和石镐的方块。

你可以在此找到所有的材料列表,将其复制到restrictions.yml文件中即可使用。

材料列表:(极长预警)





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

方块类型
B L O C K   T Y P E S
这是一项技术性功能,单单阅读此页面不会学到任何信息,仅当其他Wiki页面重定向至该页面时,你才应该阅读该页面。

方块类型可以确定当你破坏该方块后会发生什么(方块再生,物品掉落...)。



| 方块类型 |

  • 原版方块 - 在挖掘原版的所有方块时 - vanilla{type=DIAMOND_ORE}
  • MMOItems 自定义方块 - 在挖掘MMOItems的自定义方块时 - mmoitems{id=6}
  • 自定义头颅 - 挖掘自定义头颅时 - skull{value="eyaZd9fE8...48dfQX="}

用以上三种方块,不仅可以使用已经制作好材质的MMOItems自定义方块,还可以用自定义头颅来做一些较小的方块。

| 示例配置 |

  1. on-mine:
  2.     emerald:
  3.         material: vanilla{type=EMERALD_ORE}
  4.         drop-table:
  5.             items:
  6.             - 'vanilla{type=EMERALD} 1 1-9'
  7.         vanilla-drops: false
  8.         regen:
  9.             time: 2000
  10.             temp-block: skull{value="一堆很长的材质值"}
复制代码
此配置让绿宝石矿掉落100%掉落1-9个绿宝石(并且覆盖了原版掉落表),并且设置了方块再生时间为2000tick(100秒)。在这段时间中,用了一个自定义头颅代替这个绿宝石矿的位置。

| 额外选项 |

你可以使用age参数来让方块再生系统生成完全/部分生长的农作物。比如,以下示例将会在破坏小麦后重新再生一个完全生长的小麦作物。
  1. vanilla{type=WHEAT,age=7}
复制代码


我真的按了
本帖最后由 我真的按了 于 2021-6-14 03:35 编辑

兼容的插件
S U P P O R T E D   P L U G I N S
MMOCore没有硬性依赖插件,但是我们建议你使用所有的软性依赖插件,来获得最棒的RPG游戏体验。



| MMOItems |

MMOCore与MMOItems是亲兄弟。MMOItems提供了物品稀有度,主职业限制,物品属性,任务目标,触发器,掉落表物品等等其他大量内容。MMOItems是MMOCore的唯一一款内置兼容插件,无人能比!你无需安装其他兼容性插件,只要这两个插件互相检测到,所有功能都会自动设置。可以查看
[MMOItems 兼容]页面获取更多内容。
(译者注:也可以查看我的
MMOItems Wiki,配合使用,效果更佳~)

| MythicMobs |

MythicMobs提供了新的任务目标,并且允许你使用MythicMobs为MMOCore制作技能。此外,MMOCore为MythicMobs提供了新的掉落表,详细请看[MythicMobs 兼容]页面。

| CMI / Holograms / Holographic Displays|

使用这三个插件的任何一个都可以为MMOCore提供全息图效果,使玩家在钓鱼时可以查看到特制的全息图,经验获取时的全息图也由这三个插件提供。

| WorldEdit 和 WorldGuard |

强烈建议同时使用WorldEdit和WorldGuard,用于权限检测和技能。WorldGuard还用于创建钓鱼区域。

|
PlaceholderAPI |

使用了PAPI变量,见
[变量]页面。

|
Vault |

Vault用于存放实体货币或者取款时提供余额。详情见
[货币系统]页面。

| Citizens |

用于某些任务目标中,玩家需要将物品带回给NPC。详见
[任务系统]页面。


我真的按了
MMOItems 兼容
M M O I T E M S
尽管MMOItems不是MMOCore的硬性依赖,但是强烈建议把MMOItems与MMOCore一起使用。MMOItems为MMOCore提供了许多完全兼容的选项,以下是详细列表。



| 额外的MMOItems属性 |

同时使用MMOItems和MMOCore时,额外的物品属性将被自动启用,并且将被添加进MMOItems的内置编辑GUI中。

  • Max Mana(最大法力值)- 为玩家提供额外的最大法力值,这个属性虽然是MMOItems的默认属性,但是确实支持MMOCore
  • Max Stellium(最大星能)- 为玩家提供额外的最大星能
  • Health Regeneration(生命恢复)- 增加X%的生命恢复速率
  • Mana Regeneration(法力恢复)- 增加X%的法力恢复速率
  • Stellium Regeneration(星能恢复)- 增加X%的星能恢复速率
  • Additional Experience(经验加成)- 提供经验加成
  • Skill Cooldown Reduction(技能冷却缩减)- 为MMOItems和MMOCore的技能提供冷却缩减

| 任务目标和触发器 |

MMOItems为MMOCore提供了一个新的任务目标,玩家需要把一个特定的MMOItems物品带回给特定的NPC以完成目标。并且,也增加了一个任务[触发器],用于给予MMOItems物品。详见[任务系统]页面。、

| MMOCore掉落表 |

你可以将MMOItems的物品添加到MMOCore的[掉落物表]中。

| 物品限制,法力值 |

MMOItems提供了物品限制,包括等级,主职业,副职业的限制。并且MMOItems的物品可能需要使用法力值,耐力值或者星能。
| MMOItems合成站的额外功能 |

在MMOItems中,某些合成配方需要配方条件才能合成。MMOCore增加了有关副职业的等级限制,即玩家必须达到某个副职业的某个等级才能使用该合成配方。详情请见MMOItems Wiki [配方条件]页面。

在以下示例配方中,玩家的锻造等级必须达到5级,才可以使用这个合成配方。
  1. steel-sword:
  2.         output:
  3.             type: SWORD
  4.             id: STEEL_SWORD
  5.         conditions:
  6.         - 'profession{profession=smithing,level=5}'
  7.         ingredients:
  8.         - 'vanilla{type=STICK,amount=2}'
  9.         - 'mmoitem{type=MATERIAL,id=STEEL_INGOT,amount=4}'
复制代码
MMOCore还添加了一种新的配方触发器(即成功制作该配方进行的操作),该触发器主要用于给予玩家主职业或者副职业经验,有关更多信息,请查看MMOItems Wiki [配方触发]页面

在以下示例中,当玩家成功制作该配方时,将被给予5点锻造经验。
  1. steel-sword:
  2.         output:
  3.             type: SWORD
  4.             id: STEEL_SWORD
  5.         ...
  6.         triggers:
  7.         - 'exp{profession=smithing,amount=10}'
复制代码

我真的按了
MythicMobs 兼容
M Y T H I C M O B S
MMOCore大部分的怪物特性与掉落表都与头等生物创建插件MythicMobs紧密的联系在要一起。最重要的是,MMOCore可以利用MythicMobs来制作技能。详情请见[玩家技能]页面、

MythicMobs还为任务系统提供了更多目标:你可以把任务目标设置为,玩家必须杀死X个MythicMobs怪物。详情请见[任务系统]页面。

杀死MythicMobs的怪物时,玩家也可以获得MMOCore的主职业经验或者副职业经验。详情请见[自定义副职业]页面。



| MythicMobs掉落表新物品 |

MMOCore为MythicMobs的掉落表增添了一些新物品,列表如下:

  • 金袋 - gold_pouch{min=10;max=100} -  一个金袋,内含最小值-最大值的货币
  • 金币 - gold_coin{} - 扔下X个价值为1的金币
  • 纸币 - note{min=20;max=30} - 面额为最小值-最大值的纸币

| 金袋 |

金袋外在的材质是一个皮革,右键单击可以打开金袋。会出现一个有两行的GUI界面,其中就有根据配置随机生成的金币和纸币。玩家无法往金袋里存放任何物品,只有当玩家背包中还有空间时,玩家才可以从金袋中取出物品。当金袋内的物品被清空后,金袋会自动消失。

我真的按了
反作弊
A N T I - C H E A T
MMOCore将自动兼容到反作弊插件上,并且可以在使用技能时禁用某些检查。
(注:目前仅支持使用MythicMobs制作的技能,很快也会在其他技能上支持。)
它的工作原理是通过指定不同类型的“反作弊”功能,禁用他们一段时间(以tick为单位)。



| 在MythicMobs技能中添加反作弊 |

关于如何设置MythicMobs技能,请查看[玩家技能]页面。
你只需要将disabled-anti-cheats: 项添加到技能YAML文件中(在MMOCore的那个),就可以为MythicMobs技能提供反作弊支持。
然后根据需要禁用特定的反作弊系统一段时间(以tick为单位)。

示例,禁用Flying和Clipping反作弊检测20 ticks:
  1. disabled-anti-cheats:
  2.   flying: 20
  3.   clipping: 20
复制代码

另一个示例,禁用Fast Heal反作弊检测5 ticks,Critical Hits反作弊检测30 ticks:
  1. disabled-anti-cheats:
  2.   fast_heal: 5
  3.   critical_hits: 30
复制代码

| 可用的反作弊列表 |
译者注:作弊这块我真的不懂,只能凭原文翻译,如有错误欢迎指出!)

  • general_exploits - 未分类的一般作弊
  • no_swing - 不用手就可以攻击玩家/破坏方块
  • movement - 超级跳,极速等
  • clipping - 无碰撞箱
  • impossible_action - 不可能的操作
  • inventory_clear - 清除其他玩家的背包
  • inventory_clicks - 让你无限打开背包
  • auto_sprint - 自动冲刺
  • jesus - 水上行走
  • no_slowdown - 无法被减速效果影响
  • critical_hits - 永远暴击
  • nuker - 一击破坏大量方块
  • ghost_hand - 无视碰撞箱
  • liquids - 疯狂放置/排出液体
  • block_reach - 自动搭路
  • elytra - 非法的鞘翅速度
  • boat - 非法的船只速度
  • fast_bow - 快速拉弓
  • fast_click - 快速连点
  • fast_heal - 快速治疗
  • flying - 飞行
  • hit_reach - 自动攻击
  • fast_break - 快速破坏方块
  • fast_place - 快速放置方块
  • speed - 非法移速
  • no_fall - 不受摔落伤害
  • illegal_pos - 无视药水效果
  • fast_eat - 快速进食
  • velocity - 非法速度
  • killaura - 杀戮光环(译者注:终于有个知道的了)

| 支持的反作弊插件 |



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

强制性更新
M A N D A T O R Y   C H A N G E S
这些强制性更新会在更新发布后发于此处,这些更新会与以前的配置文件不兼容,需要手动进行调整。



| 2021/2/1 613# 构建 |

在最新的MMOCore版本中,自定义方块的掉落表覆盖原版掉落表的格式已更改。

老的
  1. vanilla-drops: false
复制代码

新的
  1. options:
  2.     vanilla-drops: false
复制代码




填充图册他
用了好久这个插件 力推!

叁皮
很实用的帖子,感谢楼主

lian6529
23333333333333333

mioplo
66666666tql

3536769780
66666666666

sad19777
好耶好耶好耶好耶好耶

星霁灬浩浩
感谢楼主的翻译。

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

config.yml
C O N F I G
  1. #
  2. # **█    **█ **█    **█  ******   ******  ******  ******  ******█
  3. # ****  **** ****  **** **    ** **      **    ** **   ** **
  4. # ** **** ** ** **** ** **    ** **      **    ** ******  ****█
  5. # **  **  ** **  **  ** **    ** **      **    ** **   ** **
  6. # **      ** **      **  ******   ******  ******  **   ** ******█
  7. #
  8. # 一个Requiem团队的Spigot插件

  9. # 别动
  10. config-version: 7

  11. # 根据设定的时间间隔来自动保存插件的一些数据
  12. # 玩家数据 (职业, 等级, 等等.)
  13. # 公会数据 (公会名称, 成员数据, 等等.)
  14. auto-save:
  15.     enabled: true
  16.     interval: 1800 # 以秒为单位 (1800 = 30 分钟)

  17. # MySQL 相关项
  18. mysql:
  19.     enabled: false
  20.     host: localhost
  21.     port: 3306
  22.     database: minecraft
  23.     user: mmolover
  24.     pass: ILoveAria
  25.     properties:
  26.         cachePrepStmts: true
  27.         prepStmtCacheSize: 250
  28.         prepStmtCacheSqlLimit: 2048
  29.     # 当数据存储时在后台提示详细信息
  30.     debug: false

  31. # 新玩家数据设置,所有新玩家的数据都会根据下方自动设置
  32. default-playerdata:
  33.     level: 1 # 主职业等级
  34.     class-points: 0 # 职业点数
  35.     skill-points: 0 # 技能点数
  36.     attribute-points: 0 # 属性点数
  37.     attribute-realloc-points: 0 # 属性洗点点数

  38. # 使用自定义矿物重置/矿物限制必须满足的条件
  39. # 填写为 [] 则无额外条件
  40. custom-mine-conditions:
  41. - 'world{name="world,world_nether,world_the_end"}'
  42. - 'region{name="example_region,example_region2,__global__"}'
  43. #
  44. # custom-mine-conditions:
  45. # - 'world{name="__global__"}'
  46. #
  47. # ^ 将在整个服务器启动自定义挖矿系统

  48. 设置为true时防止玩家在满足挖掘条件时挖掘矿区外的方块
  49. protect-custom-mine: false

  50. should-cobblestone-generators-give-exp: false

  51. loot-chests:

  52.     # 战利品箱保留的时间(秒)
  53.     # 超时后战利品箱将消失
  54.     chest-expire-time: 600
  55.    
  56.     # 战利品箱的刷新时间
  57.     player-cooldown: 600

  58. # 动作栏设置
  59. action-bar:

  60.     # 是否开启. (不会影响到MMOCORE其他的actionbar消息)
  61.     enabled: true
  62.    
  63.     # 统计数据的十进制格式 (不包括stats.yml里的统计数据)
  64.     decimal: "0.#"
  65.    
  66.     # 当其他插件给玩家发送actionbar消息时
  67.     # 隐藏mmocore的actionbar多长时间
  68.     time-out: 60
  69.    
  70.     # 刷新间隔
  71.     ticks-to-update: 5
  72.    
  73.     # 格式
  74.     format: "&c❤ {health}/{max_health} &f| {mana_icon} {mana}/{max_mana} &f| &7⛨ {armor}"

  75. party:

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

  83. # 将获得的原版经验按照百分比转移到mmocore的职业经验里
  84. # 本更改需重启服务器才可生效
  85. vanilla-exp-redirection:
  86.     enabled: false
  87.     ratio: 0.8 # 百分比

  88. # 启用mmocore自带的经验条系统
  89. # 本更改需重启服务器才可生效
  90. override-vanilla-exp: true

  91. # 在玩家获得经验时用全息图显示其获得的职业经验
  92. display-main-class-exp-holograms: true

  93. # 下方操作需重启服务器生效
  94. # 死亡掉落经验
  95. death-exp-loss:
  96.     enabled: false
  97.    
  98.     # 掉落当前经验的百分比值
  99.     percent: 30

  100. # 根据玩家当前的动作来判断施法的方式
  101. # spell_cast
  102. # 默认技能触发方式
  103. # hotbar_swap
  104. # 玩家通过按下shift键与快捷栏中的物品进行交换来进行施法
  105. # - vanilla
  106. # 原版模式,F键切换主副手
  107. swap-keybind:
  108.     normal: spell_cast
  109.     sneaking: hotbar_swap

  110. # 创造模式的玩家是否允许使用技能
  111. can-creative-cast: false

  112. # 如果该插件的铁砧界面在你的服务器出现错误,请开启该功能切换至聊天输入模式
  113. use-chat-input: true

  114. # 是否阻止玩家从刷怪笼获取经验
  115. prevent-spawner-xp: true

  116. #战斗日志提示消失的时间(秒)
  117. combat-log:
  118.     timer: 10

  119. # 本插件actionbar信息的颜色,不需要做更改
  120. resource-bar-colors:
  121.     stamina-whole: 'GREEN'
  122.     stamina-half: 'DARK_GREEN'
  123.     stamina-empty: 'WHITE'

  124. # 管理员执行指令时是否提示指令使用后的结果
  125. # 比如: 将玩家的职业等级设置为10级,则使用指令后给管理员提示 "玩家当前等级为 10 级",当然也可以不只是给玩家用的指令
  126. # 可用设置:
  127. # true - 所有指令都会显示效果提示
  128. # player - 只针对于应用于玩家的指令
  129. # console - 只当在控制台执行时提示
  130. # false - 禁用提示
  131. command-verbose:
  132.     attribute: true
  133.     class: true
  134.     experience: true
  135.     level: true
  136.     nocd: true
  137.     points: true
  138.     reset: true
  139.     resource: true
复制代码

XiaoSha0711
taibangle!NB

XiaoSha0711
老铁这个真的是牛逼死了啊

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