Tags
Creators
Details
Licensed MIT
Published 8 months ago
Updated 7 months ago
All versions
1.0.3
Release
ProgressionTools 1.0.37 months ago 63
Uploaded by
Compatibility
Minecraft: Java Edition
1.21.x
Platform
Paper
Changes
Initial Release
- Custom leveled tool system — tools carry XP and level data via PDC, independent of vanilla item durability mechanics
- ToolType.LUMBERJACK_AXE — first custom tool with dedicated XP listener (ToolXpListener), Farmer and Miner variants with their own listeners (ToolXpFarmerListener, ToolXpMinerListener)
- ToolStage.WOOD — first upgrade tier, max level 250; tool stage progression framework in place for future tiers
- Tool upgrade system via the anvil: ToolUpgradePrepareListener validates the recipe, ToolUpgradeApplyListener applies the upgrade; dedicated subclasses for Farmer hoe and Miner pickaxe variants
- Tool speed bonus: ToolSpeedListener applies mining/dig speed modifiers based on tool level
- Tool durability bonus: ToolDurabilityBonusListener scales durability loss reduction with level
- WorkSpeedEnchant — custom enchantment registered for compatible tools
- Gem system — socket-based item enhancement
- GemDefinition config records with material, display name, custom model data, effect type and amplifier
- GemItem factory creates gem ItemStack with PDC-tagged gem_type key
- GemSocketGui — player-facing GUI for inserting gems into tool sockets
- GemSocketListener — handles socket GUI interactions
- GemDropListener — configurable gem drops from mobs or blocks
- Special armor sets (permission-gated, for Tebex integration)
- Sets: Magier, Ritter, Heiler, Assassine, Bogenschütze
- SpecialArmorSetDefinition with SetEffect list — multiple potion effects active only while full set is worn
- EquipmentEffectService + EquipmentEffectListener — equip/unequip event handling with full-set detection
- Special weapons — SpecialWeaponDefinition config records with SpecialWeaponFactory
- Crafting recipes registered at startup for Farmer, Lumberjack, and Miner tools (FarmerRecipes, LumberjackRecipes, MinerRecipes)
- ArmorXpListener — awards Warrior or class XP on armor damage events
- AnvilVanillaEnchantBlockListener — blocks vanilla enchanting on custom tools to prevent unintended interactions
- CmdAutoTagListener — auto-tags newly crafted or given tools with the correct PDC data
- ToolProgressionService — central service for tool XP math, level thresholds, and stage transition logic
- ToolLoreUtil — generates and refreshes the tool lore block (level, XP bar, gem slots) on every change
- Modrinth update checker — queries the Modrinth API on startup; UpdateJoinNotifyListener notifies ops in chat when a newer version is available
- /progressiontools reload (alias /ptools) — hot-reload all tool and gem configs
- /ptedit <show|setxp|addxp|setlevel|addlevel> <value> — admin command for direct tool data manipulation
- ProgressionAPI integration: ProgressionApiCustomItemRegistrar registers all tool and gem types; ProgressionToolsItemProvider resolves custom items by ID for shop and quest integration
- ProgressionToolsTutorialProviderApi — tutorial step provider for new player onboarding
- Requires Progression Core + ProgressionAPI
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:rZh1DH5s:NzkqyMCA"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:rZh1DH5s:NzkqyMCA"
}

