• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

GuillaumeVDN的插件文档/迁移:修订间差异

来自Minecraft插件百科
跳转到导航 跳转到搜索
无编辑摘要
无编辑摘要
 
(未显示同一用户的5个中间版本)
第1行: 第1行:
{{模板:VDNBox}}
{{模板:VDNBox}}<br />
== 迁移至GCore v8和QuestCreator v6 ==
== 迁移至GCore v8和QuestCreator v6 ==
QuestCreator的v6版本需要v8版本的GCore作为前置。我彻底重制了这一版本的插件,新版本的插件可以实现之前所无法实现的功能。
QuestCreator的v6版本需要v8版本的GCore作为前置。我彻底重制了这一版本的插件,新版本的插件可以实现之前所无法实现的功能。


最重要的是,它可以让插件维护更加高效。而且让我不会在面对几年前写的破代码时痛不欲生。之前版本的代码质量虽然可读性强,但到了要修复bug或更新时,我几乎不知所措。这是因为这些代码是我在几年前刚学编程时写的。现在我的编程技术已炉火纯青,几个月前我就有了重制插件这一想法。正是因此你才会看到这份文档和我重制的插件。
最重要的是,重制可以让我更高效地维护插件。而且让我不会在面对几年前写的破代码时'''痛不欲生'''。之前版本的代码质量虽然可读性强,但到了要修复漏洞或更新时,我几乎不知所措。这是因为这些代码是我在几年前刚学编程时写的,而现在我的编程技术已炉火纯青。几个月前我就有了重制插件这一想法,正是如此你才会看到这份文档和重制的插件。


我很感谢所有在过去几个月里耐心等待修复漏洞和更新插件的人。虽然有些人只因为他们买了我的产品就似乎认为我属于他们,认为我就应该快点更新插件,但很多人都表示支持[和/或]耐心等待重制插件,即便在重制期间我很少更新插件和修复漏洞。虽然这听起来很傻,但Minecraft目前是我生活的重要组成部分,我非常感谢你们的支持。
我很感谢所有在过去几个月里耐心等待修复漏洞和更新插件的人。虽然有些人只因为他们买了我的产品就似乎认为我属于他们,认为我就应该快点更新插件,但很多人都表示支持并耐心等待重制插件,即便在重制期间我很少更新插件和修复漏洞。虽然这听起来很蠢,但Minecraft目前是我生活的重要组成部分,我非常感谢你们的支持。


=== 我的其它插件 ===
=== 我的其它插件 ===
我专注于开发QuestCreator,因为我收到来自这款插件的询问最多。我计划重制我的全部插件,但这需要点时间。我计划在2020-2021年期间完成,只要我有时间,就会去做这件事。
我专注于开发QuestCreator,因为我收到来自这款插件的询问最多。我计划重制我的全部插件,但这需要点时间。我计划在2020-2021年期间完成,只要我有时间,就会去做这件事。


目前只有QuestCreator v6兼容GCore v8。如果你同时使用QuestCreator和我的其它插件,那么你需要同时下载旧版的Gcore 。对此造成的不便我深感抱歉。
目前只有QuestCreator v6兼容GCore v8。如果你同时使用QuestCreator和我的其它插件,那么你需要同时下载旧版的Gcore 。对此造成的不便我深感抱歉。<br />
===警告===
===警告===
这个版本的插件并不稳定,请在投入到正在运行的服务器之前进行充分测试。我会在Discord服务器上发布早期测试版来修复大多数重大漏洞。现在我所公开发布的版本是为了加速调试插件,也为 了不让你们等待太久。
这个版本的插件并不稳定,请在投入到正在运行的服务器之前进行充分测试。我会在Discord服务器上发布早期测试版来修复大多数重大漏洞。现在我所公开发布的版本是为了加速调试插件,也为 了不让你们等待太久。
第16行: 第16行:
请在Discord服务器汇报任何你遇到的重大问题,如果不是那么严重的问题,你可以在GitLab上汇报。
请在Discord服务器汇报任何你遇到的重大问题,如果不是那么严重的问题,你可以在GitLab上汇报。


我会分批处理漏洞,频繁发布新的build,可能每3-4天发布一次。我也会在Discord上发布新的build,以避免无谓的等待时间(对已验证用户而言)。
我会分批处理漏洞,频繁发布新的build,可能每3-4天发布一次。我也会在Discord上发布新的build,以避免无谓的等待时间(对已验证用户而言)。<br />
===备份你的服务器===
===备份你的服务器===
为了避免必须手动调整所有的变更配置,GCore v8和QuestCreator v6内置了一个自动转换配置和数据文件的系统。我用一堆不同的文件测试过该系统。但是某些东西可能会出乎意料地被破坏。
为了避免必须手动调整所有的变更配置,GCore v8和QuestCreator v6内置了一个自动转换配置和数据文件的系统。我用一堆不同的文件测试过该系统。但是某些东西可能会出乎意料地被破坏。
第22行: 第22行:
我不管一些人怎样看待我的插件,但无论如何我是不会特意在我的插件中加入漏洞的 ^_^ 。我会尽我所能地修复它们,但我无法预料所有情况,这也是为何插件会存在漏洞。
我不管一些人怎样看待我的插件,但无论如何我是不会特意在我的插件中加入漏洞的 ^_^ 。我会尽我所能地修复它们,但我无法预料所有情况,这也是为何插件会存在漏洞。


So, to avoid data loss, I want you to make a complete backup before migrating on your production server. Not only my plugins files, but the entire server, including maps, player data states, and data from other plugins. Although QuestCreator never directly alters that, there are more than likely commands/economy rewards, item manipulation, etc, in your quests, and new bugs might trigger them unexpectedly.
因此为了避免数据丢失,我希望你在正常运行中的服务器上迁移之前,先做一个完整的备份。不仅仅是备份我的插件文件,还要备份整个服务器,包括地图、玩家数据状态以及其他插件的数据。虽然QuestCreator从不会直接改变这些数据,但你的任务中有可能存在指令/经济奖励、物品操作等,新的bug也可能会修改这些数据。


I won’t bear responsability for data loss or any irreversible change due to you not backing up before an update. But it’s something I unfortunately hear too often, so please, just back up !
我不会对由于你没有备份而导致数据丢失负责。但不幸的是这样的事我听得太多了,所以请备份!


除了备份之外, there’s no particular instruction for migration. Back up, and replace old .jar files by the new ones, and migration will begin automatically on start.
除了备份之外, 我对于迁移没有更多的特殊说明了。备份并替换旧的.jar文件,插件会自动开始迁移。


== 主要变更和新增内容 ==
插件的大体结构仍然没有变化(任务、激活器等),但插件新增了一些特性、优化配置格式,还新增了这份全新的插件文档!


=== 主要变更和新增内容 ===
我得承认我没有列出全部变更的内容,因为插件变更的内容实在是太多了。下面是我想到的重大变更内容列表。如果你对某些变化有任何疑问,我建议你查看这个文档的相关内容。我也只是建议你通读一遍,至少阅读通用和基础内容。
The structure of many things is mostly the same (quests, activators, …), there are new features, config standardization, nomenclature standardization and small changes. And there’s a brand new damn documentation !


