FishPack
A Minecraft Java Edition datapack that adds a fishing XP & levelling system and an automated Fisherman villager.
Installation
- 1Copy the
fishpackfolder into your world'sdatapacks/directory. - 2Run
/reloadin-game (or start the server). - 3A confirmation message appears in chat when the pack is active.
71 — adjust in pack.mcmeta if your server version requires a different number.
Fishing Level System
Every fish caught awards XP and posts a message in chat:
XP per catch
| Fishing Level | XP per catch |
|---|---|
| 0 | 15 |
| 10 | 25 |
| 25 | 40 |
| 50 | 65 |
| 75 | 90 |
| 99 | 114 |
XP to level up
| Level transition | XP needed | Cumulative XP from 0 |
|---|---|---|
| 0 → 1 | 50 | 50 |
| 1 → 2 | 100 | 150 |
| 5 → 6 | 300 | 1 050 |
| 10 → 11 | 550 | 3 300 |
| 25 → 26 | 1 300 | 16 575 |
| 50 → 51 | 2 550 | 64 350 |
| 98 → 99 | 4 950 | 247 500 |
| 99 | Maximum level — no further progression | |
Level display colours
Your level shows above your head and in chat. Colour upgrades as you progress; each change is announced to all players.
| Level range | Colour | Preview |
|---|---|---|
| 0 | Dark gray | 0 |
| 1 – 9 | Gray | 5 |
| 10 – 24 | White | 15 |
| 25 – 49 | Yellow | 30 |
| 50 – 74 | Gold | 60 |
| 75 – 98 | Aqua | 80 |
| 99 | Light purple (bold) | 99 |
Example nameplate: BakedP0tato (50)
Junk & Treasure
🗑️ Junk
Reduced to two items only, regardless of level. At level 50 junk stops appearing entirely.
| Item | Weight |
|---|---|
| Lily pad | 2 |
| Bone | 1 |
✨ Treasure
Drops enchanted bows, enchanted fishing rods, name tags, nautilus shells, and enchanted books.
Bonus Loot
From level 20 onwards, fishing can produce bonus items on top of the normal catch. Each catch rolls a 1–100 chance; higher levels unlock new tiers and shift odds toward better loot. Fish remain the most common catch overall.
| Level | New items unlocked | Bonus chance |
|---|---|---|
| 20 | Oak logs, raw copper | 20% |
| 30 | Coal, charcoal, clay balls | 25% |
| 40 | Lapis, redstone, glowstone, nether quartz | 30% |
| 45 | Same items — sometimes 2 fish at once | 30% |
| 50 | Raw iron, raw gold (nether quartz more likely) | 33% |
| 55 | Same items — sometimes 3 fish at once | 35% |
| 60 | Emeralds, amethyst shards | 37% |
| 70 | Golden apple, trident | 38% |
| 75 | Same items — sometimes 4 fish at once | 38% |
| 80 | Diamonds, shulker shell, Heart of the Sea | 40% |
| 90 | Netherite scrap, ancient debris, wither skeleton skull | 40% |
| 99 | All tiers active — always 3 fish; 0.5% Elytra per catch | 40% |
Rarity within tiers
| Tier | Common | Uncommon | Rare |
|---|---|---|---|
| 40 | Lapis, redstone | Glowstone | Nether quartz |
| 70 | Golden apple (80%) | Trident (20%) | — |
| 80 | Shulker shell (50%) | Diamond (40%) | Heart of the Sea (10%) |
| 90 | Netherite scrap (50%) | Ancient debris (30%) | Wither skull (20%) |
Crafting Recipes
Fisherman's Contract
Used to hire a Fisherman. Drop it on top of a chest to spawn and link him to that chest. Result: 1× Fisherman's Contract (Knowledge Book)
Fisherman's Promotion I (Lv 1 → 2)
Drop within 2 blocks of the Fisherman to apply. Result: 1× Heart of the Sea
Fisherman's Promotion II (Lv 2 → 3)
Drop within 2 blocks of the Fisherman to apply. Result: 1× Echo Shard
Fisherman Villager
A stationary, invulnerable villager that automatically deposits fish into a linked chest. Does not interact with vanilla fisherman villagers or their trades.
Summoning
- 1Craft a Fisherman's Contract (see Crafting above).
- 2Stand near a chest and drop the item (
Q) so it lands on top of the chest. - 3The Fisherman spawns on the chest and is linked automatically.
Upgrading
- 1Craft the appropriate Promotion badge (Heart of the Sea for Lv 2, Echo Shard for Lv 3).
- 2Drop the badge within 2 blocks of the Fisherman.
- 3He consumes the badge, levels up, and announces the upgrade in chat.
Dismissing
Drop a Fire Charge within 2 blocks of the Fisherman to dismiss him. He and his chest-link are removed cleanly.
Notes
- Multiple Fishermen can be active at once, each linked to their own chest.
- The Fisherman will not trade with you.
- He cannot be killed, pushed, or drowned.
Achievements
Shown in the Adventure tab of the advancements screen and announced to all players in chat when unlocked.
Admin Commands
scoreboard players get <player> fishpack.level scoreboard players get <player> fishpack.xp
scoreboard players set <player> fishpack.level <0-99> execute as <player> run function fishpack:fishing/set_xp_needed
/tag @e[type=minecraft:villager] list
/kill @e[type=minecraft:villager,tag=fishpack.fisherman] /kill @e[type=minecraft:marker,tag=fishpack.chest_anchor]
Compatibility
- Overrides
minecraft:gameplay/fishing/junk(lily pad and bone only, gone at level 50). - Overrides
minecraft:gameplay/fishing/treasure(saddle removed; bows and rods are enchanted). - Creates 100 scoreboard teams (
fishpack.lv0–fishpack.lv99) for level display. Players are assigned and removed cleanly. - Does not change vanilla fisherman villager profession or trades.
- Safe to add to an existing world.
- Compatible with other datapacks that do not override
#minecraft:loador#minecraft:tick.