Giuseppe reports: embedded stained glass have a ... #1965

Open
opened 2022-05-23 18:55:16 +00:00 by yourland-report · 27 comments

Giuseppe reports a bug:

embedded stained glass have a bounding box that exceed the node block space when placed so is impossible place other block in front

Player position:

{
	y = 20.5,
	x = 1980.8381347656,
	z = 1536.5200195313
}

Player look:

{
	y = -0.1062640696764,
	x = 0.7101845741272,
	z = -0.695949614048
}

Player information:

{
	min_rtt = 0.0489999987185,
	max_rtt = 3.0889999866486,
	connection_uptime = 1500,
	max_jitter = 2.5190000534058,
	minor = 5,
	major = 5,
	ip_version = 6,
	formspec_version = 5,
	patch = 0,
	protocol_version = 40,
	serialization_version = 29,
	lang_code = "it",
	version_string = "5.5.0",
	avg_rtt = 0.072999998927116,
	state = "Active",
	avg_jitter = 0.0099999979138374,
	min_jitter = 0
}

Player meta:

{
	fields = {
		["3d_armor_inventory"] = "return {\"3d_armor:helmet_rainbow 1 3080\", \"3d_armor:chestplate_rainbow 1 3080\", \"3d_armor:leggings_rainbow 1 3080\", \"3d_armor:boots_crystal 1 7700\", \"\", \"shields:shield_rainbow 1 3080\"}",
		played_time = "2888525",
		["ocean_build.ocean_built"] = "12",
		jointime = "1638020000",
		yl_commons_player_joined = "1653330650",
		["stamina:exhaustion"] = "58",
		["signslib:pos"] = "(1990,24,1528)",
		["ocean_build.last_warning"] = "1.65259e+09",
		xp_redo_hud_color = "0xaaaaaa",
		bitten = "0",
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}",
		partychat = "main",
		yl_commons_thankyou = "25",
		placed_nodes = "159483",
		yl_church = "return {[\"last_death\"] = {[\"y\"] = -1148, [\"x\"] = 2174, [\"z\"] = 1507}, [\"last_death_portal\"] = 1653068868}",
		["ocean_build.forbidden"] = "true",
		["stamina:level"] = "10",
		punch_count = "65702",
		arenalib_infobox_arenaID = "0",
		inflicted_damage = "1225734",
		crafted = "5591",
		xp = "861433",
		digged_nodes = "788939",
		["stamina:poisoned"] = "no",
		died = "167",
		hud_state = "on",
		repellant = "0",
		yl_commons_player_created = "1638020000"
	}
}

Log identifier


[MOD] yl_report log identifier = hqiSDG1U76LjECNxpEifjdCdogZf2cPf

Profiler save:

profile-20220523T205516.json_prettyEE

Status:

# Server: version: 5.5.0-yl | game: Minetest Game | uptime: 2d 4h 15min 36s | max lag: 5.47s | clients: jimbo160, Alex1977, GFFMWKF, Giuseppe, Bla, alexandre2005, srewmander, paneg, Bishiro, Unelias, Lupercus, drgn, LZXTVhCSVlr, kinzie225, Boot, shanish2, pitman, tour, MicaelStarfire, Service, FailFactory, AliasAlreadyTaken, acen2006, flux, Bailiff

Teleport command:

/teleport xyz 1981 21 1537

Compass command:

