noodles reports: trying to "rhotate" insulated ... #545

Closed
opened 2021-05-15 07:57:30 +00:00 by yourland-report · 4 comments

noodles reports a bug:

trying to "rhotate" insulated mesecon... "[rhotator] Rotation disallowed by on_rotate() return value". Saving rhotation using a different node, and then placing insulated mesecon gives the same error.

Player position:

{
	y = 4.5,
	x = -1436.4040527344,
	z = -2889.8679199219
}

Player look:

{
	y = -0.33693096041679,
	x = 0.93328034877777,
	z = 0.12435976415873
}

Player information:

{
	min_rtt = 0.11900000274181,
	max_rtt = 0.63999998569489,
	connection_uptime = 2343,
	lang_code = "",
	address = "::ffff:74.134.5.182",
	formspec_version = 4,
	protocol_version = 39,
	avg_rtt = 0.12399999797344,
	min_jitter = 0,
	ip_version = 6,
	max_jitter = 0.51800000667572,
	avg_jitter = 0.0029999986290932
}

Player meta:

{
	fields = {
		["3d_armor_inventory"] = "return {\"3d_armor:helmet_crystal 1 13460\", \"3d_armor:chestplate_crystal 1 13460\", \"3d_armor:boots_crystal 1 13460\", \"3d_armor:leggings_crystal 1 13460\", \"shields:shield_crystal 1 13460\", \"\"}",
		played_time = "940202",
		jointime = "1614625622",
		yl_commons_player_joined = "1621063145",
		["signslib:pos"] = "(-1408,5,-2927)",
		digged_nodes = "149939",
		partychat = "party",
		yl_church = "return {[\"last_death\"] = {[\"y\"] = 20, [\"x\"] = 1943, [\"z\"] = 1118}, [\"last_death_portal\"] = 1619908208}",
		["stamina:level"] = "17",
		punch_count = "8504",
		inflicted_damage = "149298",
		crafted = "6349",
		xp = "170749",
		yl_commons_thankyou = "1",
		died = "14",
		hud_state = "on",
		placed_nodes = "69317",
		yl_commons_player_created = "1614625622"
	}
}

Log identifier


[MOD] yl_report log identifier = 7cItU9GsqYOWX78sPPtWdBhpQ9hkx9li

Profiler save:

profile-20210515T095729.json_pretty

Status:

# Server: version=5.3.0-yl, uptime=60417.5, max_lag=4.80726, clients={debian44, Runy, Boot, bibi, phillip, NoCopyRightSounds, icecreamkek, Annalysa, Bingo, Apocralypse, AliasAlreadyTaken, Service, Bailiff, noodles, Izzy_Wolf}
noodles reports a bug: > trying to "rhotate" insulated mesecon... "[rhotator] Rotation disallowed by on_rotate() return value". Saving rhotation using a different node, and then placing insulated mesecon gives the same error. Player position: ``` { y = 4.5, x = -1436.4040527344, z = -2889.8679199219 } ``` Player look: ``` { y = -0.33693096041679, x = 0.93328034877777, z = 0.12435976415873 } ``` Player information: ``` { min_rtt = 0.11900000274181, max_rtt = 0.63999998569489, connection_uptime = 2343, lang_code = "", address = "::ffff:74.134.5.182", formspec_version = 4, protocol_version = 39, avg_rtt = 0.12399999797344, min_jitter = 0, ip_version = 6, max_jitter = 0.51800000667572, avg_jitter = 0.0029999986290932 } ``` Player meta: ``` { fields = { ["3d_armor_inventory"] = "return {\"3d_armor:helmet_crystal 1 13460\", \"3d_armor:chestplate_crystal 1 13460\", \"3d_armor:boots_crystal 1 13460\", \"3d_armor:leggings_crystal 1 13460\", \"shields:shield_crystal 1 13460\", \"\"}", played_time = "940202", jointime = "1614625622", yl_commons_player_joined = "1621063145", ["signslib:pos"] = "(-1408,5,-2927)", digged_nodes = "149939", partychat = "party", yl_church = "return {[\"last_death\"] = {[\"y\"] = 20, [\"x\"] = 1943, [\"z\"] = 1118}, [\"last_death_portal\"] = 1619908208}", ["stamina:level"] = "17", punch_count = "8504", inflicted_damage = "149298", crafted = "6349", xp = "170749", yl_commons_thankyou = "1", died = "14", hud_state = "on", placed_nodes = "69317", yl_commons_player_created = "1614625622" } } ``` Log identifier ``` [MOD] yl_report log identifier = 7cItU9GsqYOWX78sPPtWdBhpQ9hkx9li ``` Profiler save: ``` profile-20210515T095729.json_pretty ``` Status: ``` # Server: version=5.3.0-yl, uptime=60417.5, max_lag=4.80726, clients={debian44, Runy, Boot, bibi, phillip, NoCopyRightSounds, icecreamkek, Annalysa, Bingo, Apocralypse, AliasAlreadyTaken, Service, Bailiff, noodles, Izzy_Wolf} ```
AliasAlreadyTaken was assigned by yourland-report 2021-05-15 07:57:30 +00:00
AliasAlreadyTaken added the
1. kind/bug
3. source/mod upstream
labels 2021-07-18 10:52:29 +00:00
Member

