Tags
Creators
Details
1.0.0
Compatibility
Changes
The first standalone release. ProVouchers no longer needs the Strata library: scheduling, text rendering, storage, the GUI, conditions, metrics, and every integration (Vault, LuckPerms, ItemsAdder, Oraxen, Nexo, HeadDatabase, WorldGuard) now ship inside the plugin. It installs as a single jar and runs on Paper, Folia, and Purpur 26.1+. 0.6.0 was never published; its work is included here.
Added
- Standalone install: one jar, no Strata. The connection pool and JDBC drivers are downloaded by Paper's library loader on first start.
- Database storage on SQLite out of the box, or MySQL, MariaDB, or PostgreSQL for shared and networked setups.
- Admin preview GUI (
/voucher preview): a paginated browser of every loaded voucher. Right-click to give yourself one, left-click for a per-voucher info menu. - Batch open (
batch-open: true): shift-right-click a stack to redeem all of it at once. Needs a stackable voucher with no cooldown. - Full-fidelity custom items: a voucher or reward item can be a serialized item that preserves enchants, name, lore, model data, attributes, and other components exactly.
- Duplicate warning lore (
anti-dupe.warning.enabled/anti-dupe.warning.text): mark a returned duplicate with a lore line to deter resale scams. - Dynamic tokens (
%player%,{player},{arg},{random:min-max}) now resolve in a voucher's display name and lore, not just in rewards.
Changed
- Anti-dupe is now opt-in per voucher through a
stackableflag (defaulttrue). A stackable voucher stacks freely and is not dupe-tracked. Settingstackable: falsestamps each item with a unique id, recorded once on redeem, so duplicates are caught and those items do not stack. This replaces the old always-on batch/nonce scheme and fixes the stacking complaints. - The redeem event exposes a single
uidin place ofbatchIdandnonce. - Custom item references resolve strictly: a
provider:idreference is served only by that provider, and an unknown provider prefix now fails at load instead of silently falling through.
Migration
- The schema upgrades in place on first start: a used-voucher table is added and the
old stamp table is dropped. A pre-1.0.0 install is detected and its recorded schema
version carried over, so migrations are not re-run. Vouchers minted before the
upgrade redeem as ungoverned (they carry the old data, not a
uid).
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:iOogVoaR:cB5B8oCE"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:iOogVoaR:cB5B8oCE"
}