/give_compass Construction hqiSDG1U76LjECNxpEifjdCdogZf2cPf D2691E 1981 21 1537
Giuseppe reports a bug: > embedded stained glass have a bounding box that exceed the node block space when placed so is impossible place other block in front Player position: ``` { y = 20.5, x = 1980.8381347656, z = 1536.5200195313 } ``` Player look: ``` { y = -0.1062640696764, x = 0.7101845741272, z = -0.695949614048 } ``` Player information: ``` { min_rtt = 0.0489999987185, max_rtt = 3.0889999866486, connection_uptime = 1500, max_jitter = 2.5190000534058, minor = 5, major = 5, ip_version = 6, formspec_version = 5, patch = 0, protocol_version = 40, serialization_version = 29, lang_code = "it", version_string = "5.5.0", avg_rtt = 0.072999998927116, state = "Active", avg_jitter = 0.0099999979138374, min_jitter = 0 } ``` Player meta: ``` { fields = { ["3d_armor_inventory"] = "return {\"3d_armor:helmet_rainbow 1 3080\", \"3d_armor:chestplate_rainbow 1 3080\", \"3d_armor:leggings_rainbow 1 3080\", \"3d_armor:boots_crystal 1 7700\", \"\", \"shields:shield_rainbow 1 3080\"}", played_time = "2888525", ["ocean_build.ocean_built"] = "12", jointime = "1638020000", yl_commons_player_joined = "1653330650", ["stamina:exhaustion"] = "58", ["signslib:pos"] = "(1990,24,1528)", ["ocean_build.last_warning"] = "1.65259e+09", xp_redo_hud_color = "0xaaaaaa", bitten = "0", ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}", partychat = "main", yl_commons_thankyou = "25", placed_nodes = "159483", yl_church = "return {[\"last_death\"] = {[\"y\"] = -1148, [\"x\"] = 2174, [\"z\"] = 1507}, [\"last_death_portal\"] = 1653068868}", ["ocean_build.forbidden"] = "true", ["stamina:level"] = "10", punch_count = "65702", arenalib_infobox_arenaID = "0", inflicted_damage = "1225734", crafted = "5591", xp = "861433", digged_nodes = "788939", ["stamina:poisoned"] = "no", died = "167", hud_state = "on", repellant = "0", yl_commons_player_created = "1638020000" } } ``` Log identifier ``` [MOD] yl_report log identifier = hqiSDG1U76LjECNxpEifjdCdogZf2cPf ``` Profiler save: ``` profile-20220523T205516.json_prettyEE ``` Status: ``` # Server: version: 5.5.0-yl | game: Minetest Game | uptime: 2d 4h 15min 36s | max lag: 5.47s | clients: jimbo160, Alex1977, GFFMWKF, Giuseppe, Bla, alexandre2005, srewmander, paneg, Bishiro, Unelias, Lupercus, drgn, LZXTVhCSVlr, kinzie225, Boot, shanish2, pitman, tour, MicaelStarfire, Service, FailFactory, AliasAlreadyTaken, acen2006, flux, Bailiff ``` Teleport command: ``` /teleport xyz 1981 21 1537 ``` Compass command: ``` /give_compass Construction hqiSDG1U76LjECNxpEifjdCdogZf2cPf D2691E 1981 21 1537 ```
AliasAlreadyTaken was assigned by yourland-report 2022-05-23 18:55:17 +00:00
flux added the
1. kind/bug
label 2022-05-23 19:02:18 +00:00

Looking at it on test server...

Looking at it on test server...
Member

I'm playing around w/ this w/ mrminer on the test server, and my suspicion is that there's a different node that's occupying the position that Guiseppe wanted to place a node in, which isn't clearly occupying it. We need to ask Guiseppe how to replicate the issue.

If it can't be placed because something non-obvious is occupying the space, it'd be good to inform the user, perhaps only after the 2nd try to place something in that position.

I'm playing around w/ this w/ mrminer on the test server, and my suspicion is that there's a *different* node that's occupying the position that Guiseppe wanted to place a node in, which isn't clearly occupying it. We need to ask Guiseppe how to replicate the issue. If it can't be placed because something non-obvious is occupying the space, it'd be good to inform the user, perhaps only after the 2nd try to place something in that position.

Mailing him/her

Mailing him/her

K did it

K did it

I think I know what Giuseppe means, attached screenshot.

embedded glass "cheats" itself into other nodes if you place it next to it. So you can place it into slopes/stairs/arcs etc without having to register a extra node for every variant.

screenshot:
lower SGG is placed against the normal glass pane.
upper one is placed against the embedded variant, the gap between the SGG and the wood slope is occupied by the embedded glass pane.

I think I know what Giuseppe means, attached screenshot. embedded glass "cheats" itself into other nodes if you place it next to it. So you can place it into slopes/stairs/arcs etc without having to register a extra node for every variant. screenshot: lower SGG is placed against the normal glass pane. upper one is placed against the embedded variant, the gap between the SGG and the wood slope is occupied by the embedded glass pane.

Thats what I was thinking... Gona try and figure out why it does that.

Thats what I was thinking... Gona try and figure out why it does that.

Thats what I was thinking... Gona try and figure out why it does that.

Because thats how it works.
You cant place 2 nodes at the same position.
To get the effect that the glass pane is embedded into the slope it has to be placed next to it on another position.

> Thats what I was thinking... Gona try and figure out why it does that. Because thats how it works. You cant place 2 nodes at the same position. To get the effect that the glass pane is embedded into the slope it has to be placed next to it on another position.

Ah well... AliasAlreadyTaken Can you close this as there is no fix to this issue.

Ah well... AliasAlreadyTaken Can you close this as there is no fix to this issue.
AliasAlreadyTaken added
1. kind/documentation
and removed
1. kind/bug
labels 2022-05-25 08:46:28 +00:00

I understand i can't place another node because that position is occupied by stained glass that appears to be positioned in the next node but it is only the effect of an offset.
Therefore the use is not applicable to 2 or 3 block deep walls.

In the screen attached a window where isnt possible place SG in the arc because is large 3 blocks.

