Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
Reimagined Fishing Framework
A custom fishing framework plugin for Paper/Purpur 1.21+

π What is this plugin?
Reimagined Fishing Framework transforms your server's fishing into a complete profession system that ties it into a server-wide community progression chain that keeps players engaged for months, not days.
The entire server works together to hit shared milestones. Each milestone permanently unlocks the next layer of gameplay. Nothing is handed out β the community earns it together.
Server launches with everything locked
β
Everyone earns money together β $10,000,000 β Fishing Unlocks
β
Everyone fishes together β 500,000 fish β Spawners Unlock
β
And so on...
β Verified Working
Tested and verified on Paper 26.1.2 / Minecraft 26.1.2 with Java 25. Compatible with Paper & Purpur 1.21+.
π― Global Goals System
The backbone of everything. The whole server works toward shared milestones.
- Ordered, config-driven stages β define as many stages as you want in
goals.yml - Progress persists permanently β survives restarts, never auto-resets
- Stage completion rewards:
- Server-wide broadcast
- Title & subtitle shown to every online player
- Sounds & fireworks
- Custom console commands
- Live GUI β progress bars, percentages, estimated completion time
- Admin commands β reload, reset, force-complete stages
- API β other plugins can hook into goal completion events
- Vault integration β tracks server-wide money earned automatically
π£ Custom Fishing Profession
Fishing feels like a real profession, not a vanilla afterthought.
How it works
- Pick up a fishing rod and cast it into water (ground and lava are blocked)
- Wait for a random bite timer (10β20 seconds, reduced by Speed upgrades)
- When the fish bites β ActionBar + BossBar alert + sound
- Right-click to reel in within the reaction window
- Miss the window β fish escapes, cast again
No AFK fishing. You must actively react to every bite.
Fish Rarities
| Rarity | Color | Example Fish |
|---|---|---|
| Common | β¬ White | Carp, Bluegill, Catfish, Bass |
| Uncommon | π© Green | Perch, Trout, Crappie |
| Rare | π¦ Blue | Striped Bass, Rainbow Trout, Pike |
| Epic | πͺ Purple | Blue Marlin, Swordfish |
| Legendary | π¨ Gold | Golden Koi, Silver Dragon Fish |
| Mythic | π Pink | Ancient Leviathan |
15 unique fish with configurable weights, values, XP and shard rewards.
Add unlimited custom fish via fish.yml β no code required.
Virtual Rod System
- Rod upgrades stored in the database β no item duplication exploits
- Physical rod in hand updates visually as you upgrade:
- No upgrades: plain
Fishing Rod - 1β9 levels: glowing
Upgraded Rod - 10β19 levels: glowing
Advanced Rod - 20β29 levels: glowing
Expert Rod - 30β35 levels: glowing
Master Rod
- No upgrades: plain
βοΈ Rod Upgrade System
Spend Shards (fishing currency) to upgrade your rod stats:
| Stat | Effect | Max Level |
|---|---|---|
| Luck | Improves rare fish chances | 10 |
| Speed | Reduces bite timer | 10 |
| Focus | Increases reaction window | 10 |
| Quantity | Chance for bonus fish per catch | 5 |
All costs and formulas configurable in fishing.yml.
π Shard System
Secondary fishing currency earned from every catch.
- Spent on rod stat upgrades
- Bonus shards from level milestones and collection rewards
/shardscommand shows balance%fishing_shards%PlaceholderAPI support
π XP & Level System
Every catch grants XP toward your Fishing Level.
- Configurable XP formula (
base Γ level ^ exponent) - No level cap
- Milestone rewards at configured levels (shards, messages, commands)
- Default milestones: Level 5, 10, 20, 50
π Collection Log
Track every unique fish you discover.
- Discovered fish show as real items with lore
- Undiscovered fish show as
??? - Paginated GUI supports unlimited fish
- Milestone rewards at 25%, 50%, 75%, 100% completion
%fishing_collection%PlaceholderAPI support
π Statistics
Tracked per player, stored in database:
- Total fish caught
- Total XP earned
- Total shards earned
- Money earned from fishing
- Fishing sessions
- Time spent fishing
- Highest value fish
- Rarest fish caught
π Leaderboards
Top 10 per category:
- Fish Caught
- XP
- Shards
- Money Earned
Performance note: Leaderboard cache rebuilds every 60 seconds (configurable). PlaceholderAPI never queries the database directly β reads from cache only. Safe for large servers.
π° Sell System
- Sell All β sells every fish in your inventory at once
- Auto-Sell β fish sold instantly on catch, never go to inventory
- Both paths deposit via Vault and update money stats
ποΈ Database Support
| Type | Support |
|---|---|
| SQLite | β Default, zero setup |
| MySQL | β
Configure in config.yml |
All database operations are fully asynchronous β zero main thread blocking. Schema auto-created on first run. No manual SQL required.
π‘ PlaceholderAPI
| Placeholder | Returns |
|---|---|
%fishing_level% |
Current rod level |
%fishing_xp% |
Current XP toward next level |
%fishing_shards% |
Shard balance |
%fishing_total_fish% |
Lifetime fish caught |
%fishing_collection% |
Collection completion % |
%fishing_rank% |
Leaderboard rank (cached) |
π§ Soft Dependencies
| Plugin | Purpose |
|---|---|
| Vault | Economy integration (required for money goal & selling) |
| PlaceholderAPI | Placeholders (optional) |
| LuckPerms | Permission management (optional) |
π Commands
| Command | Permission | Description |
|---|---|---|
/goals |
communityprogression.goals |
Open goals GUI |
/goals reload |
communityprogression.admin |
Reload goals.yml |
/goals reset <id|all> confirm |
communityprogression.admin |
Reset stage progress |
/goals skip |
communityprogression.admin |
Force-complete active stage |
/fishing |
communityprogression.fishing |
Open fishing menu |
/fishing stats |
communityprogression.fishing |
View statistics |
/fishing collection |
communityprogression.fishing |
View collection log |
/fishing top |
communityprogression.fishing |
View leaderboards |
/fishing admin givexp <amount> |
communityprogression.fishing.admin |
Give fishing XP |
/fishing admin giveshards <amount> |
communityprogression.fishing.admin |
Give shards |
/fishing admin setlevel <level> |
communityprogression.fishing.admin |
Set fishing level |
/shards |
communityprogression.fishing |
View shard balance |
β‘ Installation
- Download the jar
- Drop it into your
/plugins/folder - Install Vault + an economy plugin (EssentialsX recommended)
- Restart your server
- All config files generate automatically β no manual setup required
Requirements:
- Paper or Purpur 1.21+
- Java 21+
- Vault (for economy features)
βοΈ Configuration
Three main config files, all fully documented with inline comments:
config.ymlβ database settings, economy tracking modegoals.ymlβ define your progression chain (add/remove/reorder stages freely)fishing.ymlβ all fishing settings, bite timers, rod costs, XP formula, messagesfish.ymlβ define unlimited custom fish with any rarity, value, and weight
π οΈ Developer API
// Feed progress to any goal type from your own plugin
CommunityProgressionAPI.addProgress("fish_caught", 1);
// Check if a stage is complete
CommunityProgressionAPI.isStageComplete("stage_1_money");
// Get the currently active stage
CommunityProgressionAPI.getActiveStage();
// Listen to goal completions
@EventHandler
public void onGoalComplete(GoalCompleteEvent event) {
GoalStage stage = event.stage();
}
π¬ Support
- Website: pluginagentmc.com
- Issues: Contact via website or leave a comment on this page
πΊοΈ Roadmap
- [ ] Lava Fishing system (creeper eggs, fire rod)
- [ ] Biome-based fish pools
- [ ] Spawner system integration
- [ ] Goals PlaceholderAPI expansion
Built with β€οΈ by PluginMC

