flux reports: we need an itemframe where the ... #2067

Open
opened 2022-06-12 03:08:02 +00:00 by yourland-report · 14 comments

flux reports a bug:

we need an itemframe where the "background image" is a plate. it might be nice to even have a couple different styles of such plates

Player position:

{
	y = 69.5,
	x = 1262.8070068359,
	z = 551.09600830078
}

Player look:

{
	y = -0.86127460002899,
	x = -0.045877262949944,
	z = -0.50606453418732
}

Player information:

{
	min_rtt = 0.15099999308586,
	max_rtt = 4.0710000991821,
	connection_uptime = 40178,
	max_jitter = 1.6980000734329,
	minor = 6,
	major = 5,
	ip_version = 6,
	formspec_version = 5,
	patch = 0,
	protocol_version = 40,
	serialization_version = 29,
	lang_code = "",
	version_string = "5.6.0-dev-d208be276-dirty",
	avg_rtt = 0.15999999642372,
	state = "Active",
	avg_jitter = 0.0019999891519547,
	min_jitter = 0
}

Player meta:

{
	fields = {
		["3d_armor_inventory"] = "return {\"3d_armor:chestplate_nether 1 2880\", \"3d_armor:helmet_nether 1 1440\", \"3d_armor:leggings_nether 1 2880\", \"nether_mobs:dragon_boots 1 1440\", \"nether_mobs:dragon_shield 1 1440\", \"\"}",
		["petz:werewolf_vignette_id"] = "20",
		played_time = "17252747",
		jointime = "1615351173",
		["stamina:poisoned"] = "no",
		["stamina:exhaustion"] = "81",
		["signslib:pos"] = "(2583,11,3234)",
		digged_nodes = "1058632",
		punch_count = "79147",
		yl_commons_player_joined = "1654963118",
		bitten = "0",
		["unified_inventory:bags"] = "return {\"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\"}",
		partychat = "party",
		["petz:werewolf_clan_idx"] = "1",
		["petz:lycanthropy"] = "1",
		yl_church = "return {[\"last_death\"] = {[\"y\"] = 29400, [\"x\"] = 2338, [\"z\"] = 1226}, [\"last_heal\"] = 1615504208, [\"last_death_portal\"] = 1653796347}",
		yl_commons_thankyou = "124",
		["stamina:level"] = "15",
		xp = "1238808",
		arenalib_infobox_arenaID = "0",
		inflicted_damage = "1274840",
		crafted = "36121",
		["petz:old_override_table"] = "return {[\"new_move\"] = true, [\"sneak\"] = true, [\"sneak_glitch\"] = false, [\"jump\"] = 1.5, [\"speed\"] = 2, [\"gravity\"] = 1}",
		["petz:werewolf"] = "0",
		placed_nodes = "346857",
		died = "65",
		hud_state = "on",
		repellant = "0",
		yl_commons_player_created = "1615351173"
	}
}

Log identifier


[MOD] yl_report log identifier = IkZYQCSFcb9bRRP7oVsStvJUNhOxyvSV

Profiler save:

profile-20220612T050802.json_prettyEE

Status:

# Server: version: 5.5.1-yl | game: Minetest Game | uptime: 11h 33min 8s | max lag: 1.96s | clients: Giuseppe, Zonon, Alex1977, evil1234, Gardenfire2007, LadyPyle, daydream, jackofthebean000, Bailiff, HorusDamocles, plod, pitman, Boot, flux

Teleport command:

/teleport xyz 1263 70 551

Compass command:

