# ItemsAdder v4

## 介绍

维护对6个游戏版本的兼容性变得非常困难，这严重影响了产品质量和更新发布的延迟。

我决定放弃对1.15到1.20.4版本的兼容性，以提供更好的1.20.5+体验。

## 社区的看法

Discord社区投票决定放弃旧版本的兼容性，所以这个决定并不是凭空做出的。

<figure><img src="https://2963347129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M28TcKgSDvuFN510qye-3369173170%2Fuploads%2Fgit-blob-d26794fe1eabccefa75d11102fbd08f47e989099%2Fimage%20(11).png?alt=media" alt=""><figcaption></figcaption></figure>

## ViaVersion的疯狂

ViaVersion如果使用不当就是个灾难。ViaVersion的目的是允许客户端连接到一个多版本的大厅，玩家可以在其中决定要加入哪个服务器。

每个服务器都有自己的版本，例如，生存是1.20.5，PVP是1.8。这允许人们连接到同一个大厅服务器，这是服务器社区的主要枢纽。

服务器管理员滥用这种功能，允许玩家通过1.8、1.9、1.13、1.18、1.20连接到1.20.x服务器上的生存服务器。这导致了多种不兼容、不稳定、错误和故障的发生。\
发生这种情况的原因是客户端（和服务器）在各个版本之间进行了大量更改，其中大多数是至关重要的。

期待无缝游戏是不可能的，因为版本之间引入了太多更改。

一个成功的服务器的明确例子是[OriginRealms](https://originrealms.com)，这是最定制化的Minecraft多人生存体验之一，没有人能提出反对。

我看不出继续这种期望游戏稳定性的无稽之谈有什么理由，同时允许旧版游戏加入你的服务器，或者更糟的是，保持旧版服务器并允许新版客户端加入。

ItemsAdder编写了大量的代码来检查客户端版本和服务器版本，然后启用一些特殊修复，以避免1.18客户端加入1.20服务器时发生崩溃/故障。我想停止维护这种不稳定的技巧，这只会给我和客户带来压力。

所以请考虑停止允许多个版本加入你的生存/游戏模式服务器。

## 为什么要放弃旧版本的兼容性？

* 由于减少了代码，减少了错误的可能性
* 更新更快，不需要保持6个版本的实现更新
* 新功能，如[物品展示](https://github.com/PluginBugs/Issues-ItemsAdder/issues/2458)和一些其他有趣的[物品](https://github.com/PluginBugs/Issues-ItemsAdder/issues/3536)功能
* 由于最近的[1.20.3+更改](https://github.com/PluginBugs/Issues-ItemsAdder/issues/3585)，资源包应用过程更可靠
* 为了增加旧版本兼容性而添加的许多旧技巧将被移除，使插件更稳定

## 最后

{% hint style="info" %}
你真的应该考虑将你的古老服务器迁移到1.20.5，并停止**滥用**ViaVersion。玩家、管理员和我都没有任何优势使用ViaVersion来允许多个版本加入你的服务器，这只会带来大量的压力和挫折。
{% endhint %}

{% hint style="success" %}
旧版本仍然可以下载，因此你可以继续使用旧版ItemsAdder，而不更新到新版本。
{% endhint %}

{% hint style="info" %}
我只会在以下情况来继续修复多版本环境导致的兼容问题。

* 该问题是破坏性的，对正常游玩造成较大影响。
* 该问题是可修复的，由于我无法控制客户端代码更改，因此我无法保证。
  {% endhint %}
