ModsJava
ItemGuard LITE — Item Logger, History Tracker & Duplicate Detection
Java mod listed for Minecraft 1.21–26.x. Downloads from the MC Java Mods app on Android.
ItemGuard LITE — Item Logger & History Tracker A player logs in with a second Mace. Duped, traded, or theirs all along? Right now you're guessing. With…
⬇ Download on SpigotItemGuard LITE — Item Logger & History Tracker
A player logs in with a second Mace. Duped, traded, or theirs all along?
Right now you're guessing. With ItemGuard you run one command and know.
Every valuable item gets a permanent ID as soon as it reaches a player, and a log of everywhere
it has been. Drop it, chest it, restart the server, cross worlds — the ID stays. When the same ID
turns up in more than one place at once, staff are alerted with the item's code and how many
places it was seen in — then /ig history shows where it has been.
Already running CoreProtect? Keep it. CoreProtect logs actions by location and
time — who opened which chest, when. It can't tell you whether two swords that exist
right now are the same physical sword. That question is what ItemGuard answers, and the two
sit side by side without overlapping.
Try it in 60 seconds
What you get
Commands
Players only see their own items. Staff need
itemguard.history.others for anyone else's.
Straight about the limits — LITE logs and reports; it never deletes or rolls back. It
tracks items that don't stack (tools, weapons, armour, shulkers), not stacked materials, and
skips ender chests. Want something that deletes extra stacks? A different plugin fits better.
Two things to know up front — history is never auto-deleted (the plugin warns in console
past 500 MB rather than dropping evidence), and item IDs live on the items, so they remain in
the item data if you uninstall. Both explained in the spoilers below.
Works on Paper, Purpur or Spigot 1.21.4+ including 26.x · Java 21 (Java 25 on 26.x) · not Folia.
Found a dupe it missed, or something behaving oddly? Tell me and I'll look:
discord.gg/EnSNSNVV5G
A player logs in with a second Mace. Duped, traded, or theirs all along?
Right now you're guessing. With ItemGuard you run one command and know.
Every valuable item gets a permanent ID as soon as it reaches a player, and a log of everywhere
it has been. Drop it, chest it, restart the server, cross worlds — the ID stays. When the same ID
turns up in more than one place at once, staff are alerted with the item's code and how many
places it was seen in — then /ig history shows where it has been.
Already running CoreProtect? Keep it. CoreProtect logs actions by location and
time — who opened which chest, when. It can't tell you whether two swords that exist
right now are the same physical sword. That question is what ItemGuard answers, and the two
sit side by side without overlapping.
Try it in 60 seconds
- Drop the jar in /plugins and restart. No database setup, no dependencies.
- Hold any tool, weapon, or armour piece and run /ig check.
- That's your item's ID and its full trail. Nothing to configure first.
What you get
- Stop arguing with players — a full audit log of who held it and where it went. Ban
decisions backed by a record, not a hunch. - Find duplicates hiding in storage — the sweep reads chests nobody has opened, in
chunks the server already has loaded. It never loads chunks itself, and it does not read
storage minecarts or donkey bags. - Answer "is this legit?" in one command — /ig check on any suspicious drop.
Commands
Code (Text):
/ig check what is this item, and whose was it
/ig history full trail for one item
/ig search find an item by its code
/ig stats tracking totals
/ig gui browse it visually
/ig history full trail for one item
/ig search find an item by its code
/ig stats tracking totals
/ig gui browse it visually
Straight about the limits — LITE logs and reports; it never deletes or rolls back. It
tracks items that don't stack (tools, weapons, armour, shulkers), not stacked materials, and
skips ender chests. Want something that deletes extra stacks? A different plugin fits better.
Two things to know up front — history is never auto-deleted (the plugin warns in console
past 500 MB rather than dropping evidence), and item IDs live on the items, so they remain in
the item data if you uninstall. Both explained in the spoilers below.
Works on Paper, Purpur or Spigot 1.21.4+ including 26.x · Java 21 (Java 25 on 26.x) · not Folia.
Spoiler: Premium — planned, not released yet
LITE answers
where did this item come from. Premium is about
giving it back.
Nothing here exists today. It's listed so you know the direction — no release date promised.
LITE stays free and keeps every feature it has now.
Why the split: detecting a duplicate is worth little if you still can't help the player who
actually lost something. That recovery path is the paid part.
Nothing here exists today. It's listed so you know the direction — no release date promised.
LITE stays free and keeps every feature it has now.
- /ig restore — reissue an item a player lost to a crash, a bug, or a scam, with the
original identity intact, so the restored item is still traceable and can't become a quiet dupe. - /ig transfer — return an item to its rightful owner, recorded.
- Admin audit log — every restore and transfer logged against the staff member who did
it. A tool that can create items is only safe if it watches the admins too. - Issuance monitoring — LITE tells you an item's history; it cannot tell you that an
operator has been quietly minting gear. Premium watches the rate at which tagged items enter
the world per staff account, and flags the pattern that matters: the same person issuing
valuable items repeatedly, or an account that suddenly gained op doing it. Detection and a
record first, with blocking as an option you switch on — an anti-cheat that freezes a
legitimate admin mid-event is worse than one that reports. - Discord alerts and WorldGuard region rules.
Why the split: detecting a duplicate is worth little if you still can't help the player who
actually lost something. That recovery path is the paid part.
Spoiler: Tested on 14 servers — every build listed
Each row is a real server with a real planted duplicate, verdict read from the plugin's own
console, each with its own confirmation code. All ran the exact jar published here.
Purpur is a Paper fork on the same API, so both endpoints were checked rather than every
release in between.
Spigot has no prebuilt download, so it was compiled with BuildTools; the server identified
itself as 4458-Spigot-73860e0-fb3f2b6 (MC: 1.21.4). Only that version was tested.
Spigot lacks some Paper APIs, so one difference is visible to you: items are tagged when a
player picks them up, holds them, or a container scan reaches them — rather than at the moment
they spawn into the world.
Compiled against the 1.21.4 API, so the floor is compiler-enforced — older servers are refused
at load rather than running untested. Newer releases are untested: likely fine, not promised.
console, each with its own confirmation code. All ran the exact jar published here.
Code (Text):
Paper Build Java Result
1.21.4 232 21 PASS
1.21.5 114 21 PASS
1.21.6 48 21 PASS
1.21.7 32 21 PASS
1.21.8 60 21 PASS
1.21.9 59 21 PASS
1.21.10 130 21 PASS
1.21.11 132 21 PASS
26.1.1 29 25 PASS
26.1.2 74 25 PASS
26.2 123 25 PASS
Purpur 1.21.4 2416 21 PASS
Purpur 1.21.11 2568 21 PASS
Spigot 1.21.4 4458 21 PASS
1.21.4 232 21 PASS
1.21.5 114 21 PASS
1.21.6 48 21 PASS
1.21.7 32 21 PASS
1.21.8 60 21 PASS
1.21.9 59 21 PASS
1.21.10 130 21 PASS
1.21.11 132 21 PASS
26.1.1 29 25 PASS
26.1.2 74 25 PASS
26.2 123 25 PASS
Purpur 1.21.4 2416 21 PASS
Purpur 1.21.11 2568 21 PASS
Spigot 1.21.4 4458 21 PASS
release in between.
Spigot has no prebuilt download, so it was compiled with BuildTools; the server identified
itself as 4458-Spigot-73860e0-fb3f2b6 (MC: 1.21.4). Only that version was tested.
Spigot lacks some Paper APIs, so one difference is visible to you: items are tagged when a
player picks them up, holds them, or a container scan reaches them — rather than at the moment
they spawn into the world.
Compiled against the 1.21.4 API, so the floor is compiler-enforced — older servers are refused
at load rather than running untested. Newer releases are untested: likely fine, not promised.
Spoiler: Performance, privacy, licence
Measured, not guessed. Six servers were run — three with the plugin, three without,
alternating — on an identical workload of 400 hopper pairs shuffling tracked items, which is
the busiest code path this plugin has. Tick time was sampled from the server's own counter.
The gap between the two (0.05ms) is
smaller than the variation between repeats of the same
arm (up to 0.23ms). These runs were made on the build immediately before this one; the
change since then only adds work when a player clicks or swaps an item, not on the hopper path
measured here. So the honest statement is a bound, not a figure: on this path the
cost is below what the test can resolve — under roughly 0.2ms of a 50ms tick budget. Anyone
claiming a precise number from data like this is reading noise.
What this does not cover: a hundred real players touching commands and GUIs, other
plugins competing for the same tick, or memory growth over weeks.
History is never auto-deleted in LITE. The database only grows — deliberate, because an
investigation log you can't trust to be complete isn't worth much. The plugin watches the file
and prints one console warning past 500 MB ( database.warn-size-mb, 0 to silence).
It never deletes anything; if size becomes a problem, stop the server and archive the file —
items keep their IDs.
Item IDs live on the items. Remove the plugin and those tags stay in the item data.
Invisible in game and harmless, but LITE has no untag command, so it's fair to say so.
The chest sweep is throttled ( chunks-per-tick: 8 by default) and never loads chunks that
aren't already in memory, so it cannot drag in unloaded terrain.
Storage is a local SQLite file inside the plugin folder. Nothing is uploaded anywhere. The only
outbound connection is bStats, which you can switch off.
SHA-256 of the jar on this page:
Free on any server, including one that charges players. Don't resell or reupload it.
alternating — on an identical workload of 400 hopper pairs shuffling tracked items, which is
the busiest code path this plugin has. Tick time was sampled from the server's own counter.
Code (Text):
mean ms/tick run 1 run 2 run 3 median
without ItemGuard 0.87 0.79 0.87 0.87
with ItemGuard 0.82 0.99 0.76 0.82
without ItemGuard 0.87 0.79 0.87 0.87
with ItemGuard 0.82 0.99 0.76 0.82
arm (up to 0.23ms). These runs were made on the build immediately before this one; the
change since then only adds work when a player clicks or swaps an item, not on the hopper path
measured here. So the honest statement is a bound, not a figure: on this path the
cost is below what the test can resolve — under roughly 0.2ms of a 50ms tick budget. Anyone
claiming a precise number from data like this is reading noise.
What this does not cover: a hundred real players touching commands and GUIs, other
plugins competing for the same tick, or memory growth over weeks.
History is never auto-deleted in LITE. The database only grows — deliberate, because an
investigation log you can't trust to be complete isn't worth much. The plugin watches the file
and prints one console warning past 500 MB ( database.warn-size-mb, 0 to silence).
It never deletes anything; if size becomes a problem, stop the server and archive the file —
items keep their IDs.
Item IDs live on the items. Remove the plugin and those tags stay in the item data.
Invisible in game and harmless, but LITE has no untag command, so it's fair to say so.
The chest sweep is throttled ( chunks-per-tick: 8 by default) and never loads chunks that
aren't already in memory, so it cannot drag in unloaded terrain.
Code (Text):
anti-dupe:
sweep:
enabled: true
chunks-per-tick: 8
database:
warn-size-mb: 500 # console warning past this size; 0 = off
sweep:
enabled: true
chunks-per-tick: 8
database:
warn-size-mb: 500 # console warning past this size; 0 = off
outbound connection is bStats, which you can switch off.
SHA-256 of the jar on this page:
Code (Text):
a952d16146082ffacfbcbf6032fdba0634c86e8099cbf6802685c2f76db71727
Found a dupe it missed, or something behaving oddly? Tell me and I'll look:
discord.gg/EnSNSNVV5G
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.21, 26.1, 26.2
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
ItemGuard LITE — Item Logger, History Tracker & Duplicate Detection is a free Minecraft Java mod. Compatible with Minecraft 1.21, 26.1, 26.2. Downloaded 16 times (via Spigot). Download it and open it directly in the game.