Compatibility library for Brutal Nightmare

Up-to-date SQLite JDBC driver wrapped as a universal Forge/Fabric/Bukkit library for plugins like Dynmap and Grim.
Direct download from Modrinth · 25,940 downloads
Minecraft SQLite JDBC is a plugin for Paper / Spigot servers, made by Axionize. Up-to-date SQLite JDBC driver wrapped as a universal Forge/Fabric/Bukkit library for plugins like Dynmap and Grim.
It supports Minecraft 1.12 – 26.x. It has been downloaded 25,940 times on Modrinth. That puts it at #42 of the 81 library and API plugins listed here. The last update came out on Oct 16, 2026.
Minecraft SQLite JDBC has had 18 releases on Modrinth since Apr 20, 2025. 16 of them came out in the past year. The newest is 3.53.4.0+2026-08-27, released on Oct 16, 2026. It is made for Minecraft 1.14 – 1.21.11. It runs on Bukkit, Fabric, Folia, Forge, NeoForge, Paper, Purpur and Quilt. The download is 11.5 MB.
| Version | Released | Minecraft | Type |
|---|---|---|---|
3.53.4.0+2026-08-27 | Oct 16, 2026 | 1.14 – 1.21.11 | Release |
3.53.2.0+2026-06-06 | Jun 6, 2026 | 1.12.2 – 1.21.11 | Release |
3.53.2.0+2026-06-06 | Jun 6, 2026 | 1.12.2 – 1.21.11 | Release |
3.53.1.0+2026-05-07 | May 7, 2026 | 1.12.2 – 1.21.11 | Release |
3.53.0.0+2026-04-14 | Apr 26, 2026 | 1.12.2 – 1.21.11 | Release |
Minecraft SQLite JDBC is open source. Its newest release on GitHub is Nightly 3.53.4.0+2026-08-27, published on Oct 16, 2026.
ci: publish holders with Fabric-compatible game range
Before that: Nightly 3.53.2.0+2026-06-06 (Jun 6, 2026), Nightly 3.53.1.0+2026-05-07 (May 7, 2026).
A maintained fork of the dormant SQLite JDBC for Minecraft mod, now tracking the latest Xerial sqlite-jdbc release with auto-bumps whenever upstream cuts a new version.
The mod does nothing on its own — it ships the SQLite JDBC driver onto the server's classpath so other plugins/mods that want to read or write .db/.sqlite files via JDBC don't each have to bundle their own copy.
Typical consumers: Dynmap, Plan, LuckPerms, Grim Anti-Cheat, and any plugin that wants embedded SQLite without redistributing 10MB of native binaries themselves.
org.xerial:sqlite-jdbc:3.53.0.0 plus minimal loader stubs for Spigot, Forge 1.12, Forge 1.13–1.16, Forge 1.17–1.20, NeoForge 1.21+, and Fabric. The driver classes stay at their canonical org.sqlite.* paths — no relocation — so consumers find them with plain Class.forName("org.sqlite.JDBC"). META-INF/services/java.sql.Driver is preserved so the driver auto-registers with DriverManager.
The xerial driver bundles native SQLite binaries for every common platform/architecture (linux x64/aarch64, macos x64/arm64, windows x64). They get extracted to the JVM's tempdir on first use.
Loader · MC versions · Notes
Bukkit / Spigot / Paper / Folia / Purpur · 1.8 → current · drop into plugins/
Fabric · 1.16.1 → current · needs Fabric Loader 0.14+
Forge · 1.12 → 1.20 · universal jar, no Mixins
NeoForge · 1.21 → current · drop into mods/
Java 8+ required. Plain BukkitAPI servers without Java 8 (anything older than ~1.8.8) won't be able to load any modern xerial release; that's an upstream constraint, not this mod.
CraftBukkit/Spigot/Paper have shipped sqlite-jdbc on the server's parent classloader since the 1.4-era ebeans commit. Plugin classloaders delegate parent-first, so for the default JDBC path (Class.forName("org.sqlite.JDBC") / DriverManager.getConnection) the bundled driver always wins, regardless of what's in plugins/. Tested empirically on Paper 1.12.2 and 1.21.11.
You need this mod when:
The default path uses the bundled driver. To use this mod's driver instead, your plugin softdepends on this holder and calls MinecraftSqliteJdbc.connect(url) directly:
// in your plugin.yml
softdepend: [sqlite-jdbc]
// in your plugin code
Connection c;
try {
c = MinecraftSqliteJdbc.connect("jdbc:sqlite:foo.db");
} catch (NoClassDefFoundError | ClassNotFoundException notInstalled) {
// holder isn't installed — fall back to the bundled driver
c = DriverManager.getConnection("jdbc:sqlite:foo.db");
}
MinecraftSqliteJdbc wraps a child-first URLClassLoader pointing at this jar's URL, parented to the platform classloader so org.sqlite.* must come from this jar (not the bundled chain). The returned Connection is a standard java.sql.Connection — keep your casts to java.sql.* interfaces; the impl class org.sqlite.SQLiteConnection lives in the child-first classloader and won't down-cast across the boundary.
Verified on Paper 1.12.2 (bundled engine 3.21.0) — same JVM, same boot:
baseline DriverManager.getConnection → engine 3.21.0
MinecraftSqliteJdbc.connect() → engine 3.53.0
API surface (all static):
Method · Returns
connect(String url) · open Connection through this driver
connect(String url, Properties props) · as above with props
driver() · the java.sql.Driver instance
engineVersion() · SQLite engine version (e.g. "3.53.0")
driverVersion() · driver version string (e.g. "3.53.0.0")
eagerInit() · warm the classloader at plugin enable
shutdown() · release file handles + JNI on plugin disable
Grim Anti-Cheat's SQLite backend uses this API automatically when this holder is installed and ships a newer engine than the bundled one — see Grim's Database wiki page.
For reference if you're wondering what engine version your server actually ships:
CraftBukkit / Paper line · Bundled SQLite engine
1.8 – 1.10 · 3.7.2
1.11 · 3.16.1
1.12 · 3.21.0.1
1.13 · 3.25.2
1.14 · 3.28.0
1.15 · 3.30.1
1.16 – 1.17 · 3.34.0
1.20.6 · 3.45.3.0
Paper 1.21.4 · 3.47.0.0
Paper 1.21.5 – 1.21.11 · 3.49.1.0
master / 26.x · 3.51.3.0
This mod ships engine 3.53.0.0 (or whatever the latest xerial release is), but none of that matters on Bukkit-family servers — the bundled engine is what actually runs your queries. If you need a newer engine for features like RETURNING (3.35+) or STRICT tables (3.37+), upgrade to a Paper version that bundles a recent enough driver, or move that workload to Fabric/NeoForge where you can control the driver.
Declare sqlite-jdbc as compileOnly:
compileOnly("org.xerial:sqlite-jdbc:3.53.0.0")
Probe at startup:
try {
Class.forName("org.sqlite.JDBC");
} catch (ClassNotFoundException e) {
getLogger().warning("SQLite backend disabled — install minecraft-sqlite-jdbc");
return;
}
try (Connection c = DriverManager.getConnection("jdbc:sqlite:" + dataDir.resolve("data.db"))) {
// ...
}
On Paper 1.17+ each plugin's classloader is isolated. Add this mod to your plugin.yml softdepend so the driver classes are visible to your plugin:
softdepend: [minecraft-sqlite-jdbc]
Fabric and NeoForge unify all mods on one classloader, so no equivalent declaration is needed there.
The jar version tracks Xerial's sqlite-jdbc release one-to-one. 3.53.0.0+2026-04-14 ships engine 3.53.0.0; the suffix is the build date. A scheduled GitHub Action checks Maven Central daily — when xerial cuts a new release, an auto-merge PR opens here and the Modrinth release goes out automatically.
Apache 2.0 (Xerial / Taro L. Saito). The repackage adds no functional changes and inherits that license. Full text in LICENSE.
Issues, source: GitHub.
Written by Axionize. Read it with pictures on Modrinth.
Make sure your server runs Paper and Spigot on Minecraft 1.12 – 26.x.
Download the .jar file from Modrinth and put it in the plugins folder of your server.
Restart the server. Avoid /reload, many plugins do not handle it well.
Type /plugins in the console: Minecraft SQLite JDBC should be listed in green. Its config files are created in the plugins folder on the first start.
Full guide: How to install plugins on a Minecraft server
| Resource | Downloads | Versions | Last update | Price |
|---|---|---|---|---|
| 26K | 1.12 – 26.x | 26 days ago | Free | |
| ReactifyScadeBlock | 58K | 1.16 – 26.x | May 2, 2026 | Free |
| 4.5M | 1.16 – 26.x | 12 days ago | Free | |
| 357K | 1.21 – 26.x | 18 days ago | Free |
Yes. Minecraft SQLite JDBC supports Minecraft 26.x. All supported versions: 26.x, 1.21, 1.20, 1.19, 1.18, 1.17, 1.16, 1.13, 1.12.
Yes. Minecraft SQLite JDBC is free to download from Modrinth.
Minecraft SQLite JDBC runs on Paper and Spigot servers.
Yes. The last update came out in the past day.
The closest ones are Reactify, Common Network and Voxy Server Side. Compare all alternatives
Compatibility library for Brutal Nightmare
Common NetworkPlugins · 1.16 – 26.xForge and Fabric Unified Networking Solution
Voxy Server SidePlugins · 1.21 – 26.xRender distant Voxy LODs on servers
TickBudgetPlugins · 1.21 – 26.xTick budget runner, adaptive fair-share time pool, and thread diagnostics for Paper and Folia.
MapEnginePlugins · 1.19 – 26.xMapEngine is a map library plugin for minecraft paper servers, used to show images and video/streaming on maps
Skript WorldEdit + FAWE AddonPlugins · 26.xOnly working Skript + WorldEdit Addon on latest versions.
Log in to leave a review.