Blue seahorses are not fishable ... #5661

Closed
opened 2023-12-12 20:03:01 +00:00 by Boot · 35 comments
Member

... at least I couldn't catch any despite five stacks of earthworms and standing in the frost_ocean, as stated in the code. I have also received the same feedback from other passionate anglers.

... at least I couldn't catch any despite five stacks of earthworms and standing in the frost_ocean, as stated in the code. I have also received the same feedback from other passionate anglers.
AliasAlreadyTaken added the
4. step/needs confirmation
label 2023-12-12 20:25:09 +00:00
Member

you can apparently only catch them in the frost_ocean biome, as reported by the astrolabe of magellan. i cannot find such a biome, though it is registered.

you can apparently only catch them in the `frost_ocean` biome, as reported by the astrolabe of magellan. i cannot find such a biome, though it *is* registered.
Member

easy to check - put 'find biome' mod on a test server...

easy to check - put 'find biome' mod on a test server...

that mod isn't entirely accurate always, but I guess since it wouldn't be on the main there would be no big deal.

that mod isn't entirely accurate always, but I guess since it wouldn't be on the main there would be no big deal.
Author
Member

Of course, I had tested both areas with the magellan tool as a frost_ocean. In addition, the fishing rod occasionally gave crystal spikes. If you want, you can try it yourself: a very small area is east of Gernika by ship, an unfortunately completely ruined area (probably because the densest from Haven) is located southwest of Tenebris.

Of course, I had tested both areas with the magellan tool as a `frost_ocean`. In addition, the fishing rod occasionally gave crystal spikes. If you want, you can try it yourself: a very small area is east of Gernika by ship, an unfortunately completely ruined area (probably because the densest from Haven) is located southwest of Tenebris.

if the ruined area is unprotected I can try to fix it.

if the ruined area is unprotected I can try to fix it.
Author
Member

if the ruined area is unprotected I can try to fix it.

Would be nice: 4993,0,2308. There is frost_ocean below. Once the southern coastline east of this point has a nice small band of blue dirt. The whole ice field south of that is destroyed by snow block takers. Its a shame.

> if the ruined area is unprotected I can try to fix it. Would be nice: 4993,0,2308. There is `frost_ocean` below. Once the southern coastline east of this point has a nice small band of blue dirt. The whole ice field south of that is destroyed by snow block takers. Its a shame.

looks like castrum and Obsidian point are both near.

looks like castrum and Obsidian point are both near.

the south end is better than it was, but now i'm out of snow, so i'll need to get more

the south end is better than it was, but now i'm out of snow, so i'll need to get more

I looked at the area myself and frost_ocean being present was a hit or miss, glacier and frost were most common with glacier_ocean being present at deeper depths as well

I looked at the area myself and frost_ocean being present was a hit or miss, glacier and frost were most common with glacier_ocean being present at deeper depths as well
Member

In addition, the fishing rod occasionally gave crystal spikes.

it should only do that in the frost biome, not the frost_ocean biome...

4993,0,2308

it says "taiga_ocean" for me...

i created a snippet command to try to find the biome, and it always fails:

local f = string.format

