PvpBot Wiki
Help

Spigot edition

How the Paper and Spigot jars differ, and how to build the Spigot edition.

One plugin, two jars

The Spigot edition (1.21.11 and 26.2) has the same AI, commands, config and features as the Paper edition. It's built from the same source, with a few files swapped for Spigot versions.

It's a separate jar so the Paper build loses nothing: Paper keeps its own faster calls, and neither jar carries code for the other server.

What differs inside

PartPaperSpigot
ChatAdventure componentsClassic colour codes, rendered to look the same
EventsAsyncChatEvent, Paper's knockback eventAsyncPlayerChatEvent, Bukkit's knockback event
PlatformPaper methods (current tick, replaceable blocks, nearby players…)The equivalent vanilla or Bukkit calls
Server accessDirect CraftBukkit castsCraftBukkit found at startup (Spigot puts the revision in the package name)
Bot skinsPaper's profile APISwaps the profile directly
Finished loadingFields looked up by nameThe "player loaded" packet a real client sends

For anyone using the plugin nothing changes: the commands and config.yml are identical.

Building the Spigot edition

You need Spigot's BuildTools, run with --remapped for each version:

java -jar BuildTools.jar --rev 1.21.11 --remapped
java -jar BuildTools.jar --rev 26.2 --remapped
  1. Copy the spigot-<version>.jar files BuildTools produces into .spigot/ at the repo root.
  2. Run pvpbot-spigot/build.sh 1.21.11 26.2.
  3. The jars end up in pvpbot-spigot/dist-<version>/PvpBot-<version>.jar.

If BuildTools rejects --remapped for a version, build that version without it: the script then compiles against the server jar directly.

VariableDefaultMeaning
SPIGOT_JARS.spigot/Where the Spigot jars are.
M2~/.m2/repositoryThe local Maven repository (where --remapped installs the mappings).
JDKjava on the PATHAt least 21 for 1.21.11, at least 25 for 26.2.

The script works on Linux, macOS and Git Bash on Windows.

Status

Every change to the Spigot edition is checked against the Bukkit API, and the check fails if it uses anything only Paper has. It hasn't been run on a live Spigot server yet: if you hit a problem, please report it.

PvpBot Wiki · for Paper and Spigot 1.21.11 / 26.2 · Download on Modrinth