######  在德国充满爱意地制作 (以及 [啤酒](https://s.moep.tv/beer))
###### 
_你是否曾经想为一个完整的 Velocity 网络设置一个服务器资源包?或者在你 Velocity 代理后的几个服务器设置不同的包,却因 Minecraft 在切换服务器时重新下载相同的包而感到厌烦? 那么你来对地方了!_
这个插件允许你为整个 Velocity 设置一个服务器资源包,而无需在你的大厅服务器上设置它们,否则客户端即使已经启用了该包也会重新下载它!
它还具有为每个服务器单独设置包的功能,甚至可以检测到 Velocity 后面的服务器是否发送了包,并在玩家切换到另一个服务器时将包重置为全局或服务器的包!
如果你正在寻找 Spigot/Paper 版本,你可以使用我的 [World Resourcepacks](https://modrinth.com/plugin/worldresourcepacks) 插件。它允许你按世界设置包,并且与此插件兼容。
**在报告问题之前,请检查是否有较新的 [开发版本](https://ci.minebench.de/job/resourcepacksplugins/)!**
> 请注意,Vanilla Minecraft 客户端仅应用小于 **250MiB** 的服务器资源包! (1.15 之前为 50MiB,1.18 之前为 100MiB)
>
> 此外,某些新的 **SSL 证书** 用于 URL(如 Let’s Encrypt)与 Minecraft 附带的旧 Java 版本(Java 1.8.0_51,[Mojang 已提交有关此问题的错误报告](https://bugs.mojang.com/browse/mc-143768))不兼容,因此你必须使用不同的证书或非加密下载(不建议!)
**注意:** 此插件仅适用于客户端版本高于 1.8 的客户端!
### **特性**
* 为每个服务器或整个 Velocity 网络设置不同的服务器资源包
* 多包支持 (在 1.20.3+ 中)
* 在玩家加入服务器之前发送包 (在 1.20.3+ 中)
* 使用正则表达式匹配服务器名称!
* 游戏内配置插件的命令
* 语言系统,根据客户端的区域设置显示消息
* 简化的组件/JSON 消息格式语法 ([MineDown](https://wiki.phoenix616.dev/library:minedown:syntax))
* 在向玩家发送包之前可配置的延迟
* 记住用户当前应用了哪个包,并且在服务器切换时不会重新发送 (在 1.20.2 中已损坏,1.20.3+ 已修复)
* 让用户自己设置包。该包可以在每次登录时重新应用,并且将在不具有该包的服务器上用于重置
* 如果已自动完成,请告知用户服务器发送了哪个包
* [ResourcePackSendEvent](https://docs.phoenix616.dev/resourcepacksplugins/de/themoep/resourcepacksplugin/velocity/events/resourcepacksendevent.html) 和 [ResourcePackSelectEvent](https://docs.phoenix616.dev/resourcepacksplugins/de/themoep/resourcepacksplugin/velocity/events/resourcepackselectevent.html) 供开发人员在其自己的插件中响应包的发送或选择
* 根据客户端版本发送正确的包格式,通过版本、协议编号或包格式 ID 实现包变体。
* 自动生成 sha1 哈希值!
* 兼容 [AuthMe Reloaded](https://www.spigotmc.org/resources/authme-reloaded.6269/)、AuthMeVelocity、[OpenLogin](https://www.spigotmc.org/resources/openlogin-1-7x-1-19x.57272/)、NLogin、[LibrePremium](https://www.spigotmc.org/resources/librepremium-proxy-authorization-plugin-automatic-login.101040/)、JPremium。
你需要它与更多插件兼容吗? [联系我](https://github.com/phoenix616/resourcepacksplugins/issues/new)!
### **命令**
要执行所有 /vrp 命令,你需要 `velocityresourcepacks.command` 权限!
**/vrp reload [resend]** - `velocityresourcepacks.command.reload` - 重新加载配置文件; 如果第二个参数为“resend”,则将包重新发送给所有在线玩家
**/vrp version** - `velocityresourcepacks.command.version` - 显示此插件的版本
**/vrp generatehashes** - `velocityresourcepacks.command.generatehashes` - 手动生成资源包哈希值
**/vrp addpack ** - `velocityresourcepacks.command.addpack` - 添加新的包
**/vrp pack ** - `velocityresourcepacks.command.pack` - 查看和编辑现有包
**/vrp listassignments** - `velocityresourcepacks.command.listassignments` - 查看所有服务器分配
**/vrp deleteassignment ** - `velocityresourcepacks.command.deleteassignment` - 删除服务器分配
**/vrp assignment ** - `velocityresourcepacks.command.assignment` - 查看和编辑服务器分配
**/vrp globalassignment** - `velocityresourcepacks.command.globalassignment` - 查看和编辑全局分配
**/resetpack [] []** - `velocityresourcepacks.command.resetpack` - 将包 (玩家的) 重置为空包或存储的包。 (就像在没有包的情况下加入服务器时会发生的情况) 如果 设置为 false,则也会重置玩家的存储包。
要执行所有 /usepack 命令,你需要 `velocityresourcepacks.command.usepack` 权限!
要为其他玩家执行它,你需要 `velocityresourcepacks.command.usepack.others`!
要访问特定的包,玩家需要 `velocityresourcepacks.pack.` 权限或在它配置部分中定义的权限!
**/usepack** - 列出所有可供你的包
**/usepack []** - 将特定包发送给自己或另一个玩家
### **配置**
config.yml 允许你配置可以通过命令行设置的所有内容以及更多内容,请查看 [GitHub 文件](https://github.com/phoenix616/resourcepacksplugins/blob/master/velocity/src/main/resources/velocity-config.yml) 以了解所有选项的说明! (某些选项可能仅在 [最新开发版本](https://ci.minebench.de/job/ResourcepacksPlugins/) 中可用!)
### **关于客户端冻结**
> **从 1.20.3 开始,这不应该再成为问题了!**
当向客户端发送服务器资源包时,下载完成后它会短暂冻结。(就像手动应用本地包一样) 这是因为客户端必须重新加载所有资源、检查哪些资源重叠以及使用它们的计算和操作。 (就像将所有纹理拼接成单个图像一样,像它们在第一个纹理包格式中的那样) 这不是下载问题,因为客户端将本地缓存包文件,并且如果其哈希值没有改变,则不会重新下载它们。
完成此操作所需的时间通常取决于 PC 的性能和所有已应用的资源包中使用的纹理的大小。(因此,即使服务器资源包不包含任何高清纹理或纹理,客户端仍然会完全重新加载所有本地应用的资源包) 这是 Mojang 应该在客户端中修复的事情,例如通过仅重新加载已更改的资源来实现。
**1.14、1.15 和 1.16 在这方面有一些重大改进,并且 1.20.3 基本上修复了一切,因此如果您的服务器资源包出现问题,请建议玩家使用这些版本!**
### **开发资源**
源代码可在 [GitHub](https://github.com/phoenix616/resourcepacksplugins) 上找到,并使用 [GPLv3](https://github.com/phoenix616/resourcepacksplugins/blob/master/license) 许可。
开发版本可以在 Minebench.de 的 [Jenkins](http://ci.minebench.de/job/resourcepacksplugins/) 上找到。
如果您的意图是基于 mine 的插件,还有一些 [Javadocs](http://docs.phoenix616.dev/resourcepacksplugins/)。
### **支持**
您可以在 PaperMC 论坛上的 [资源讨论线程](https://forums.papermc.io/threads/velocityresourcepacks.30/)、GitHub 问题跟踪器、[我的 IRC 频道](https://irc.phoenix616.dev/) 或 [我的 Discord](https://phoenix616.dev/discord) 上获得支持。
##### *作者不提供任何形式的保修或责任来分发此资源。有关更多信息,请 [在此处](https://github.com/Phoenix616/ResourcepacksPlugins/blob/master/LICENSE#L589-L610) 阅读*