Main Configuration
Everything Dreamlight Fishing lets you tune lives in one file: config/dreamlight_fishing.json, in
the instance's (or server's) config folder. The full path is logged on every startup; search the
log for DreamlightFishing if you can't find it.
The file is read once at startup. Restart the game or server after editing; /reload doesn't
pick it up. On a server, the server's copy is the one that counts: ripple spawning, tiers, ring
speed and loot are all decided there.
The file is written back on every load, so options added in a new version show up at their defaults after one restart.
Default file
{
"enabled": true,
"ripple_spawn_chance": 0.3,
"search_radius": 32,
"spawn_in_flowing_water": false,
"luck_affects_rarity": true,
"minigame_difficulty_multiplier": 1.0,
"green_ripple_chance": 0.2,
"orange_ripple_chance": 0.1,
"legendary_ripple_chance": 0.02,
"perfect_catch_size_rolls": 2
}
Options
| Option | Type | Default | What it does |
|---|---|---|---|
enabled |
boolean | true |
Master switch. false stops ripples spawning, removes existing ones and turns the minigame off, so every rod fishes like vanilla. |
ripple_spawn_chance |
float | 0.3 |
Chance, rolled once a second per player, of a spawn attempt near them. 0.0 to 1.0. |
search_radius |
integer | 32 |
How far from the player, in blocks, a ripple may spawn. |
spawn_in_flowing_water |
boolean | false |
Let ripples spawn on flowing water, not just still water. |
luck_affects_rarity |
boolean | true |
The player's Luck attribute pushes ripples toward rarer tiers, +0.05 per point. |
minigame_difficulty_multiplier |
float | 1.0 |
Multiplies ring speed in the timing phase. Above 1.0 is harder, below is easier. Doesn't affect reeling. |
green_ripple_chance |
float | 0.2 |
Share of ripples that spawn green (Rare). |
orange_ripple_chance |
float | 0.1 |
Share of ripples that spawn orange (Epic). |
legendary_ripple_chance |
float | 0.02 |
Share of ripples that spawn gold (Legendary), for players whose journal is complete. Everyone else gets 0. |
perfect_catch_size_rolls |
integer | 2 |
How many times a Perfect Catch rolls the fish's size, keeping the largest. Keep it at 1 or more: 0 makes every Perfect Catch the species' minimum size. |
Tuning the ripple mix
Green, orange and gold are shares of all ripples; whatever's left is blue. At the defaults:
| Blue | Green | Orange | Gold | |
|---|---|---|---|---|
| Journal not complete | 70% | 20% | 10% | 0% |
| Journal complete | 68% | 20% | 10% | 2% |
A player who has reached the 50% journal milestone gets another 2.5% on both green and orange, on top of these values.
If the shares add up to more than 1.0, they're scaled down evenly so blue stays possible. Negative
values count as 0.
To check a tier renders, set its chance to 1.0, restart, look, then set it back. Gold needs a
completed journal to appear at all.
Tuning the spawn rate
ripple_spawn_chance decides how often an attempt is made, not how often a ripple appears. An
attempt can still find nowhere valid: a ripple needs still water (unless spawn_in_flowing_water
is on), air above, water on all four sides and land within 6 blocks. See
Ripples & Rarity.
So the real rate is always lower than the setting suggests, and much lower on a small pond than on
a lake shore. For a busier surface, raise ripple_spawn_chance toward 1.0 or raise
search_radius.
Tuning difficulty
minigame_difficulty_multiplier only scales ring speed. Rain multiplies it by another 1.2×, and
thunderstorms tighten the hit window on their own. The number of hits and the reeling numbers are
fixed per tier; see The Minigame.
Other files
- Loot is set with data packs. See Custom Loot Tables.
- Fish species (sizes, journal tabs, completion) are set with data packs. See Custom Fish Species.