
AntiAutoFishing
AntiAutoFish is a comprehensive anti-autofish plugin for Paper/Spigot servers. Unlike other plugins that use simple detection methods, it offers an intelligent CAPTCHA system with rewards, a FishBan system for temporarily banning suspicious players, and a
1.0.0
Compatibility
Changes
š£ AntiAutoFish
Smart Anti-Autofish Plugin with Shield System & FishBan
š Description
AntiAutoFish is a comprehensive anti-autofish plugin for Paper/Spigot servers. Unlike other plugins that use simple detection methods, it offers an intelligent CAPTCHA system with rewards, a FishBan system for temporarily banning suspicious players, and a unique Shield system that rewards fair players.
š Full Wiki & Documentation
⨠Features
- šÆ Smart CAPTCHA - Players see a GUI with fish and trash items and must click on the correct fish
- š”ļø Shield System - Fair players earn a shield that protects them from CAPTCHA for a set duration
- ā FishBan - Players who repeatedly fail CAPTCHA receive a temporary fishing ban
- š Rewards - Configure rewards (commands/messages) for successfully completing CAPTCHA
- š Multi-world - Enable or disable the plugin per world
- š Multi-language - Built-in support for English, Czech, German, Spanish, Russian, and Japanese
š¼ļø GUI Examples
| With Resource Pack | Vanilla (No Resource Pack) |
|---|---|
![]() |
![]() |
āļø How It Works
- When a player catches a fish, there's a configurable chance (%) to trigger a CAPTCHA
- A GUI opens with random fish and trash items - the player must click on a fish
- Clicking on trash counts as a wrong click - after X wrong clicks, the player fails
- Successful CAPTCHA completions grant rewards and count toward Shield progress
- After Y successful CAPTCHAs, the player receives a Shield
- While shielded, the player is immune to CAPTCHA for the shield duration
- Failed CAPTCHAs count toward the threshold - after Z failures, the player gets a fishing ban
š”ļø Shield System Details
The Shield system is what makes this plugin unique:
- Dynamic Duration - Shield duration is calculated based on player performance (faster = longer shield)
- Cooldown - After shield expires, players enter a cooldown before earning another
- Configurable - Min/Max duration, cooldown length, and required tests are all configurable
- Admin Commands - Give or remove shields/cooldowns manually
š Commands & Permissions
Main Command: /antiautofish, /aaf, /antifish
| Command | Description | Permission |
|---|---|---|
/aaf reload |
Reload the configuration | antiautofish.admin |
/aaf stats [player] |
View player statistics | antiautofish.stats |
/aaf shield <player> add/remove <time> |
Manage shields | antiautofish.admin |
/aaf shieldcooldown <player> add/remove <time> |
Manage cooldowns | antiautofish.admin |
/aaf ban <player> <duration> [reason] |
Ban a player from fishing | antiautofish.ban |
/aaf unban <player> |
Unban a player from fishing | antiautofish.unban |
/aaf bancheck <player> |
Check a player's ban status | antiautofish.bancheck |
Permissions:
| Permission | Description |
|---|---|
antiautofish.bypass |
Bypass all CAPTCHA checks |
antiautofish.announce |
See announcements when players fail CAPTCHA |
antiautofish.admin |
Access to admin commands |
antiautofish.ban |
Can ban players from fishing |
antiautofish.unban |
Can unban players from fishing |
antiautofish.bancheck |
Can check ban status of players |
antiautofish.stats |
Can view own statistics |
antiautofish.stats.other |
Can view other players' statistics |
š Configuration
The plugin comes with 5 configuration files:
- config.yml - Main plugin settings (locale, debug, modules)
- antiautofish.yml - CAPTCHA settings (trigger chance, GUI items, rewards, shield)
- fishban.yml - Fishing ban settings (duration, reason)
- shield.yml - Shield system settings (duration, cooldown, history)
- languages/*.yml - Translation files (cs, en, de, es, ru, ja)
š¦ Requirements
- Server: Paper 1.20.6+ (Spigot may work but Paper is recommended)
- Java: 17 or higher
- Optional: PlaceholderAPI (for placeholders in messages)
š§ PlaceholderAPI Support
All messages support PlaceholderAPI placeholders. Use %player_name%, %server_tps%, or any other PAPI placeholder in your messages.
ā Don't forget to leave a review if you like the plugin! ā
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:IfFeBkey:3EhMktWE"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:IfFeBkey:3EhMktWE"
}


