Tags
Creators
Details
Licensed CC-BY-NC-4.0
Published 8 months ago
Updated 2 months ago
All versions
1.2
Release
AdvancedTags 1.22 months ago 79
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Required content
Any compatible version
Changes
๐ท๏ธ AdvancedTags v1.2 โ Release Notes
A comprehensive update bringing multi-platform engine compatibility, thread-safe asynchronous operations, critical GUI security fixes, and performance optimizations.
๐ New Platform Support & Architecture
- Spigot & CraftBukkit Support: Shaded and relocated
adventure-platform-bukkitto ensure full MiniMessage, RGB, Hex, and Gradient support across native Spigot and CraftBukkit servers without external dependencies. - Folia & Paper Fork Stability: Implemented an internal universal scheduler abstraction (
SchedulerUtils) utilizing reflection and entity-based schedulers to prevent runtime thread-pool exceptions on Folia and multi-threaded environments. - Soft Dependency Decoupling: Changed
PlaceholderAPIdependency from hard to soft (softdepend). The plugin now boots and functions 100% standalone if PAPI is not present.
๐ก๏ธ GUI & Security Fixes
- Shift-Click Inventory Leak (Dupe Fix): Resolved a critical inventory desync where synchronous
closeInventory()calls allowed items to glitch into the player's inventory on shift-click. Inventory actions and closures are now deferred by 1 tick using platform-safe schedulers. - Drag-Drop Item Loss Prevention: Added an
InventoryDragEventhandler to block players from dragging items into the virtual menu, preventing permanent item loss. - Enforced Event Denial & Resync: Implemented dual event cancellation (
setCancelled(true)andsetResult(Result.DENY)) accompanied by forcedplayer.updateInventory()calls to prevent visual ghost items. - Flexible Layouts: Reduced the minimum GUI size constraint (
size: 9), fully supporting single-row custom layouts.
โ๏ธ Core Engine & Performance
- Thread-Safe Storage I/O: Added
ReentrantLocksynchronization toStorageManager.saveSync()to eliminate race conditions and prevent JSON file corruption (0-byte payload) during concurrent tag changes. - Memory Leak Elimination: Refactored
TagManagerto implementListener, pruning expired cooldowns dynamically and automatically clearing cached UUID records onPlayerQuitEvent. - Wildcard Permission Resolution: Added direct programmatic support for
advancedtags.tag.*andadvancedtags.adminwildcard evaluations across all inventory interactions. - Clean Resource Teardown: Added strict lifecycle disposal on
onDisable()for Adventure audiences, background thread pools, and update checkers to prevent memory leaks during server reloads. - Removed Namespace Command Stripping: Removed the global
PlayerCommandSendEventfilter to prevent unintended side effects on third-party plugin namespace commands (plugin:command).
๐ฆ Developer & Build Details
- Target Version: Compatible with Minecraft 1.20+ (Paper, Purpur, Folia, Spigot, Bukkit).
- Dependencies Shaded:
adventure-platform-bukkit,adventure-text-minimessage,adventure-text-serializer-legacy,bstats-bukkit. - Build System: Apache Maven (Java 17+ bytecode target).
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:27Rawmke:Co7D6FOu"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:27Rawmke:Co7D6FOu"
}

