Kaikii /
FishPack

📦 Installation

  1. 1Copy the fishpack folder into your world's datapacks/ directory.
  2. 2Run /reload in-game (or start the server).
  3. 3A confirmation message appears in chat when the pack is active.
Pack format: 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:

[FishPack] Fish caught! +27 XP  |  Level 12  (340/650 XP)

XP per catch

XP gained = 15 + current fishing level
Fishing LevelXP per catch
015
1025
2540
5065
7590
99114

XP to level up

XP needed for level N → N+1 = (N + 1) × 50
Level transitionXP neededCumulative XP from 0
0 → 15050
1 → 2100150
5 → 63001 050
10 → 115503 300
25 → 261 30016 575
50 → 512 55064 350
98 → 994 950247 500
99Maximum 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 rangeColourPreview
0Dark gray0
1 – 9Gray5
10 – 24White15
25 – 49Yellow30
50 – 74Gold60
75 – 98Aqua80
99Light 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.

ItemWeight
Lily pad2
Bone1

✨ Treasure

Drops enchanted bows, enchanted fishing rods, name tags, nautilus shells, and enchanted books.

Saddles have been removed from the treasure pool.

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.

LevelNew items unlockedBonus chance
20Oak logs, raw copper20%
30Coal, charcoal, clay balls25%
40Lapis, redstone, glowstone, nether quartz30%
45Same items — sometimes 2 fish at once30%
50Raw iron, raw gold (nether quartz more likely)33%
55Same items — sometimes 3 fish at once35%
60Emeralds, amethyst shards37%
70Golden apple, trident38%
75Same items — sometimes 4 fish at once38%
80Diamonds, shulker shell, Heart of the Sea40%
90Netherite scrap, ancient debris, wither skeleton skull40%
99All tiers active — always 3 fish; 0.5% Elytra per catch40%

Rarity within tiers

TierCommonUncommonRare
40 Lapis, redstoneGlowstoneNether 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)

Fishing Rod
Emerald
Contract

Fisherman's Promotion I (Lv 1 → 2)

Drop within 2 blocks of the Fisherman to apply. Result: 1× Heart of the Sea

Emerald
Emerald
Emerald
Emerald
Cod
Emerald
Emerald
Emerald
Emerald
Heart of the Sea

Fisherman's Promotion II (Lv 2 → 3)

Drop within 2 blocks of the Fisherman to apply. Result: 1× Echo Shard

Diamond
Diamond
Diamond
Diamond
Salmon
Diamond
Diamond
Diamond
Diamond
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.

Level 1
Apprentice
Interval60 seconds
Random basic fish (cod, salmon, tropical fish)
Level 2
Journeyman
Interval50 seconds
More fish + 10% chance of a treasure item
Level 3
Master
Interval40 seconds
Generous fish + ~30% chance of treasure per catch
Fish go directly into the linked chest. The Fisherman pauses automatically when the chest is full and resumes when space is available.

Summoning

  1. 1Craft a Fisherman's Contract (see Crafting above).
  2. 2Stand near a chest and drop the item (Q) so it lands on top of the chest.
  3. 3The Fisherman spawns on the chest and is linked automatically.

Upgrading

  1. 1Craft the appropriate Promotion badge (Heart of the Sea for Lv 2, Echo Shard for Lv 3).
  2. 2Drop the badge within 2 blocks of the Fisherman.
  3. 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.

🗡️
Barbaric Fishing
Kill a cod, salmon, tropical fish, or pufferfish while holding any sword.
Challenge

⚙️ Admin Commands

Check a player's fishing stats
scoreboard players get <player> fishpack.level
scoreboard players get <player> fishpack.xp
Set a player's fishing level manually
scoreboard players set <player> fishpack.level <0-99>
execute as <player> run function fishpack:fishing/set_xp_needed
List all active Fisherman villagers
/tag @e[type=minecraft:villager] list
Remove all Fishermen and their chest links
/kill @e[type=minecraft:villager,tag=fishpack.fisherman]
/kill @e[type=minecraft:marker,tag=fishpack.chest_anchor]
Both kill commands are needed — killing the villager alone leaves an orphaned marker that blocks re-linking the chest.

🔗 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.lv0fishpack.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:load or #minecraft:tick.