Page 74 of 74

Re: [Mod] Mesecons (= redstone) [GitHub] [minetest-mod-mesec

PostPosted: Thu Oct 24, 2019 16:28
by DS-minetest
@Tedypig: Welcome back! Maybe it was the change of this PR: https://github.com/minetest-mods/mesecons/pull/250

Re: [Mod] Mesecons (= redstone) [GitHub] [minetest-mod-mesec

PostPosted: Thu Oct 24, 2019 19:47
by Tedypig
No, that's not it. I have only been gone since late 2017-early 2018ish and it worked then. All I know is it's annoying it doesn't work anymore. I can still harvest automatically using node breakers, but re-planting hundreds of seeds is quite a pain. My main source of income on economy servers is farming seconded by mining, I guess I will just replace all my farms with giant holes in the ground...

Re: [Mod] Mesecons (= redstone) [GitHub] [minetest-mod-mesec

PostPosted: Tue Oct 29, 2019 06:50
by neoh4x0r
DS-minetest wrote:@Tedypig: Welcome back! Maybe it was the change of this PR: https://github.com/minetest-mods/mesecons/pull/250


Tedypig wrote:No, that's not it. I have only been gone since late 2017-early 2018ish and it worked then. All I know is it's annoying it doesn't work anymore. I can still harvest automatically using node breakers, but re-planting hundreds of seeds is quite a pain. My main source of income on economy servers is farming seconded by mining, I guess I will just replace all my farms with giant holes in the ground...


Tl;DR Make sticky piston stick falling things as well (#436) probably broke it...

EDIT: a quick update, sticky pistons never call check_for_falling (after that fix)
The point is that now sticky pistons, also stick the falling item (and they don't actually fall).
Code: Select all
local function piston_off(pos, node)
-   piston_remove_pusher(pos, node)
+   piston_remove_pusher(pos, node, not pistonspec.sticky)


I'll bet it was this commit (posted 10 months ago):
Make sticky piston stick falling things as well (#436)
https://github.com/minetest-mods/meseco ... 6528b44911
Pull request:
https://github.com/minetest-mods/mesecons/pull/436

A comment from another issue (adds some validity to this):
Falling nodes don't fall if ghoststone below get activated #290
https://github.com/minetest-mods/meseco ... -381419364
@alxki commented on Apr 15, 2018
I've the same problem with pistons. If a piston pushes a sand node over an edge,
the sand node didn't fall. It's only working when the sand node is placed above the piston
and the piston retracts.


(The key part is: sand node didn't fall. It's only working when the sand node is placed above the piston
and the piston retracts
)

The commit mentioned (in #436) [which is unrelated to the comment] changed the way that falling nodes were detected:
Code: Select all
-local function piston_remove_pusher(pos, node)
+local function piston_remove_pusher(pos, node, check_falling)
-   minetest.check_for_falling(pusherpos)
+
+   if check_falling then
+      minetest.check_for_falling(pusherpos)
+   end
+end
+
+local function piston_after_dig(pos, node)
+   piston_remove_pusher(pos, node, true)
+end


The after_dig_node specification was changed to piston_after_dig (which was originally piston_remove_pusher.

I'll bet that the pistons are calling the original function: piston_remove_pusher(pos, node) and that the check_falling parameter is always false (since it doesn't pass in a value).