I understand i can't place another node because that position is occupied by stained glass that appears to be positioned in the next node but it is only the effect of an offset. Therefore the use is not applicable to 2 or 3 block deep walls. In the screen attached a window where isnt possible place SG in the arc because is large 3 blocks.

Yep doesnt work with your design.
Just checked there are currently 23 stained glass panes that use the embedded panes mod.
So it would need to register another 23 nodes for every depth variant, that would use 46 nodes for 2 & 3 deep variants from the leftover available nodes YL can register.

I might have an idea for a acceptable compromise but need to figure out how exactly embedded panes works and test if my idea works.

Yep doesnt work with your design. Just checked there are currently 23 stained glass panes that use the embedded panes mod. So it would need to register another 23 nodes for every depth variant, that would use 46 nodes for 2 & 3 deep variants from the leftover available nodes YL can register. I might have an idea for a acceptable compromise but need to figure out how exactly embedded panes works and test if my idea works.
Bla self-assigned this 2022-05-25 11:07:33 +00:00

Aloha!

Unfortunately that's a technical limitation of minetest: A blocks needs to be somewhere, no two blocks can be on the same position. The embedded panes only pretend to be in the blocks next to their real block location, like when you strechted your arm to act somewhere else with your hand, while having your real body invisible: It still occupies its place.

Greetings, Alias

Aloha! Unfortunately that's a technical limitation of minetest: A blocks needs to be *somewhere*, no two blocks can be on the same position. The embedded panes only pretend to be in the blocks next to their real block location, like when you strechted your arm to act somewhere else with your hand, while having your real body invisible: It still occupies its place. Greetings, Alias

Whoops, that got ninja'ed while I was typing. If Bla has an idea how to make it better, I'd be curious to see the solution :)

Whoops, that got ninja'ed while I was typing. If Bla has an idea how to make it better, I'd be curious to see the solution :)
AliasAlreadyTaken added the
1. kind/enhancement
label 2022-05-25 11:50:27 +00:00

Instead of embedding the pane behind its position I made a variant that embeds it above its position.

For Guiseppe´s design he could just place them beneath the arcs or "hide" them next to the arc or above by rotating it.
But the texture would be rotatet too, so for next to it by 90° and above by 180°.

screenshot:
on the left side not rotated and pane embedded above.
on the right side "hidden" behind the stair.

Would only add one more node per registered pane, no matter how deep your wall design is as long as you can live with the rotated texture limitation

Instead of embedding the pane behind its position I made a variant that embeds it above its position. For Guiseppe´s design he could just place them beneath the arcs or "hide" them next to the arc or above by rotating it. But the texture would be rotatet too, so for next to it by 90° and above by 180°. screenshot: on the left side not rotated and pane embedded above. on the right side "hidden" behind the stair. Would only add one more node per registered pane, no matter how deep your wall design is as long as you can live with the rotated texture limitation

Isn't this a more special solution to a special case?

Isn't this a more special solution to a special case?

Sure its a special solution but I wouldnt say its a uncommon case.
There is a reason why most builds that use embedded panes are only one node thick and pillars like Guiseppe build arent that uncommon too.

Currently thinking about if embedding below or next to the position would make more sense rotated texture wise than above.

Maybe a survey on discord asking for screenshots of builds people would like to use embedded panes but cant currently? might make it easier to determine if its really needed.
But dont ask them directly if they want my variant, they just say yes to get their little pixelated hands on a new node no matter if they really need it :wink

Sure its a special solution but I wouldnt say its a uncommon case. There is a reason why most builds that use embedded panes are only one node thick and pillars like Guiseppe build arent that uncommon too. Currently thinking about if embedding below or next to the position would make more sense rotated texture wise than above. Maybe a survey on discord asking for screenshots of builds people would like to use embedded panes but cant currently? might make it easier to determine if its really needed. But dont ask them directly if they want my variant, they just say yes to get their little pixelated hands on a new node no matter if they really need it :wink
Member

If it can't be placed because something non-obvious is occupying the space, it'd be good to inform the user, perhaps only after the 2nd try to place something in that position.

i'm pretty sure we could add a message like placement of %s @ %s is blocked by %s, which is currently occupying that location, even if it doesn't look like it.. also easy to keep the spamminess of such a message down, which should be done.