minetest.register_chatcommand("find_biome", {
	privs = { server = true },
	func = function(name, param)
		local player = minetest.get_player_by_name(name)
		if not player then
			return false, f("you must be logged in to use this.")
		end
		local biome_name, radius = param:match("^%s*(%S+)%s+(%S+)%s*$")
		biome_name = biome_name or param:match("^%s*(%S+)%s*$")
		radius = tonumber(radius) or 32
		local biome_id = minetest.get_biome_id(biome_name)
		if not biome_id then
			return false, f("unknown biome %q", biome_name)
		end
		local pos0 = player:get_pos():round()
		local minp, maxp = pos0:subtract(radius), pos0:add(radius)
		local va = VoxelArea(minp, maxp)
		local found = 0
		for i in va:iterp(minp, maxp) do
			local pos = va:position(i)
			local bd = minetest.get_biome_data(pos)
			if bd.biome == biome_id then
				found = found + 1
				futil.create_ephemeral_hud(player, 20, {
					hud_elem_type = "waypoint",
					name = biome_name,
					text = "m",
					number = 0xffffff,
					precision = 1,
					world_pos = pos,
				})
			end
		end
		return true, f("found %s", found)
	end,
})
> In addition, the fishing rod occasionally gave crystal spikes. it should only do that in the frost biome, not the frost_ocean biome... > 4993,0,2308 it says "taiga_ocean" for me... i created a snippet command to try to find the biome, and it always fails: ```lua local f = string.format minetest.register_chatcommand("find_biome", { privs = { server = true }, func = function(name, param) local player = minetest.get_player_by_name(name) if not player then return false, f("you must be logged in to use this.") end local biome_name, radius = param:match("^%s*(%S+)%s+(%S+)%s*$") biome_name = biome_name or param:match("^%s*(%S+)%s*$") radius = tonumber(radius) or 32 local biome_id = minetest.get_biome_id(biome_name) if not biome_id then return false, f("unknown biome %q", biome_name) end local pos0 = player:get_pos():round() local minp, maxp = pos0:subtract(radius), pos0:add(radius) local va = VoxelArea(minp, maxp) local found = 0 for i in va:iterp(minp, maxp) do local pos = va:position(i) local bd = minetest.get_biome_data(pos) if bd.biome == biome_id then found = found + 1 futil.create_ephemeral_hud(player, 20, { hud_elem_type = "waypoint", name = biome_name, text = "m", number = 0xffffff, precision = 1, world_pos = pos, }) end end return true, f("found %s", found) end, }) ```
AliasAlreadyTaken added
1. kind/bug
and removed
4. step/needs confirmation
labels 2023-12-14 01:36:41 +00:00

If the biome doesn't exist, then blue seahorses can't be fished.

If the biome doesn't exist, then blue seahorses can't be fished.

Hi! A few minutes ago I fished 3 blue seahorses in 28 tries.

There is one blue seahorse on display alongside the other 4 colours at Puerto del Sol's Museum of Colours (3024, 10, -2747).

I fished them at the spot near Obsidian Point that Boot disclosed earlier (4993, 0, 2308) but there is a certain technique involved, and this post gave me the key to it.

Let's see if others can catch them too ;)

Hi! A few minutes ago I fished 3 blue seahorses in 28 tries. There is one blue seahorse on display alongside the other 4 colours at Puerto del Sol's Museum of Colours (3024, 10, -2747). I fished them at the spot near Obsidian Point that Boot disclosed earlier (4993, 0, 2308) but there is a certain technique involved, and this post gave me the key to it. Let's see if others can catch them too ;)

Betzi just became the 2nd person in the server to fish a blue seahorse, and JeCel the 3rd.

Betzi just became the 2nd person in the server to fish a blue seahorse, and JeCel the 3rd.

I think its safe to say, this issue can be closed since they are fishable.
Although the inclusion of more frost_ocean would be nice...

I think its safe to say, this issue can be closed since they are fishable. Although the inclusion of more frost_ocean would be nice...

The thing is, there is a problem with the mapgen that makes it impossible to fish them the normal way.

The thing is, there is a problem with the mapgen that makes it impossible to fish them the normal way.
No description provided.

yep works, I just got one.

yep works, I just got one.
Author
Member

Yes, I have one too!!!

Yes, I have one too!!!
Boot removed the
1. kind/bug
label 2023-12-14 17:34:41 +00:00
AliasAlreadyTaken added the
1. kind/documentation
5. result/cannot reproduce
labels 2023-12-14 18:22:37 +00:00

Now I'm curious how to do that :D

Now I'm curious how to do that :D

might have something to do with becoming a fish

might have something to do with becoming a fish

Now that enough time has passed, I think I can reveal the "spoiler":

Boot mentioned at some point:

In addition, the fishing rod occasionally gave crystal spikes.

