Rattle
Generic physics engine framework for Minecraft servers
GitHub · Docs · Dokka
Rattle is an project which integrates a fully-featured physics engine into a server-side game environment, and exposes an ergonomic and user-friendly API for interacting with the physics state. The integration includes having the world state (such as blocks and entities) influence the physics state (i.e. blocks in the terrain can be collided against), and allow that physics state to be displayed to vanilla clients via techniques such as display entities - no mods required!
This project currently uses the Rapier physics engine backend, with Java bindings
provided via rapier-ffi/rapier-java, and
integrated as a Rattle backend in the rattle-rapier
module.
This project requires Java 19 exactly, and the --enable-preview --enable-native-access=ALL-UNNAMED
flags
must be set! See the installation guides for more detail.
Getting started
Note: The terms mod and plugin are used interchangeably in these documents.