minetest-mods / moreblocks

More Blocks
https://content.minetest.net/packages/Calinou/moreblocks/
zlib License
45 stars 67 forks source link

Moreblocks breaks dark green wool recipe/craft #130

Closed VanessaE closed 5 years ago

VanessaE commented 6 years ago

Trying to craft dark green wool using dark green dye and white wool gives the brighter green wool.

To make sure it wasn't some other mod, I wiped out ~/.minetest/mods, copied moreblocks to there, and enabled it on a test world. The result:

image

That is most assuredly dark green dye on the left, and bright green wool as the output.

Engine: stable-0.4 branch, commit https://github.com/minetest/minetest/commit/dd5f03731ad545f52da24825a2ee870f899f6adc minetest_game: stable-0.4 branch, commit https://github.com/minetest/minetest_game/commit/d6a66860af6fc39957d8e947824b9c56c3686b8e moreblocks: commit 723db44933721cc14e85ec40ada5ae5e936cb7d7 No other mods enabled in the test world.

JDCodeIt commented 5 years ago

This seems to be a weird side effect of the call to minetest.clear_craft. The bug was introduced with https://github.com/minetest-mods/moreblocks/pull/124

If you comment out this in redefinitions.lua, the dark_green wool recipe works.

This could be a deeper bug in the clear_craft function, though.

JDCodeIt commented 5 years ago

In irc discussion today, p_gimeno found the root cause is in this version of minetest game, which essentially has created two recipes with the same input. One produces green wool, and the other produces dark green wool. The order of these recipes in the system were such that the dark green (proper) recipe occurred first. Calling the clear_craft function has the side effect of inverting the list of registered recipes so that the lighter green recipe came first. MTG has been updated to remove the duplicate recipe input. See https://github.com/minetest/minetest_game/commits/6f80fd3737cd4de30e548dd48bc0ab8c288d9930

Thanks p_gimeno!

Calinou commented 5 years ago

@JDCodeIt Is this issue now solved in 5.0.0? If so, I'll close it.

ghost commented 5 years ago

Technically it's solved in MTG 5.0.0. See also https://github.com/minetest/minetest/issues/8427 for the remaining bug.

Edit: To clarify, the remaining bug does not produce the effect reported here, but the reversal of the list caused by the clear_craft call may be causing side effects in other mods. But that's not for moreblocks to fix (unless a new bogus call to clear_craft is desired to re-reverse the list until 8427 is fixed).

Calinou commented 5 years ago

@pgimeno Thanks for clarifying this :smiley: I'll close this issue now.