Skip to main content
BetterModel is available on Maven Central for Bukkit/Spigot/Paper plugins and Fabric mods. Follow the instructions below for your build system.

Version Requirements

  • Minecraft: 1.21 - 1.21.11
  • Java: 21 or higher
  • Bukkit Platforms: Paper, Purpur, Spigot, Folia, Leaf, Canvas
  • Mod Platforms: Fabric Loader
BetterModel requires Java 21 or higher. Make sure your project targets the correct language level.

Maven Central (Release)

For stable releases, use Maven Central.
repositories {
    mavenCentral()
    // For Fabric only - add these transitive dependencies
    maven("https://maven.blamejared.com/")
    maven("https://maven.nucleoid.xyz/")
}

dependencies {
    // For Bukkit (Spigot, Paper, etc.)
    compileOnly("io.github.toxicity188:bettermodel-bukkit-api:2.2.0")
    
    // For Fabric mods
    // modApi("io.github.toxicity188:bettermodel-fabric:2.2.0")
}
Replace 2.2.0 with the latest version from Maven Central.

GitHub Packages (Snapshot)

For bleeding-edge snapshot builds, use GitHub Packages. You’ll need a GitHub personal access token.
Snapshot builds are unstable and may contain breaking changes. Use only for testing.
1

Generate GitHub Token

Create a personal access token with read:packages permission.
2

Add Repository and Dependency

Configure your build file with GitHub Packages authentication:
repositories {
    maven("https://maven.pkg.github.com/toxicity188/BetterModel") {
        credentials {
            username = project.findProperty("gpr.user") as String? ?: System.getenv("GITHUB_USERNAME")
            password = project.findProperty("gpr.token") as String? ?: System.getenv("GITHUB_TOKEN")
        }
    }
    maven("https://maven.blamejared.com/") // For Fabric transitive deps
    maven("https://maven.nucleoid.xyz/")   // For Fabric transitive deps
}

dependencies {
    compileOnly("io.github.toxicity188:bettermodel-bukkit-api:2.2.0-SNAPSHOT")
    // modApi("io.github.toxicity188:bettermodel-fabric:2.2.0-SNAPSHOT")
}
3

Store Credentials Securely

Add your GitHub credentials to ~/.gradle/gradle.properties:
gpr.user=YOUR_GITHUB_USERNAME
gpr.token=YOUR_GITHUB_TOKEN

Plugin Setup

After adding the dependency, declare BetterModel as a dependency in your plugin.yml:
plugin.yml
name: YourPlugin
version: 1.0.0
main: com.example.YourPlugin
api-version: 1.21
depend:
  - BetterModel
Use depend if BetterModel is required, or softdepend if it’s optional.

Verification

Verify the installation by checking that BetterModel classes are available:
import kr.toxicity.model.api.BetterModel;
import kr.toxicity.model.api.data.renderer.ModelRenderer;

public class YourPlugin extends JavaPlugin {
    @Override
    public void onEnable() {
        getLogger().info("BetterModel API version: " + BetterModel.platform().version());
    }
}
If the code compiles and the plugin loads, you’re ready to go!

Next Steps

Quick Start

Learn how to spawn and animate your first model

API Reference

Explore the full BetterModel API

Build docs developers (and LLMs) love