I have to admit I didn’t note every single thing that changed, because there are just too many. Here’s a list of most important changes that come to my mind. If you have any doubt about something changing, I advise you to check the relevant part of this documentation. I also just advise you to read through it once, at least the generic and basic sections.
==== 优化和数据 ====
==== 优化和数据 ====
The first thing that comes to my mind about this update is optimization. That’s not something that’s actually visible to you, but the code is way clearier, more optimized, more consistent, and all of that cool stuff. This will allow better maintenance. I also standardized many libraries, which means things like “that bug you fixed here happened there as well” will no longer happen.
关于这次更新首先映入我脑海的就是优化。这并不是你真正看得见的东西,但代码变得更一目了然了。这可以让我更好的维护我的插件。我还对许多库进行了标准化,这意味着像“你修复的bug还是出现了,修了和没修一样”这样的事情将不再发生。


Data boards now are handled much more consistently, with proper async/callback management. I won’t get into details here but it means data saving is much more consistent, and some random problems you might have sometimes (duplicated quests, data files not removing, …), won’t happen anymore.
通过适当的异步/回调管理,现在插件对数据板的处理更加一致。我不会在这里阐述这些内容,总之这意味着数据保存更加一致,你有时可能会随机遇到的一些问题(任务重复,数据文件未删除等),不会再发生了。<br />
==== 配置、物品和变体 ====
==== 配置、物品和变体 ====
I have rewritten a YAML parser, instead of using the default bukkit one. The most major improvement to me is that it keeps comments and config organization whenever re-writing the file. Find out more info about it on that page.
我重写了一个YAML解析器,不再使用默认的bukkit解析器。对我而言,最主要的改进是在重写文件时保留注释和配置组织。详见该页面。


Many configuration sections weren’t consistent from one place to another. The main example I can think of are items : it wasn’t always the same settings from one place to another. Sometimes you could have some settings, but sometimes not ; and most of the time, settings such as ‘exact_match’ or ‘remove_after_action’ were included in the items configuration, but weren’t accepted everywhere. Now, everything is consistent : items have their own sections and specific settings are located outside. Most of those generic configuration sections are documented here
许多配置节在不同的地方不一致。我能想到的主要例子是物品:不同地方的设置并不总是相同的。有时你可以使用一些设置,但有时则无法使用;比如大多数情况下,在物品配置中的“exact_match”或“remove_after_action”等设置并不是所有地方都能用。现在,一切都是一致的:物品有自己的部分,特定设置位于其配置之外。此处记录了大多数通用配置部分。


Items are now handled much better and have a much more consistent behavior. You can configure most of the specific item meta, and also NBT tags more clearly (instead of an unreadable base64 encoded text).
现在插件能更好地处理物品,并具有更一致的行为。您可以更清晰地配置大多数特定物品元数据,以及NBT标签(而不是不可读的base64编码文本)。


Read more details about variants (materials/sounds/particles) here. This doesn’t change much as I used the same old names most of the time, but this allows more freedom and clarity (mainly for me, but you’re also free to edit it and you always have an up-to-date list of available materials/sounds/particles for your server).
请在此处阅读有关变体(材料/声音/粒子)的更多详细信息。这些内容没有太大的改变,因为我大部分时间使用相同的旧名称,因为这可以让我更自由和清晰地使用(主要是对我而言,但你也可以自由编辑它,你总是有一个最新的材料/声音/粒子列表)。<br />
==== 文本 ====
==== 文本 ====
Texts are to me the main downside of this update, and something I have to apologize about : I couldn’t find a way to smoothly convert existing lang files. Because of many reasons (many texts were added, removed or modified, the meaning of some texts changed, placeholders aren’t the same, etc).
对我而言,文本是这次更新的白璧微瑕,对此我必须道歉:我找不到一种方法来平滑地转换现有的语言文件。由于许多原因(我新增、删除或修改了很多文本,导致一些文本的含义改变,占位符不一致,等等)。


Doing an automatic conversion for texts would just give a messy, incoherent, not good-looking result, and also would take too much time (and I’m running out of time for this summer). So you will have to retranslate your texts in your own language. I’m sorry about that to all the translators, I know translating texts can be really boring and take a long time.
对文本进行自动转换只会得到一个混乱、不连贯、不美观的结果,而且也会花费大量时间(何况今年夏天我没有多少时间了)。所以译者必须用自己的语言重新翻译文本。对此我向所有的译者表示抱歉,我知道翻译文本可能真的很无聊,而且需要很长时间。


On the brighter side, texts now have their own folders for each plugin, instead of just one messy texts.yml file with all the languages in. So translating will be less annoying and clearier.
好的一面是,现在每个插件的文本都有自己的文件夹,而不是只有一个塞满了各种语言的texts.yml文件。这样翻译就不那么麻烦了。<br />
==== 指令 ====
==== 指令 ====
With every major update seem to come improvements to my commands library. I guess most of you will be happy with the main change : no more <code>-argument:value</code> format.
每次大型更新我都会优化我的指令库。我猜你们看到这个主要变更时会很高兴:不再需要<code>-参数:</code>格式。


Where you previously needed to write <code>/qc start -q:farm_quest -p:player</code>, you can just write <code>/qc start farm_quest player</code>, like a regular, normal, not annoying command system.
比如之前的指令你需要输入 <code>/qc start -q:farm_quest -p:player</code>,现在你只需输入 <code>/qc start farm_quest player</code>


Arguments musn’t follow a particular order : <code>/qc start farm_quest GuillaumeVDN</code>, <code>/qc start GuillaumeVDN farm_quest</code> will have the same effect.
参数无需遵循特定顺序:<code>/qc start farm_quest GuillaumeVDN</code><code>/qc start GuillaumeVDN farm_quest</code>有相同的效果。


Argument detection was improved, you don’t have to write the entierty of arguments, and there’s also a better autocompletion system. If the plugin stops suggesting values for an argument, it means it found a single fitting value. For instance, typing ‘Guillaume’ will result in ‘GuillaumeVDN’ for a player argument, or even just ‘g’ if there are no other players whose name start with the letter G.
我优化了参数检测,现在你无需输入整个参数,你可以使用优化过的自动补全系统。如果插件停止给出参数建议,这就意味着插件找到了唯一匹配的结果。比如输入“Guillaume”你会得到“GuillaumeVDN”的结果,或者在没有其它名字是G开头的玩家在线时只输入“g”你也会得到该结果。


So all of those commands will have the same effect : <code>/qc start GuillaumeVDN farm_quest</code>, <code>/qc start Guillaume farm</code>, <code>/qc start g farm</code>, <code>/qc start g fa</code>. This makes commands less annoying to type, but beware to not shorten the things too much, as you might accidentally start another quest starting with <code>fa</code>, or for another player starting with <code>g</code>.
因此这些指令都会有相同的效果:<code>/qc start GuillaumeVDN farm_quest</code><code>/qc start Guillaume farm</code><code>/qc start g farm</code><code>/qc start g fa</code>。这可以让输入指令不再那么繁琐,但如果输入的内容太短的话可能会得到无关结果。


Most commands with a target player argument will be performed for the sender if none is specified.
如果没有指定目标玩家参数,则大多数带有目标玩家参数的指令将以发送者为目标。


It’s also a cool thing to note that the reload commands now completely unloads all config and data and reloads a fresh instance of everything.
值得一提的是,现在reload|重载指令会彻底重载全部配置和数据。


