Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.x
Platforms
Tags
Creators
Details
Licensed ARR
Published 5 months ago
Updated last week

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.


