Custom Loot Tables
Every ripple reward comes from a standard Minecraft loot table, so you change rewards with a normal data pack. No config option is involved.
Table locations
All 13 tables live under data/ddv_fishing/loot_table/gameplay/fishing/:
| Tier | Other biomes | Ocean | Swamp | Jungle |
|---|---|---|---|---|
| ๐ต Common | common.json |
ocean_common.json |
swamp_common.json |
jungle_common.json |
| ๐ข Rare | rare.json |
ocean_rare.json |
swamp_rare.json |
jungle_rare.json |
| ๐ Epic | epic.json |
ocean_epic.json |
swamp_epic.json |
jungle_epic.json |
| ๐ก Legendary | legendary.json (every biome) |
How the biome is picked and what each table holds today: Biomes & Loot.
The folder is loot_table, singular. Minecraft renamed it in 1.21, and a data pack using the
old plural loot_tables is silently ignored.
Example override
To make Epic ripples outside ocean, swamp and jungle always give a diamond, put this in your data
pack at data/ddv_fishing/loot_table/gameplay/fishing/epic.json:
{
"type": "minecraft:fishing",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:diamond"
}
]
}
]
}
To change epic loot everywhere, override ocean_epic.json, swamp_epic.json and
jungle_epic.json too.
Loot context
Tables roll with the minecraft:fishing context, so vanilla fishing conditions and functions work.
These parameters are supplied:
| Parameter | Value |
|---|---|
origin |
The bobber's position |
tool |
The fishing rod in use: main hand, else off hand |
this_entity |
The fishing bobber |
| luck | The player's Luck attribute |
Because the rod is the tool, Luck of the Sea and Lure work as in vanilla for anything that
checks the tool.
Things to know
- An empty roll gives a Cod. If a table produces nothing, the catch falls back to one Cod so a won minigame is never unrewarded. A table meant to sometimes give nothing will give a Cod instead.
- Perfect Catches don't roll again. They double the stack size of every ordinary item in the result. Bows, enchanted books and fishing rods (any rod, modded ones included) are never doubled, so a Perfect Catch can't duplicate treasure. See The Minigame.
- The journal only tracks fish species. Putting a new item in a table makes it catchable but doesn't add a journal row. To track it, add a species for it: see Custom Fish Species.
- Removing a species' item from every table leaves the species uncatchable. If it counts toward completion, nobody can finish the journal.
Applying changes
Loot tables reload with /reload, no restart needed. That's unlike dreamlight_fishing.json,
which is only read at startup.