==== 文件结构 ====
==== 文件结构 ====
File structure didn’t change a lot for GCore, but it did for QuestCreator.
Gcore的文件结构没有多大变化,但QuestCreator就恰恰相反。


Here’s a summary of the new hierarchy. New features and changes are explained further below.
下面是对新的层次结构的总结。新的特性和变更将在下面进一步解释。
* /plugins/QuestCreator/ :
 
** data_v6/ : player/server data files (there are some local files even if you’re using MySQL) for QuestCreator *(previously all data files were centralized in GCore
*/plugins/QuestCreator/ :<br />
** quest_models/ (same as before)
** data_v6/:玩家/服务器数据文件(即使你使用MySQL,也会有本地文件)</p>(之前全部数据文件都集中存储在GCore里)<br />
** quest_models_functional/ (new)
** quest_models/(一如既往)<br />
** quest_activators/ (previously all activators were in the same config file)
** quest_models_functional/(新增)<br />
** quest_groups/ (previously all groups were in the same config file)
** quest_activators/(之前所有激活器都位于同一个配置文件内)<br />
** quest_pools/ (previously all pools were in the same config file)
** quest_groups/(之前所有任务组都位于同一个配置文件内)<br />
** quest_states/ (new)
** quest_pools/(之前所有任务池都位于同一个配置文件内)<br />
** guis/ (same as before)
** quest_states/(新增)<br />
** global_branches/ (new)
** guis/(一如既往)<br />
** global_conditions/ (previously all global conditions were in the same config file)
** global_branches/(新增)<br />
** global_gui_items/ (new)
** global_conditions/(之前所有全局条件都位于同一个配置文件内)<br />
** global_objects/ (new)
** global_gui_items/(新增)<br />
** global_time_frames/ (new)
** global_objects/(新增)<br />
** global_variables.yml (same as before)
** global_time_frames/(新增)<br />
** server_variables.yml (new)
** global_variables.yml <br />
** default_variables.yml (previously in config.yml)
** server_variables.yml(新增)<br />
** points_categories.yml (previously in config.yml)
** default_variables.yml(之前位于config.yml内)<br />
** config.yml (same as before)
** points_categories.yml(之前位于config.yml内)<br />
** config.yml(一如既往)</p>
==== GUI ====
==== GUI ====
GUI handling was recoded as well and comes with some improvements. Everything is handled to try to avoid lag as much as possible, especially when loading big multi-page GUIs, or ranking GUIs with many player skins to fetch and stuff like that.
我也重制并优化了GUI处理。 现在的处理会尽可能地避免导致卡顿,尤其是加载大型多页GUI时或是加载很多玩家皮肤的排列GUI时。</p>
<p>如果你安装了ProtocolLib,则插件会使用客户端数据包。这可以在你安装了很多与GUI交互的插件时,避免Spigot处理额外的事件并优化性能。</p></li></ul>


If you have ProtocolLib installed, a client-side packets implementation of GUIs will be used. This avoids extra event processing by Spigot and should result in slightly better performance if you have many plugins interacting with inventories.
同时我也对一些配置进行了优化,让你们有很多的编辑空间,比如页面配置和点击覆盖。详见该页面。<br />


Some config improvements and freedom were brought as well, such as page configuration and clicks overrides. More information on this page.
==== 激活器和注册 ====
==== 激活器和注册 ====
Some useless activator types have been removed, such as ENABLED, DISABLED, and stuff like that. A quest now don’t need an activator anymore. If it has no activator, it can still be started using the GUI or command, as long as they have the permission to do so. Some activator types also were adapted/removed.
我删掉了一些没用的激活器,比如ENABLED和DISABLED。现在任务不再需要激活器。只要有权限,玩家也能通过GUI或指令开始无激活器的。一些类型的激活器也经过了调整或被删除。


The registration file is also gone. You don’t need to register your quest models in order for them to be started. Activators can be configured directly in the quest model file. Groups now have their quests configured inside their own configuration.
注册文件也不复存在了。你不再需要注册任务模型来开始任务。你可以直接在任务模型文件中配置激活器。任务组内的任务可以在其独立文件内进行配置。<br />
==== 任务目标和条件 ====
==== 任务目标和条件 ====
Most quest objects and conditions were converted (with nomenclature standardization for names and settings) or deleted/replaced by alternatives. A few useful things were added, such as special objects CONDITIONS_SWITCH, LOGIC_SWITCH and DIVERGE_GUI. See the new list of objects for reference.
大多数任务目标和条件都有变化(对名称和设置进行术语标准化或被删除/替换)。我添加了一些有用的东西,比如特殊目标——CONDITIONS_SWITCH|条件切换、LOGIC_SWITCH|逻辑切换和DIVERGE_GUI|GUI分支。详见任务目标列表。<br />
=====多目标任务目标(方块/实体/物品)=====
=====多目标任务目标(方块/实体/物品)=====
A feature that has been requested for a long time now is multiple goals within the same objects. That is now possible for most blocks, entities and items player objects.
长久以来用户要求的一个特性就是在同一任务目标内有多个对象。现在大多数方块、实体和物品都可以作为玩家的任务对象。


For existing blocks/items/entities quests, that currently only have one possible objective, the plugin will create an objective in the multiple objectives list. This objective will have the id a. For instance :
对于已存在的方块/物品/实体任务,目前只有一个可用的任务目标,插件会在多目标列表内创建一个子目标。该目标的id为<code>a</code>。比如:
# Old configuration
my_object:
  type: PLAYER_BLOCK_BREAK
  block_type: [DIRT,GRASS_BLOCK]
  amount: 50
# New, converted configuration
my_object:
  type: PLAYER_BLOCKS_BREAK
  blocks:
    a:
      types: [DIRT,GRASS_BLOCK]
      goal: 50.0


Is is crucial that you leave this id to a. If you change it, progression for objects currently active for players will be reset to 0.
<source lang="yaml"># 旧版配置
my_object:
  type: PLAYER_BLOCK_BREAK
  block_type: [DIRT,GRASS_BLOCK]
  amount: 50
 
# 新版配置
my_object:
  type: PLAYER_BLOCKS_BREAK
  blocks:
    a:
      types: [DIRT,GRASS_BLOCK]
      goal: 50.0</source>
将该id设置为<code>a</code>_'很重要_'。如果你更改了这个id,则进行该任务目标的玩家任务进度会被清空。<br />
=====物品目标和关联条件=====
=====物品目标和关联条件=====
Some integrations had their own item conditions and objects. For instance, PLAYER_QUANTUMRPG_ITEM_PICKUP or MMOITEMS_ITEM.
一些关联条件有其物品条件和目标,比如PLAYER_QUANTUMRPG_ITEM_PICKUP或MMOITEMS_ITEM。


Those objects have been removed (except some very specific ones) because of the new easy NBT configuration. It was kind of painful to maintain all of those, instead of having one, consistent item condition/object type.
由于新的简易NBT配置,这些目标已被移除(除了少部分十分具体的条件)。维护这些条件对我而言太痛苦了。更加一致的条件和目标更利于我进行维护。
 
对于那些具体的条件和目标,你可能需要再次导入。你需要进行一些测试,如果你遇到了问题,请联系我。<br />


For those specific conditions and objects, you might have to import them again. Some testing will be required, don’t hesitate to contact me about that.
=====逻辑目标和条件=====
=====逻辑目标和条件=====
Most conditions that previously required a certain number to be validated, such as ‘having X money’ or ‘having a certain value for a variable’, have been refactored into logic strings. This requires basic knowledge of logic conditions, explained here.
之前需要特定数字才能生效的大多数条件已被重构为逻辑字符串,比如“拥有X元”或“有一个变量的特定值”。这需要你拥有逻辑条件的基础知识,详见这里。


For instance :
比如:
# Old configuration
my_condition:
  type: HEROES_SKILL_LEVEL
  skill_name: my_skill
  operation: AT_LEAST
  value: 10
# New configuration
my_condition:
  type: HEROES_SKILL_LEVEL
  skill: my_skill
  logic: '{skill_level} >= 10'


The same thing goes for objects : the ones that previously affected a certain value, such as ‘modifying money’ or ‘modifying veriable’, have been refactored into math expressions strings.
<source lang="yaml"># 旧版配置
my_condition:
  type: HEROES_SKILL_LEVEL
  skill_name: my_skill
  operation: AT_LEAST
  value: 10
# 新版配置
my_condition:
  type: HEROES_SKILL_LEVEL
  skill: my_skill
  logic: '{skill_level} >= 10'</source>
这同样作用于目标:之前影响特定值的目标也被重构为数学表达式字符串,比如“修改金钱”或“修改数值”。


For instance :
比如:
# Old configuration
<source lang="yaml"># 旧版配置
my_object:
my_object:
  type: SERVER_MONEY_CHANGE
  type: SERVER_MONEY_CHANGE
  operation: ADD
  operation: 添加
  value: 100.0
  value: 100.0
# New configuration
# 新版配置
my_object:
my_object:
  type: SERVER_LOGIC_MONEY
  type: SERVER_LOGIC_MONEY
  value_formula: '{value} + 10'  # taking the current money and adding 10 to 
  value_formula: '{value} + 10'  # 货币+10</source>
=====特例:CONDITIONS条件目标=====
=====特例:CONDITIONS条件目标=====
CONDITIONS目标在新版中被移除了,现根据用法现已被分为了多个其它目标。
CONDITIONS目标在新版中被移除了,现根据用法现已被分为了多个其它目标。


a) If it had a fail goto (used as a junction between two objects) :
a) 如果拥有失败goto(用于连接两个目标):
# Old configuration
 
