Setting Up a Minecraft Fishing Plugin with InfiniteFishing
By PM2, the developer behind these plugins ·
Vanilla fishing is a waiting game: cast, wait for the bobber, right-click. A fishing plugin turns every catch into something players have to earn, then gives them reasons to keep coming back — rarities, tournaments, a market. This guide walks through installing InfiniteFishing, deciding which of its systems to enable first, and the order that keeps the economy sane.
What changes for players, and what you need installed
One disclosure first: InfiniteFishing is the only fishing plugin we sell, so this is a setup guide rather than a comparison. It costs €12.99 (price at time of writing) as a one-time purchase with free lifetime updates and runs on Spigot and Paper 1.17 through 26.2.
The core change is that every catch triggers a minigame — players earn their fish instead of standing at a pond. There are six, each of which can be enabled or disabled individually, with difficulty, speed and timing tuned to your playerbase, and players can be blacklisted from or whitelisted for specific games. Installation is a single jar: no dependencies are required, and a free custom resource pack with the fish, rod, bait and crab textures ships with the plugin, so it works out of the box.
- Struggling Fish — Hold sneak to reel while the fish fights back; let go to recover stamina.
- Judgment Area — Keep the cursor in the green zone long enough to land it, in Easy, Medium and Hard tiers.
- Click Challenge — A randomized clicks-per-second test against a timer.
- Dance Sequence — Follow a random sequence of left-clicks, right-clicks and shift presses.
- Pointer Bar — Stop a moving pointer in the correct zone, with yellow and orange bonus zones.
- Moving Rod — A timing-based reflex test.
Install order and the optional integrations
Drop the jar in, start the server, and the resource pack reaches players automatically. Storage is JSON by default or MySQL, set in the config, and fishing can be disabled per world or per WorldGuard region if you want it confined to a fishing district. Every integration below is optional and auto-detected, so add them in the order your server actually needs them rather than all at once.
Two settings deserve a decision on day one. Vanilla loot blending keeps a configurable chance — 10% by default — that a cast still lands ordinary Minecraft loot, which is the knob that decides how much of the vanilla fishing economy survives. And if you run a Bedrock crossplay server, Geyser-Spigot support includes per-minigame platform filtering: each minigame can be Java-only, Bedrock-only or both, which matters because some of the input patterns above are harder on touch controls.
| Plugin | What it adds |
|---|---|
| Vault | The fish market sells catches into your economy |
| PlaceholderAPI | Total-caught, weekly-caught and fish-top placeholders for scoreboards and menus |
| WorldGuard | Disable fishing per region |
| ProtocolLib | Packet-based features such as the fishing-spot holograms |
| Geyser-Spigot | Bedrock players, with per-minigame Java/Bedrock/both filtering |
| mcMMO / AuraSkills | Skill XP per fish; AuraSkills can also level-lock fish |
| Parties | Use an external party plugin instead of the built-in parties |
| ItemsAdder | Custom item textures for fish, rods and baits |
Designing the catch table: fish, rods and baits
Custom fish are the heart of the configuration, and there is no limit on how many you define. Each fish has a rarity tier — Common, Uncommon, Rare, Epic and Legendary out of the box, or your own — a size and weight range randomized on every catch, a base price and loot weight, custom model data and catalog lore, and spawn conditions across biome, weather, time of day, Y-level, region, season and lunar phase. Catch commands run with %player%, %xp% and %rng_min,max% placeholders, each fish can grant configurable XP to AuraSkills or mcMMO, and fish can be locked behind a minimum AuraSkills fishing level or behind a specific custom rod type.
Start narrow. A rarity ladder of a handful of fish with clear spawn conditions teaches players the rules faster than fifty fish that all feel the same, and the spawn conditions are what create the "come back at full moon in the rain" moments. Rods and baits are the second layer: custom rods carry luck values, enchantment slots, a bait capacity of 10 by default, custom model data, rarity, per-rod caps on enchantments and baits, their own durability, and optional permission nodes so a rod can require a rank. Baits give targeted bonuses toward specific fish or rarity tiers, with durability, model data and rarity of their own.
Rod enchantments come as augments players craft at a cauldron from materials; every recipe is configurable. There are sixteen, each with multiple levels and custom probability weights, plus six combo augments that fuse two enchantments into one craft.
- Bait enchantments — Everlasting Bait (chance to keep bait), Auto Bait (equips the next bait) and Versatile Bait (attracts different fish types).
- Casting and reeling — Long Cast, Quick Reel, Swift Cast and Powerful Reel, which improves the odds against bigger fish.
- Luck and lures — Storm Fisher (rain), Bountiful Lure, Magnetic Lure (wider radius), Mystic Bite (rare items) and Treasure Hunter.
- Group and utility — Fisher's Bond and Shared Bounty for parties, Monster Repellent, and Line Mender, which repairs the rod while fishing.
- Six combo augments — Magnetic Storm Fisher, Mystic Treasure Hunter, Versatile Bountiful Fisher, Swift Powerful Fisher, Long Cast Treasure Hunter and Everlasting Auto Bait.
The economy: market, mystery fish, spots and events
Players sell catches through /market or a configurable GUI. Prices are calculated from base price, size and weight with configurable dividers, so a big fish of a common species can still be worth something, and the money goes into your Vault economy. The GUI can be the default one with configurable titles, items and lore, or a resource-pack layout.
Two systems keep the market from becoming a routine. The mystery mechanic gives a configurable share of catches — 30% by default — unknown rarity, size and weight, shown as "???" until the player brings them to the /evaluator; it adds anticipation without any economy risk. Random events do the opposite job: difficulty-tiered crab attacks with scaling health and a custom model, and lightning strikes with configurable damage, at a default 15% event chance — which is also what stops AFK fishing from paying.
Fishing spots let you shape where the action happens. Define a zone anywhere with /spots, set its radius, assign a spot type and per-spot rarity boosts (a +20% Legendary chance at your Enchanted Lake, for example), and mark it with packet-based holograms and bubble particle borders — visible, lightweight, no entity lag. On top of that sit three environmental layers that stack: water pollution states that change which fish are available, seasons that can be started and stopped by command or automation and that unlock seasonal fish, and lunar phases. If your server also runs InfiniteCrops, its seasons system follows the same idea for farming — see the custom crops guide.
Keeping players coming back: tournaments, parties and leaderboards
Tournaments run automatically or on demand, with a boss bar, broadcast announcements and a live leaderboard GUI, and rewards are commands, so they can hand out keys, money, items, ranks or anything else your server uses. Six goal types keep them varied.
Parties make fishing social: players create, join and manage parties, promote moderators and toggle party chat, and two enchantments only pay off in a group — Fisher's Bond for bonus effectiveness when fishing together and Shared Bounty, which shares catch rewards with nearby members. The recurring hooks are the Weekly Fish Top, which resets every Monday and pays command rewards to the top three (queued for offline players) from a paginated GUI; an all-time leaderboard with three sort modes (Most Fish, Rarest Fish, Total Rating) and per-player stats; a per-player catalog tracking total caught, max size and max weight per species; and the Fish Finder, a catchable item that shows every fish possible at the player's location, weather and time on right-click.
For admins, /infinitefishing hands out rods, baits, items and fish, manages enchantments, seasons and saves, /tournament and /spots manage the two systems above, and /minigame blacklist and whitelist control who plays which minigame. Everything is exposed to other plugins through custom Bukkit events — CustomFishCaught, CustomFishPreCaught, CustomFishPreDecided, CustomFishGenerator, MinigameSuccess and MinigameFail, BaitUsed, SharedBounty and CustomRodValues — and the pre-catch and bait events are cancellable, with loot tables modifiable before the fish is decided.
| Goal | How to win |
|---|---|
| Biggest Fish | The largest single fish by size |
| Heaviest Fish | The heaviest single fish by weight |
| Most Fish | More fish caught than anyone else |
| Highest Score | Fish with the most combined value |
| Total Size | The highest total size across all catches |
| Smallest Fish | The smallest fish |