/give_compass Construction IkZYQCSFcb9bRRP7oVsStvJUNhOxyvSV D2691E 1263 70 551
flux reports a bug: > we need an itemframe where the "background image" is a plate. it might be nice to even have a couple different styles of such plates Player position: ``` { y = 69.5, x = 1262.8070068359, z = 551.09600830078 } ``` Player look: ``` { y = -0.86127460002899, x = -0.045877262949944, z = -0.50606453418732 } ``` Player information: ``` { min_rtt = 0.15099999308586, max_rtt = 4.0710000991821, connection_uptime = 40178, max_jitter = 1.6980000734329, minor = 6, major = 5, ip_version = 6, formspec_version = 5, patch = 0, protocol_version = 40, serialization_version = 29, lang_code = "", version_string = "5.6.0-dev-d208be276-dirty", avg_rtt = 0.15999999642372, state = "Active", avg_jitter = 0.0019999891519547, min_jitter = 0 } ``` Player meta: ``` { fields = { ["3d_armor_inventory"] = "return {\"3d_armor:chestplate_nether 1 2880\", \"3d_armor:helmet_nether 1 1440\", \"3d_armor:leggings_nether 1 2880\", \"nether_mobs:dragon_boots 1 1440\", \"nether_mobs:dragon_shield 1 1440\", \"\"}", ["petz:werewolf_vignette_id"] = "20", played_time = "17252747", jointime = "1615351173", ["stamina:poisoned"] = "no", ["stamina:exhaustion"] = "81", ["signslib:pos"] = "(2583,11,3234)", digged_nodes = "1058632", punch_count = "79147", yl_commons_player_joined = "1654963118", bitten = "0", ["unified_inventory:bags"] = "return {\"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\"}", partychat = "party", ["petz:werewolf_clan_idx"] = "1", ["petz:lycanthropy"] = "1", yl_church = "return {[\"last_death\"] = {[\"y\"] = 29400, [\"x\"] = 2338, [\"z\"] = 1226}, [\"last_heal\"] = 1615504208, [\"last_death_portal\"] = 1653796347}", yl_commons_thankyou = "124", ["stamina:level"] = "15", xp = "1238808", arenalib_infobox_arenaID = "0", inflicted_damage = "1274840", crafted = "36121", ["petz:old_override_table"] = "return {[\"new_move\"] = true, [\"sneak\"] = true, [\"sneak_glitch\"] = false, [\"jump\"] = 1.5, [\"speed\"] = 2, [\"gravity\"] = 1}", ["petz:werewolf"] = "0", placed_nodes = "346857", died = "65", hud_state = "on", repellant = "0", yl_commons_player_created = "1615351173" } } ``` Log identifier ``` [MOD] yl_report log identifier = IkZYQCSFcb9bRRP7oVsStvJUNhOxyvSV ``` Profiler save: ``` profile-20220612T050802.json_prettyEE ``` Status: ``` # Server: version: 5.5.1-yl | game: Minetest Game | uptime: 11h 33min 8s | max lag: 1.96s | clients: Giuseppe, Zonon, Alex1977, evil1234, Gardenfire2007, LadyPyle, daydream, jackofthebean000, Bailiff, HorusDamocles, plod, pitman, Boot, flux ``` Teleport command: ``` /teleport xyz 1263 70 551 ``` Compass command: ``` /give_compass Construction IkZYQCSFcb9bRRP7oVsStvJUNhOxyvSV D2691E 1263 70 551 ```
AliasAlreadyTaken was assigned by yourland-report 2022-06-12 03:08:02 +00:00
AliasAlreadyTaken added the
1. kind/enhancement
label 2022-06-12 13:02:25 +00:00

That's a nice idea, could even be used upstream. The node already has item meta, so we could just save a texture file there and display it, instead of having "itemframe", "itemframe invisible", "itemframe plate" and so forth.

Should I post the suggestion upstream?

That's a nice idea, could even be used upstream. The node already has item meta, so we could just save a texture file there and display it, instead of having "itemframe", "itemframe invisible", "itemframe plate" and so forth. Should I post the suggestion upstream?
Member

If you think they'll implement it upstream, sure. I'm not sure it's a good idea to turn the thing into 2 entities to save a couple of nodes, though.

If you think they'll implement it upstream, sure. I'm not sure it's a good idea to turn the thing into 2 entities to save a couple of nodes, though.

Couldn't we make it a texture modifier? Where the plate/invisible/... background is read from a value in nodemeta and then the item gets displayed on top?

Couldn't we make it a texture modifier? Where the plate/invisible/... background is read from a value in nodemeta and then the item gets displayed on top?
Member

Couldn't we make it a texture modifier? Where the plate/invisible/... background is read from a value in nodemeta and then the item gets displayed on top?

i don't think it's possible to use node metadata to change the visible texture? i think the game should give us the ability to e.g. change paramtype1, paramtype2 to link specific textures or meshes or nodeboxes... but that'd be a heavy change on the engine.

currently the only modifier for a node's textures is via a palette.

> Couldn't we make it a texture modifier? Where the plate/invisible/... background is read from a value in nodemeta and then the item gets displayed on top? i don't think it's possible to use node metadata to change the visible texture? i think the game should give us the ability to e.g. change paramtype1, paramtype2 to link specific textures or meshes or nodeboxes... but that'd be a heavy change on the engine. currently the only modifier for a node's textures is via a palette.

The mechanic that changes the item texture as soon as we place a new item in could look at node meta, read the value and place the appropriate picture in the background. The problem is more a UI one: How would someone change that node meta?