my_object:
<source lang="yaml"># 旧版配置
  type: CONDITIONS
my_object:
  conditions:
  type: CONDITIONS
    # ... conditions settings
  conditions:
    goto_if_not_valid: QUEST_FAIL
    # ……此处省略条件设置
  goto: OBJECT continue
    goto_if_not_valid: QUEST_FAIL
  goto: OBJECT continue
# New, converted configuration
 
my_object:
# 新版配置
  type: CONDITIONS_SWITCH
my_object:
  cases:
  type: CONDITIONS_SWITCH
    a:
  cases:
      conditions:
    a:
        # ... conditions settings
      conditions:
      goto: continue
        # ……此处省略条件设置
    # ... there can be other cases
      goto: continue
  goto: QUEST_FAIL  # default goto
    # 此处可有其它案例
b) If it had no fail goto (just waiting for the conditions to be valid to continue) :
  goto: QUEST_FAIL  # default goto</source>
# Old configuration
b) 如果没有失败goto(等待验证条件并继续):
my_object:
 
  type: CONDITIONS
<source lang="yaml"># 旧版配置
  conditions:
 
    # ... conditions settings
my_object:
  goto: OBJECT continue
  type: CONDITIONS
  conditions:
# New, converted configuration
    # ……此处省略条件设置
my_object:
  goto: OBJECT continue
  type: NONE
 
  progress_conditions:
 
    # ... conditions settings
# 新版配置
  goto: continue
 
my_object:
  type: NONE
  progress_conditions:
    # ……此处省略条件设置
  goto: continue</source>
====更多设置====
====更多设置====
Many settings were added and standardized for a bunch of elements. For most quest objects were added cool things like “items_needed” and “position_stay”. For quest pools were added more control settings for each quest and also groups configuration. A clearier actor restriction management. And many settings specific to each element, read more about it on relevant pages.
我添加了许多设置,并对一些元素进行了标准化。对于大多数任务目标,我添加了很酷的东西,比如“items_needed”和“position_stay”。我为任务池增加了更多的控制选项,添加了一个更清晰的actor限制管理系统,以及针对每个元素添加了很多设置,详细信息请查阅相关页面。<br />
====全局元素====
====全局元素====
To avoid repetition through configuration, I introduced ‘global variables’ and ‘global conditions’ a bunch of updates ago. I have extended this principle to objects, branches, gui items and time frames. It’s useful if you spend a lot of time copy/pasting the same config parts from one quest to another. Read more about it on this page.
为了避免重复配置,我在之前的一堆更新里引入了 &quot;全局变量 &quot;和 &quot;全局条件&quot;的概念。我已经将这个原则扩展到任务目标、分支、GUI物品和时间范围。如果你花了很多时间把相同的配置部分从一个任务复制/粘贴到另一个任务中,那么这个功能很有用。更多信息请查看该页面。<br />
====还有更多内容!====
====还有更多内容!====
There are a bunch of configuration improvements, and also new features I didn’t list above, that are detailed in the documentation.
我优化了很多配置,也新增了一些我未列出的新特性,这包括但不限于:


Including, but not limited to :
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/627 #627 Show diffrent text if condition is not met in DIVERGE] (提出者:zemoz)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/627 #627 Show diffrent text if condition is not met in DIVERGE] (by zemoz)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/625 #625 Allow players to have multiple quests open via permissions] (提出者:viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/625 #625 Allow players to have multiple quests open via permissions] (by viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/621 #621 建议:Multiple quests in the scoreboard] (提出者:Mr_Mint_)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/621 #621 SUGGESTION: Multiple quests in the scoreboard] (by Mr''Mint'')
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/226 #226 建议:coop quest] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/226 #226 SUGGESTION: coop quest] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/252 #252 建议:Global Server Quest] (提出者:TheOnlyTermin)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/252 #252 Suggestion: Global Server Quest] (by TheOnlyTermin)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/299 #299 新目标建议] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/299 #299 SUGGESTION NEW OBJECT] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/307 #307 计分板建议] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/307 #307 SUGGESTION SCOREBOARD] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/320 #320 建议添加条件] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/320 #320 SUGGESTION ADD CONDITION] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/346 #346 待办事项:对PLAYER_ITEM目标实现多物品对象] (提出者:GuillaumeVDN)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/346 #346 To do : multiple items for some PLAYER_ITEM objects] (by GuillaumeVDN)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/350 #350 [建议] QOL Update for Console Neatness/Readability.] (提出者:NolanMC)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/350 #350 [Suggestion] QOL Update for Console Neatness/Readability.] (by NolanMC)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/365 #365 建议] (提出者:joker19102002)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/365 #365 Suggestion] (by joker19102002)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/369 #369 建议:MythicMobs ITEMS] (提出者:Mortesaison)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/369 #369 Suggestion: MythicMobs ITEMS] (by Mortesaison)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/453 #453 建议将游戏内编辑器颜色代码改为小写] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/453 #453 SUGGESTION ingame editor color code tolowercase] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/448 #448 提议:调整 actionbar/bossbar/计分板 优先度] (提出者:Ssomarrr)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/448 #448 Propostion : Priorité d’affichage des quêtes dans la actionbar/bossbar/scoreboard] (by Ssomarrr)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/474 #474 New Condition Operation: “BETWEEN”] (提出者:NolanMC)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/474 #474 New Condition Operation: “BETWEEN”] (by NolanMC)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/514 #514 支持option “remove_after_action” for PLAYER_CONTAINER_MANIPULATE] (提出者:kelvinjunilson)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/514 #514 Support option “remove''after''action” for PLAYER''CONTAINER''MANIPULATE] (by kelvinjunilson)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/522 #522 兼容‘Items添加erV1’] (提出者:FlameCat)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/522 #522 Compatibility with ‘ItemsAdderV1’] (by FlameCat)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/550 #550 建议 - OR Condition with multiple options] (提出者:AshenGaming)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/550 #550 Suggestion - OR Condition with multiple options] (by AshenGaming)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/551 #551 建议 PLAYER_MOB_INTERACT] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/551 #551 SUGGESTION PLAYER''MOB''INTERACT] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/554 #554 Global variable] (提出者:pristatauminecraft84)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/554 #554 Global variable] (by pristatauminecraft84)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/587 #587 建议:Breed Objective (Ex. breed 5 horses)] (提出者:MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/587 #587 Suggestion: Breed Objective (Ex. breed 5 horses)] (by MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/589 #589 建议:Tier name option for QuantumRPG objects.] (提出者:MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/589 #589 Suggestion: Tier name option for QuantumRPG objects.] (by MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/590 #590 建议:Brewing Objective] (提出者:MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/590 #590 Suggestion: Brewing Objective] (by MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/609 #609 A 建议:PLAYER_MMOITEMS_ITEM_PICKUP] (提出者:BastaMasta)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/609 #609 A suggestion: PLAYER''MMOITEMS''ITEM_PICKUP] (by BastaMasta)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/613 #613 建议:Server Variables] (提出者:Leopled)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/613 #613 SUGGESTION: Server Variables] (by Leopled)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/615 #615 建议:Variables to be given a primitive type modifier] (提出者:Leopled)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/615 #615 SUGGESTION: Variables to be given a primitive type modifier] (by Leopled)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/616 #616 建议:添加 - PLAYER_MOB_BREED] (提出者:nikita.sineiko)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/616 #616 SUGGESTION: Add - PLAYER''MOB''BREED] (by nikita.sineiko)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/617 #617 建议:添加 - ELYTRA_FLIGHT_DISTANCE] (提出者:nikita.sineiko)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/617 #617 SUGGESTION: Add - ELYTRA''FLIGHT''DISTANCE] (by nikita.sineiko)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/630 #630 GPS Spam when QC quest is active] (提出者:denisamania)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/630 #630 GPS Spam when QC quest is active] (by denisamania)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/165 #165 GPS Feature] (提出者:phamductrungbmt)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/165 #165 GPS Feature] (by phamductrungbmt)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/207 #207 建议:Search Type] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/207 #207 Suggestion: Search Type] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/290 #290 建议 GPS] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/290 #290 SUGGESTION GPS] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/239 #239 建议 condition slot] (提出者:Yuky-Mystic)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/239 #239 suggestion condition slot] (by Yuky-Mystic)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/241 #241 DIVERGE object GUI option] (提出者:junpark8903)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/241 #241 DIVERGE object GUI option] (by junpark8903)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/249 #249 建议 - PLAYER_MOB_FEED object] (提出者:bccyv)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/249 #249 Suggestion - PLAYER''MOB''FEED object] (by bccyv)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/272 #272 delay_repeat_message_goto_not_reached:] (提出者:Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/272 #272 delay''repeat''message''goto''not_reached:] (by Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/361 #361 建议 pre quest dialog] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/361 #361 SUGGESTION pre quest dialog] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/351 #351 建议 missing Config Option to stop Quests from auto sorting] (提出者:quorn23)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/351 #351 Suggestion missing Config Option to stop Quests from auto sorting] (by quorn23)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/338 #338 Mission zone] (提出者:Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/338 #338 Mission zone] (by Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/296 #296 Quest Differ with Permission in Same Menu] (提出者:MacTonight8)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/296 #296 Quest Differ with Permission in Same Menu] (by MacTonight8)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/325 #325 建议 object diverge amount limit] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/325 #325 SUGGESTION object diverge amount limit] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/348 #348 建议 SERVER_ITEM_EDIT] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/348 #348 SUGGESTION SERVER''ITEM''EDIT] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/273 #273 create an hologram object above cinematics client side npc] (提出者:pigmen26gamesYT)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/273 #273 create an hologram object above cinematics client side npc] (by pigmen26gamesYT)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/370 #370 建议 item particle] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/370 #370 SUGGESTION item particle] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/396 #396 Hologram aesthetics and function] (提出者:techdude404gaming)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/396 #396 Hologram aesthetics and function] (by techdude404gaming)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/374 #374 custom message checkpoint] (提出者:Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/374 #374 custom message checkpoint] (by Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/230 #230 GangPlus Support] (提出者:AlessioTW)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/230 #230 GangPlus Support] (by AlessioTW)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/378 #378 建议 QuestPoint Placeholder] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/378 #378 SUGGESTION QuestPoint Placeholder] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/362 #362 SuperiorSkyblock integration] (提出者:Faceless0102)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/362 #362 SuperiorSkyblock integration] (by Faceless0102)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/381 #381 Shopkeeper Plugin Support] (提出者:AkiraKokiri)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/381 #381 Shopkeeper Plugin Support] (by AkiraKokiri)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/382 #382 Object PLAYER_CITIZENS_NPC_DELIVER_ITEMS] (提出者:Hellgato)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/382 #382 Object PLAYER''CITIZENS''NPC''DELIVER''ITEMS] (by Hellgato)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/397 #397 [建议] - gvariables &amp; variables 设置] (提出者:Hellgato)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/397 #397 [Suggestion] - gvariables &amp; variables settings] (by Hellgato)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/399 #399 建议 different progression text for delegates when completed] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/399 #399 SUGGESTION different progression text for delegates when completed] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/634 #634 DAY_OF_MONTH condition] (提出者:emohobo)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/634 #634 DAY''OF''MONTH condition] (by emohobo)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/434 #434 [建议] Object area] (提出者:Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/434 #434 [Suggestion] Object area] (by Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/444 #444 [建议] 添加 name_contains, lore_contains etc] (提出者:Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/444 #444 [Suggestion] add name''contains, lore''contains etc] (by Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/398 #398 关联MMOCore] (提出者:jajamic)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/398 #398 Intégration de MMOCore] (by jajamic)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/411 #411 MMOCore 支持建议] (提出者:ItsSniper)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/411 #411 MMOCore Support Suggestion] (by ItsSniper)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/422 #422 [建议] 关联MMOCore 经验/队伍] (提出者:gitoez)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/422 #422 [Suggestion] MMOCore EXP/Party intergration.] (by gitoez)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/439 #439 QuestCreator会支持MMOCore吗?] (提出者:easonchu)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/439 #439 Will QuestCreator support MMOCore?] (by easonchu)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/604 #604 建议:MMOCore’s variables condition] (提出者:harunalisa10)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/604 #604 Suggestion: MMOCore’s variables condition] (by harunalisa10)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/404 #404 支持MCMMO Overhaul] (提出者:NolanMC)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/404 #404 Support for MCMMO Overhaul] (by NolanMC)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/624 #624 支持mcMMO Overhauled] (提出者:viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/624 #624 Support mcMMO Overhauled] (by viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/445 #445 建议 object setting invisible] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/445 #445 SUGGESTION object setting invisible] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/447 #447 新目标建议] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/447 #447 SUGGESTION new object] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/453 #453 建议 ingame editor color code tolowercase] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/453 #453 SUGGESTION ingame editor color code tolowercase] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/464 #464 Reception data ( suggested feature)] (提出者:hammad_alhassan)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/464 #464 Reception data ( suggested feature)] (by hammad_alhassan)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/467 #467 execution_chance and progress_chance fail goto’s] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/467 #467 execution''chance and progress''chance fail goto’s] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/469 #469 SuperiorSkyblock2 Hook for QuestCreator] (提出者:studiotadikl)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/469 #469 SuperiorSkyblock2 Hook for QuestCreator] (by studiotadikl)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/476 #476 建议s for location] (提出者:HuJunwei23333)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/476 #476 Suggestions for location] (by HuJunwei23333)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/462 #462 TokenEnchant Feature] (提出者:miwasakytb)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/462 #462 TokenEnchant Feature] (by miwasakytb)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/487 #487 建议 npc id auto detect] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/487 #487 SUGGESTION npc id auto detect] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/493 #493 Possibility to delete old Userdata] (提出者:maxklug1999)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/493 #493 Possibility to delete old Userdata] (by maxklug1999)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/510 #510 NPC conversation 建议s (DIVERGE OBJECT)] (提出者:gingycraft)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/510 #510 NPC conversation suggestions (DIVERGE OBJECT)] (by gingycraft)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/535 #535 建议 - hiding completed objectives from the scoreboard in a GROUP object] (提出者:Silvark)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/535 #535 Suggestion - hiding completed objectives from the scoreboard in a GROUP object] (by Silvark)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/541 #541 Quantum rpg: level system integration] (提出者:koviazin.pro)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/541 #541 Quantum rpg: level system integration] (by koviazin.pro)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/559 #559 New variable: running_concurrent_quest_count] (提出者:kelvinjunilson)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/559 #559 New variable: running''concurrent''quest_count] (by kelvinjunilson)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/586 #586 建议:Option to remove vanilla lore on GUI items.] (提出者:MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/586 #586 Suggestion: Option to remove vanilla lore on GUI items.] (by MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/623 #623 Quetes entre membres d’ile] (提出者:WarnDangerous)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/623 #623 Quetes entre membres d’ile] (by WarnDangerous)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/501 #501 SERVER_ACTION_LIST Argument 添加ition Request] (提出者:techdude404gaming)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/501 #501 SERVER''ACTION''LIST Argument Addition Request] (by techdude404gaming)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/521 #521 Ajouter une commande pour ouvrir le journal directement] (提出者:titidelaff)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/521 #521 Ajouter une commande pour ouvrir le journal directement] (by titidelaff)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/620 #620 [建议/BUGFIX] Please FIX quest MOVEMENT &amp; ORDER] (提出者:nikita.sineiko)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/620 #620 [SUGGESTION/BUGFIX] Please FIX quest MOVEMENT &amp; ORDER] (by nikita.sineiko)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/618 #618 建议:添加 - PLAYER_SWIM_DISTANCE] (提出者:nikita.sineiko)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/618 #618 SUGGESTION: Add - PLAYER''SWIM''DISTANCE] (by nikita.sineiko)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/581 #581 支持执行Denizen脚本] (提出者:Renin)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/581 #581 Execute Denizen scripts Support] (by Renin)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/591 #591 DungeonXL条件:location] (提出者:koviazin.pro)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/591 #591 DungeonXL condition: location] (by koviazin.pro)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/592 #592 建议:添加 option to detect mobs spawned by spawners] (提出者:deadfish12)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/592 #592 Suggestion: Add option to detect mobs spawned by spawners] (by deadfish12)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/597 #597 Condition INVENTORY_FREE_FOR] (提出者:Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/597 #597 Condition INVENTORY''FREE''FOR] (by Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/600 #600 建议:progress_sound] (提出者:juankaplay)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/600 #600 Suggestion: progress_sound] (by juankaplay)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/635 #635 Server stall on boot, appears related to player head web requests] (提出者:viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/635 #635 Server stall on boot, appears related to player head web requests] (by viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/629 #629 NuVotifier关联失效] (提出者:viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/629 #629 NuVotifier Integration not working] (by viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/632 #632 HONEY_LEVEL block state] (提出者:GuillaumeVDN)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/632 #632 HONEY_LEVEL block state] (by GuillaumeVDN)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/614 #614 建议:可通过指令退出多人任务] (提出者:Leopled)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/614 #614 SUGGESTION: Co-op leave via command] (by Leopled)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/598 #598 建议:更好地支持酿造药水和修复装备] (提出者:MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/598 #598 Suggestion: Better support for brewing and repairing] (by MyTale)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/638 #638 建议 configurable region activator] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/638 #638 SUGGESTION configurable region activator] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/637 #637 给GUI添加音效] (提出者:Tactical_Spatula)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/637 #637 Add sounds to GUI] (by Tactical_Spatula)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/633 #633 QC recode : SERVER_ACTION to play a particle script at a certain position] (提出者:GuillaumeVDN)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/633 #633 QC recode : SERVER_ACTION to play a particle script at a certain position] (by GuillaumeVDN)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/599 #599 建议:在OBJECTS内添加粒子选项] (提出者:MrFeikon)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/599 #599 Suggestion: Particles in OBJECTS] (by MrFeikon)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/619 #619 SWEET_BERRIES无法作为GUI物品] (提出者:johnsoncui02)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/619 #619 SWEET_BERRIES cannot be identified in the GUI ITEM] (by johnsoncui02)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/629 #629 NuVotifier关联失效] (提出者:viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/629 #629 NuVotifier Integration not working] (by viveleroi)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/561 #561 SOME or maybe MANY RE-CODING 建议] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/561 #561 SOME or maybe MANY RE-CODING SUGGESTION] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/610 #610 建议:添加 HEX COLOR 支持- 1.16] (提出者:MrFeikon)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/610 #610 SUGGESTION: ADD HEX COLOR SUPPORT - 1.16] (by MrFeikon)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/507 #507 添加 CMI Bossbar support] (提出者:AshenGaming)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/507 #507 Add CMI Bossbar support] (by AshenGaming)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/335 #335 支持群组服] (提出者:Cerexus)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/335 #335 Multiserver Support] (by Cerexus)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/359 #359 建议关联Boss] (提出者:jimmyyeung06)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/359 #359 Suggestion plugin integration Boss] (by jimmyyeung06)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/438 #438 Quest Menu empty until /quest progress] (提出者:CM_lectric)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/438 #438 Quest Menu empty until /quest progress] (by CM_lectric)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/315 #315 “PLAYER_CHAT_VARIABLE” Problem] (提出者:Mr_Mint_)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/315 #315 “PLAYER''CHAT''VARIABLE” Problem] (by Mr''Mint'')
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/206 #206 items: amout: 1 problem and shitty way of being coded &lt;3] (提出者:Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/206 #206 items: amout: 1 problem and shitty way of being coded &lt;3] (by Lordinouille)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/570 #570 BUG quest queue] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/570 #570 BUG quest queue] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/495 #495 cancel_event for object PLAYER_CHAT] (提出者:PizzaMC)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/495 #495 cancel''event for object PLAYER''CHAT] (by PizzaMC)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/389 #389 BUG ScoreBoard] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/389 #389 BUG ScoreBoard] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/419 #419 [建议] Option to specify item/mob type in the object “forbidden” setting] (提出者:deadfish12)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/419 #419 [Suggestion] Option to specify item/mob type in the object “forbidden” setting] (by deadfish12)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/456 #456 Quest Progress Placeholders not formatted with Commas] (提出者:CM_lectric)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/456 #456 Quest Progress Placeholders not formatted with Commas] (by CM_lectric)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/449 #449 BUG scoreboard text] (提出者:timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/449 #449 BUG scoreboard text] (by timmy0707)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/483 #483 {objective_goal} value distorting at 10 billion] (提出者:CM_lectric)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/483 #483 {objective_goal} value distorting at 10 billion] (by CM_lectric)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/485 #485 排序玩家导致极度卡顿] (提出者:Dusan7991)
* [https://www.gitlab.com/GuillaumeVDN/QuestCreator/issues/485 #485 player rank cause huge lags] (by Dusan7991)

2021年8月5日 (四) 10:41的最新版本

GuillaumeVDN的插件文档
页面

GuillaumeVDN的插件文档 · 迁移

所有插件都有的常见内容

配置 · 杂项 · 关联

QuestCreator

基础内容 · 示例 · 详细特性 · 高级内容 · 关联


迁移至GCore v8和QuestCreator v6

QuestCreator的v6版本需要v8版本的GCore作为前置。我彻底重制了这一版本的插件,新版本的插件可以实现之前所无法实现的功能。

最重要的是,重制可以让我更高效地维护插件。而且让我不会在面对几年前写的破代码时痛不欲生。之前版本的代码质量虽然可读性强,但到了要修复漏洞或更新时,我几乎不知所措。这是因为这些代码是我在几年前刚学编程时写的,而现在我的编程技术已炉火纯青。几个月前我就有了重制插件这一想法,正是如此你才会看到这份文档和重制的插件。
我很感谢所有在过去几个月里耐心等待修复漏洞和更新插件的人。虽然有些人只因为他们买了我的产品就似乎认为我属于他们,认为我就应该快点更新插件,但很多人都表示支持并耐心等待重制插件,即便在重制期间我很少更新插件和修复漏洞。虽然这听起来很蠢,但Minecraft目前是我生活的重要组成部分,我非常感谢你们的支持。

我的其它插件

我专注于开发QuestCreator,因为我收到来自这款插件的询问最多。我计划重制我的全部插件,但这需要点时间。我计划在2020-2021年期间完成,只要我有时间,就会去做这件事。

目前只有QuestCreator v6兼容GCore v8。如果你同时使用QuestCreator和我的其它插件,那么你需要同时下载旧版的Gcore 。对此造成的不便我深感抱歉。

警告

这个版本的插件并不稳定,请在投入到正在运行的服务器之前进行充分测试。我会在Discord服务器上发布早期测试版来修复大多数重大漏洞。现在我所公开发布的版本是为了加速调试插件,也为 了不让你们等待太久。

请在Discord服务器汇报任何你遇到的重大问题,如果不是那么严重的问题,你可以在GitLab上汇报。

我会分批处理漏洞,频繁发布新的build,可能每3-4天发布一次。我也会在Discord上发布新的build,以避免无谓的等待时间(对已验证用户而言)。

备份你的服务器

为了避免必须手动调整所有的变更配置,GCore v8和QuestCreator v6内置了一个自动转换配置和数据文件的系统。我用一堆不同的文件测试过该系统。但是某些东西可能会出乎意料地被破坏。

我不管一些人怎样看待我的插件,但无论如何我是不会特意在我的插件中加入漏洞的 ^_^ 。我会尽我所能地修复它们,但我无法预料所有情况,这也是为何插件会存在漏洞。

因此为了避免数据丢失,我希望你在正常运行中的服务器上迁移之前,先做一个完整的备份。不仅仅是备份我的插件文件,还要备份整个服务器,包括地图、玩家数据状态以及其他插件的数据。虽然QuestCreator从不会直接改变这些数据,但你的任务中有可能存在指令/经济奖励、物品操作等,新的bug也可能会修改这些数据。

我不会对由于你没有备份而导致数据丢失负责。但不幸的是这样的事我听得太多了,所以请备份!

除了备份之外, 我对于迁移没有更多的特殊说明了。备份并替换旧的.jar文件,插件会自动开始迁移。

主要变更和新增内容

插件的大体结构仍然没有变化(任务、激活器等),但插件新增了一些特性、优化配置格式,还新增了这份全新的插件文档!

我得承认我没有列出全部变更的内容,因为插件变更的内容实在是太多了。下面是我想到的重大变更内容列表。如果你对某些变化有任何疑问,我建议你查看这个文档的相关内容。我也只是建议你通读一遍,至少阅读通用和基础内容。

优化和数据

关于这次更新首先映入我脑海的就是优化。这并不是你真正看得见的东西,但代码变得更一目了然了。这可以让我更好的维护我的插件。我还对许多库进行了标准化,这意味着像“你修复的bug还是出现了,修了和没修一样”这样的事情将不再发生。

通过适当的异步/回调管理,现在插件对数据板的处理更加一致。我不会在这里阐述这些内容,总之这意味着数据保存更加一致,你有时可能会随机遇到的一些问题(任务重复,数据文件未删除等),不会再发生了。

配置、物品和变体

我重写了一个YAML解析器,不再使用默认的bukkit解析器。对我而言,最主要的改进是在重写文件时保留注释和配置组织。详见该页面。

许多配置节在不同的地方不一致。我能想到的主要例子是物品:不同地方的设置并不总是相同的。有时你可以使用一些设置,但有时则无法使用;比如大多数情况下,在物品配置中的“exact_match”或“remove_after_action”等设置并不是所有地方都能用。现在,一切都是一致的:物品有自己的部分,特定设置位于其配置之外。此处记录了大多数通用配置部分。

现在插件能更好地处理物品,并具有更一致的行为。您可以更清晰地配置大多数特定物品元数据,以及NBT标签(而不是不可读的base64编码文本)。

请在此处阅读有关变体(材料/声音/粒子)的更多详细信息。这些内容没有太大的改变,因为我大部分时间使用相同的旧名称,因为这可以让我更自由和清晰地使用(主要是对我而言,但你也可以自由编辑它,你总是有一个最新的材料/声音/粒子列表)。

文本

对我而言,文本是这次更新的白璧微瑕,对此我必须道歉:我找不到一种方法来平滑地转换现有的语言文件。由于许多原因(我新增、删除或修改了很多文本,导致一些文本的含义改变,占位符不一致,等等)。

对文本进行自动转换只会得到一个混乱、不连贯、不美观的结果,而且也会花费大量时间(何况今年夏天我没有多少时间了)。所以译者必须用自己的语言重新翻译文本。对此我向所有的译者表示抱歉,我知道翻译文本可能真的很无聊,而且需要很长时间。

好的一面是,现在每个插件的文本都有自己的文件夹,而不是只有一个塞满了各种语言的texts.yml文件。这样翻译就不那么麻烦了。

指令

每次大型更新我都会优化我的指令库。我猜你们看到这个主要变更时会很高兴:不再需要-参数:值格式。

比如之前的指令你需要输入 /qc start -q:farm_quest -p:player,现在你只需输入 /qc start farm_quest player

参数无需遵循特定顺序:/qc start farm_quest GuillaumeVDN/qc start GuillaumeVDN farm_quest有相同的效果。

我优化了参数检测,现在你无需输入整个参数,你可以使用优化过的自动补全系统。如果插件停止给出参数建议,这就意味着插件找到了唯一匹配的结果。比如输入“Guillaume”你会得到“GuillaumeVDN”的结果,或者在没有其它名字是G开头的玩家在线时只输入“g”你也会得到该结果。

因此这些指令都会有相同的效果:/qc start GuillaumeVDN farm_quest/qc start Guillaume farm/qc start g farm/qc start g fa。这可以让输入指令不再那么繁琐,但如果输入的内容太短的话可能会得到无关结果。

如果没有指定目标玩家参数,则大多数带有目标玩家参数的指令将以发送者为目标。

值得一提的是,现在reload|重载指令会彻底重载全部配置和数据。

文件结构

Gcore的文件结构没有多大变化,但QuestCreator就恰恰相反。

下面是对新的层次结构的总结。新的特性和变更将在下面进一步解释。

  • /plugins/QuestCreator/ :
    • data_v6/:玩家/服务器数据文件(即使你使用MySQL,也会有本地文件)

      (之前全部数据文件都集中存储在GCore里)
    • quest_models/(一如既往)
    • quest_models_functional/(新增)
    • quest_activators/(之前所有激活器都位于同一个配置文件内)
    • quest_groups/(之前所有任务组都位于同一个配置文件内)
    • quest_pools/(之前所有任务池都位于同一个配置文件内)
    • quest_states/(新增)
    • guis/(一如既往)
    • global_branches/(新增)
    • global_conditions/(之前所有全局条件都位于同一个配置文件内)
    • global_gui_items/(新增)
    • global_objects/(新增)
    • global_time_frames/(新增)
    • global_variables.yml
    • server_variables.yml(新增)
    • default_variables.yml(之前位于config.yml内)
    • points_categories.yml(之前位于config.yml内)
    • config.yml(一如既往)

GUI

我也重制并优化了GUI处理。 现在的处理会尽可能地避免导致卡顿,尤其是加载大型多页GUI时或是加载很多玩家皮肤的排列GUI时。

如果你安装了ProtocolLib,则插件会使用客户端数据包。这可以在你安装了很多与GUI交互的插件时,避免Spigot处理额外的事件并优化性能。

同时我也对一些配置进行了优化,让你们有很多的编辑空间,比如页面配置和点击覆盖。详见该页面。

激活器和注册

我删掉了一些没用的激活器,比如ENABLED和DISABLED。现在任务不再需要激活器。只要有权限,玩家也能通过GUI或指令开始无激活器的。一些类型的激活器也经过了调整或被删除。

注册文件也不复存在了。你不再需要注册任务模型来开始任务。你可以直接在任务模型文件中配置激活器。任务组内的任务可以在其独立文件内进行配置。

任务目标和条件

大多数任务目标和条件都有变化(对名称和设置进行术语标准化或被删除/替换)。我添加了一些有用的东西,比如特殊目标——CONDITIONS_SWITCH|条件切换、LOGIC_SWITCH|逻辑切换和DIVERGE_GUI|GUI分支。详见任务目标列表。

多目标任务目标(方块/实体/物品)

长久以来用户要求的一个特性就是在同一任务目标内有多个对象。现在大多数方块、实体和物品都可以作为玩家的任务对象。

对于已存在的方块/物品/实体任务,目前只有一个可用的任务目标,插件会在多目标列表内创建一个子目标。该目标的id为a。比如:

# 旧版配置
my_object:
  type: PLAYER_BLOCK_BREAK
  block_type: [DIRT,GRASS_BLOCK]
  amount: 50

# 新版配置
my_object:
  type: PLAYER_BLOCKS_BREAK
  blocks:
    a:
      types: [DIRT,GRASS_BLOCK]
      goal: 50.0

将该id设置为a_'很重要_'。如果你更改了这个id,则进行该任务目标的玩家任务进度会被清空。

物品目标和关联条件

一些关联条件有其物品条件和目标,比如PLAYER_QUANTUMRPG_ITEM_PICKUP或MMOITEMS_ITEM。

由于新的简易NBT配置,这些目标已被移除(除了少部分十分具体的条件)。维护这些条件对我而言太痛苦了。更加一致的条件和目标更利于我进行维护。

对于那些具体的条件和目标,你可能需要再次导入。你需要进行一些测试,如果你遇到了问题,请联系我。

逻辑目标和条件

之前需要特定数字才能生效的大多数条件已被重构为逻辑字符串,比如“拥有X元”或“有一个变量的特定值”。这需要你拥有逻辑条件的基础知识,详见这里。

比如:

# 旧版配置
my_condition:
  type: HEROES_SKILL_LEVEL
  skill_name: my_skill
  operation: AT_LEAST
  value: 10
# 新版配置
my_condition:
  type: HEROES_SKILL_LEVEL
  skill: my_skill
  logic: '{skill_level} >= 10'

这同样作用于目标:之前影响特定值的目标也被重构为数学表达式字符串,比如“修改金钱”或“修改数值”。

比如:

# 旧版配置
my_object:
  type: SERVER_MONEY_CHANGE
  operation: 添加
  value: 100.0
# 新版配置
my_object:
  type: SERVER_LOGIC_MONEY
  value_formula: '{value} + 10'  # 货币+10
特例:CONDITIONS条件目标

CONDITIONS目标在新版中被移除了,现根据用法现已被分为了多个其它目标。

a) 如果拥有失败goto(用于连接两个目标):