For reference, this is an issue for the rhotator for things with on_rotate = screwdriver.rotate_simple. The insulated wires can be rotated with a normal screwdriver, which makes this annoying.

For reference, this is an issue for the rhotator for things with `on_rotate = screwdriver.rotate_simple`. The insulated wires *can* be rotated with a normal screwdriver, which makes this annoying.
Member

closing this; it's a fundamental mismatch between the screwdriver API and the rhotator API. if we want to continue using both mods, this will always be an issue.

closing this; it's a fundamental mismatch between the screwdriver API and the rhotator API. if we want to continue using both mods, this will always be an issue.
flux closed this issue 2022-09-05 04:27:40 +00:00
AliasAlreadyTaken was unassigned by flux 2022-09-05 04:27:51 +00:00
flux added the
5. result/wontfix
label 2022-09-05 04:27:57 +00:00
Member

the screwdriver defines an on_rotate callback:

on_rotate = function(pos, node, user, mode, new_param2) ... end

"mode" is defined via the following 2 constants:

screwdriver.ROTATE_FACE = 1
screwdriver.ROTATE_AXIS = 2

these wires, along w/ certain other nodes (e.g. nodes w/ legacy_facedir_simple = true) only allow "face" rotation, meaning they'll spin around the y axis, but disallow changing the axis.

it is assumed that new_param2 is a valid value according to these semantics.

rhotator takes this API and completely ignores the semantics of it. it re-defines mode:

local PRIMARY_BTN = 1 
local SECONDARY_BTN = 2

these seem to correlate to "sneak-click" and "click" by default, but i think they can be overridden. in any event, they do not correlate to what the on_rotate callbacks expect them to mean. the param2 values passed are not valid. using sneak-click, you can even get the wire into an invalid orientation:

image

fortunately this doesn't seem to crash anything, but the wire does not transmit signal in a sane way.

the screwdriver defines an `on_rotate` callback: ```lua on_rotate = function(pos, node, user, mode, new_param2) ... end ``` "mode" is defined via the following 2 constants: ```lua screwdriver.ROTATE_FACE = 1 screwdriver.ROTATE_AXIS = 2 ``` these wires, along w/ certain other nodes (e.g. nodes w/ `legacy_facedir_simple = true`) only allow "face" rotation, meaning they'll spin around the y axis, but disallow changing the axis. it is assumed that new_param2 is a valid value according to these semantics. rhotator takes this API and completely ignores the semantics of it. it re-defines mode: ```lua local PRIMARY_BTN = 1 local SECONDARY_BTN = 2 ``` these seem to correlate to "sneak-click" and "click" by default, but i think they can be overridden. in any event, they do *not* correlate to what the on_rotate callbacks expect them to mean. the param2 values passed are *not* valid. using sneak-click, you can even get the wire into an invalid orientation: ![image](/attachments/82ad6f8e-aa3e-44ec-aeb8-ac399253ede6) fortunately this doesn't seem to crash anything, but the wire does *not* transmit signal in a sane way.
Member

related upstream issue, which if solved still won't fix the bug here: https://github.com/entuland/rhotator/issues/10

related upstream issue, which if solved still won't fix the bug here: https://github.com/entuland/rhotator/issues/10
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 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#545
No description provided.