Skip to main content

Server requirements

  • PaperMC 1.20 or newer (up to the latest 1.21.x). RefineryCore compiles against the plain paper-api, not paperweight.userdev, since it only uses public Bukkit/Paper API — this means one build of RefineryCore loads on any Paper build in that range without needing a version-pinned jar.
  • Java 21 toolchain.

Adding the dependency

RefineryCore is published to Refinery’s Reposilite instance. Add the repository and dependency to your plugin’s build.gradle.kts:
Replace VERSION with the latest published version.

Declaring the dependency in plugin.yml / paper-plugin.yml

Your plugin needs to load after RefineryCore, so declare it as a hard dependency:
Or, if you’re using bukkitPluginYaml in Gradle:

Implementing RefineryPluginImplementation

Your plugin’s main class should implement RefineryPluginImplementation to get access to the command registry, console logging, and server-version helpers:
MyPlugin.java
See the Overview page for what this interface provides.

Toolchain

RefineryCore itself builds with:
Downstream plugins should match this to avoid class-file version mismatches.