BetterModel is a plugin-based engine that provides runtime BlockBench model rendering & animating for Minecraft Java Edition.
It implements fully server-side 3D models by using an item display entity packet.
- Importing Generic BlockBench model
.bbmodel - Auto-generating resource pack
- Playing animation
- Syncing with base entity
- Custom hit box
- 12-limb player animation
BetterModel aims to be a reliable engine that provides stable, high-quality animations for Paper-based high-traffic servers.
- Stability First: We take a conservative approach to feature expansion. By avoiding the implementation of features that are difficult to maintain or have limited use cases, we focus on providing a stable API and ensuring overall operational safety.
- Performance Optimized: Our goal is to minimize runtime computation, memory footprint, and network overhead. Through asynchronous design and optimized packet handling, we ensure the engine runs efficiently even under heavy server loads.
- Tailored for Large-scale Servers: We provide essential features specifically designed for high-population servers and MMORPG content creation.
- Per-player Animation: Individual animation control tailored to each player's perspective.
- Player Model Animation: Support for sophisticated 12-limb animations based on player models.
./gradlew build: Builds all jars
./gradlew shadowJar: Builds plugin jar
./gradlew javadocJar: Builds javadoc jar
- Kotlin stdlib: modern functional programming
- semver4j: semver parser
- cloud: command
- adventure: component
- stable player display: player animation
- caffeine: concurrent map cache
- DynamicUV: player model
- ArmorModel: armor in player model
- molang-compiler: compiling and evaluating molang expression
- libby: runtime library downloader
You can see an API examples in here.
repositories {
mavenCentral()
}
dependencies {
compileOnly("io.github.toxicity188:bettermodel:VERSION")
}repositories {
maven("https://maven.pkg.github.com/toxicity188/BetterModel") {
credentials {
username = YOUR_GITHUB_USERNAME
password = YOUR_GITHUB_TOKEN
}
}
}
dependencies {
compileOnly("io.github.toxicity188:bettermodel:VERSION-SNAPSHOT")
}


