{"id":4758,"date":"2026-05-31T16:31:12","date_gmt":"2026-05-31T13:31:12","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/"},"modified":"2026-05-31T16:31:12","modified_gmt":"2026-05-31T13:31:12","slug":"accelerated-recoiling","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/","title":{"rendered":"Accelerated Recoiling"},"content":{"rendered":"<p># \u52a0\u901f\u78b0\u649e (Accelerated Recoiling)<\/p>\n<p>\u52a0\u901f\u78b0\u649e\u662f\u4e00\u4e2a\u4e13\u6ce8\u4e8e\u4f18\u5316\u670d\u52a1\u7aef\u5b9e\u4f53\u78b0\u649e\u903b\u8f91\u7684\u6a21\u7ec4\u3002\u5b83\u5229\u7528 FFM (Foreign Function &#038; Memory) API\/JNI \u63a5\u7ba1\u5b9e\u4f53 AABB \u78b0\u649e\u68c0\u6d4b\uff0c\u5c06\u9ad8\u5bc6\u96c6\u8ba1\u7b97\u538b\u529b\u8f6c\u79fb\u81f3 C++ \u539f\u751f\u5e93\uff0c\u4ece\u800c\u663e\u8457\u63d0\u5347\u670d\u52a1\u5668\u6027\u80fd\u3002<\/p>\n<p>**\u672c\u6a21\u7ec4\u76ee\u524d\u4e3a\u5b9e\u9a8c\u6027\u8d28\uff0c\u5b9e\u4f53\u6324\u538b\u8868\u73b0\u4e0e\u539f\u7248\u4e0d\u5b8c\u5168\u4e00\u81f4\u3002\u8bf7\u52a1\u5fc5\u5728\u505a\u597d\u5b58\u6863\u5907\u4efd\u7684\u524d\u63d0\u4e0b\u8c28\u614e\u4f7f\u7528\u3002\u5982\u679c\u5728\u610f\u539f\u7248\u7279\u6027\u8fd8\u539f\u7a0b\u5ea6\uff0c\u8bf7\u5207\u6362\u81f3Java Vanilla\u540e\u7aef**<\/p>\n<p>\u5b98\u65b9\u4ea4\u6d41\u7fa4\uff1a1023713677<\/p>\n<p>## \u7279\u6027\u4ecb\u7ecd<\/p>\n<p>*   **\u5b9e\u4f53\u78b0\u649e\u6027\u80fd\u63d0\u5347**\uff1a\u901a\u8fc7\u5c06\u5e95\u5c42\u7684\u78b0\u649e\u903b\u8f91\u4ea4\u7531 C++ \u5904\u7406\uff0c\u6253\u7834 Java \u5728\u5904\u7406\u6d77\u91cf\u5b9e\u4f53\u78b0\u649e\u65f6\u7684\u6027\u80fd\u74f6\u9888\u3002\u5728\u6d4b\u8bd5\u6761\u4ef6\u4e0b\uff08\u540c\u4e00\u533a\u5757\u6570\u5343\u5b9e\u4f53\uff09\uff0cTPS \u63d0\u5347\u53ef\u8fbe\u6570\u5341\u500d\u3002<br \/>\n*   **\u7b97\u6cd5\u4f18\u5316**\uff1a\u5f15\u5165\u6548\u7387\u66f4\u9ad8\u7684\u78b0\u649e\u7b97\u6cd5\uff0c\u907f\u514d\u4e86\u539f\u7248 <math>O(N^2)<\/math> \u590d\u6742\u5ea6\u7684\u5b9e\u4f53\u904d\u5386\uff0c\u964d\u4f4e CPU \u8d1f\u62c5\u3002<br \/>\n*   **\u9608\u503c\u89e6\u53d1**\uff1a\u53ea\u6709\u5f53\u5c40\u90e8\u5b9e\u4f53\u5bc6\u5ea6\u8fbe\u5230\u8bbe\u5b9a\u9608\u503c\u65f6\u624d\u4f1a\u4f7f\u7528 C++ \u52a0\u901f\u7b97\u6cd5\uff0c\u4fdd\u8bc1\u5e38\u89c4\u6e38\u620f\u573a\u666f\u4e0b\u7684\u7a33\u5b9a\u4e0e\u539f\u7248\u4f53\u9a8c\u3002<br \/>\n*   **\u591a\u7aef\u652f\u6301**\uff1a\u540c\u65f6\u5305\u542bWindows\/Linux\/MacOS\u7684\u8fd0\u884c\u5e93\uff0c\u672a\u6765\u7248\u672c\u5c06\u652f\u6301arm64<br \/>\n*   **\u52a8\u6001\u540e\u7aef\u9009\u62e9\u673a\u5236**: \u540c\u65f6\u5305\u542b\u591a\u4e2a\u540e\u7aef\u5e76\u81ea\u52a8\u9009\u62e9\u5f53\u524d\u53ef\u4ee5\u5e94\u7528\u4e14\u6548\u7387\u6700\u9ad8\u7684\u540e\u7aef<\/p>\n<p>| \u540e\u7aef | \u5b9e\u73b0\u8bf4\u660e | \u8981\u6c42 | \u6027\u80fd (\u9884\u671f) | \u72b6\u6001 |<br \/>\n| :&#8212; | :&#8212; | :&#8212; | :&#8212; | :&#8212; |<br \/>\n| **GPU** | \u4f7f\u7528 GPU \u7b97\u6cd5\u52a0\u901f\u78b0\u649e | \u9700\u56fe\u5f62\u786c\u4ef6\u652f\u6301 | \u6700\u9ad8 | \u53ef\u7528 |<br \/>\n| **FFM** | \u4f7f\u7528 FFM API \u4e0e C++ \u5c42\u8fdb\u884c\u901a\u4fe1 | \u9700\u8981\u4f7f\u7528 JDK 21\u6216\u4ee5\u4e0a\u7684Java\u7248\u672c\u542f\u52a8\u6e38\u620f | \u975e\u5e38\u9ad8 | \u53ef\u7528 |<br \/>\n| **JNI** | \u4f7f\u7528 JNI \u4e0e C++ \u5c42\u8fdb\u884c\u901a\u4fe1 | \u65e0 | \u975e\u5e38\u9ad8 | \u53ef\u7528 |<br \/>\n| **Java SIMD** | \u4f7f\u7528\u52a0\u901f\u78b0\u649e\u7684 Java VectorAPI \u7b97\u6cd5 | \u9700\u6dfb\u52a0\u542f\u52a8\u53c2\u6570 | \u9ad8 | \u53ef\u7528 |<br \/>\n| **Java** | \u4f7f\u7528\u52a0\u901f\u78b0\u649e\u7684 Java \u539f\u751f\u7b97\u6cd5 | \u65e0 | \u826f\u597d | \u53ef\u7528 |<br \/>\n| **Java Vanilla** | \u5728\u539f\u7248\u7684\u5b9e\u4f53\u904d\u5386\u4e0b\u76f4\u63a5\u4fee\u6539\u5b9e\u4f53\u78b0\u649e\u7b5b\u9009\u903b\u8f91\uff08\u539f\u7248\u7279\u6027\u8fd8\u539f\u7a0b\u5ea6\u6700\u9ad8\uff09 | \u65e0 | \u504f\u5dee | \u53ef\u7528 |<br \/>\n| **Vanilla** | \u539f\u7248\u7684\u78b0\u649e\u903b\u8f91 | \u65e0 | \u6700\u5dee | &#8211; |<\/p>\n<p>\u5982\u679c\u9700\u8981\u624b\u52a8\u5207\u6362\u540e\u7aef\uff0c\u8bf7\u5728\u6e38\u620f\u542f\u52a8\u65f6\u6dfb\u52a0\u53c2\u6570`-Dacceleratedrecoiling.backend=\u540e\u7aef\u540d\u79f0`<\/p>\n<p>## \u73af\u5883\u8981\u6c42\u4e0e\u524d\u7f6e<\/p>\n<p>*   **64\u4f4d\u64cd\u4f5c\u7cfb\u7edf**\uff1a\u672c\u673a\u5e93 (`.dll` \/ `.so`) \u4ec5\u652f\u6301 64 \u4f4d\u73af\u5883\u3002<br \/>\n*   **Leaves \u7aef**\uff1a\u542f\u52a8\u53c2\u6570\u4e2d\u5fc5\u987b\u5305\u542b `-Dleavesclip.enable.mixin=true`\u3002<\/p>\n<p>## \u5b89\u88c5\u4e0e\u914d\u7f6e<\/p>\n<p>\u9996\u6b21\u542f\u52a8\u65f6\uff0c\u6a21\u7ec4\u4f1a\u81ea\u52a8\u5728\u6839\u76ee\u5f55\u91ca\u653e\u672c\u673a\u5e93\u6587\u4ef6\uff0c\u5e76\u751f\u6210 `acceleratedRecoiling.json` \u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n<p>**\u9ed8\u8ba4\u914d\u7f6e\u53ca\u8bf4\u660e\uff1a**<br \/>\n&#8220;`json<br \/>\n{<br \/>\n   &#8220;enableEntityCollision&#8221;: true,      \/\/ \u662f\u5426\u542f\u7528\u5b9e\u4f53\u6324\u538b\u4f18\u5316<br \/>\n   &#8220;enableEntityGetterOptimization&#8221;: true, \/\/ \u542f\u7528EntityGetter\u63a5\u53e3\u4f18\u5316(\u6682\u65f6\u65e0\u6548)<br \/>\n   &#8220;maxCollision&#8221;: 32,                 \/\/ \u5355\u4e2a\u5b9e\u4f53\u6700\u5927\u78b0\u649e\u4ea4\u4e92\u6570<br \/>\n   &#8220;gridSize&#8221;: 1,                      \/\/ \u7b97\u6cd5\u7f51\u683c\u5927\u5c0f<br \/>\n   &#8220;densityWindow&#8221;: 4,                 \/\/ \u5bc6\u5ea6\u5e73\u6ed1\u7a97\u53e3<br \/>\n   &#8220;densityThreshold&#8221;: 16              \/\/ \u89e6\u53d1\u52a0\u901f\u78b0\u649e\u7684\u5468\u56f4\u5b9e\u4f53\u5bc6\u5ea6\u9608\u503c<br \/>\n}<br \/>\n&#8220;`<br \/>\n*\u6ce8\uff1a\u82e5\u5f00\u542f\u540e\u6027\u80fd\u4e0d\u5347\u53cd\u964d\uff0c\u8bf7\u5c1d\u8bd5\u8c03\u4f4e `densityThreshold`\u3002*<br \/>\n*\u5982\u679cCPU\u5360\u7528\u8fc7\u9ad8\uff0c\u8bf7\u8c03\u4f4emaxThreads*<\/p>\n<p>## \u5e38\u89c1\u95ee\u9898 (Q&#038;A)<\/p>\n<p>**Q: \u4e3a\u4ec0\u4e48\u6e38\u620f\u5d29\u6e83\u6216\u65e0\u6cd5\u542f\u52a8\uff1f** <br \/>\n**A:** \u8bf7\u6309\u4ee5\u4e0b\u6b65\u9aa4\u6392\u67e5\uff1a<br \/>\n1. \u786e\u8ba4\u5df2\u6b63\u786e\u5b89\u88c5 Java 17+<br \/>\n2. \u82e5\u4f7f\u7528 **Leaves** \u670d\u52a1\u7aef\uff0c\u786e\u4fdd\u542f\u52a8\u53c2\u6570\u5305\u542b `-Dleavesclip.enable.mixin=true`\u3002<br \/>\n3. \u5982\u679c\u66f4\u65b0\u8fc7\u6a21\u7ec4\uff0c\u5c1d\u8bd5\u5220\u9664\u6839\u76ee\u5f55\u6216 `.minecraft` \u4e0b\u7684 `acceleratedRecoilingLib.dll`\u4e0e`acceleratedRecoiling.json`\uff0c\u7136\u540e\u91cd\u542f\u6e38\u620f\u8ba9\u5176\u91cd\u65b0\u751f\u6210\u3002<\/p>\n<p>**Q: \u5f00\u542f\u540e\u5b9e\u4f53\u6324\u538b\u8868\u73b0\u548c\u539f\u7248\u4e00\u6837\u5417\uff1f** <br \/>\n**A:** \u4e0d\u5b8c\u5168\u4e00\u81f4\u3002\u672c\u6a21\u7ec4\u76ee\u524d\u4e3a\u5b9e\u9a8c\u6027\u8d28\uff0c\u6539\u53d8\u4e86\u5e95\u5c42\u8ba1\u7b97\u903b\u8f91\uff0c\u56e0\u6b64\u6324\u538b\u8868\u73b0\u4f1a\u4e0e\u539f\u7248\u6709\u5dee\u5f02\u3002**\u8bf7\u52a1\u5fc5\u5728\u4f7f\u7528\u524d\u505a\u597d\u5b58\u6863\u5907\u4efd\u3002**<\/p>\n<p>**Q: \u4f1a\u5f71\u54cd\u751f\u7535\u7279\u6027\u5417\uff1f** <br \/>\n**A:** \u76ee\u524d\u6ca1\u6709\u627e\u5230\u56e0\u52a0\u901f\u78b0\u649e\u800c\u5931\u6548\u7684\u7ea2\u77f3\u673a\u5668\uff0c\u4f46\u63a8\u6d4b\u53ef\u80fd\u4f1a\u5f71\u54cd\u4e0e\u5b9e\u4f53\u6324\u538b\u6709\u5173\u7684\u7ea2\u77f3\u673a\u5668\uff0c**\u8bf7\u52a1\u5fc5\u5728\u4f7f\u7528\u524d\u505a\u597d\u5b58\u6863\u5907\u4efd\u3002**<\/p>\n<p>**Q: \u4e3a\u4ec0\u4e48\u5f00\u542f\u6a21\u7ec4\u540e\uff0c\u670d\u52a1\u5668\u6027\u80fd\u53cd\u800c\u4e0b\u964d\u4e86\uff1f** <br \/>\n**A:** \u53ef\u80fd\u662f\u5468\u56f4\u5b9e\u4f53\u5bc6\u5ea6\u672a\u8fbe\u5230\u89e6\u53d1\u4f18\u5316\u7684\u6761\u4ef6\uff0c\u56e0\u6b64\u540c\u65f6\u8d70\u4e86\u539f\u7248\u548c\u52a0\u901f\u78b0\u649e\u7684\u4e24\u6761\u8def\u5f84\u3002\u8bf7\u5c1d\u8bd5\u6253\u5f00\u914d\u7f6e\u6587\u4ef6\uff0c\u9002\u5f53\u8c03\u4f4e `densityThreshold` \u7684\u6570\u503c\u3002\u6216\u5c1d\u8bd5\u8c03\u4f4e`maxThreads`\u3002<\/p>\n<p>**Q: \u4f1a\u4e0d\u4f1a\u548c\u67d0\u4e9b\u6a21\u7ec4\u4e0d\u517c\u5bb9\uff1f** <br \/>\n**A:** \u5b8c\u5168\u4e0d\u4f1a\uff0c\u6839\u636e\u6211\u4eec\u76ee\u524d\u7684\u6d4b\u8bd5\uff0c\u52a0\u901f\u78b0\u649e\u4e0e ATM9 \u6574\u5408\u5305\u5b8c\u5168\u517c\u5bb9<br \/>\n\u540c\u65f6\u517c\u5bb9<br \/>\n* Lithium<br \/>\n* FlatCollision<br \/>\n* RuOK<br \/>\n* Create<br \/>\n* Valkyrien-Skies-2 <br \/>\n\u7b49\u591a\u4e2a\u5927\u578b\u6a21\u7ec4\u3002\u5982\u679c\u53d1\u73b0\u6709\u4e0d\u517c\u5bb9\u7684\u6a21\u7ec4\uff0c\u8bf7\u5728\u672c\u4ed3\u5e93\u63d0\u4ea4Issue\u3002<\/p>\n<p>**Q: FFM \u662fJava 21\u7684\u9884\u89c8\u529f\u80fd\uff0c\u6211\u662f\u5426\u5e94\u8be5\u4f7f\u7528Java 21+\u542f\u52a8\u6e38\u620f\uff1f** <br \/>\n**A:** \u5982\u679c\u4f60\u7684\u6e38\u620f\u7248\u672c\u662f*1.21.1*\u4ee5\u4e0a\uff0c\u90a3\u4e48\u662f\u7684\uff0c\u4f46\u8fd9\u662f**1.21.1**\u7248\u672c\u672c\u8eab\u9700\u8981**Java 21**\u6765\u8fd0\u884c\u3002 <br \/>\n\u5982\u679c\u4f60\u7684\u6e38\u620f\u662f*1.20.1*\uff0c\u90a3\u4e48\u4e0d\u9700\u8981\uff0c\u52a0\u901f\u78b0\u649e*v0.10.0-alpha-1.20.1*\u4ee5\u4e0a\u7684\u7248\u672c**\u540c\u65f6\u652f\u6301\u6700\u65b0\u7248JDK\u5230Java 17**\u4e4b\u95f4\u7684\u4efb\u610fJDK\u7248\u672c\u3002 <br \/> \uff08* \u6ce8: 1.20.1 \u7684\u6700\u4f4e\u53ef\u8fd0\u884c Java \u5373\u4e3a Java 17 *\uff09<\/p>\n<p>## \u6027\u80fd\u57fa\u51c6\u6d4b\u8bd5<\/p>\n<p>**\u6d4b\u8bd5\u73af\u5883:** i5-12600KF | 32GB RAM | RTX 3060 Ti | Leaves 1.21.8 | GraalVM JDK 21<\/p>\n<p>**\u6d4b\u8bd5\u4e00\uff1aTPS \u53d8\u5316 (\u540c\u4e00\u533a\u5757 2&#215;2 \u7a7a\u95f4\u5185\u751f\u6210\u5b9e\u4f53)**<br \/>\n| \u5b9e\u4f53\u6570\u91cf | Leaves + \u52a0\u901f\u78b0\u649e | \u539f\u7248 Leaves | \u63d0\u5347\u500d\u7387 |<br \/>\n| :&#8212; | :&#8212; | :&#8212; | :&#8212; |<br \/>\n| **2,048** | **20.0 TPS** (16 MSPT) | 3.0 TPS | 20.8x |<br \/>\n| **4,096** | **20.0 TPS** (27 MSPT) | 0.5 TPS | 74x |<br \/>\n| **16,384** | **8.6 TPS** (115 MSPT) | &#8211; | &#8211; |<br \/>\n| **32,768** | **4.3 TPS** (230 MSPT) | &#8211; | &#8211; |<\/p>\n<p>**\u6d4b\u8bd5\u4e8c\uff1aBroadPhase \u8017\u65f6 (\u7eaf C++ \u7aef\u5904\u7406\u6027\u80fd)**<br \/>\n| \u5b9e\u4f53\u6570\u91cf | MS \/ Frame (\u6bcf\u5e27\u8017\u65f6) | \u7b49\u6548 FPS |<br \/>\n| :&#8212; | :&#8212; | :&#8212; |<br \/>\n| 10,000 | 0.2 ms | 5000 |<br \/>\n| 50,000 | 1.1 ms | 909 |<br \/>\n| 100,000 | 2.5 ms | 400 |<br \/>\n| 400,000 | 21.3 ms | 46 |<\/p>\n<p>## \u6e90\u7801\u7f16\u8bd1<\/p>\n<p>\u9879\u76ee\u901a\u8fc7 Gradle \u8c03\u7528 MSVC \u548c WSL \u8fdb\u884c\u53cc\u7aef\u8de8\u5e73\u53f0\u7f16\u8bd1 (\u751f\u6210 `.dll` \u548c `.so`)\uff0c\u5efa\u8bae\u5728\u88c5\u6709 WSL \u7684 Windows 10\/11 \u73af\u5883\u4e0b\u64cd\u4f5c\u3002<\/p>\n<p>**1. \u73af\u5883\u51c6\u5907**<br \/>\n*   \u5b89\u88c5 JDK 21\u3002(\u5fc5\u987b)<br \/>\n*   \u514b\u9686\u672c\u4ed3\u5e93<\/p>\n<p>**2. \u6784\u5efa**<br \/>\n\u5728\u9879\u76ee\u6839\u76ee\u5f55\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a<br \/>\n&#8220;`bash<br \/>\ngradlew jar<br \/>\ngradlew build<br \/>\n&#8220;`<br \/>\n\u7f16\u8bd1\u4ea7\u7269 (\u5305\u542b\u53cc\u7aef\u52a8\u6001\u5e93\u7684 Jar) \u5c06\u751f\u6210\u5728 `build\/libs\/` \u76ee\u5f55\u4e0b\u3002<\/p>\n<p>## \u652f\u6301\u4e0e\u8d5e\u52a9<br \/>\n\u5982\u679c\u4f60\u559c\u6b22 **\u52a0\u901f\u78b0\u649e (Accelerated Recoiling)**\uff0c\u6b22\u8fce\u6765 **\u8fd9\u91cc** \u8bf7wiyuka\u5403\u4e00\u987f\u5e26\u9c7c\u54e6 owo<\/p>\n<p>## \u9e23\u8c22\u4e0e\u5f00\u6e90\u534f\u8bae<\/p>\n<p>\u672c\u9879\u76ee\u57fa\u4e8e **MIT \u534f\u8bae** \u5f00\u6e90\u3002<br \/>\n\u7279\u522b\u611f\u8c22\u4ee5\u4e0b\u5f00\u53d1\u8005\u5bf9\u672c\u9879\u76ee\u7684\u6838\u5fc3\u601d\u8def\u4e0e\u4ee3\u7801\u79fb\u690d\u63d0\u4f9b\u7684\u5de8\u5927\u5e2e\u52a9\uff1a<br \/>\n*   **Argon4W**: \u539f\u59cb\u6784\u601d\u4e0e\u6838\u5fc3\u601d\u8def\u3002<br \/>\n*   **fireboy637**: Architectury API \u79fb\u690d\u65b9\u6848\u7684\u6838\u5fc3\u4ee3\u7801\u3002<br \/>\n*   **hydropuse**: JDK 22 \u517c\u5bb9\u65b9\u6848\u7684\u6838\u5fc3\u4ee3\u7801\u3002<br \/>\n*   **wellcoming**: Docker Ubuntu\u955c\u50cf\u89e3\u51b3\u65b9\u6848\u3002<br \/>\n*   **grayawa**: Linux \u4e0a\u7684\u6784\u5efa\u95ee\u9898\u4fee\u590d<br \/>\n*   **TomatoPuddin**: \u8de8\u5e73\u53f0\u6784\u5efa(Windows\/Linux\/MacOS\/Android) \u4e0e C++ \u5c42\u7684\u91cd\u6784<\/p>\n<p>&#8212;<\/p>\n<p>## \u5f00\u6e90\u534f\u8bae<br \/>\n\u8be5\u9879\u76ee\u4f7f\u7528 MIT \u5f00\u6e90\u534f\u8bae\u5f00\u6e90\u3002<\/p>\n<p># Accelerated Recoiling (English)<\/p>\n<p>Accelerated Recoiling is a mod focused on optimizing server-side entity collision logic. It utilizes the FFM (Foreign Function &#038; Memory) API\/JNI to take over entity AABB collision detection, offloading highly intensive computing pressure to a native C++ library, thereby significantly improving server performance.<\/p>\n<p>**This mod is currently in the experimental phase, and entity cramming\/collision behavior is not entirely identical to Vanilla. Please use it with caution and ENSURE YOU HAVE WORLD BACKUPS before using it. If you strictly care about Vanilla parity, please switch to the Java Vanilla backend.**<\/p>\n<p>Official QQ Group: 1023713677<\/p>\n<p>## Features<\/p>\n<p>*   **Entity Collision Performance Boost**: By handing over low-level collision logic to C++, it breaks through Java&#8217;s performance bottlenecks when processing massive entity collisions. Under test conditions (thousands of entities in the same chunk), TPS can be increased by dozens of times.<br \/>\n*   **Algorithm Optimization**: Introduces highly efficient collision algorithms, avoiding Vanilla&#8217;s $O(N^2)$ entity iteration complexity and reducing CPU load.<br \/>\n*   **Threshold Trigger**: The C++ acceleration algorithm is only utilized when the local entity density reaches a configured threshold. This ensures stability and a Vanilla-like experience in regular gameplay scenarios.<br \/>\n*   **Multi-Platform Support**: Includes native libraries for Windows, Linux, and macOS. ARM64 support will be added in future versions.<br \/>\n*   **Dynamic Backend Selection**: Contains multiple backends and automatically selects the most efficient one applicable to your current environment.<\/p>\n<p>| Backend | Implementation Details | Requirements | Performance (Expected) | Status |<br \/>\n| :&#8212; | :&#8212; | :&#8212; | :&#8212; | :&#8212; |<br \/>\n| **GPU** | Uses GPU algorithms to accelerate collisions | Requires Graphics Hardware | Highest | Available |<br \/>\n| **FFM** | Uses FFM API to communicate with the C++ layer | Requires launching the game with JDK 21+ | Very High | Available |<br \/>\n| **JNI** | Uses JNI to communicate with the C++ layer | None | Very High | Available |<br \/>\n| **Java SIMD** | Uses Java VectorAPI algorithms for acceleration | Requires specific launch arguments | High | Available |<br \/>\n| **Java** | Uses native Java algorithms for acceleration | None | Good | Available |<br \/>\n| **Java Vanilla** | Modifies entity collision filtering logic directly under Vanilla&#8217;s entity iteration (Highest Vanilla parity) | None | Variant | Available |<br \/>\n| **Vanilla** | Default Vanilla collision logic | None | Lowest | &#8211; |<\/p>\n<p>If you need to manually switch backends, please add the launch argument `-Dacceleratedrecoiling.backend=<BackendName>` when starting the game.<\/p>\n<p>## Requirements &#038; Prerequisites<\/p>\n<p>*   **64-bit OS**: Native libraries (`.dll` \/ `.so`) only support 64-bit environments.<br \/>\n*   **Leaves Server**: The launch arguments must include `-Dleavesclip.enable.mixin=true`.<\/p>\n<p>## Installation &#038; Configuration<\/p>\n<p>Upon the first launch, the mod will automatically extract the native library files to the root directory and generate an `acceleratedRecoiling.json` configuration file.<\/p>\n<p>**Default Configuration &#038; Explanation:**<br \/>\n&#8220;`json<br \/>\n{<br \/>\n   &#8220;enableEntityCollision&#8221;: true,      \/\/ Whether to enable entity collision optimization<br \/>\n   &#8220;enableEntityGetterOptimization&#8221;: true, \/\/ Enable EntityGetter interface optimization (Currently inactive\/WIP)<br \/>\n   &#8220;maxCollision&#8221;: 32,                 \/\/ Maximum collision interactions per single entity<br \/>\n   &#8220;gridSize&#8221;: 1,                      \/\/ Algorithm grid size<br \/>\n   &#8220;densityWindow&#8221;: 4,                 \/\/ Density smoothing window<br \/>\n   &#8220;densityThreshold&#8221;: 16              \/\/ Surrounding entity density threshold to trigger acceleration<br \/>\n}<br \/>\n&#8220;`<br \/>\n*Note: If performance drops after enabling the mod, try lowering `densityThreshold`.*<br \/>\n*If CPU usage is too high, try lowering `maxThreads`.*<\/p>\n<p>## Q&#038;A<\/p>\n<p>**Q: Why does the game crash or fail to start?** <br \/>\n**A:** Please troubleshoot using the following steps:<br \/>\n1. Ensure Java 17+ is installed correctly.<br \/>\n2. If using a **Leaves** server, make sure the launch arguments include `-Dleavesclip.enable.mixin=true`.<br \/>\n3. If you recently updated the mod, try deleting `acceleratedRecoilingLib.dll` and `acceleratedRecoiling.json` from the root directory or `.minecraft` folder, then restart the game to let them regenerate.<\/p>\n<p>**Q: Is the entity cramming behavior the same as Vanilla after enabling?** <br \/>\n**A:** Not entirely identical. This mod is currently experimental and alters the low-level calculation logic, so cramming behaviors will differ from Vanilla. **Please make sure to back up your saves before using.**<\/p>\n<p>**Q: Will it break Technical Minecraft (TMC) \/ Redstone mechanics?** <br \/>\n**A:** Currently, we haven&#8217;t found any redstone contraptions broken specifically by Accelerated Recoiling, but it is speculated that it might affect machines reliant on entity cramming. **Please make sure to back up your saves before using.**<\/p>\n<p>**Q: Why did server performance drop after enabling the mod?** <br \/>\n**A:** It might be because the surrounding entity density hasn&#8217;t reached the threshold to trigger the optimization, causing the game to run both the Vanilla and Accelerated collision paths simultaneously. Try opening the config file and lowering the `densityThreshold` value, or try lowering `maxThreads`.<\/p>\n<p>**Q: Will it be incompatible with certain mods?** <br \/>\n**A:** Not at all. Based on our current testing, Accelerated Recoiling is fully compatible with the ATM9 modpack.<br \/>\nIt is also compatible with several major mods including:<br \/>\n* Lithium<br \/>\n* FlatCollision<br \/>\n* RuOK<br \/>\n* Create<br \/>\n* Valkyrien-Skies-2 <br \/>\nIf you discover any incompatible mods, please submit an Issue on this repository.<\/p>\n<p>**Q: FFM is a preview feature in Java 21. Should I launch the game with Java 21+?** <br \/>\n**A:** If your game version is *1.21.1* or higher, then yes, but that&#8217;s because **1.21.1** itself requires **Java 21** to run. <br \/>\nIf your game is *1.20.1*, then no. Accelerated Recoiling versions *v0.10.0-alpha-1.20.1* and above support **any JDK version from Java 17 up to the latest JDK**. <br \/> (*Note: The minimum runnable Java version for 1.20.1 is Java 17.*)<\/p>\n<p>## Performance Benchmarks<\/p>\n<p>**Test Environment:** i5-12600KF | 32GB RAM | RTX 3060 Ti | Leaves 1.21.8 | GraalVM JDK 21<\/p>\n<p>**Test 1: TPS Change (Entities spawned in a 2&#215;2 space within the same chunk)**<br \/>\n| Entity Count | Leaves + Accelerated Recoiling | Vanilla Leaves | Multiplier |<br \/>\n| :&#8212; | :&#8212; | :&#8212; | :&#8212; |<br \/>\n| **2,048** | **20.0 TPS** (16 MSPT) | 3.0 TPS | 20.8x |<br \/>\n| **4,096** | **20.0 TPS** (27 MSPT) | 0.5 TPS | 74x |<br \/>\n| **16,384** | **8.6 TPS** (115 MSPT) | &#8211; | &#8211; |<br \/>\n| **32,768** | **4.3 TPS** (230 MSPT) | &#8211; | &#8211; |<\/p>\n<p>**Test 2: BroadPhase Time (Pure C++ Backend Performance)**<br \/>\n| Entity Count | MS \/ Frame | Equivalent FPS |<br \/>\n| :&#8212; | :&#8212; | :&#8212; |<br \/>\n| 10,000 | 0.2 ms | 5000 |<br \/>\n| 50,000 | 1.1 ms | 909 |<br \/>\n| 100,000 | 2.5 ms | 400 |<br \/>\n| 400,000 | 21.3 ms | 46 |<\/p>\n<p>## Source Code Compilation<\/p>\n<p>The project uses Gradle to invoke MSVC and WSL for cross-platform compilation (generating `.dll` and `.so`). It is recommended to perform this in a Windows 10\/11 environment with WSL installed.<\/p>\n<p>**1. Environment Preparation**<br \/>\n*   Install JDK 21 (Required).<br \/>\n*   Clone this repository.<\/p>\n<p>**2. Building**<br \/>\nRun the following commands in the project root directory:<br \/>\n&#8220;`bash<br \/>\ngradlew jar<br \/>\ngradlew build<br \/>\n&#8220;`<br \/>\nThe compiled artifacts (a Jar containing the cross-platform dynamic libraries) will be generated in the `build\/libs\/` directory.<\/p>\n<p>## Support &#038; Sponsorship<br \/>\nIf you like **Accelerated Recoiling**, feel free to come **here** to buy wiyuka a meal of ribbonfish owo! <\/p>\n<p>## Credits &#038; Open Source License<\/p>\n<p>This project is open-sourced under the **MIT License**.<br \/>\nSpecial thanks to the following developers for their massive help with the core concepts and code porting of this project:<br \/>\n*   **Argon4W**: Original concept and core ideas.<br \/>\n*   **fireboy637**: Core code for the Architectury API port.<br \/>\n*   **hydropuse**: Core code for JDK 22 compatibility.<br \/>\n*   **wellcoming**: Docker Ubuntu image solutions.<br \/>\n*   **grayawa**: Build issue fixes on Linux.<br \/>\n*   **TomatoPuddin**: Cross-platform building (Windows\/Linux\/MacOS\/Android) and C++ layer refactoring.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A mod of aabb collision optimization.<\/p>\n","protected":false},"featured_media":4759,"template":"","meta":{"_minecraft_slug":"accelerated-recoiling","_minecraft_project_id":"mMXtqi5e","_minecraft_author":"wiyuka","_minecraft_license":"MIT","_minecraft_downloads":10192,"_minecraft_follows":14,"_minecraft_client_side":"optional","_minecraft_server_side":"optional","_minecraft_storage_type":"zip","_minecraft_archive_name":"accelerated-recoiling.zip","_minecraft_size_bytes":8043743,"_minecraft_version_count":9,"_minecraft_updated_at":"2026-05-16T05:50:25.255550Z","_minecraft_date_created":"2026-03-30T00:03:40.704617Z","_minecraft_date_modified":"2026-04-13T07:02:47.597515Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/accelerated-recoiling","_minecraft_icon_attachment_id":4759,"_minecraft_imported_at":"2026-05-31T13:31:13+00:00","_minecraft_import_hash":"2ec72044f9eb64a9924633371688586f","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[97,104,158,90],"mod_loader":[99,106,160],"minecraft_version":[36,37,41,81],"class_list":["post-4758","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-fabric","mod_category-forge","mod_category-neoforge","mod_category-optimization","mod_loader-fabric","mod_loader-forge","mod_loader-neoforge","minecraft_version-1-20-1","minecraft_version-1-21-1","minecraft_version-1-21-11","minecraft_version-1-21-8"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Accelerated Recoiling - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Accelerated Recoiling - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A mod of aabb collision optimization.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/accelerated-recoiling\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/accelerated-recoiling\\\/\",\"name\":\"Accelerated Recoiling - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/accelerated-recoiling\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/accelerated-recoiling\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/accelerated-recoiling-icon-81fd49235ecd636e40834c8782dc0b0a14c9a6a2_96.webp\",\"datePublished\":\"2026-05-31T13:31:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/accelerated-recoiling\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/accelerated-recoiling\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/accelerated-recoiling\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/accelerated-recoiling-icon-81fd49235ecd636e40834c8782dc0b0a14c9a6a2_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/accelerated-recoiling-icon-81fd49235ecd636e40834c8782dc0b0a14c9a6a2_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/accelerated-recoiling\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Accelerated Recoiling\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Accelerated Recoiling - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/","og_locale":"en_US","og_type":"article","og_title":"Accelerated Recoiling - Minecraft","og_description":"A mod of aabb collision optimization.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/","name":"Accelerated Recoiling - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/05\/accelerated-recoiling-icon-81fd49235ecd636e40834c8782dc0b0a14c9a6a2_96.webp","datePublished":"2026-05-31T13:31:12+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/05\/accelerated-recoiling-icon-81fd49235ecd636e40834c8782dc0b0a14c9a6a2_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/05\/accelerated-recoiling-icon-81fd49235ecd636e40834c8782dc0b0a14c9a6a2_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/accelerated-recoiling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Accelerated Recoiling"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/4758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/4759"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=4758"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=4758"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=4758"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=4758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}