
FoAntiDupe helps staff catch suspicious item duplication without instantly interrupting normal gameplay. It flags configured item amounts, sends clear staff alerts, and gives reviewers a fast path from the alert to the player's live inventory.
Features
- Review-first anti-dupe detection - flags suspicious inventory and drop amounts for staff review instead of cancelling actions by default.
- Ready-made high-value presets - ships with configurable Lifesteal/SMP-focused rules for diamond blocks, netherite, ancient debris, enchanted golden apples, shulker boxes, and other stash items.
- Broad event coverage - can scan after inventory clicks, inventory drags, item pickups, item drops, crafting, and player joins.
- Nested stash detection - counts matching items inside shulker boxes and bundles so hidden bulk storage still matches the configured rules.
- Clickable staff alerts - staff see the player, rule, amount, and reason, then can click straight into the flagged player's live inventory.
- Admin rule editor - manage rules in-game, add rules from a held item, tune inventory/drop thresholds, and choose exact item, name, lore, enchant, or custom model data matching.
- Audit-friendly logging - writes flag and review activity to the plugin's own latest log file for later staff follow-up.

Commands
/foantidupe editor- open the in-game rule and settings editor./foantidupe reload- reloadconfig.yml,flag-rules.yml, andmessages.yml./foantidupe version- show the plugin author and version.
Alias: /fad
Permissions
foantidupe.admin- use admin commands and the editor, and receive/open flag alerts.foantidupe.show- receive flag alerts and open editable live inventories.foantidupe.showonly- receive flag alerts and open live inventories in read-only mode.foantidupe.bypass- bypass FoAntiDupe checks.
Developer API
Compile against the matching jar (provided in Maven, compileOnly in Gradle); install it locally if needed. Declare FoAntiDupe in your plugin metadata (softdepend for an optional integration).
<dependency>
<groupId>me.foesio</groupId>
<artifactId>FoAntiDupe</artifactId>
<version>1.7</version>
<scope>provided</scope>
</dependency>
import me.foesio.foAntiDupe.api.FoAntiDupeApi;
import me.foesio.foAntiDupe.api.event.FoAntiDupeBeforeAlertEvent;
FoAntiDupeApi api = Bukkit.getServicesManager().load(FoAntiDupeApi.class);
if (api != null) api.rules();
@EventHandler
public void onFoAntiDupeBeforeAlertEvent(FoAntiDupeBeforeAlertEvent event) {
Bukkit.getLogger().info(event.getClass().getSimpleName());
}
API methods (overloads grouped):
FoAntiDupeApi:requestInventoryScan,rules,rule,registerRule,unregisterRule.
Other API types: FlagType, RuleDefinition, RuleSnapshot.
Events: FoAntiDupeBeforeAlertEvent, FoAntiDupeFlagEvent.
Browse API and event source for signatures and event details.
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
FoAntiDupe 1.7 1.7 |
1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
bukkit, paper, purpur, spigot
|
Download |
|
FoAntiDupe 1.6 1.6 |
1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
bukkit, paper, purpur, spigot
|
Download |
|
FoAntiDupe 1.5 1.5 |
1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2
|
bukkit, paper, purpur, spigot
|
Download |
|
FoAntiDupe 1.4 1.4 |
1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2
|
bukkit, paper, purpur, spigot
|
Download |
|
FoAntiDupe 1.3 1.3 |
1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2
|
bukkit, paper, purpur, spigot
|
Download |
|
FoAntiDupe 1.2 1.2 |
1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2
|
bukkit, paper, purpur, spigot
|
Download |
|
FoAntiDupe 1.1 1.1 |
1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2
|
bukkit, paper, purpur, spigot
|
Download |
|
1.0 |
1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2
|
bukkit, paper, purpur, spigot
|
Download |