Tags
Creators
Details
All versions
1.5.0
Alpha
Aurelium 1.5.0-26.1.x5 months ago 156
Compatibility
Minecraft: Java Edition
26.1.x
Platforms
Paper
Purpur
Changes
Aurelium now automatically discovers custom items from popular third-party plugins and integrates them seamlessly into your server market—no manual configuration required.
New - Auto Custom Item Detection (Scanner)
- UnifiedItemScanner: Automatically detects custom items from installed third-party plugins on server startup and via
/customitems scan - Supported plugins (via reflection, zero hard dependencies): ItemsAdder, Oraxen, MMOItems, MythicMobs, ExecutableItems, Nexo, SX-Item
- Each plugin API is accessed via reflection only—no compile-time dependencies required
- Cross-Plugin Deduplication: If the same item is registered by multiple plugins (e.g., ItemsAdder ruby_sword and MMOItems SWORD:RUBY_BLADE), it is deduplicated by canonical ID and stored as a single entry in
custom_items - Config Override Sync: Discovered items are written to
config.ymlunderdiscovered-items:with source plugin, display name, material type, and default buy/sell prices - Server owners can edit prices/flags in config, and changes persist across restarts
- Database schema v2: Added
custom_itemstable for persistent custom item tracking with automatic v1-to-v2 migration - Thread-Safe Scanning: All scan operations run async with proper locking to avoid race conditions during startup
- Custom items appear in the market with proper display names and configurable pricing
New - /customitems Command
- Full management commands for discovered custom items:
/customitems scan— Force rescan of all supported plugins/customitems list— View all discovered custom items/customitems info <id>— Show details for a specific item/customitems reload— Reload config overrides from disk/customitems toggle <id>— Enable or disable a discovered item in the market/customitems price <id> <buy> [sell]— Set buy/sell prices for a discovered item
Fixes
- DatabaseManager DDL Propagation:
createTables()now re-throwsSQLExceptionifcustom_itemstable creation fails, preventing schema version mismatch on fresh MySQL installs - Cloud Dashboard Retry Logic: HTTP 4xx/5xx errors stop retrying immediately (permanent errors); only transient errors (network, DNS) retry with backoff
- CustomItemRegistry Concurrency: Fixed race conditions in
register(),upsert(), andclear()— all write operations now use proper read-write locking - MarketItems Price Clamping: Fixed inverted floor/ceiling clamping when
buyPricewas unset (-1 sentinel), preventing price recovery drift toward -1 - Auction Display Names: Auction messages now show custom display names instead of raw material types (uses
PlainTextComponentSerializerfor safe Component handling) - MySQL 8.0.20+ Compatibility: Replaced deprecated
VALUES(col)syntax with modernAS newalias syntax in all upsert queries
Testing
- Expanded MySQL CI test suite: scanner integration, dedup accuracy, schema migration, custom_items persistence
- Mineflayer in-game tests: 96/96 pass covering economy commands, auction lifecycle, and customitems subcommands
- All CI jobs pass: build, smoke-test, ingame-test, mysql-test, scanner-mysql, custom-item-detection, custom-items-persistence
Platform
- Targets Paper 26.1+ (Java 25, api-version: '26.1')
- Uses Paper's
RegistryAccess/RegistryKeyAPI for enchantment lookups - CI tested against Paper 26.1.2
- This is an APLHA version so it can have critical bugs
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:LJ9k5olE:KUVVVm1u"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:LJ9k5olE:KUVVVm1u"
}

