跳到正文

Accelerated Recoiling

作者:wiyuka

A mod of aabb collision optimization.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

加速碰撞 (Accelerated Recoiling)

加速碰撞是一个 Minecraft 服务端实体碰撞优化模组,以保留原版实体推挤和挤压规则为前提,降低碰撞查询开销

官方交流群:1023713677

特性

  • 保留原版实体查询顺序、推挤调用时机与挤压伤害规则的同时大幅度提升了碰撞筛选的性能。
  • 根据 CPU 能力自动选择计算SIMD指令集

性能

与原版对比

环境: Windows x64、Minecraft 1.21.8 / NeoForge 21.8.49

实体在 2×2 围栏内持续施加水平速度,保留实体tick 清空AI目标 关闭重力 关闭挤压伤害

| 实体数量 / 布局 | 原版 | AR | 原版耗时 / AR 耗时 |
| — | —: | —: | —: |
| 1024 / 集中 | 36.021 | 11.523 | 3.13× |
| 1024 / 分组(8)| 16.825 | 8.748 | 1.92× |
| 3072 / 集中 | 593.188 | 28.793 | 20.60× |
| 3072 / 分组(8)| 207.346 | 18.907 | 10.97× |

与旧版本的加速碰撞相比

| 实体数量 | FFM后端 | NATIVE_BATCHED | 加速倍率 |
| —: | —: | —: | —: |
| 2048 | 103.43 | 25.99 | 3.98× |
| 4096 | 450.57 | 68.63 | 6.56× |
| 8192 | 1789.51 | 241.91 | 7.40× |

环境与安装

将模组 JAR 放入游戏实例或服务端的 mods 目录

配置

可以在模组配置界面开关实体碰撞优化,也可以编辑游戏实例根目录的 acceleratedRecoiling.json:

{
  "enableEntityCollision": true
}

设为 false 可关闭优化,恢复原版碰撞流程。

构建

使用 JDK 21

./gradlew jar

Gradle 将下载位于 GitHub Release 中的由 cpp_toolchain_version 指定的 cpptoolchain.zip,并构建为二进制动态库。产物位于 build/libs/。

支持与赞助

如果你喜欢 加速碰撞 (Accelerated Recoiling),欢迎来 这里 请wiyuka吃一顿带鱼哦 owo

鸣谢与开源协议

本项目基于 MIT 协议 开源。
特别感谢以下开发者对本项目的核心思路与代码移植提供的巨大帮助:

  • Argon4W: 原始构思与核心思路。
  • fireboy637: Architectury API 移植方案的核心代码。
  • hydropuse: JDK 22 兼容方案的核心代码。
  • wellcoming: Docker Ubuntu镜像解决方案。
  • grayawa: Linux 上的构建问题修复
  • TomatoPuddin: 跨平台构建(Windows/Linux/MacOS/Android) 与 C++ 层的重构

Accelerated Recoiling

Accelerated Recoiling is a Minecraft server-side entity collision optimization mod designed to reduce collision query overhead while fully preserving vanilla entity pushing and cramming rules.

Official QQ Group: 1023713677

Features

  • Significantly boosts collision filtering performance while strictly preserving vanilla entity query order, push timing, and cramming damage mechanics.
  • Automatically selects the optimal SIMD instruction set based on CPU capabilities.

Performance

Compared to Vanilla

Environment: Windows x64, Minecraft 1.21.8 / NeoForge 21.8.49
Test setup: Entities inside a 2×2 fenced area with continuous horizontal velocity applied; entity ticking preserved, AI goals cleared, gravity disabled, cramming damage disabled.

| Entity Count / Layout | Vanilla | AR | Vanilla Time / AR Time |
| — | —: | —: | —: |
| 1024 / Clustered | 36.021 | 11.523 | 3.13× |
| 1024 / Grouped (8) | 16.825 | 8.748 | 1.92× |
| 3072 / Clustered | 593.188 | 28.793 | 20.60× |
| 3072 / Grouped (8) | 207.346 | 18.907 | 10.97× |

Compared to Older Versions of Accelerated Recoiling

| Entity Count | FFM Backend | NATIVE_BATCHED | Speedup |
| —: | —: | —: | —: |
| 2048 | 103.43 | 25.99 | 3.98× |
| 4096 | 450.57 | 68.63 | 6.56× |
| 8192 | 1789.51 | 241.91 | 7.40× |

Requirements & Installation

Place the mod JAR file into the mods folder of your game instance or server.

Configuration

You can toggle entity collision optimization via the in-game mod config screen, or by editing acceleratedRecoiling.json in your game instance’s root directory:

{
  "enableEntityCollision": true
}

Set to false to disable the optimization and restore the vanilla collision pipeline.

Building

Requires JDK 21.

./gradlew jar

Gradle will automatically download cpptoolchain.zip (specified by cpp_toolchain_version) from GitHub Releases and compile it into a dynamic binary library. The build artifacts will be located in build/libs/.

Support & Donations

If you enjoy Accelerated Recoiling, feel free to treat wiyuka to some hairtail fish here owo!

Credits & License

This project is open-source under the MIT License.
Special thanks to the following developers for their tremendous contributions to the core architecture and code porting:

  • Argon4W: Original concept and core design.
  • fireboy637: Core code for the Architectury API port.
  • hydropuse: Core code for JDK 22 compatibility.
  • wellcoming: Docker Ubuntu image solution.
  • grayawa: Build issue fixes on Linux.
  • TomatoPuddin: Cross-platform build support (Windows/Linux/macOS/Android) and C++ layer refactoring.

常见问题

Accelerated Recoiling 支持哪些 Minecraft 版本?

Accelerated Recoiling 支持 Minecraft Java 版 1.20.1–26.3,共 7 个版本,可用的加载器:Fabric / Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

Accelerated Recoiling 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分