To which Flux replied:

it should only do that in the frost biome, not the frost_ocean biome...

That gave me the idea that Boot was maybe fishing in the biome frost, not frost_ocean.

Could it be that the biome is frost above the surface of the water and frost_ocean below?

I then went to the place near Obsidian Point that he mentioned and started investigating. When I was in the water, the Astrolabe of Magellan said frost_ocean... but only if I had sunk a bit when I used it. If I used it right on the water surface, it said just frost. That gave me the idea that maybe not only the air above the water but also the first layer of water was still frost, with the water underneath being true frost_ocean.

Since using the fishing rod from outside the water causes the bait to float (and therefore to be located in the uppermost level of water) that would mean Boot got frost_ocean from the Astrolabe but was actually fishing in the frost biome.

How to overcome this? By diving deep before using the fishing rod. The bait stays underwater (and thus in the frost_ocean biome) and you get (with a bit of patience) blue sea horses.

My hypothesis is that due to some bug in the mapgen, the first layer of water (y = -1) is assigned to biome frost instead of frost_ocean, which is weird because in all other biomes (like junglee_ocean for the green seahorse) already the first water layer (y = 0) belongs to the corresponding _ocean biome. That would explain why we could fish the green seahorses near Walstrand from the surface, whereas Boot used 5 stacks of worms and caught no blue seahorse near Obsidian Point.

If my hypothesis is correct, maybe we want to have that weird mapgen behaviour fixed?

Now that enough time has passed, I think I can reveal the "spoiler": Boot mentioned at some point: > In addition, the fishing rod occasionally gave crystal spikes. To which Flux replied: > it should only do that in the frost biome, not the frost_ocean biome... That gave me the idea that Boot was maybe fishing in the biome *frost*, not *frost_ocean*. Could it be that the biome is *frost* above the surface of the water and *frost_ocean* below? I then went to the place near Obsidian Point that he mentioned and started investigating. When I was in the water, the Astrolabe of Magellan said *frost_ocean*... but only if I had sunk a bit when I used it. If I used it right on the water surface, it said just *frost*. That gave me the idea that maybe not only the air above the water but also the first layer of water was still *frost*, with the water underneath being true *frost_ocean*. Since using the fishing rod from outside the water causes the bait to float (and therefore to be located in the uppermost level of water) that would mean Boot got *frost_ocean* from the Astrolabe but was actually fishing in the *frost* biome. How to overcome this? By diving deep before using the fishing rod. The bait stays underwater (and thus in the *frost_ocean* biome) and you get (with a bit of patience) blue sea horses. My hypothesis is that due to some bug in the mapgen, the first layer of water (y = -1) is assigned to biome *frost* instead of *frost_ocean*, which is weird because in all other biomes (like junglee_ocean for the green seahorse) already the first water layer (y = 0) belongs to the corresponding *_ocean* biome. That would explain why we could fish the green seahorses near Walstrand from the surface, whereas Boot used 5 stacks of worms and caught no blue seahorse near Obsidian Point. If my hypothesis is correct, maybe we want to have that weird mapgen behaviour fixed?

Strange, the code says:

https://gitea.your-land.de/your-land/ethereal/src/branch/yl_stable/fishing.lua#L28

	{"ethereal:fish_seahorse_blue", "frost_ocean"},
Strange, the code says: https://gitea.your-land.de/your-land/ethereal/src/branch/yl_stable/fishing.lua#L28 ``` {"ethereal:fish_seahorse_blue", "frost_ocean"}, ```

the main issue is the water's surface registers as "frost", but you have to get under before it says "frost_ocean"

the main issue is the water's surface registers as "frost", but you have to get under before it says "frost_ocean"

Strange, the code says:

https://gitea.your-land.de/your-land/ethereal/src/branch/yl_stable/fishing.lua#L28

	{"ethereal:fish_seahorse_blue", "frost_ocean"},

The first layer of water (where the bait floats) is simply frost. The lower levels, where the blue seahorse does correctly appear, are frost_ocean.

