ModsJava
PhoenixFish
Fishing minigame with custom fish, rods, bait, progression, skills, economy & tournaments.
⬇ Download on Hangar# 🎣 PhoenixFish
**PhoenixFish** is a highly customizable and performance-focused fishing plugin for **Paper and Purpur servers**.
[](https://www.youtube.com/watch?v=JEfE1KNi5do)
Transform vanilla Minecraft fishing into a complete **progression-based fishing experience** with an interactive fishing minigame, custom fish, rods, bait, rarities, XP progression, skill trees, environmental factors, weight and record systems, economy, tournaments, multi-catch mechanics, and an interactive fishing catalog.
## ✨ Features
* 🎣 Interactive fishing minigame with Action Bar UI
* 📖 Interactive Fishing Catalog with discovery progression
* 🐟 Unlimited custom fish and fishing rods
* 🪱 Custom bait with rarity targeting
* ⭐ 5 configurable rarity tiers
* 📈 XP-based fishing level progression
* 🌳 Skill Tree with upgradeable fishing abilities
* ⚖️ Individual fish weight system
* 🏆 Personal Best and Server Record systems
* 🌧️ Weather-based fishing bonuses
* 🌍 Biome-specific fish support
* 🎯 Configurable multi-catch mechanics
* 💰 Vault economy integration
* 💵 Fish selling system with GUI support
* 🏆 Timed fishing tournaments and rewards
* ⚙️ Fully configurable fishing mechanics
* 🧱 Custom Model Data support
* 💾 SQLite and MySQL support
* 🌍 English and Turkish language support
* 🔨 Paper and Purpur support
* 🔌 Optional PhoenixCraft integration
---
## 🌳 Skill Tree
Players earn **1 Skill Point** every time they gain a fishing level.
Open the Skill Tree with:
```text
/phoenixfish skills
```
Available skills include:
| Skill | Effect |
| ----------------- | ------------------------------------------- |
| **Fast Catcher** | Makes the minigame progress bar fill faster |
| **Master Hunter** | Increases rare and epic fish chances |
| **Double Catch** | Chance to catch two fish at once |
| **Lucky Bait** | Chance to avoid consuming bait |
Each skill can be upgraded up to **Level 5**.
---
## 🌍 Environmental Fishing
Fishing is now affected by the world around you.
### 🌧️ Weather
Weather conditions can modify fishing luck:
* 🌧️ **Rain** — +20% catch luck
* ⛈️ **Thunderstorm** — +50% catch luck and increased rare fish chances
Weather bonuses are fully configurable.
### 🌲 Biomes
Fish can be restricted to specific Minecraft biomes through `fish.yml`.
Example:
```yaml
biomes:
- SNOWY_PLAINS
- ICE_SPIKES
```
This allows special fish to only appear in specific environments.
For example:
* ❄️ Ice Fish → `SNOWY_PLAINS`, `ICE_SPIKES`
* 🌋 Lava Fish → Nether biomes such as `BASALT_DELTAS`
Fish without biome restrictions remain available everywhere.
---
## ⚖️ Weight System
Every caught fish can have an individual weight.
Fish define their minimum and maximum weight in `fish.yml`:
```yaml
min-weight: 0.5
max-weight: 5.0
```
When a fish is caught, PhoenixFish generates a random decimal weight between these values.
Example:
```text
Carp → 3.42 kg
```
The generated weight is automatically displayed in the fish's lore.
```text
Weight: 3.42 kg
```
### 💰 Weight & Economy
Fish weight directly affects their selling value:
```text
Sale Price = Base Price × Fish Weight
```
For example, if a fish has a base price of `$10`:
```text
0.5 kg → $5
5.0 kg → $50
```
This gives players an additional reason to search for bigger catches.
---
## 🏆 Record System
The Weight System introduces a competitive record system.
Records are stored persistently in `records.yml`.
### 🥇 Personal Best
A Personal Best is achieved when:
* A player catches a fish species for the first time.
* A player catches a heavier version of a fish they have caught before.
Players receive an Action Bar notification when they set a new personal record.
Example:
```text
Congratulations! New Personal Best: 4.12 kg!
```
A level-up sound is also played.
### 🌎 Server Record
A Server Record is achieved when a player catches the heaviest fish of that species ever caught on the server.
When a new server record is achieved, the entire server receives a broadcast.
Example:
```text
🔔 [Player] has set a new Server Record!
Fish: Legendary Shark
Weight: 125.8 kg!
```
The record-breaking player also receives a special achievement sound.
Record data persists across server restarts and is written asynchronously to minimize performance impact.
---
## 📖 Fishing Catalog
PhoenixFish includes a fully interactive **Fishing Catalog** that allows players to browse the contents of the fishing system.
Open the catalog with:
```text
/phoenixfish catalog
```
### Catalog Features
* 📖 Browse all available **fish, bait, and custom rods**
* 📄 Pagination for large collections
* ❓ **Discovery System** — Undiscovered fish are displayed as `???`
* 🐟 Fish are automatically revealed after being caught for the first time
* 💰 Sell fish directly through the Catalog
* 🧭 Dynamic navigation with:
* Previous Page
* Next Page
* Back to Main Menu
The discovery system adds another progression element to fishing, allowing players to gradually complete their collection.
---
## 💰 Economy & Selling
PhoenixFish supports economy integration through **Vault**.
### Selling Commands
```text
/phoenixfish sell hand
/phoenixfish sell all
/phoenixfish sell menu
```
* `sell hand` — Sell the fish currently held in your hand.
* `sell all` — Sell all supported fish in your inventory.
* `sell menu` — Open a GUI to select and confirm fish for selling.
A **Sell** button is also available in the Fishing Catalog.
Fish prices are calculated using their base price and individual weight.
---
## 🏆 Tournament System
Administrators can host timed fishing competitions.
### Start a Tournament
```text
/phoenixfish tournament start
```
### Stop a Tournament
```text
/phoenixfish tournament stop
```
### Add a Tournament Reward
The item currently held in the player's hand can be assigned as the reward for a specific placement.
```text
/phoenixfish tournament addreward
```
Example:
```text
/phoenixfish tournament addreward 1
```
This sets the item currently held in the player's hand as the **1st place reward**.
Tournament rankings can be based on:
* 🎣 Total catch count
* 🐟 Fish rarity
Rewards are distributed to the **top 3 players** when the tournament ends.
---
## 📈 Fishing Level System
PhoenixFish includes an XP-based fishing progression system.
* Each level requires `Current Level × 100` XP.
* Every fishing level grants **+2% catch luck**.
* Every level grants **1 Skill Point**.
Example:
```text
Level 1 → 100 XP
Level 2 → 200 XP
Level 3 → 300 XP
...
```
---
## 🛠️ Admin & Testing Commands
### Add Fishing Levels
```text
/phoenixfish addlevel
```
Directly modifies a player's fishing level.
### Give a Custom Rod
```text
/phoenixfish giverod
```
Gives a player a configured custom fishing rod.
### Repair Fishing Items
```text
/phoenixfish fixall
```
Scans inventories and containers for broken rods and bait and attempts to repair them.
---
## 🎣 Fishing Gameplay Loop
PhoenixFish combines its systems into a progression-focused gameplay loop:
```text
Catch a Fish
↓
Generate Fish Weight
↓
Apply Weight to Fish Lore
↓
Calculate Fish Value
↓
Check Personal Best
↓
Check Server Record
↓
Earn XP
↓
Level Up / Gain Skill Point
↓
Sell, Collect or Compete
```
Players are not only trying to catch rare fish — they are also searching for **heavier fish, personal records, server records, higher fishing levels, and tournament victories**.
---
## 🌍 Multi-Language System
PhoenixFish supports multiple languages through configurable language files.
Currently supported languages:
* 🇬🇧 English — `messages_en.yml`
* 🇹🇷 Turkish — `messages_tr.yml`
The active language can be selected directly from `config.yml`.
All plugin messages are loaded dynamically from the selected language file, including:
* Chat messages
* Action Bar messages
* Titles
* GUI titles
* Catalog messages
* Console logs
* Database messages
* Fishing and economy messages
* Tournament messages
* Record notifications
Server owners can translate and customize PhoenixFish without modifying the source code.
---
## 💾 Database Support
PhoenixFish supports persistent data storage through:
* **SQLite**
* **MySQL**
Player progression and fishing data can be stored persistently, allowing player progress to survive server restarts.
---
## 🔌 PhoenixCraft
**PhoenixCraft** is an optional add-on that provides custom crafting recipes for PhoenixFish fishing rods and bait.
PhoenixCraft is **not required** for the core PhoenixFish fishing features.
---
## 📦 Requirements
* **Minecraft:** 1.21+
* **Java:** 21
* **Server:** Paper / Purpur
* **Vault:** Required for economy features
---
## 📥 Installation
1. Download the latest `PhoenixFish.jar`.
2. Place it into your server's `plugins` folder.
3. Restart your server.
4. Configure PhoenixFish in:
```text
plugins/PhoenixFish/
```
> **Do not use `/reload`.** Restart the server after installing the plugin or changing configuration.
---
## 🔗 Links
[**GitHub — Source Code**](https://github.com/SudoPH/PhoenixFish)
[**GitHub — Issues & Support**](https://github.com/SudoPH/PhoenixFish/issues)
[**YouTube — Watch the Demo**](https://www.youtube.com/watch?v=JEfE1KNi5do)
---
## 📜 Open Source
PhoenixFish is open source and licensed under the **GNU GPL v3.0**.
[View Source Code](https://github.com/SudoPH/PhoenixFish) · [Report an Issue](https://github.com/SudoPH/PhoenixFish/issues) · [Watch Demo](https://www.youtube.com/watch?v=JEfE1KNi5do)
PhoenixFish is a free Minecraft Java mod. Compatible with Minecraft 1.21, 26.1, 26.1.1, 26.1.2 and newer. Downloaded 4 times (via Hangar). Download it and open it directly in the game.