> If it can't be placed because something non-obvious is occupying the space, it'd be good to inform the user, perhaps only after the 2nd try to place something in that position. i'm pretty sure we could add a message like `placement of %s @ %s is blocked by %s, which is currently occupying that location, even if it doesn't look like it.`. also easy to keep the spamminess of such a message down, which should be done.
Member

Isn't this a more special solution to a special case?

Sure its a special solution but I wouldn't say its a uncommon case.
There is a reason why most builds that use embedded panes are only one node thick and pillars like Guiseppe build aren't that uncommon too.

the embedded glass was designed specifically to overcome a fundamental limitation of the game, and it's necessarily a little bit hacky. there is necessarily going to be a side effect to having 2 nodes occupying the same physical node boundaries. an alternative might be to create pane entities, but i vote against that, because it'll be hard to code and also cause a ton of client-side "FPS lag".

> Isn't this a more special solution to a special case? > Sure its a special solution but I wouldn't say its a uncommon case. > There is a reason why most builds that use embedded panes are only one node thick and pillars like Guiseppe build aren't that uncommon too. the embedded glass was designed specifically to overcome a fundamental limitation of the game, and it's necessarily a little bit hacky. there is necessarily going to be a side effect to having 2 nodes occupying the same physical node boundaries. an alternative might be to create pane *entities*, but i vote against that, because it'll be hard to code and also cause a ton of client-side "FPS lag".

Isn't this a more special solution to a special case?

Sure its a special solution but I wouldn't say its a uncommon case.
There is a reason why most builds that use embedded panes are only one node thick and pillars like Guiseppe build aren't that uncommon too.

the embedded glass was designed specifically to overcome a fundamental limitation of the game, and it's necessarily a little bit hacky. there is necessarily going to be a side effect to having 2 nodes occupying the same physical node boundaries. an alternative might be to create pane entities, but i vote against that, because it'll be hard to code and also cause a ton of client-side "FPS lag".

flux you got that wrong, we were talking about my additional variant of embedded glass

> > Isn't this a more special solution to a special case? > > > Sure its a special solution but I wouldn't say its a uncommon case. > > There is a reason why most builds that use embedded panes are only one node thick and pillars like Guiseppe build aren't that uncommon too. > > the embedded glass was designed specifically to overcome a fundamental limitation of the game, and it's necessarily a little bit hacky. there is necessarily going to be a side effect to having 2 nodes occupying the same physical node boundaries. an alternative might be to create pane *entities*, but i vote against that, because it'll be hard to code and also cause a ton of client-side "FPS lag". > flux you got that wrong, we were talking about my additional variant of embedded glass

Instead of embedding the pane behind its position I made a variant that embeds it above its position.

If I understand correctly:
-it seems a logical solution due to the fact that EG generally develop vertically;
-but then the position below is occupied and it might be useful to create EG of double size vertically (which occupy the space of one node physically but two visually) to allow you to create large windows.

> Instead of embedding the pane behind its position I made a variant that embeds it above its position. If I understand correctly: -it seems a logical solution due to the fact that EG generally develop vertically; -but then the position below is occupied and it might be useful to create EG of double size vertically (which occupy the space of one node physically but two visually) to allow you to create large windows.

-it seems a logical solution due to the fact that EG generally develop vertically;

Yep but I decided Im gonna change it from embedding above to below

  • should be easier to hide inside a wall
  • doesnt block the position below the embedded pane so you can use normal panes
  • should cause less problems with texture rotation

-but then the position below is occupied and it might be useful to create EG of double size vertically (which occupy the space of one node physically but two visually) to allow you to create large windows.

There is no need for a double sized one.
With my above variant you could still use the original embedded panes to fill that spot.
With the below variant you can use normal panes.

> -it seems a logical solution due to the fact that EG generally develop vertically; Yep but I decided Im gonna change it from embedding above to below - should be easier to hide inside a wall - doesnt block the position below the embedded pane so you can use normal panes - should cause less problems with texture rotation > -but then the position below is occupied and it might be useful to create EG of double size vertically (which occupy the space of one node physically but two visually) to allow you to create large windows. There is no need for a double sized one. With my above variant you could still use the original embedded panes to fill that spot. With the below variant you can use normal panes.

Let's investigate the solution of Bla. Please check in on the yl_dev branch (you may need to create or fast-forward that branch) and we'll put it on the testserver.

Let's investigate the solution of Bla. Please check in on the yl_dev branch (you may need to create or fast-forward that branch) and we'll put it on the testserver.
@AliasAlreadyTaken done see your-land/panes_embedded!1

embed below is on the testserver.
build a small example in Haven on the grass area (2175, 15, 1093)

embed below is on the testserver. build a small example in Haven on the grass area (2175, 15, 1093)

Nice!

Nice!

PR is pulled to yl_dev and this branch is now active (again) on the testserver.

Please test it and give me your opinions.

PR is pulled to yl_dev and this branch is now active (again) on the testserver. Please test it and give me your opinions.

Tested.
Works but im not able to craft standard stained glass from embedded.
The recipe exsist but i have toggle effect between embedded and embedded below.
I used the yellow SG.

Tested. Works but im not able to craft standard stained glass from embedded. The recipe exsist but i have toggle effect between embedded and embedded below. I used the yellow SG.

Here an image.

Here an image.
Sign in to join this conversation.
No Milestone
No project
No Assignees
6 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#1965
No description provided.