The bug is not about Ethereal making blue seahorses appear where they shouldn't; it's about the mapgen generating the first layer of ocean water in frost biome instead of frost_ocean.

> Strange, the code says: > > https://gitea.your-land.de/your-land/ethereal/src/branch/yl_stable/fishing.lua#L28 > > ``` > {"ethereal:fish_seahorse_blue", "frost_ocean"}, > ``` The first layer of water (where the bait floats) is simply *frost*. The lower levels, where the blue seahorse does correctly appear, are *frost_ocean*. The bug is not about Ethereal making blue seahorses appear where they shouldn't; it's about the mapgen generating the first layer of ocean water in *frost* biome instead of *frost_ocean*.

Then it IS a bug, in ethreal biome generation. Since fishing comes from the same mod, it's not integration though :D

Then it IS a bug, in ethreal biome generation. Since fishing comes from the same mod, it's not integration though :D

I was experiencing this bug some places, but not everywhere.

I was experiencing this bug some places, but not everywhere.
Member

two things:

  1. if i understand the code right, the thing you catch depends on the biome where you are standing, not on where the bobber is
  2. i was able to find frost_ocean biomes on the main server, but they've disappeared from those same locations on the test server and on my local test server. i worry that somehow ethereal worldgen has changed for the even worse, and it might be impossible to get those blue seahorses soon.
two things: 1. if i understand the code right, the thing you catch depends on the biome where you are standing, not on where the bobber is 2. i was able to find frost_ocean biomes on the main server, but they've disappeared from those same locations on the test server and on my local test server. i worry that somehow ethereal worldgen has changed for the even worse, and it might be impossible to get those blue seahorses soon.

Well, since most of the time I was diving underwater while fishing, then I was in the frost_ocean biome too, as well as the bobber.

Well, since most of the time I was diving underwater while fishing, then I was in the *frost_ocean* biome too, as well as the bobber.
  1. if i understand the code right, the thing you catch depends on the biome where you are standing, not on where the bobber is

That's a bug

  1. i was able to find frost_ocean biomes on the main server, but they've disappeared from those same locations on the test server and on my local test server. i worry that somehow ethereal worldgen has changed for the even worse, and it might be impossible to get those blue seahorses soon.

That's also a bug

Let's just hope taht changing ethereal biomes doesn't mean borked mapgen.

> 1. if i understand the code right, the thing you catch depends on the biome where you are standing, not on where the bobber is That's a bug > 2. i was able to find frost_ocean biomes on the main server, but they've disappeared from those same locations on the test server and on my local test server. i worry that somehow ethereal worldgen has changed for the even worse, and it might be impossible to get those blue seahorses soon. That's also a bug Let's just hope taht changing ethereal biomes doesn't mean borked mapgen.
Author
Member

Ok, if these are other bugs too, then better not under the heading "blue seahorse".

Ok, if these are other bugs too, then better not under the heading "blue seahorse".

maybe take the bugs and split them off into their own issues?

maybe take the bugs and split them off into their own issues?

screw it, for the sake of making things easier for us all ill split off the 2 bugs here into their own separate issues
update: done and done.

screw it, for the sake of making things easier for us all ill split off the 2 bugs here into their own separate issues update: done and done.
Member

closing in light of #5715 and #5716. blue seahorses are fishable, if the conditions are right.

closing in light of #5715 and #5716. blue seahorses *are* fishable, if the conditions are right.
flux closed this issue 2023-12-17 01:13:12 +00:00
flux added the
5. result/cannot reproduce
label 2023-12-17 01:13:25 +00:00

this issue might need to be reopened as blue seahorses are not fishable at all now.

this issue might need to be reopened as blue seahorses are not fishable at all now.

As soon as the biomes return where they should, seahorses are fishable again.

As soon as the biomes return where they should, seahorses are fishable again.
Sign in to join this conversation.
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: your-land/bugtracker#5661
No description provided.