https://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&feed=atom&action=historyGuillaumeVDN的插件文档/迁移 - 版本历史2024-03-28T20:19:52Z本wiki的该页面的版本历史MediaWiki 1.31.1https://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=15712&oldid=prev2021年8月5日 (四) 10:41 Qsefthuopq2021-08-05T10:41:31Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="zh-CN">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">←上一版本</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">2021年8月5日 (四) 10:41的版本</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l3" >第3行:</td>
<td colspan="2" class="diff-lineno">第3行:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QuestCreator的v6版本需要v8版本的GCore作为前置。我彻底重制了这一版本的插件,新版本的插件可以实现之前所无法实现的功能。</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QuestCreator的v6版本需要v8版本的GCore作为前置。我彻底重制了这一版本的插件,新版本的插件可以实现之前所无法实现的功能。</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">最重要的是,它可以让插件维护更加高效。而且让我不会在面对几年前写的破代码时痛不欲生。之前版本的代码质量虽然可读性强,但到了要修复bug或更新时,我几乎不知所措。这是因为这些代码是我在几年前刚学编程时写的。现在我的编程技术已炉火纯青,几个月前我就有了重制插件这一想法。正是因此你才会看到这份文档和我重制的插件。</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"> 最重要的是,重制可以让我更高效地维护插件。而且让我不会在面对几年前写的破代码时'''痛不欲生'''。之前版本的代码质量虽然可读性强,但到了要修复漏洞或更新时,我几乎不知所措。这是因为这些代码是我在几年前刚学编程时写的,而现在我的编程技术已炉火纯青。几个月前我就有了重制插件这一想法,正是如此你才会看到这份文档和重制的插件。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">我很感谢所有在过去几个月里耐心等待修复漏洞和更新插件的人。虽然有些人只因为他们买了我的产品就似乎认为我属于他们,认为我就应该快点更新插件,但很多人都表示支持[和/或]耐心等待重制插件,即便在重制期间我很少更新插件和修复漏洞。虽然这听起来很傻,但Minecraft目前是我生活的重要组成部分,我非常感谢你们的支持。</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"> 我很感谢所有在过去几个月里耐心等待修复漏洞和更新插件的人。虽然有些人只因为他们买了我的产品就似乎认为我属于他们,认为我就应该快点更新插件,但很多人都表示支持并耐心等待重制插件,即便在重制期间我很少更新插件和修复漏洞。虽然这听起来很蠢,但Minecraft目前是我生活的重要组成部分,我非常感谢你们的支持。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== 我的其它插件 ===</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== 我的其它插件 ===</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l28" >第28行:</td>
<td colspan="2" class="diff-lineno">第28行:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>除了备份之外, 我对于迁移没有更多的特殊说明了。备份并替换旧的.jar文件,插件会自动开始迁移。</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>除了备份之外, 我对于迁移没有更多的特殊说明了。备份并替换旧的.jar文件,插件会自动开始迁移。</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">=</del>== 主要变更和新增内容 <del class="diffchange diffchange-inline">=</del>==</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>== 主要变更和新增内容 ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">插件的大多数的结构仍然没有变化(任务、激活器等),但插件新增了一些特性、对配置进行了标准化,作出了一些微小的变更,还新增了这份全新的插件文档!</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">插件的大体结构仍然没有变化(任务、激活器等),但插件新增了一些特性、优化配置格式,还新增了这份全新的插件文档!</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">我必须承认我没有列出全部变更的内容,因为插件变更的内容实在是太多了。下面是我想到的重大变更内容列表。如果你对某些变化有任何疑问,我建议你查看这个文档的相关内容。我也只是建议你通读一遍,至少阅读通用和基础内容。</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">我得承认我没有列出全部变更的内容,因为插件变更的内容实在是太多了。下面是我想到的重大变更内容列表。如果你对某些变化有任何疑问,我建议你查看这个文档的相关内容。我也只是建议你通读一遍,至少阅读通用和基础内容。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== 优化和数据 ====</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== 优化和数据 ====</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">关于这次更新首先映入我脑海的就是优化。这并不是你真正看得见的东西,但代码变得更清晰、精简、一致了。这可以让我更好的维护我的插件。我还对许多库进行了标准化,这意味着像“你修复的bug还是出现了,修了和没修一样”这样的事情将不再发生。</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">关于这次更新首先映入我脑海的就是优化。这并不是你真正看得见的东西,但代码变得更一目了然了。这可以让我更好的维护我的插件。我还对许多库进行了标准化,这意味着像“你修复的bug还是出现了,修了和没修一样”这样的事情将不再发生。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>通过适当的异步/回调管理,现在插件对数据板的处理更加一致。我不会在这里阐述这些内容,总之这意味着数据保存更加一致,你有时可能会随机遇到的一些问题(任务重复,数据文件未删除等),不会再发生了。<br /></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>通过适当的异步/回调管理,现在插件对数据板的处理更加一致。我不会在这里阐述这些内容,总之这意味着数据保存更加一致,你有时可能会随机遇到的一些问题(任务重复,数据文件未删除等),不会再发生了。<br /></div></td></tr>
</table>Qsefthuopqhttps://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13464&oldid=prev2020年11月22日 (日) 09:40 Qsefthuopq2020-11-22T09:40:04Z<p></p>
<a href="https://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13464&oldid=13461">显示更改</a>Qsefthuopqhttps://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13461&oldid=prevQsefthuopq:/* 物品目标和关联条件 */2020-11-22T09:11:31Z<p><span dir="auto"><span class="autocomment">物品目标和关联条件</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="zh-CN">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">←上一版本</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">2020年11月22日 (日) 09:11的版本</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l122" >第122行:</td>
<td colspan="2" class="diff-lineno">第122行:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>将该id设置为<code>a</code>'''很重要'''。如果你更改了这个id,则进行该任务目标的玩家任务进度会被清空。<br /></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>将该id设置为<code>a</code>'''很重要'''。如果你更改了这个id,则进行该任务目标的玩家任务进度会被清空。<br /></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=====物品目标和关联条件=====</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=====物品目标和关联条件=====</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">一些关联条件有其物品条件和目标,比如PLAYER''QUANTUMRPG''ITEM''PICKUP或MMOITEMS''ITEM。</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">一些关联条件有其物品条件和目标,比如PLAYER_QUANTUMRPG_ITEM_PICKUP或MMOITEMS_ITEM。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>由于新的简易NBT配置,这些目标已被移除(除了少部分十分具体的条件)。维护这些条件对我而言太痛苦了。更加一致的条件和目标更利于我进行维护。</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>由于新的简易NBT配置,这些目标已被移除(除了少部分十分具体的条件)。维护这些条件对我而言太痛苦了。更加一致的条件和目标更利于我进行维护。</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>对于那些具体的条件和目标,你可能需要再次导入。你需要进行一些测试,如果你遇到了问题,请联系我。<br /></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>对于那些具体的条件和目标,你可能需要再次导入。你需要进行一些测试,如果你遇到了问题,请联系我。<br /></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=====逻辑目标和条件=====</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=====逻辑目标和条件=====</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>之前需要特定数字才能生效的大多数条件已被重构为逻辑字符串,比如“拥有X元”或“有一个变量的特定值”。这需要你拥有逻辑条件的基础知识,详见这里。</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>之前需要特定数字才能生效的大多数条件已被重构为逻辑字符串,比如“拥有X元”或“有一个变量的特定值”。这需要你拥有逻辑条件的基础知识,详见这里。</div></td></tr>
</table>Qsefthuopqhttps://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13446&oldid=prevQsefthuopq:/* 文件结构 */2020-11-20T07:43:27Z<p><span dir="auto"><span class="autocomment">文件结构</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="zh-CN">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">←上一版本</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">2020年11月20日 (五) 07:43的版本</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l71" >第71行:</td>
<td colspan="2" class="diff-lineno">第71行:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>下面是对新的层次结构的总结。新的特性和变更将在下面进一步解释。</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>下面是对新的层次结构的总结。新的特性和变更将在下面进一步解释。</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"><ul></del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">*</ins>/plugins/QuestCreator/ :<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"><li><p></del>/plugins/QuestCreator/ :<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** data_v6/:玩家/服务器数据文件(即使你使用MySQL,也会有本地文件)</p>(之前全部数据文件都集中存储在GCore里)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** data_v6/:玩家/服务器数据文件(即使你使用MySQL,也会有本地文件)</p></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">quest_models</ins>/(一如既往)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>(之前全部数据文件都集中存储在GCore里)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">quest_models_functional</ins>/(新增)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">quest''models</del>/(一如既往)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">quest_activators</ins>/(之前所有激活器都位于同一个配置文件内)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">quest''models''functional</del>/(新增)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">quest_groups</ins>/(之前所有任务组都位于同一个配置文件内)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">quest''activators</del>/(之前所有激活器都位于同一个配置文件内)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">quest_pools</ins>/(之前所有任务池都位于同一个配置文件内)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">quest''groups</del>/(之前所有任务组都位于同一个配置文件内)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">quest_states</ins>/(新增)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">quest''pools</del>/(之前所有任务池都位于同一个配置文件内)<br /></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">quest''states</del>/(新增)<br /></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>** guis/(一如既往)<br /></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>** guis/(一如既往)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">global''branches</del>/(新增)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">global_branches</ins>/(新增)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">global''conditions</del>/(之前所有全局条件都位于同一个配置文件内)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">global_conditions</ins>/(之前所有全局条件都位于同一个配置文件内)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">global''gui''items</del>/(新增)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">global_gui_items</ins>/(新增)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">global''objects</del>/(新增)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">global_objects</ins>/(新增)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">global''time''frames</del>/(新增)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">global_time_frames</ins>/(新增)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">global''variables</del>.yml <br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">global_variables</ins>.yml <br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">server''variables</del>.yml(新增)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">server_variables</ins>.yml(新增)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">default''variables</del>.yml(之前位于config.yml内)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">default_variables</ins>.yml(之前位于config.yml内)<br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>** <del class="diffchange diffchange-inline">points''categories</del>.yml(之前位于config.yml内)<br /></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>** <ins class="diffchange diffchange-inline">points_categories</ins>.yml(之前位于config.yml内)<br /></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>** config.yml(一如既往)</p></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>** config.yml(一如既往)</p></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"><p></del>==== GUI ====</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>==== GUI ====</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>我也重制并优化了GUI处理。 现在的处理会尽可能地避免导致卡顿,尤其是加载大型多页GUI时或是加载很多玩家皮肤的排列GUI时。</p></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>我也重制并优化了GUI处理。 现在的处理会尽可能地避免导致卡顿,尤其是加载大型多页GUI时或是加载很多玩家皮肤的排列GUI时。</p></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><p>如果你安装了ProtocolLib,则插件会使用客户端数据包。这可以在你安装了很多与GUI交互的插件时,避免Spigot处理额外的事件并优化性能。</p></li></ul></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><p>如果你安装了ProtocolLib,则插件会使用客户端数据包。这可以在你安装了很多与GUI交互的插件时,避免Spigot处理额外的事件并优化性能。</p></li></ul></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>同时我也对一些配置进行了优化,让你们有很多的编辑空间,比如页面配置和点击覆盖。详见该页面。<br /></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>同时我也对一些配置进行了优化,让你们有很多的编辑空间,比如页面配置和点击覆盖。详见该页面。<br /></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== 激活器和注册 ====</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== 激活器和注册 ====</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>我删掉了一些没用的激活器,比如ENABLED和DISABLED。现在任务不再需要激活器。只要有权限,玩家也能通过GUI或指令开始无激活器的。一些类型的激活器也经过了调整或被删除。</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>我删掉了一些没用的激活器,比如ENABLED和DISABLED。现在任务不再需要激活器。只要有权限,玩家也能通过GUI或指令开始无激活器的。一些类型的激活器也经过了调整或被删除。</div></td></tr>
</table>Qsefthuopqhttps://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13445&oldid=prev2020年11月20日 (五) 07:39 Qsefthuopq2020-11-20T07:39:19Z<p></p>
<a href="https://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13445&oldid=13444">显示更改</a>Qsefthuopqhttps://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13444&oldid=prev2020年11月20日 (五) 07:34 Qsefthuopq2020-11-20T07:34:05Z<p></p>
<a href="https://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13444&oldid=13142">显示更改</a>Qsefthuopqhttps://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13142&oldid=prev2020年10月25日 (日) 08:50 Qsefthuopq2020-10-25T08:50:56Z<p></p>
<a href="https://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13142&oldid=13119">显示更改</a>Qsefthuopqhttps://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13119&oldid=prev2020年10月24日 (六) 06:28 Qsefthuopq2020-10-24T06:28:05Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="zh-CN">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">←上一版本</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">2020年10月24日 (六) 06:28的版本</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >第1行:</td>
<td colspan="2" class="diff-lineno">第1行:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">{{模板:VDNBox}}</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 迁移至GCore v8和QuestCreator v6 ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 迁移至GCore v8和QuestCreator v6 ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QuestCreator的v6版本需要v8版本的GCore作为前置。我彻底重制了这一版本的插件,新版本的插件可以实现之前所无法实现的功能。</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QuestCreator的v6版本需要v8版本的GCore作为前置。我彻底重制了这一版本的插件,新版本的插件可以实现之前所无法实现的功能。</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l325" >第325行:</td>
<td colspan="2" class="diff-lineno">第326行:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* #483 {objective_goal} value distorting at 10 billion (by CM_lectric)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* #483 {objective_goal} value distorting at 10 billion (by CM_lectric)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* #485 player rank cause huge lags (by Dusan7991)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* #485 player rank cause huge lags (by Dusan7991)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">{{模板:VDNBox}}</del></div></td><td colspan="2"> </td></tr>
</table>Qsefthuopqhttps://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13118&oldid=prev2020年10月24日 (六) 06:27 Qsefthuopq2020-10-24T06:27:20Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="zh-CN">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">←上一版本</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">2020年10月24日 (六) 06:27的版本</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >第1行:</td>
<td colspan="2" class="diff-lineno">第1行:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 迁移至GCore v8和QuestCreator v6 ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 迁移至GCore v8和QuestCreator v6 ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Version 6 of QuestCreator, and the matching version 8 of GCore, were entierly rewritten from scratch, with perspectives in mind that I didn’t have a few years ago when I first coded them. This allows features that weren’t possible before, optimized performances, more consistency, stuff like that.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">QuestCreator的v6版本需要v8版本的GCore作为前置。我彻底重制了这一版本的插件,新版本的插件可以实现之前所无法实现的功能。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">And most importantly : it allows more efficient maintenance in the future. And it makes it less painful. The code quality in previous versions, although readable, has gotten to a point where I almost get depressed when I have to fix bugs or work on updates. That’s due to me starting working on those plugins a few years ago, and being a beginner. I have improved a lot in coding, and recoding my plugins have been in my mind for a few months now, and I just needed to do it. So here it is !</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">最重要的是,它可以让插件维护更加高效。而且让我不会在面对几年前写的破代码时痛不欲生。之前版本的代码质量虽然可读性强,但到了要修复bug或更新时,我几乎不知所措。这是因为这些代码是我在几年前刚学编程时写的。现在我的编程技术已炉火纯青,几个月前我就有了重制插件这一想法。正是因此你才会看到这份文档和我重制的插件。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">I am grateful to all the people who patiently waited for bug fixes and updates during the past months. Although some Karen’s seem to believe I belong to them just because they bought my product, many people have shown support and</del>/<del class="diffchange diffchange-inline">or waited patiently during the recode, where updates and bug fixes got rare, if not inexistant. Even if it might sound silly, Minecraft is currently a big part of my life and I appreciate your support. So, many thanks to everyone. revolving_hearts</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">我很感谢所有在过去几个月里耐心等待修复漏洞和更新插件的人。虽然有些人只因为他们买了我的产品就似乎认为我属于他们,认为我就应该快点更新插件,但很多人都表示支持[和</ins>/<ins class="diffchange diffchange-inline">或]耐心等待重制插件,即便在重制期间我很少更新插件和修复漏洞。虽然这听起来很傻,但Minecraft目前是我生活的重要组成部分,我非常感谢你们的支持。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== 我的其它插件 ===</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== 我的其它插件 ===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">I focused on QuestCreator since this is the one I received the most support queries for. An adaptation (or recode) of all my plugins is planned, but it will also take time. I plan to work on it whenever I unlock time for it, during the year 2020</del>-<del class="diffchange diffchange-inline">2021.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">我专注于开发QuestCreator,因为我收到来自这款插件的询问最多。我计划重制我的全部插件,但这需要点时间。我计划在2020</ins>-<ins class="diffchange diffchange-inline">2021年期间完成,只要我有时间,就会去做这件事。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Currently</del>, <del class="diffchange diffchange-inline">only QuestCreator v6 is compatible with GCore v8. If you use another of my plugins along with QuestCreator, you’ll need to download the adapted legacy version of GCore as well (updated on the spigot page for my other plugins). I’m aware it’s annoying, so sorry about that.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">目前只有QuestCreator v6兼容GCore v8。如果你同时使用QuestCreator和我的其它插件</ins>,<ins class="diffchange diffchange-inline">那么你需要同时下载旧版的Gcore 。对此造成的不便我深感抱歉。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===警告===</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===警告===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">This version is not completely stable yet, and should be entierly tested before release on production servers. It went through an alpha-testing on my Discord server to eliminate most critical bugs. Now, I’m releasing this version publicly to accelerate debugging, since it’s already been too long !</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">这个版本的插件并不稳定,请在投入到正在运行的服务器之前进行充分测试。我会在Discord服务器上发布早期测试版来修复大多数重大漏洞。现在我所公开发布的版本是为了加速调试插件,也为 了不让你们等待太久。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Please report any critical problem through a ticket on my Discord server, or on GitLab for less urgent ones.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">请在Discord服务器汇报任何你遇到的重大问题,如果不是那么严重的问题,你可以在GitLab上汇报。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Bugs will be processed in batches and new builds will be released frequently, maybe every 3</del>-<del class="diffchange diffchange-inline">4 days. I can also send the new builds on Discord to avoid useless waiting time (to verified users).</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">我会分批处理漏洞,频繁发布新的build,可能每3</ins>-<ins class="diffchange diffchange-inline">4天发布一次。我也会在Discord上发布新的build,以避免无谓的等待时间(对已验证用户而言)。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===备份你的服务器===</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===备份你的服务器===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">To avoid having to adapt to all of the changes manually, GCore v8 and QuestCreator v6 include an automatic conversion system for configuration and data files. It has been tested on a bunch of different files. But as you might know, certain things might break even though we didn’t expect them to break.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">为了避免必须手动调整所有的变更配置,GCore v8和QuestCreator v6内置了一个自动转换配置和数据文件的系统。我用一堆不同的文件测试过该系统。但是某些东西可能会出乎意料地被破坏。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Regardless of what some people seem to think, I don’t purposefully include bugs in my plugins </del>^_^ <del class="diffchange diffchange-inline">I try to prevent them and to fix them, but I can’t think of all the possible cases in advance.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">我不管一些人怎样看待我的插件,但无论如何我是不会特意在我的插件中加入漏洞的 </ins>^_^ <ins class="diffchange diffchange-inline">。我会尽我所能地修复它们,但我无法预料所有情况,这也是为何插件会存在漏洞。</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td></tr>
</table>Qsefthuopqhttps://mineplugin.org/index.php?title=GuillaumeVDN%E7%9A%84%E6%8F%92%E4%BB%B6%E6%96%87%E6%A1%A3/%E8%BF%81%E7%A7%BB&diff=13111&oldid=prevQsefthuopq:创建页面,内容为“== 迁移至GCore v8和QuestCreator v6 == Version 6 of QuestCreator, and the matching version 8 of GCore, were entierly rewritten from scratch, with perspectives in…”2020-10-23T11:40:45Z<p>创建页面,内容为“== 迁移至GCore v8和QuestCreator v6 == Version 6 of QuestCreator, and the matching version 8 of GCore, were entierly rewritten from scratch, with perspectives in…”</p>
<p><b>新页面</b></p><div>== 迁移至GCore v8和QuestCreator v6 ==<br />
Version 6 of QuestCreator, and the matching version 8 of GCore, were entierly rewritten from scratch, with perspectives in mind that I didn’t have a few years ago when I first coded them. This allows features that weren’t possible before, optimized performances, more consistency, stuff like that.<br />
<br />
And most importantly : it allows more efficient maintenance in the future. And it makes it less painful. The code quality in previous versions, although readable, has gotten to a point where I almost get depressed when I have to fix bugs or work on updates. That’s due to me starting working on those plugins a few years ago, and being a beginner. I have improved a lot in coding, and recoding my plugins have been in my mind for a few months now, and I just needed to do it. So here it is !<br />
<br />
I am grateful to all the people who patiently waited for bug fixes and updates during the past months. Although some Karen’s seem to believe I belong to them just because they bought my product, many people have shown support and/or waited patiently during the recode, where updates and bug fixes got rare, if not inexistant. Even if it might sound silly, Minecraft is currently a big part of my life and I appreciate your support. So, many thanks to everyone. revolving_hearts<br />
<br />
=== 我的其它插件 ===<br />
I focused on QuestCreator since this is the one I received the most support queries for. An adaptation (or recode) of all my plugins is planned, but it will also take time. I plan to work on it whenever I unlock time for it, during the year 2020-2021.<br />
<br />
Currently, only QuestCreator v6 is compatible with GCore v8. If you use another of my plugins along with QuestCreator, you’ll need to download the adapted legacy version of GCore as well (updated on the spigot page for my other plugins). I’m aware it’s annoying, so sorry about that.<br />
===警告===<br />
This version is not completely stable yet, and should be entierly tested before release on production servers. It went through an alpha-testing on my Discord server to eliminate most critical bugs. Now, I’m releasing this version publicly to accelerate debugging, since it’s already been too long !<br />
<br />
Please report any critical problem through a ticket on my Discord server, or on GitLab for less urgent ones.<br />
<br />
Bugs will be processed in batches and new builds will be released frequently, maybe every 3-4 days. I can also send the new builds on Discord to avoid useless waiting time (to verified users).<br />
===备份你的服务器===<br />
To avoid having to adapt to all of the changes manually, GCore v8 and QuestCreator v6 include an automatic conversion system for configuration and data files. It has been tested on a bunch of different files. But as you might know, certain things might break even though we didn’t expect them to break.<br />
<br />
Regardless of what some people seem to think, I don’t purposefully include bugs in my plugins ^_^ I try to prevent them and to fix them, but I can’t think of all the possible cases in advance.<br />
<br />
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.<br />
<br />
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 !<br />
<br />
除了备份之外, 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.<br />
<br />
<br />
=== 主要变更和新增内容 ===<br />
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 !<br />
<br />
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.<br />
==== 优化和数据 ====<br />
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.<br />
<br />
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 />
==== 配置、物品和变体 ====<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.<br />
<br />
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<br />
<br />
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).<br />
<br />
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 />
==== 文本 ====<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).<br />
<br />
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.<br />
<br />
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.<br />
==== 指令 ====<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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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>.<br />
<br />
Most commands with a target player argument will be performed for the sender if none is specified.<br />
<br />
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.<br />
<br />
==== 文件结构 ====<br />
File structure didn’t change a lot for GCore, but it did for QuestCreator.<br />
<br />
Here’s a summary of the new hierarchy. New features and changes are explained further below.<br />
* /plugins/QuestCreator/ :<br />
** 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<br />
** quest_models/ (same as before)<br />
** quest_models_functional/ (new)<br />
** quest_activators/ (previously all activators were in the same config file)<br />
** quest_groups/ (previously all groups were in the same config file)<br />
** quest_pools/ (previously all pools were in the same config file)<br />
** quest_states/ (new)<br />
** guis/ (same as before)<br />
** global_branches/ (new)<br />
** global_conditions/ (previously all global conditions were in the same config file)<br />
** global_gui_items/ (new)<br />
** global_objects/ (new)<br />
** global_time_frames/ (new)<br />
** global_variables.yml (same as before)<br />
** server_variables.yml (new)<br />
** default_variables.yml (previously in config.yml)<br />
** points_categories.yml (previously in config.yml)<br />
** config.yml (same as before)<br />
==== GUI ====<br />
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.<br />
<br />
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 />
<br />
Some config improvements and freedom were brought as well, such as page configuration and clicks overrides. More information on this page.<br />
==== 激活器和注册 ====<br />
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.<br />
<br />
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 />
==== 任务目标和条件 ====<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.<br />
=====多目标任务目标(方块/实体/物品)=====<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.<br />
<br />
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 :<br />
# Old configuration<br />
my_object:<br />
type: PLAYER_BLOCK_BREAK<br />
block_type: [DIRT,GRASS_BLOCK]<br />
amount: 50<br />
<br />
# New, converted configuration<br />
my_object:<br />
type: PLAYER_BLOCKS_BREAK<br />
blocks:<br />
a:<br />
types: [DIRT,GRASS_BLOCK]<br />
goal: 50.0<br />
<br />
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.<br />
=====物品目标和关联条件=====<br />
Some integrations had their own item conditions and objects. For instance, PLAYER_QUANTUMRPG_ITEM_PICKUP or MMOITEMS_ITEM.<br />
<br />
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.<br />
<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.<br />
=====逻辑目标和条件=====<br />
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.<br />
<br />
For instance :<br />
# Old configuration<br />
my_condition:<br />
type: HEROES_SKILL_LEVEL<br />
skill_name: my_skill<br />
operation: AT_LEAST<br />
value: 10<br />
# New configuration<br />
my_condition:<br />
type: HEROES_SKILL_LEVEL<br />
skill: my_skill<br />
logic: '{skill_level} >= 10'<br />
<br />
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.<br />
<br />
For instance :<br />
# Old configuration<br />
my_object:<br />
type: SERVER_MONEY_CHANGE<br />
operation: ADD<br />
value: 100.0<br />
# New configuration<br />
my_object:<br />
type: SERVER_LOGIC_MONEY<br />
value_formula: '{value} + 10' # taking the current money and adding 10 to <br />
=====特例:CONDITIONS条件目标=====<br />
CONDITIONS目标在新版中被移除了,现根据用法现已被分为了多个其它目标。<br />
<br />
a) If it had a fail goto (used as a junction between two objects) :<br />
# Old configuration<br />
my_object:<br />
type: CONDITIONS<br />
conditions:<br />
# ... conditions settings<br />
goto_if_not_valid: QUEST_FAIL<br />
goto: OBJECT continue<br />
<br />
# New, converted configuration<br />
my_object:<br />
type: CONDITIONS_SWITCH<br />
cases:<br />
a:<br />
conditions:<br />
# ... conditions settings<br />
goto: continue<br />
# ... there can be other cases<br />
goto: QUEST_FAIL # default goto<br />
b) If it had no fail goto (just waiting for the conditions to be valid to continue) :<br />
# Old configuration<br />
my_object:<br />
type: CONDITIONS<br />
conditions:<br />
# ... conditions settings<br />
goto: OBJECT continue<br />
<br />
# New, converted configuration<br />
my_object:<br />
type: NONE<br />
progress_conditions:<br />
# ... conditions settings<br />
goto: continue<br />
====更多设置====<br />
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.<br />
====全局元素====<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.<br />
====还有更多内容!====<br />
There are a bunch of configuration improvements, and also new features I didn’t list above, that are detailed in the documentation.<br />
<br />
Including, but not limited to :<br />
* Particle scripts (for activators or animations, instead of single particles)<br />
* Better (and many more) position settings (also for Citizens, MythicMobs and WorldGuard)<br />
* Functional quest models to create server mechanics using QuestCreator without having to use an actual quest<br />
* Reworked placeholders<br />
* Model and server variables.<br />
* Improvements to the in-game editor to make it more efficient, less submenus to edit simple values, searching for enum values, and many more values can now be imported as well, especially in integrations.<br />
* A bunch of integrations (Boss, Denizen, Gangs+, HolographicDisplays, MMOCore, Parties, Shopkeepers, SuperiorSkyblock2 and TokenEnchant).<br />
* Better BungeeCord support<br />
* Multi-currencies support (suggest currencies on gitlab)<br />
* Number rounding<br />
… etc ! Just go quickly over the sidebar and read about stuff you don’t know about if you’re curious about those new things ! :D<br />
===已关闭的GitLab提问===<br />
已关闭这些GitLab上的提问(已解决大多数问题):<br />
* #627 Show diffrent text if condition is not met in DIVERGE (by zemoz)<br />
* #625 Allow players to have multiple quests open via permissions (by viveleroi)<br />
* #621 SUGGESTION: Multiple quests in the scoreboard (by Mr_Mint_)<br />
* #226 SUGGESTION: coop quest (by timmy0707)<br />
* #252 Suggestion: Global Server Quest (by TheOnlyTermin)<br />
* #299 SUGGESTION NEW OBJECT (by timmy0707)<br />
* #307 SUGGESTION SCOREBOARD (by timmy0707)<br />
* #320 SUGGESTION ADD CONDITION (by timmy0707)<br />
* #346 To do : multiple items for some PLAYER_ITEM objects (by GuillaumeVDN)<br />
* #350 [Suggestion] QOL Update for Console Neatness/Readability. (by NolanMC)<br />
* #365 Suggestion (by joker19102002)<br />
* #369 Suggestion: MythicMobs ITEMS (by Mortesaison)<br />
* #453 SUGGESTION ingame editor color code tolowercase (by timmy0707)<br />
* #448 Propostion : Priorité d’affichage des quêtes dans la actionbar/bossbar/scoreboard (by Ssomarrr)<br />
* #474 New Condition Operation: “BETWEEN” (by NolanMC)<br />
* #514 Support option “remove_after_action” for PLAYER_CONTAINER_MANIPULATE (by kelvinjunilson)<br />
* #522 Compatibility with ‘ItemsAdderV1’ (by FlameCat)<br />
* #550 Suggestion - OR Condition with multiple options (by AshenGaming)<br />
* #551 SUGGESTION PLAYER_MOB_INTERACT (by timmy0707)<br />
* #554 Global variable (by pristatauminecraft84)<br />
* #587 Suggestion: Breed Objective (Ex. breed 5 horses) (by MyTale)<br />
* #589 Suggestion: Tier name option for QuantumRPG objects. (by MyTale)<br />
* #590 Suggestion: Brewing Objective (by MyTale)<br />
* #609 A suggestion: PLAYER_MMOITEMS_ITEM_PICKUP (by BastaMasta)<br />
* #613 SUGGESTION: Server Variables (by Leopled)<br />
* #615 SUGGESTION: Variables to be given a primitive type modifier (by Leopled)<br />
* #616 SUGGESTION: Add - PLAYER_MOB_BREED (by nikita.sineiko)<br />
* #617 SUGGESTION: Add - ELYTRA_FLIGHT_DISTANCE (by nikita.sineiko)<br />
* #630 GPS Spam when QC quest is active (by denisamania)<br />
* #165 GPS Feature (by phamductrungbmt)<br />
* #207 Suggestion: Search Type (by timmy0707)<br />
* #290 SUGGESTION GPS (by timmy0707)<br />
* #239 suggestion condition slot (by Yuky-Mystic)<br />
* #241 DIVERGE object GUI option (by junpark8903)<br />
* #249 Suggestion - PLAYER_MOB_FEED object (by bccyv)<br />
* #272 delay_repeat_message_goto_not_reached: (by Lordinouille)<br />
* #361 SUGGESTION pre quest dialog (by timmy0707)<br />
* #351 Suggestion missing Config Option to stop Quests from auto sorting (by quorn23)<br />
* #338 Mission zone (by Lordinouille)<br />
* #296 Quest Differ with Permission in Same Menu (by MacTonight8)<br />
* #325 SUGGESTION object diverge amount limit (by timmy0707)<br />
* #348 SUGGESTION SERVER_ITEM_EDIT (by timmy0707)<br />
* #273 create an hologram object above cinematics client side npc (by pigmen26gamesYT)<br />
* #370 SUGGESTION item particle (by timmy0707)<br />
* #396 Hologram aesthetics and function (by techdude404gaming)<br />
* #374 custom message checkpoint (by Lordinouille)<br />
* #230 GangPlus Support (by AlessioTW)<br />
* #378 SUGGESTION QuestPoint Placeholder (by timmy0707)<br />
* #362 SuperiorSkyblock integration (by Faceless0102)<br />
* #381 Shopkeeper Plugin Support (by AkiraKokiri)<br />
* #382 Object PLAYER_CITIZENS_NPC_DELIVER_ITEMS (by Hellgato)<br />
* #397 [Suggestion] - gvariables & variables settings (by Hellgato)<br />
* #399 SUGGESTION different progression text for delegates when completed (by timmy0707)<br />
* #634 DAY_OF_MONTH condition (by emohobo)<br />
* #434 [Suggestion] Object area (by Lordinouille)<br />
* #444 [Suggestion] add name_contains, lore_contains etc (by Lordinouille)<br />
* #398 Intégration de MMOCore (by jajamic)<br />
* #411 MMOCore Support Suggestion (by ItsSniper)<br />
* #422 [Suggestion] MMOCore EXP/Party intergration. (by gitoez)<br />
* #439 Will QuestCreator support MMOCore? (by easonchu)<br />
* #604 Suggestion: MMOCore’s variables condition (by harunalisa10)<br />
* #404 Support for MCMMO Overhaul (by NolanMC)<br />
* #624 Support mcMMO Overhauled (by viveleroi)<br />
* #445 SUGGESTION object setting invisible (by timmy0707)<br />
* #447 SUGGESTION new object (by timmy0707)<br />
* #453 SUGGESTION ingame editor color code tolowercase (by timmy0707)<br />
* #464 Reception data ( suggested feature) (by hammad_alhassan)<br />
* #467 execution_chance and progress_chance fail goto’s (by timmy0707)<br />
* #469 SuperiorSkyblock2 Hook for QuestCreator (by studiotadikl)<br />
* #476 Suggestions for location (by HuJunwei23333)<br />
* #462 TokenEnchant Feature (by miwasakytb)<br />
* #487 SUGGESTION npc id auto detect (by timmy0707)<br />
* #493 Possibility to delete old Userdata (by maxklug1999)<br />
* #510 NPC conversation suggestions (DIVERGE OBJECT) (by gingycraft)<br />
* #535 Suggestion - hiding completed objectives from the scoreboard in a GROUP object (by Silvark)<br />
* #541 Quantum rpg: level system integration (by koviazin.pro)<br />
* #559 New variable: running_concurrent_quest_count (by kelvinjunilson)<br />
* #586 Suggestion: Option to remove vanilla lore on GUI items. (by MyTale)<br />
* #623 Quetes entre membres d’ile (by WarnDangerous)<br />
* #501 SERVER_ACTION_LIST Argument Addition Request (by techdude404gaming)<br />
* #521 Ajouter une commande pour ouvrir le journal directement (by titidelaff)<br />
* #620 [SUGGESTION/BUGFIX] Please FIX quest MOVEMENT & ORDER (by nikita.sineiko)<br />
* #618 SUGGESTION: Add - PLAYER_SWIM_DISTANCE (by nikita.sineiko)<br />
* #581 Execute Denizen scripts Support (by Renin)<br />
* #591 DungeonXL condition: location (by koviazin.pro)<br />
* #592 Suggestion: Add option to detect mobs spawned by spawners (by deadfish12)<br />
* #597 Condition INVENTORY_FREE_FOR (by Lordinouille)<br />
* #600 Suggestion: progress_sound (by juankaplay)<br />
* #635 Server stall on boot, appears related to player head web requests (by viveleroi)<br />
* #629 NuVotifier Integration not working (by viveleroi)<br />
* #632 HONEY_LEVEL block state (by GuillaumeVDN)<br />
* #614 SUGGESTION: Co-op leave via command (by Leopled)<br />
* #598 Suggestion: Better support for brewing and repairing (by MyTale)<br />
* #638 SUGGESTION configurable region activator (by timmy0707)<br />
* #637 Add sounds to GUI (by Tactical_Spatula)<br />
* #633 QC recode : SERVER_ACTION to play a particle script at a certain position (by GuillaumeVDN)<br />
* #599 Suggestion: Particles in OBJECTS (by MrFeikon)<br />
* #619 SWEET_BERRIES cannot be identified in the GUI ITEM (by johnsoncui02)<br />
* #629 NuVotifier Integration not working (by viveleroi)<br />
* #561 SOME or maybe MANY RE-CODING SUGGESTION (by timmy0707)<br />
* #610 SUGGESTION: ADD HEX COLOR SUPPORT - 1.16 (by MrFeikon)<br />
* #507 Add CMI Bossbar support (by AshenGaming)<br />
* #335 Multiserver Support (by Cerexus)<br />
* #359 Suggestion plugin integration Boss (by jimmyyeung06)<br />
* #438 Quest Menu empty until /quest progress (by CM_lectric)<br />
* #315 “PLAYER_CHAT_VARIABLE” Problem (by Mr_Mint_)<br />
* #206 items: amout: 1 problem and shitty way of being coded <3 (by Lordinouille)<br />
* #570 BUG quest queue (by timmy0707)<br />
* #495 cancel_event for object PLAYER_CHAT (by PizzaMC)<br />
* #389 BUG ScoreBoard (by timmy0707)<br />
* #419 [Suggestion] Option to specify item/mob type in the object “forbidden” setting (by deadfish12)<br />
* #456 Quest Progress Placeholders not formatted with Commas (by CM_lectric)<br />
* #449 BUG scoreboard text (by timmy0707)<br />
* #483 {objective_goal} value distorting at 10 billion (by CM_lectric)<br />
* #485 player rank cause huge lags (by Dusan7991)<br />
{{模板:VDNBox}}</div>Qsefthuopq