I've put the changes in at https://git.minetest.land/teknomunk/MineClone2/src/branch/mcl_copper_recovery
You should probably have someone else weigh in on this before making the changes if it makes things more complicated or would be significant extra work.
Huh... That's fine, just unexpected from what I read in the source code for the script.
For copper buttons: More oxidation = longer activation timer or the other way around?
I think it makes sense for more oxidation to have a longer activation time, because the button gets…
I had a look at the code and found a few things that can be improved. Overall it looks quite good. I haven't play tested this code yet.
This is another place I think it makes sense to add a hook to the node definition instead of hard coding doors into here. This helps keep all the code for a node near the node's definition and not scattered thru the code.
Nitpick: I think all these translation files should have the line sorted alphabetically. Tools like https://github.com/minetest/minetest/blob/master/util/mod_translation_updater.py do this internally and sorting gives a defined order to check against and makes it easier to locate a particular string in the file.
Why are you adding a special case for doors in the oxidation API? I think a better option would be to use a general purpose hook so this logic is inside the door nodes.