Go Fish

Go Fish

11M Downloads

Biome gotcha

Fourmisain opened this issue ยท 2 comments

commented

This is probably more of something to document than to fix.

I was trying to fish in a plains biome to check out the Supply Crates and there was a river nearby, so I started fishing but got no Plains specific fish and also no supply crates.
So I swam to where the bobber was and using F3 saw that it was actually in a river biome and looking into the code, it seems the origin position used to determine the biome is where the bobber is.

In other words: It doesn't seem to matter where you/the player is located at, only where the bobber is and rivers seem like an easy trap to walk into when using this mod, as you won't be able to catch what you might expect.

It might be possible to 'fix' (if you can call it that) the code by considering the player position as well (maybe by combining the loot pools if that's possible?) or using it instead of the bobber position, which would it consistent with what the F3 screen tells you (and it's also how Terraria works).

But again, maybe documenting this is enough?
I do wonder though if I ever saw a pond in a plains biome big enough for fishing treasures - if not that'd mean the player is forced to create open water (5x4x5) by themselves.

commented

Hm... even when I make sure the bobber is in a plains biome I can't seem to get the fish or the crates, so I went in singleplayer creative, found a plains biome, /filled a big water pool and started fishing with Luck of the Sea and Lure III for about 10-15 minutes and this is the result:
fishing_loot

When I started it was night and I caught a starry fish, I set it to day and continued getting anything but the plains items (that tennisball looking gem is a custom item in the fettlol modpack I'm playing - this should have 0 effect on the fishing loot, as it's lured in addition to the regularly fished item).
It turned night again and I immediately caught 3 more starry fish in a row.

I also tested the /loot commands, /loot give @s fish minecraft:gameplay/fishing/fish ~ ~ ~ did give me the plains fish (but no crates) without any issues, they don't seem that rare.
/loot give @s fish gofish:gameplay/fishing/crates ~ ~ ~ eventually gave me a supply crate too (though it's pretty rare apparently).

Just to make a little more sure I went another minecraft day with just a Lure III fishing rod to catch more fish:
fishing_loot_lure

Not a single biome fish the whole time (including on the server, which was about another day), so I can only assume something is bugged or it's a mod conflict of some kind, nothing springs to mind though.

I might look into this tomorrow, this:

lpb.with(ItemEntry.builder(GoFishItems.CARROT_CARP).weight(10).conditionally(BiomeLootCondition.builder(Biome.Category.PLAINS)));
lpb.with(ItemEntry.builder(GoFishItems.OAKFISH).weight(10).conditionally(BiomeLootCondition.builder(Biome.Category.PLAINS)));

and the BiomeLootCondition.test() method would be the prime candidates for debugging.

commented

Oh, I just realized fettlol still uses Go Fish 1.2.1, so the latter issue might actually be fixed already!
Will test tomorrow, the original "issue" should still be open though.

edit: Unsurprisingly, 1.2.3 did work, got both the fish and the crate!