• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
AcceleratedRecoiling

原创 开源 其他 AcceleratedRecoiling 0.7.2-alpha

完成注册/登录后下载
版权类型
原创
插件中文名称
加速碰撞
插件英文名称
AcceleratedRecoiling
原帖地址
#
支持的核心(服务端)
  1. Leaves
语言支持
English
适配版本(Java)
  1. 1.21
[MD] # 加速碰撞(Accelerated Recoiling) 加速碰撞是一个作用于服务器的实体碰撞逻辑优化模组,旨在显著降低实体的碰撞计算开销 通过 Java 21+ 的 Foreign Function & Memory (FFM) API来接管实体AABB碰撞检测,将计算压力从Java转移。 *本模组目前为实验性质,仍处于测试阶段,可能会出现非预期的表现或错误。请在使用前做好存档备份,并谨慎使用。* --- ## 前置要求 * **Java 21 或更高版本**:FFM API 是 Java 21 的预览功能。**你必须使用 Java 21+ 来启动你的服务器/客户端。** * **64位操作系统**:本机库(`.dll` / `.so`)需要64位环境。 * **Windows 平台** [**Microsoft Visual C++ 运行库**](https://aka.ms/vs/17/release/vc_redist.x64.exe):如果启动失败,请首先安装此运行库。 * **LeavesMC** 如果你用的是加速碰撞的LeavesMC移植版,请确保服务器的启动参数中包含 `-Dleavesclip.enable.mixin=true` ## 游戏崩溃了! 如果游戏无法正常启动…… * 你的客户端是 Forge 1.20.1,尝试在 JVM 启动参数中添加 `--enable-preview`。 * 你的客户端是 NeoForge 1.21.1/1.21.8,请使用 Java 22+ 启动游戏。 * 你的环境是 LeavesMC,请确保服务器的启动参数中包含 `-Dleavesclip.enable.mixin=true`。 * 如果这些方法都不起作用,请更新此模组,并删除文件 `.minecraft/acceleratedRecoilingLib.dll`,然后重启客户端。(文件位于 `.minecraft/` 或你的客户端根目录下) ## 安装 模组在首次启动时,会自动在服务器/客户端**根目录**下解压 `acceleratedRecoilingLib.dll`(或 `.so`)文件,并创建一个 `acceleratedRecoiling.json` 配置文件。 你可以在服务器/客户端**根目录**(与 `mods文件夹` 同级)找到 `acceleratedRecoiling.json` 文件。 **默认配置:** ```json { "enableEntityCollision": true, "enableEntityGetterOptimization": true, "maxCollision": 32 } ``` * enableEntityCollision: 是否启用实体挤压优化 * enableEntityGetterOptimization: 是否启用EntityGetter接口优化 (暂时无效) * maxCollision 每个实体最多与其周围几个实体相互碰撞 ## 基准测试 #### 测试环境 * **CPU**: Intel Core i5-12600KF * **内存**: 32GB (分配堆内存 24GB) * **显卡**: NVIDIA RTX 3060 Ti * **服务端**: `Leaves 1.21.8-138-master@9331167 (2025-10-18T16:10:30Z)` * **Java**: Eclipse Adoptium JDK 21 * **启动参数**: `-Dleavesclip.enable.mixin=true -Xmx24G -Xms24G` * **模组版本** `AcceleratedRecoilingLeaves-0.7-alpha-leaves-all.jar` #### 使用配置 ```json { "enableEntityCollision": true, "enableEntityGetterOptimization": true, "gridSize": 8, "maxCollision": 32, "gpuIndex": 0, "useCPU": false } ``` #### 测试方法 在同一个区块内的 2x2 空间内生成指定数量的猪,记录服务器 TPS 变化 #### 测试结果 | 实体数量 | LeavesMC + 加速碰撞 (TPS) | LeavesMC (TPS) | 提升倍率 | | :--- | :--- | :--- | :--- | | **2,048** | **20.0** | 3.0 | 6.6x | | **4,096** | **19.0** | 0.5 | 38x | | **8,192** | **10.0** | - | - | | **16,384** | **5.3** | - | - | | **32,768** | **2.8** | - | - | | **65,536** | **1.3** | - | - | | **131,072** | **~0.4** | - | - | | **294,912** | **~0.2** | - | - | ## 贡献与致谢 非常感谢以下开发者和所有为本项目提交issues与pr的人的帮助与支持!! * **[**Argon4W**](https://github.com/Argon4W)**: 提供了该项目的原始构思与核心原理。 * **[**fireboy637**](https://github.com/fireboy637)**: 提供了该项目的ArchitecturyAPI移植方案与核心代码。 * **[**hydropuse**](https://github.com/hydropuse)**: 提供了该项目的JDK 22兼容方案与核心代码。 [/MD]
  • 喜欢
反馈: 雪风先生
作者
wiyuka
下载
14
查看
319
首次发布
最后更新

评分

0.00 星 0 次评分

最新更新

  1. 0.7.2-alpha

    修复实体与矿车的碰撞
后退
顶部 底部