# 旧版配置
my_object:
  type: CONDITIONS
  conditions:
    # ……此处省略条件设置
    goto_if_not_valid: QUEST_FAIL
  goto: OBJECT continue

# 新版配置
my_object:
  type: CONDITIONS_SWITCH
  cases:
    a:
      conditions:
        # ……此处省略条件设置
      goto: continue
    # 此处可有其它案例
  goto: QUEST_FAIL  # default goto

b) 如果没有失败goto(等待验证条件并继续):

# 旧版配置

my_object:
  type: CONDITIONS
  conditions:
    # ……此处省略条件设置
  goto: OBJECT continue


# 新版配置

my_object:
  type: NONE
  progress_conditions:
    # ……此处省略条件设置
  goto: continue

更多设置

我添加了许多设置,并对一些元素进行了标准化。对于大多数任务目标,我添加了很酷的东西,比如“items_needed”和“position_stay”。我为任务池增加了更多的控制选项,添加了一个更清晰的actor限制管理系统,以及针对每个元素添加了很多设置,详细信息请查阅相关页面。

全局元素

为了避免重复配置,我在之前的一堆更新里引入了 "全局变量 "和 "全局条件"的概念。我已经将这个原则扩展到任务目标、分支、GUI物品和时间范围。如果你花了很多时间把相同的配置部分从一个任务复制/粘贴到另一个任务中,那么这个功能很有用。更多信息请查看该页面。

还有更多内容!

我优化了很多配置,也新增了一些我未列出的新特性,这包括但不限于: