Tags
Creators
Details
2.5.0
Compatibility
Changes
[2.5.0] — 2026-05-28
Added
Item Log System (new feature)
Every item removed from a player's inventory is now recorded persistently in the database (aa_item_logs table). The log captures three action types:
| Action | Trigger |
|---|---|
DELETED |
Admin right-clicks a slot to destroy the item |
STOLEN |
Admin left-clicks a slot to take the item for themselves |
CLEARED |
Admin hits Clear Inventory; every item is logged with a shared batch ID |
Armor slots and the offhand slot are also included.
New GUI — Item Logs panel (gui/ItemLogGui.java):
- Accessible from two places:
- Player Action screen → slot 40 (Knowledge Book icon, row 4)
- Player Inventory view → slot 8 (top-right corner, always visible)
- Paginated list — 36 entries per page, newest first.
- Each entry shows: item icon, exact amount, action type (colour-coded), staff name, date, and restore status.
- Left-click an entry → restore directly to the player (drops at their feet if inventory full).
- Right-click an entry → restore to the admin's own inventory.
- Restore Last Clear button (emerald, slot 47) → restores all items from the most recent unrestored inventory wipe in one click.
- Restore All button (diamond, slot 51) → restores every single unrestored item across all actions (deleted + stolen + cleared) at once.
- Restored entries display a visual glow to distinguish them clearly.
New DB method: markAllItemLogsRestored(UUID playerUuid) — marks every pending log for a player as restored in one query.
New permission: authorityadmin.itemlogs (default: op) — required to open the Item Logs panel.
Plugin identity
- Version bumped to 2.5.0 in
build.gradle.kts. - New, detailed plugin description in
build.gradle.kts(expanded from the old one-liner). plugin.yml: addedwebsitefield and 14tags(admin, staff, gui, ban, mute, freeze, vanish, inventory, management, punishment, reports, economy, discord, moderation).
Changed
PlayerInventoryGui: every item-removal action (delete, steal, clear, armor steal, offhand steal) now callsDatabaseManager.logItemTake(...)before modifying the inventory.PlayerInventoryGui: new Item Logs shortcut button added at slot 8 (top-right of border row) — accessible whether the player is online or offline.PlayerActionGui: row 4 (previously all filler) now contains the Item Logs button at slot 40.messages.yml: added all previously-missing message keys referenced in code.plugin.yml: addedauthorityadmin.itemlogsunder theauthorityadmin.*wildcard.
Fixed
messages.ymlwas missing keys that produced silent/empty messages in-game:player-action.healed,player-action.teleported-to,player-action.teleported-here,player-action.fly-enabled,player-action.fly-disabledinventory.item-deleted,inventory.item-stolen,inventory.admin-full,inventory.clearedinventory.log-restored,inventory.log-restored-admin,inventory.log-batch-restored,inventory.log-no-batch,inventory.log-already-restored,inventory.log-restore-failed,inventory.log-no-pending
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:TeKBOg0n:igSOKIHz"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:TeKBOg0n:igSOKIHz"
}

