diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/init.lua b/mods/ITEMS/REDSTONE/mcl_comparators/init.lua index a8fab81d..c5cae6ad 100644 --- a/mods/ITEMS/REDSTONE/mcl_comparators/init.lua +++ b/mods/ITEMS/REDSTONE/mcl_comparators/init.lua @@ -43,14 +43,20 @@ end local comparator_activate = function(pos, node) local def = minetest.registered_nodes[node.name] - minetest.swap_node(pos, { name = def.comparator_onstate, param2 = node.param2 }) + local onstate = def.comparator_onstate + if onstate then + minetest.swap_node(pos, { name = onstate, param2 = node.param2 }) + end minetest.after(0.1, comparator_turnon , {pos = pos, node = node}) end local comparator_deactivate = function(pos, node) local def = minetest.registered_nodes[node.name] - minetest.swap_node(pos, { name = def.comparator_offstate, param2 = node.param2 }) + local offstate = def.comparator_offstate + if offstate then + minetest.swap_node(pos, { name = offstate, param2 = node.param2 }) + end minetest.after(0.1, comparator_turnoff, {pos = pos, node = node}) end diff --git a/mods/MAPGEN/mcl_structures/init.lua b/mods/MAPGEN/mcl_structures/init.lua index 0383c48a..0c3b1820 100644 --- a/mods/MAPGEN/mcl_structures/init.lua +++ b/mods/MAPGEN/mcl_structures/init.lua @@ -532,6 +532,11 @@ local function dir_to_rotation(dir) return "0" end +mcl_structures.generate_test_structure_comparator = function(pos, rotation, pr) + local path = minetest.get_modpath("mcl_structures").."/schematics/mcl_structures_test_structure_comparator.mts" + mcl_structures.place_schematic(pos, path, rotation, nil, true, nil, nil, pr) +end + mcl_structures.generate_test_structure_fireproof = function(pos, rotation, pr) local path = minetest.get_modpath("mcl_structures").."/schematics/mcl_structures_test_structure_fireproof.mts" mcl_structures.place_schematic(pos, path, rotation, nil, true, nil, nil, pr) @@ -539,7 +544,7 @@ end -- Debug command minetest.register_chatcommand("spawnstruct", { - params = "desert_temple | desert_well | igloo | witch_hut | boulder | ice_spike_small | ice_spike_large | fossil | end_exit_portal | end_portal_shrine | test_structure_fireproof", + params = "desert_temple | desert_well | igloo | witch_hut | boulder | ice_spike_small | ice_spike_large | fossil | end_exit_portal | end_portal_shrine | test_structure_comparator | test_structure_fireproof", description = S("Generate a pre-defined structure near your position."), privs = {debug = true}, func = function(name, param) @@ -573,6 +578,8 @@ minetest.register_chatcommand("spawnstruct", { mcl_structures.generate_end_exit_portal(pos, rot, pr) elseif param == "end_portal_shrine" then mcl_structures.generate_end_portal_shrine(pos, rot, pr) + elseif param == "test_structure_comparator" then + mcl_structures.generate_test_structure_comparator(pos, rot, pr) elseif param == "test_structure_fireproof" then mcl_structures.generate_test_structure_fireproof(pos, rot, pr) elseif param == "" then diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_test_structure_comparator.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_test_structure_comparator.mts new file mode 100644 index 00000000..608beff9 Binary files /dev/null and b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_test_structure_comparator.mts differ