NoxesiumUtils

轻松与诺克斯莫德沟通。

资源图片
# NoxesiumUtils 与 [Noxesium Mod](https://github.com/Noxcrew/noxesium) 轻松通信。 ![Modrinth 下载](https://img.shields.io/modrinth/dt/noxesiumutils?style=for-the-badge) ![GitHub 工作流程状态 (带事件)](https://img.shields.io/github/actions/workflow/status/SuperNeon4ik/NoxesiumUtils/maven.yml?style=for-the-badge) ![GitHub 自上次发布以来的提交 (按 SemVer 包含预发布版)](https://img.shields.io/github/commits-since/SuperNeon4ik/NoxesiumUtils/latest?style=for-the-badge) 🇺🇦 在乌克兰制造! 制作于乌克兰!\ ❤️ 在 [Patreon](https://patreon.com/SuperNeon4ik) 支持我 > 随着 **NoxesiumUtils 2.0.0** 我将改为使用 [com.noxcrew.noxesium.paper](https://github.com/Noxcrew/noxesium/tree/main/paper) > 实现,而不是我自己的实现。 这使得维护 NoxesiumUtils 更容易。 ### Noxesium 是什么?为什么它需要 Utils? [Noxesium Mod](https://github.com/Noxcrew/noxesium) _(由 Noxcrew 提供)_ 是一个 Fabric mod,具有功能增强、错误修复和性能改进。 它允许服务器通过访问超出 vanilla 限制的附加功能为客户端提供更好的体验。 但是,服务器需要一个插件来与 mod 通信才能实际使用它的功能,而 **NoxesiumUtils** 正是为此目的而设计的。 它允许服务器所有者通过命令轻松与 mod 通信,也可以作为插件开发者的依赖项使用。 ### 功能 - 在加入时发送服务器规则 - 使用命令向玩家发送服务器规则 - 检查玩家的客户端设置。 - 还有一些其他的, lol。 - 也许很快会有更多 🤔 ### 要求 - Paper 1.20+ - [CommandAPI](https://modrinth.com/plugin/commandapi) - _该插件不会对没有 mod 的玩家做任何操作_ ### 命令 **发送服务器规则。** 将服务器规则发送给一系列玩家。 #### 为玩家设置服务器规则 ``` /noxesiumutils serverrule <规则> <玩家: 选择器> <值> /noxesiumutils serverrule <规则> <玩家: 选择器> 重置 ``` #### 为实体设置实体规则 ``` /noxesiumutils entityrule <规则> <实体: 选择器> <值> /noxesiumutils entityrule <规则> <实体: 选择器> 重置 ``` #### 检查玩家的 Noxesium 协议版本。 ``` /noxesiumutils check <玩家: 玩家> /noxesiumutils check <玩家: 选择器> ``` #### 检查玩家的设置。 ``` /noxesiumutils clientSettings <玩家: 玩家> ``` 有关此处所有内容的更多详细信息,请参阅 [Noxesium Mod README](https://github.com/Noxcrew/noxesium/#readme)! ### 配置 默认配置如下所示。 目前它仅包含一个设置,用于在玩家加入时向其发送服务器规则。 ```yaml # 在此处查看协议文档和有关 mod 的信息: # https://github.com/Noxcrew/noxesium # 针对调试目的添加一些额外的输出 extraDebugOutput: false # 如果为 true,则会不时检查插件的版本。 checkForUpdates: true # 如果为 true,则会将默认值发送给 Noxesium 玩家加入时。 sendDefaultsOnJoin: false # 如果您不想发送该规则,请注释掉该行。 defaults: #cameraLocked: false #disableBoatCollisions: false #disableDeferredChunkUpdates: false #disableMapUi: false #disableSpinAttackCollisions: false #disableUiOptimizations: false #disableVanillaMusic: false #enableSmootherClientTrident: false #heldItemNameOffset: 0 #overrideGraphicsMode: FAST #riptideCoyoteTime: 0 #showMapInUi: false #qibDefinitions: #customCreativeItems: [] ``` #### 加入时的默认设置 例如,以下更改将导致该插件自动向玩家发送 `disableSpinAttackCollisions = true`。 ```yaml sendDefaultsOnJoin: true defaults: disableSpinAttackCollisions: true ``` #### Qib 定义 什么是 Qibs? 好问题。 我不会完美地解释它, 所以请阅读 [Noxcrew/noxesium 中的此文件中的注释](https://github.com/Noxcrew/noxesium/blob/main/api/src/main/java/com/noxcrew/noxesium/api/qib/QibDefinition.java)。 `qibDefinitions` 列表是一个定义占位符的地方,这些定义由 QibEffects ([在此处查看效果列表](https://github.com/Noxcrew/noxesium/blob/main/api/src/main/java/com/noxcrew/noxesium/api/qib/QibEffect.java)) 组成。 以下是一个配置中的 QibDefinition 示例: ```yaml qibDefinitions: ding: onEnter: 'play_ding' onLeave: 'play_ding' triggerEnterLeaveOnSwitch: false ``` 现在是吓人的部分:**编写 QibEffects**。\ 每个 QibEffect 都保存在其自己的 json 文件中,该文件保存在 `plugins/NoxesiumUtils/qibs` 文件夹中。 一个播放 ding 声音的 QibEffect 的示例 (`plugins/NoxesiumUtils/qibs/play_ding.json`): ```json { "type": "PlaySound", "effect": { "namespace": "minecraft", "path": "entity.experience_orb.pickup", "volume": 1.0, "pitch": 1.0 } } ``` _(可能对某些人很有用)_ 一个 jumpPad QibEffect 示例: ```json { "type": "Multiple", "effect": { "effects": [ { "type": "PlaySound", "effect": { "namespace": "minecraft", "path": "entity.experience_orb.pickup", "volume": 1.0, "pitch": 1.0 } }, { "type": "Wait", "effect": { "ticks": 1, "effect": { "type": "SetVelocityYawPitch", "effect": { "yaw": 0, "yawRelative": true, "pitch": -45, "pitchRelative": false, "strength": 2.0, "limit": 2.5 } } } } ] } } ``` 在制作了 QibEffect 之后,您可以使用 QibEffect 文件的名称作为 ID 在 QibDefinition 部分 (所有字段都是可选的): ```yaml qibDefinitions: ding: onEnter: 'QIB_EFFECT_ID' onLeave: 'QIB_EFFECT_ID' whileInside: 'QIB_EFFECT_ID' onJump: 'QIB_EFFECT_ID' triggerEnterLeaveOnSwitch: false ``` 之后,您可以重新加载服务器并将规则应用于实体: ``` /noxesiumutils entityRules qibBehavior [实体] ding ``` 并为所有玩家启用 Qib: ``` /noxesiumutils serverRules qibBehaviors @a ding ``` ### 供开发者使用 在 [GitHub](https://github.com/SuperNeon4ik/NoxesiumUtils#readme) 上查看