** > 更多信息和旧版本下载,请访问那里。 ## 描述 这是一款适用于 Spigot/Paper/Folia/Mohist 服务器的必不可少的插件套件, 包含 90 多项模块,为各种规模的服务器提供无数功能! 此插件还包括一些性能增强和修复。 从管理到显示,游戏功能到安全, 这些内容将从各个方面改进您的服务器。 ### 可能的使用场景 - 创建 SMP 服务器。 - 创建带有 WorldEdit 和 CoreProtect 的 CMP 服务器。 - 创建带有 Citizens 和签到插件的 Lobby 服务器。 所有功能都是独立且可组合的。 您可以启用或禁用模块来定制其功能, 添加或删除扩展包, 甚至可以通过 sdk pack 创建您自己的包。 ### 目标和原因 我们不太可能专注于那些大量的内含,或者对单个功能进行极端操作。 我们所做的是创建一个填充服务器上未修改细节的液体。 所以请不要期望我们会做一些像 mod 那样的事情——至少不在主要包中。 Starlight 仅提供一个基本且可用的实现,因此如果您发现专门的插件可以替换部分功能,请毫不犹豫地使用它们——它们会更好 100%。 ### 核心功能 - 多平台支持:支持基本上每个 Bukkit 实施的服务器(见下文) - 快速:少于 600 毫秒内初始化,支持命令行热重载。 - 模块化:所有功能都可以单独切换。 ## 安装 > Artifact 关系: > - starlight-core.jar: 您可以将此视为库或 CORE,尽管它工作方式不同。 > - starlight-xxx.jar: 推荐扩展包。 > - starlight-ext-xxx.jar: 补充(可选)扩展包。 ### 1. 识别需要正确的文件夹。 Modrinth 不喜欢在单个版本中放置多个文件。 所以您需要获取多个版本: 这看起来像是 artifacts ID: ``` starlight-core-0.80.0 ``` 前缀 `starlight-core` 说的是 artifacts jar 包。 您可以按“Contents”部分筛选您需要的模块来定位它。 版本 `0.80.0` 有三个部分: - 主版本:0 是 beta-alpha 开发测试。 - API 版本:80 是 API 版本 80。 [0,10) 之间的数字向后兼容。 - 快照版本:仅用于验证,无关紧要。 您只需要将它们匹配: | 示例核心版本 | 示例包版本 | 兼容? | 原因 | |----------|----------|-------------|-------------------------------------| | 0.80.0 | 0.92.0 | 否 | API 不兼容。 | | 0.80.0 | 0.83.11 | 否 | 包需要更高的 API 版本。 | | 0.80.0 | 0.80.42 | 是 | API 匹配(最佳) | | 0.83.0 | 0.81.0 | 是 | API 向后兼容。 | | 0.91.78 | 0.80.30 | 否 | 核心 API 版本太高 | 通常,您需要下载多个版本以获得完整的功能。 我们还将发布 `starlight-all` artifacts 给懒惰的用户。(即将推出) ### 2. 安装它们。 - 停止服务器或键入 `/starlight reload prepare` - 将它们扔到您的 jar 文件夹中。 ### 3. 重新加载。 - 启动您的服务器或键入 `/starlight reload action` - 等待。 ## 内容 > **基本概念** > - 模块:此 artifact 提供的功能的最小单元。 > - 包:模块的最小组,共享值配置和 i18n 文件。 > 包或模块可以通过命令启用或禁用。
> 一个 jar 包含多个模块。 点击每个标签并展开它们以查看包含的内容。
如果我不这样做,此 readme 将变得很长。
starlight-core.jar
### `starlight-core`: 修复、服务和补丁 [内部] - `custom-language-pack-loader`: 加载第三方语言包。 - `intiallation-check`: 如果此插件安装不正确,则警告用户。 - `modrinth-version-check`: modrinth api 支持的版本检查系统。[测试版] - `papi-support`: 使用 PlaceHolder API 进行文本格式化,并将配置的变量注入到 PAPI 中。 - `platform-patcher`: 为非标准 bukkit 平台提供多个修复。 - `protocol-lib-injector`: 使用 protocol-lib 替换文本发送。 - `version-log-viewer`: 允许用户查看版本日志。[测试版]starlight-basic.jar
### `starlight-commands`: 命令快捷方式和附加 - `entity-motion`: 提供一个设置任何实体速度的命令。 - `command-exec`: 提供 `/execute` 的一个简单的版本,但能使用 **任何** 命令。 - `item-command`:提供当使用特定物品时执行命令的绑定。 - `worldedit-commands`:提供 worldedit 命令的多个快捷方式。(需要 WorldEdit) ### `starlight-console`: 控制台外观调整和实用程序 - `clear-console`: 创建一个可以清除控制台的命令。(说实话,我认为这没用) - `console-execute`: 允许用户 **以** 控制台的身份执行命令。 - `custom-log-format`: 通过替换 Log4j 配置来定制控制台样式。[实验性] - `log-color-patch`: 在特定平台上提供 ANSI 颜色支持。[实验性] - `stop-confirm`: 允许您使用 `/stop confirm` 就像 `/reload confirm` 那样。 ### `starlight-display`: 创建客户端的视觉外观,但不仅仅是 UI。 - `action-bar-hud`: 在操作栏标题位置渲染显示基本信息的 HUD。 - `afk`: 就像它的名字一样,当玩家开始 AFK 和结束 AFK 时公告。 - `chat-format`: 对聊天行进行重新格式化以获得更高级的外观。 - `custom-death-message`: 通过添加前缀修改死亡消息。 - `custom-motd`: 集成了 **基本** MOTD 提供程序。 - `custom-scoreboard`: 创建显示记分板信息的记分板。 - `drop-item-info`: 在掉落物品堆栈上添加表示类型和数量的标签。 - `hover-display`:就像全息图一样。 - `inventory-menu`: 通过编写 yml 创建自定义的物品栏菜单。 - `player-name-header`: 在玩家名称前添加 **header**,例如“[OWNER]Player1145” - `tab-menu`: 定制在 TAB 上显示的信息。 - `welcome-message`: 玩家首次加入服务器时发送给玩家一些测试。 - `we-session-renderer`: 可视化玩家的世界编辑器选择。 ### `starlight-management`: 让服务器版主轻松管理服务器。 - `ban`: 一个更高级的 `/ban` 命令,支持广播和临时禁令。 - `chat-filter`: 自动过滤玩家聊天中的不良词汇。 - `chat-report`: 一个简单的聊天报告系统,当聊天被报告时会发送触发器。 - `kick-on-reload`: 服务器重新加载时将所有玩家踢出服务器。 - `maintenance`: 当只有 OP 和允许的玩家才能加入时,提供维护模式。 - `mute`: 静音系统。(是的,就这样) - `plugin-manager-command`: 集成的插件管理系统。 - `server-info`: 通过单个命令查询服务器信息。 - `tps-bar`: 创建一个显示 TPS 和 MSPT 的 Boss 条。 ### `starlight-security`: 服务器安全和防护。 - `advaced-permission-control`: 为更多世界交互操作创建权限。 - `explosion-defender`: 轻松防御爆炸。 - `ip-defender`: 检查玩家的 IP 地址并执行操作。 - `permission-manager`: 一个简单易用的权限管理器。(绝对比 LuckPerms 差) ### `starlight-sideload`: 在不重启的情况下侧加载一些内容。 - `recipe-loader`: 加载由 yml 配置的配方。 ### `starlight-utilities`: 一些实用程序和奇怪的东西。 - `block-update-locker`: 锁定大多数块更新,例如红石或水。 - `calculator`: 提供一个命令行计算器。 - `camera-movement`: 模拟服务器端的相机平滑移动。 - `chat-at`: 允许您@某人或@所有人。 - `chat-component`: 允许您在聊天和命令中编写文本组件。 - `dynamic-view-distance`: 允许您自定义可视距离。 - `hitokoto`: 在线获取随机的美丽和鼓舞人心的句子。 - `player-ping-command`: 允许玩家通过命令查询他们的 ping。 - `player-position-lock`: 允许玩家 **锁定** 他们的位置。 - `position-align`: 允许玩家对齐他们的位置和朝向。 - `surrounding-refresh`: 允许玩家强制刷新他们的方块,这可以修复假方块问题。 - `tick-manager`: `/tick` 命令的包装器。 ### `starlight-warps`: 弯曲系统支持。 - `back-to-death`: 允许玩家返回他们最新的死亡位置。 - `rtp`: 随机将玩家传送到一个安全的位置。 - `tpa`: 允许玩家请求传送到其他人或反过来。 - `waypoints`: 提供公共或私人方式点的路径点系统。Starlight mod 与此 artifacts 有完全不同的功能。它重写了光引擎并简单地提供优化。 ### 安装 `starlight-core.jar` 后为什么我看不到任何更改? 天啊!我还能说什么?看 **安装** 部分 :D ### 为什么改名为了? 这个项目最初名为 `quark-plugin`。为了避免与那个 mod——每个人都喜欢它——发生冲突,我 决定更改它的名称。 但是原因不止于此。这个项目实际上从很久很久以前就开始了,从一个小插件开始。 最糟糕的是,当我启动这个项目时,我 **没有** 对 java 的理解。 所以现在,当这个插件越来越受人们的重视时,从空白开始,重构整个架构以 确保可扩展性很重要。 ### 因为这个项目是延续,会发生什么? 不幸的是,为了完全放弃架构,我必须牺牲很多,尤其是,兼容性。 从以下版本开始,这个项目将进入 alpha 阶段。该插件将使用完全不同的命名空间 和 ID。 一旦重构完成,将添加自动迁移代码,以允许您从旧插件数据文件夹迁移 **玩家数据和模块 数据**,并且新的 starlight 插件可以与旧插件一起工作。 #### 帮助我们测试 Alpha 阶段伴随着不一致性,因此现在您提供帮助。请将任何错误或功能请求提交到 github 链接上方,非常感谢。 #### 与 quark-plugin 协作 新的 starlight 核心现在以不同的命名空间注册内容,但功能冲突仍然存在。您必须 手动禁用与 starlight 具有重复功能的模块。 #### 升级和迁移 目前,为了尽快地将所有模块和功能移植到新的内核系统,数据兼容性不是首要 任务。一旦 beta 测试阶段完成,将添加数据迁移命令,允许您移动: - 存储的玩家数据(例如,他们的一些个人设置,如可视距离) - 存储的全局数据(方式点……) - 一些存储的资产(权限数据、midi 音乐……) 不幸的是,由于大多数 ID 和值都已更改,因此在准备好时迁移或移动旧的语言或配置文件是不可能的。 ### 为什么我无法禁用某些模块? 有些模块(主要在 `starlight-core` 中)提供基本功能或被其他系统依赖。 启用它们不会花费任何资源。 ### 为什么我无法看到某些功能,安装了此 artifacts 后? 有以下两种可能性。 #### 1. 某些功能不是自动启用的。 这是手动定义的,因为我们不会期望在安装了整个 bundler 后它们会加载。 例如,日志颜色校正模块在某些服务器上效果很好,但在其他服务器上崩溃。 由于它在不同平台上以注入方式工作,因此很难说为什么会发生这种情况。 要解决此问题,一旦您知道会发生什么,请筛选正确的模块 ID 并手动启用它。 #### 2. 某些功能需要特定的平台。 Bukkit 平台有多个分支,并且大多数技术上都不同。 例如,Folia 基础服务器没有记分板 API(目前), 并且一个混合服务器(将 forge/fabric 与 bukkit 结合)具有糟糕(不坏)的类加载设计。 我们无法期望某些功能在我们的平台缺少所需 API 时正常工作。
#### Starlight -「星辰」
GrassBlock2022 的一个开源项目,由 @ATCraftMC 于 2020-2024 年拥有