The mechanic that changes the item texture as soon as we place a new item in could look at node meta, read the value and place the appropriate picture in the background. The problem is more a UI one: How would someone change that node meta?
Member

The mechanic that changes the item texture as soon as we place a new item in could look at node meta, read the value and place the appropriate picture in the background. The problem is more a UI one: How would someone change that node meta?

my objection isn't that it couldn't be done this way, but that you'd need a 2nd entity to handle the 2nd texture, and we're already trying to deal w/ having too many entities in places like haven. i feel like it's important to not exacerbate that by turning all item frames into 2 entities.

> The mechanic that changes the item texture as soon as we place a new item in could look at node meta, read the value and place the appropriate picture in the background. The problem is more a UI one: How would someone change that node meta? my objection isn't that it couldn't be done this way, but that you'd need a 2nd entity to handle the 2nd texture, and we're already trying to deal w/ having too many entities in places like haven. i feel like it's important to not exacerbate that by turning all item frames into 2 entities.
Member

oh i get it, you want to compose the plate texture w/ the other entity texture. but that can't work, because the the current entity is a wielditem, and the texture is specified by an itemstring. that's why you'd need a 2nd entity. either that, or create a dummy item for every registered item in the game w/ a wield image that does that composition... which is a terrible idea.

oh i get it, you want to compose the plate texture w/ the other entity texture. but that can't work, because the the current entity is a wielditem, and the texture is specified by an itemstring. that's why you'd need a 2nd entity. either that, or create a dummy item for every registered item in the game w/ a wield image that does that composition... which is a terrible idea.
Member

see ae555465ba/doc/lua_api.txt (L7515-L7533)

there's no general mechanism to replicate the mechanic that the wielditem visual uses, hence why my smartshop fork has different kinds of entities. sprite visuals cause less FPS lag, but you can't represent nodebox or mesh drawtypes, and things get wonky if there's animations.

see https://github.com/minetest/minetest/blob/ae555465ba1c02d5fe6b409c50191ddc34d26d75/doc/lua_api.txt#L7515-L7533 there's no general mechanism to replicate the mechanic that the `wielditem` visual uses, hence why my smartshop fork has different kinds of entities. `sprite` visuals cause less FPS lag, but you can't represent `nodebox` or mesh `drawtypes`, and things get wonky if there's animations.
Member

while looking around for a plate nodebox/texture to steal, i found https://forum.minetest.net/viewtopic.php?p=403908 which looks real interesting...

while looking around for a plate nodebox/texture to steal, i found https://forum.minetest.net/viewtopic.php?p=403908 which looks real interesting...
Member

cf. #1169

cf. #1169
flux added this to the flux's TODO list project 2022-07-02 22:13:00 +00:00
flux added the
1. kind/node limit
2. prio/elevated
labels 2022-10-28 20:51:56 +00:00
Member
created one: https://content.minetest.net/packages/rheo/itemplate/ ![](https://gitea.your-land.de/attachments/c3a1f925-eead-4a0d-9152-152b7c564638)
flux added the
4. step/ready to QA test
label 2022-10-28 22:59:22 +00:00
flux added this to the 1.1.117 milestone 2022-11-18 22:47:09 +00:00
AliasAlreadyTaken removed this from the 1.1.117 milestone 2023-01-18 14:37:41 +00:00

Opinions please: 1. Add this mod standalone? 2. PR "upstream" to itemframes? 3. Close as wontfix?

I'm slightly in favour of 2, then 1

Opinions please: 1. Add this mod standalone? 2. PR "upstream" to itemframes? 3. Close as wontfix? I'm slightly in favour of 2, then 1
Member

Feels more like a standalone thing... Even though it's basically an itemframe...

This mod could potentially try to do something special, like displaying alternative models for known food...
(imagine a 3d burger :P)

(makes sense since YL is a cooking simulation server)

Feels more like a standalone thing... Even though it's basically an itemframe... This mod could potentially try to do something special, like displaying alternative models for known food... (imagine a 3d burger :P) (makes sense since YL is a cooking simulation server)
Member

it'd be nice if the original itemframe was an API, and you could just import that and choose which kind of itemframe nodes you wanted to use.

the main reason i depend on the original itemframe mod is to not duplicate code. we've fixed upstream itemframe issues before.

it'd be nice if the original itemframe was an API, and you could just import that and choose which kind of itemframe nodes you wanted to use. the main reason i depend on the original itemframe mod is to not duplicate code. we've fixed upstream itemframe issues before.
Sign in to join this conversation.
No Milestone
No Assignees
4 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#2067
No description provided.