26.1.2.4
Compatibility
Changes
π TagsBits Update Summary
This update delivers major stability improvements, critical bug fixes, and several new features focused on reliability, economy management, and administrator convenience.
π΄ Critical Bugs Fixed β Player Data Saving Issues Resolved
A major issue affecting player data persistence has been fixed.
Root Cause: The plugins/TagsBits/players/ directory was not automatically created before saving player files, resulting in IOException errors.
Improvements:
Automatic creation of the players/ directory using mkdirs() Atomic saving process using temporary .tmp files before renaming ConcurrentHashMap implementation to prevent ConcurrentModificationException during auto-save operations Improved exception handling for safer and more reliable data storage
As a result, player information is now saved securely and consistently.
π° Ore Selling System Fixed
The ore selling system has been completely corrected.
Root Cause: The previous implementation only calculated the sell value without actually processing the economy transaction or removing the sold items.
Improvements:
Proper deposits using eco.depositPlayer() Verification through EconomyResponse.transactionSuccess() Sold items are now correctly removed from inventories player.updateInventory() support for Bedrock/Geyser compatibility Inventory actions are processed safely on the main server thread using runTask()
Players now receive their coins correctly after selling items.
π‘ New Features βοΈ Operator Mode
A brand-new Operator Mode has been introduced.
operator_mode: enabled: false message_bypass: "&a[OP] Purchase completed free of charge."
Features:
Players with the tagsbits.operator permission can purchase without spending money when enabled. Easily toggle the system using: /tb operator on /tb operator off
Disabled by default for maximum control.
π΅ New /darMoney Command
Administrators can now grant currency directly to players.
Aliases:
/darMoney /givemoney /addmoney
Features:
Permission: tagsbits.givemoney Intelligent tab completion Suggested values and online player names Maximum transaction limit of 1 billion coins per operation π·οΈ Separate tags.yml File
Tag management has been reorganized for easier administration.
Before:
Everything stored inside config.yml
Now:
config.yml handles only general plugin settings. tags.yml stores all categories and tag definitions.
Benefits include:
Cleaner configuration files Easier editing Better organization Full reload support using: /tb reload π’ Compatibility & Improvements β Java Edition Compatible with Spigot/Paper 1.20+ π± Bedrock Support (Geyser) Bedrock-friendly inventory synchronization Titles without problematic emoji rendering Proper inventory updates after sales π Auto-Save Automatic saves every 5 minutes Fully configurable π Purchase & Sale Logs All economic transactions are logged for easier monitoring and auditing. π Vault Integration Full compatibility with any economy plugin supported by Vault. π Generated Server Structure plugins/TagsBits/ βββ config.yml β βββ General settings, Operator Mode, and sell prices βββ tags.yml β βββ All tags and categories βββ players/ βββ <uuid>.yml βββ Individual player data
This update significantly improves TagsBits' reliability, economy systems, Bedrock compatibility, and overall administration experience, making it more stable, organized, and easier to manage than ever before.
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:pQPXU7sj:WKEkOaLU"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:pQPXU7sj:WKEkOaLU"
}

