Make modpack mostly independent from MTG (#607)

This commit is contained in:
Jude Melton-Houghton 2022-05-05 10:57:53 -04:00 committed by GitHub
parent f4070d3e64
commit dfa43d6c0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
67 changed files with 285 additions and 187 deletions

@ -1,6 +1,12 @@
The LGPLv3 applies to all code in this project. The LGPLv3 applies to all code in this project.
The CC-BY-SA-3.0 license applies to textures and any other content in this project which is not source code. The CC-BY-SA-3.0 license applies to textures and any other content in this project which is not source code.
The file mesecons_detector/textures/mesecons_detector_side.png is an unmodified copy of
"default_steel_block.png" by Jean-Patrick Guerrero <https://github.com/kilbith>, which can be found at
<https://github.com/minetest/minetest_game/blob/9528c0f8b93d6934930e99c3c116df275fb0e4bc/mods/default/textures/default_steel_block.png>.
"default_steel_block.png" is licensed under a CC BY-SA 3.0 license. This license can be found later in this document, and can also be found at
<https://creativecommons.org/licenses/by-sa/3.0/>. The artwork is reportedly copyright (C) 2010-2018 kilbith.
================================================================= =================================================================
GNU LESSER GENERAL PUBLIC LICENSE GNU LESSER GENERAL PUBLIC LICENSE

@ -26,7 +26,7 @@ mesecon.register_node("mesecons_blinkyplant:blinky_plant", {
paramtype = "light", paramtype = "light",
is_ground_content = false, is_ground_content = false,
walkable = false, walkable = false,
sounds = default.node_sound_leaves_defaults(), sounds = mesecon.node_sound.leaves,
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, -0.5+0.7, 0.3}, fixed = {-0.3, -0.5, -0.3, 0.3, -0.5+0.7, 0.3},

@ -1,2 +1,2 @@
name = mesecons_blinkyplant name = mesecons_blinkyplant
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -52,7 +52,7 @@ minetest.register_node("mesecons_button:button_off", {
minetest.sound_play("mesecons_button_push", { pos = pos }, true) minetest.sound_play("mesecons_button_push", { pos = pos }, true)
minetest.get_node_timer(pos):start(1) minetest.get_node_timer(pos):start(1)
end, end,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.off, state = mesecon.state.off,
rules = mesecon.rules.buttonlike_get rules = mesecon.rules.buttonlike_get
@ -93,7 +93,7 @@ minetest.register_node("mesecons_button:button_on", {
groups = {dig_immediate=2, not_in_creative_inventory=1, mesecon_needs_receiver = 1}, groups = {dig_immediate=2, not_in_creative_inventory=1, mesecon_needs_receiver = 1},
drop = 'mesecons_button:button_off', drop = 'mesecons_button:button_off',
description = "Button", description = "Button",
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.on, state = mesecon.state.on,
rules = mesecon.rules.buttonlike_get rules = mesecon.rules.buttonlike_get
@ -105,6 +105,6 @@ minetest.register_node("mesecons_button:button_on", {
minetest.register_craft({ minetest.register_craft({
output = "mesecons_button:button_off 2", output = "mesecons_button:button_off 2",
recipe = { recipe = {
{"group:mesecon_conductor_craftable","default:stone"}, {"group:mesecon_conductor_craftable","mesecons_gamecompat:stone"},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_button name = mesecons_button
depends = default, mesecons, mesecons_receiver depends = mesecons, mesecons_gamecompat, mesecons_receiver

@ -189,7 +189,7 @@ minetest.register_node("mesecons_commandblock:commandblock_off", {
after_place_node = after_place, after_place_node = after_place,
on_receive_fields = receive_fields, on_receive_fields = receive_fields,
can_dig = can_dig, can_dig = can_dig,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = {effector = { mesecons = {effector = {
action_on = commandblock_action_on action_on = commandblock_action_on
}}, }},
@ -206,7 +206,7 @@ minetest.register_node("mesecons_commandblock:commandblock_on", {
after_place_node = after_place, after_place_node = after_place,
on_receive_fields = receive_fields, on_receive_fields = receive_fields,
can_dig = can_dig, can_dig = can_dig,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = {effector = { mesecons = {effector = {
action_off = commandblock_action_off action_off = commandblock_action_off
}}, }},

@ -1,2 +1,2 @@
name = mesecons_commandblock name = mesecons_commandblock
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -69,7 +69,7 @@ local def = {
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
delayer_time = delaytime[i], delayer_time = delaytime[i],
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode,
drop = "mesecons_delayer:delayer_off_1", drop = "mesecons_delayer:delayer_off_1",
} }
@ -169,6 +169,6 @@ minetest.register_craft({
output = "mesecons_delayer:delayer_off_1", output = "mesecons_delayer:delayer_off_1",
recipe = { recipe = {
{"mesecons_torch:mesecon_torch_on", "group:mesecon_conductor_craftable", "mesecons_torch:mesecon_torch_on"}, {"mesecons_torch:mesecon_torch_on", "group:mesecon_conductor_craftable", "mesecons_torch:mesecon_torch_on"},
{"default:cobble","default:cobble", "default:cobble"}, {"mesecons_gamecompat:cobble","mesecons_gamecompat:cobble", "mesecons_gamecompat:cobble"},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_delayer name = mesecons_delayer
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -1,3 +1,5 @@
local side_texture = mesecon.texture.steel_block or "mesecons_detector_side.png"
local GET_COMMAND = "GET" local GET_COMMAND = "GET"
-- Object detector -- Object detector
@ -64,7 +66,7 @@ local object_detector_digiline = {
} }
minetest.register_node("mesecons_detector:object_detector_off", { minetest.register_node("mesecons_detector:object_detector_off", {
tiles = {"default_steel_block.png", "default_steel_block.png", "jeija_object_detector_off.png", "jeija_object_detector_off.png", "jeija_object_detector_off.png", "jeija_object_detector_off.png"}, tiles = {side_texture, side_texture, "jeija_object_detector_off.png", "jeija_object_detector_off.png", "jeija_object_detector_off.png", "jeija_object_detector_off.png"},
paramtype = "light", paramtype = "light",
is_ground_content = false, is_ground_content = false,
walkable = true, walkable = true,
@ -76,13 +78,13 @@ minetest.register_node("mesecons_detector:object_detector_off", {
}}, }},
on_construct = object_detector_make_formspec, on_construct = object_detector_make_formspec,
on_receive_fields = object_detector_on_receive_fields, on_receive_fields = object_detector_on_receive_fields,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
digiline = object_detector_digiline, digiline = object_detector_digiline,
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode,
}) })
minetest.register_node("mesecons_detector:object_detector_on", { minetest.register_node("mesecons_detector:object_detector_on", {
tiles = {"default_steel_block.png", "default_steel_block.png", "jeija_object_detector_on.png", "jeija_object_detector_on.png", "jeija_object_detector_on.png", "jeija_object_detector_on.png"}, tiles = {side_texture, side_texture, "jeija_object_detector_on.png", "jeija_object_detector_on.png", "jeija_object_detector_on.png", "jeija_object_detector_on.png"},
paramtype = "light", paramtype = "light",
is_ground_content = false, is_ground_content = false,
walkable = true, walkable = true,
@ -94,7 +96,7 @@ minetest.register_node("mesecons_detector:object_detector_on", {
}}, }},
on_construct = object_detector_make_formspec, on_construct = object_detector_make_formspec,
on_receive_fields = object_detector_on_receive_fields, on_receive_fields = object_detector_on_receive_fields,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
digiline = object_detector_digiline, digiline = object_detector_digiline,
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode,
}) })
@ -102,18 +104,18 @@ minetest.register_node("mesecons_detector:object_detector_on", {
minetest.register_craft({ minetest.register_craft({
output = 'mesecons_detector:object_detector_off', output = 'mesecons_detector:object_detector_off',
recipe = { recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot"},
{"default:steel_ingot", "mesecons_luacontroller:luacontroller0000", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_luacontroller:luacontroller0000", "mesecons_gamecompat:steel_ingot"},
{"default:steel_ingot", "group:mesecon_conductor_craftable", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'mesecons_detector:object_detector_off', output = 'mesecons_detector:object_detector_off',
recipe = { recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot"},
{"default:steel_ingot", "mesecons_microcontroller:microcontroller0000", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_microcontroller:microcontroller0000", "mesecons_gamecompat:steel_ingot"},
{"default:steel_ingot", "group:mesecon_conductor_craftable", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot"},
} }
}) })
@ -239,7 +241,7 @@ local node_detector_digiline = {
} }
minetest.register_node("mesecons_detector:node_detector_off", { minetest.register_node("mesecons_detector:node_detector_off", {
tiles = {"default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "jeija_node_detector_off.png"}, tiles = {side_texture, side_texture, side_texture, side_texture, side_texture, "jeija_node_detector_off.png"},
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
@ -251,13 +253,13 @@ minetest.register_node("mesecons_detector:node_detector_off", {
}}, }},
on_construct = node_detector_make_formspec, on_construct = node_detector_make_formspec,
on_receive_fields = node_detector_on_receive_fields, on_receive_fields = node_detector_on_receive_fields,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
digiline = node_detector_digiline, digiline = node_detector_digiline,
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode,
}) })
minetest.register_node("mesecons_detector:node_detector_on", { minetest.register_node("mesecons_detector:node_detector_on", {
tiles = {"default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "jeija_node_detector_on.png"}, tiles = {side_texture, side_texture, side_texture, side_texture, side_texture, "jeija_node_detector_on.png"},
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
@ -269,7 +271,7 @@ minetest.register_node("mesecons_detector:node_detector_on", {
}}, }},
on_construct = node_detector_make_formspec, on_construct = node_detector_make_formspec,
on_receive_fields = node_detector_on_receive_fields, on_receive_fields = node_detector_on_receive_fields,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
digiline = node_detector_digiline, digiline = node_detector_digiline,
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode,
}) })
@ -277,18 +279,18 @@ minetest.register_node("mesecons_detector:node_detector_on", {
minetest.register_craft({ minetest.register_craft({
output = 'mesecons_detector:node_detector_off', output = 'mesecons_detector:node_detector_off',
recipe = { recipe = {
{"default:steel_ingot", "group:mesecon_conductor_craftable", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot"},
{"default:steel_ingot", "mesecons_luacontroller:luacontroller0000", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_luacontroller:luacontroller0000", "mesecons_gamecompat:steel_ingot"},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'mesecons_detector:node_detector_off', output = 'mesecons_detector:node_detector_off',
recipe = { recipe = {
{"default:steel_ingot", "group:mesecon_conductor_craftable", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot"},
{"default:steel_ingot", "mesecons_microcontroller:microcontroller0000", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_microcontroller:microcontroller0000", "mesecons_gamecompat:steel_ingot"},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:steel_ingot"},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_detector name = mesecons_detector
depends = default, mesecons, mesecons_materials depends = mesecons, mesecons_gamecompat, mesecons_materials

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

@ -32,7 +32,7 @@ minetest.register_node("mesecons_extrawires:corner_on", {
selection_box = corner_selectionbox, selection_box = corner_selectionbox,
groups = {dig_immediate = 3, not_in_creative_inventory = 1}, groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons_extrawires:corner_off", drop = "mesecons_extrawires:corner_off",
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = {conductor = mesecons = {conductor =
{ {
state = mesecon.state.on, state = mesecon.state.on,
@ -58,7 +58,7 @@ minetest.register_node("mesecons_extrawires:corner_off", {
sunlight_propagates = true, sunlight_propagates = true,
selection_box = corner_selectionbox, selection_box = corner_selectionbox,
groups = {dig_immediate = 3}, groups = {dig_immediate = 3},
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = {conductor = mesecons = {conductor =
{ {
state = mesecon.state.off, state = mesecon.state.off,

@ -32,7 +32,7 @@ minetest.register_node("mesecons_extrawires:crossover_off", {
stack_max = 99, stack_max = 99,
selection_box = {type="fixed", fixed={-16/32, -16/32, -16/32, 16/32, -5/32, 16/32}}, selection_box = {type="fixed", fixed={-16/32, -16/32, -16/32, 16/32, -5/32, 16/32}},
groups = {dig_immediate=3, mesecon=3}, groups = {dig_immediate=3, mesecon=3},
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = { mesecons = {
conductor = { conductor = {
states = crossover_states, states = crossover_states,
@ -59,7 +59,7 @@ minetest.register_node("mesecons_extrawires:crossover_01", {
stack_max = 99, stack_max = 99,
selection_box = {type="fixed", fixed={-16/32, -16/32, -16/32, 16/32, -5/32, 16/32}}, selection_box = {type="fixed", fixed={-16/32, -16/32, -16/32, 16/32, -5/32, 16/32}},
groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1}, groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1},
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = { mesecons = {
conductor = { conductor = {
states = crossover_states, states = crossover_states,
@ -86,7 +86,7 @@ minetest.register_node("mesecons_extrawires:crossover_10", {
stack_max = 99, stack_max = 99,
selection_box = {type="fixed", fixed={-16/32, -16/32, -16/32, 16/32, -5/32, 16/32}}, selection_box = {type="fixed", fixed={-16/32, -16/32, -16/32, 16/32, -5/32, 16/32}},
groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1}, groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1},
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = { mesecons = {
conductor = { conductor = {
states = crossover_states, states = crossover_states,
@ -113,7 +113,7 @@ minetest.register_node("mesecons_extrawires:crossover_on", {
stack_max = 99, stack_max = 99,
selection_box = {type="fixed", fixed={-16/32, -16/32, -16/32, 16/32, -5/32, 16/32}}, selection_box = {type="fixed", fixed={-16/32, -16/32, -16/32, 16/32, -5/32, 16/32}},
groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1}, groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1},
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = { mesecons = {
conductor = { conductor = {
states = crossover_states, states = crossover_states,

@ -61,7 +61,7 @@ for k, state in ipairs(doublecorner_states) do
selection_box = doublecorner_selectionbox, selection_box = doublecorner_selectionbox,
groups = groups, groups = groups,
drop = doublecorner_states[1], drop = doublecorner_states[1],
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = { mesecons = {
conductor = { conductor = {
states = doublecorner_states, states = doublecorner_states,

@ -1,3 +1,20 @@
local mese_nodename = minetest.registered_aliases["mesecons_gamecompat:mese"]
if mese_nodename then
-- Convert placeholders.
minetest.register_alias("mesecons_extrawires:mese", mese_nodename)
else
-- Register placeholder.
mese_nodename = "mesecons_extrawires:mese"
minetest.register_node("mesecons_extrawires:mese", {
description = "Mese Wire",
tiles = {"mesecons_wire_off.png"},
paramtype = "light",
light_source = 3,
groups = {cracky = 1},
sounds = mesecon.node_sound.stone,
})
end
local mesewire_rules = local mesewire_rules =
{ {
{x = 1, y = 0, z = 0}, {x = 1, y = 0, z = 0},
@ -8,7 +25,7 @@ local mesewire_rules =
{x = 0, y = 0, z =-1}, {x = 0, y = 0, z =-1},
} }
minetest.override_item("default:mese", { minetest.override_item(mese_nodename, {
mesecons = {conductor = { mesecons = {conductor = {
state = mesecon.state.off, state = mesecon.state.off,
onstate = "mesecons_extrawires:mese_powered", onstate = "mesecons_extrawires:mese_powered",
@ -18,15 +35,17 @@ minetest.override_item("default:mese", {
-- Copy node definition of powered mese from normal mese -- Copy node definition of powered mese from normal mese
-- and brighten texture tiles to indicate mese is powered -- and brighten texture tiles to indicate mese is powered
local powered_def = mesecon.merge_tables(minetest.registered_nodes["default:mese"], { local unpowered_def = minetest.registered_nodes[mese_nodename]
drop = "default:mese", local powered_def = mesecon.merge_tables(unpowered_def, {
light_source = 5, drop = mese_nodename,
paramtype = "light",
light_source = math.min(unpowered_def.light_source + 2, minetest.LIGHT_MAX),
mesecons = {conductor = { mesecons = {conductor = {
state = mesecon.state.on, state = mesecon.state.on,
offstate = "default:mese", offstate = mese_nodename,
rules = mesewire_rules rules = mesewire_rules
}}, }},
groups = {cracky = 1, not_in_creative_inventory = 1}, groups = mesecon.merge_tables(unpowered_def.groups or {}, {not_in_creative_inventory = 1}),
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode,
}) })

@ -1,3 +1,3 @@
name = mesecons_extrawires name = mesecons_extrawires
depends = default, mesecons depends = mesecons, mesecons_gamecompat
optional_depends = screwdriver optional_depends = screwdriver

@ -44,7 +44,7 @@ minetest.register_node("mesecons_extrawires:tjunction_on", {
node_box = tjunction_nodebox, node_box = tjunction_nodebox,
groups = {dig_immediate = 3, not_in_creative_inventory = 1}, groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons_extrawires:tjunction_off", drop = "mesecons_extrawires:tjunction_off",
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = {conductor = mesecons = {conductor =
{ {
state = mesecon.state.on, state = mesecon.state.on,
@ -74,7 +74,7 @@ minetest.register_node("mesecons_extrawires:tjunction_off", {
selection_box = tjunction_selectionbox, selection_box = tjunction_selectionbox,
node_box = tjunction_nodebox, node_box = tjunction_nodebox,
groups = {dig_immediate = 3}, groups = {dig_immediate = 3},
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = {conductor = mesecons = {conductor =
{ {
state = mesecon.state.off, state = mesecon.state.off,

@ -89,7 +89,7 @@ mesecon.register_node("mesecons_extrawires:vertical", {
drop = "mesecons_extrawires:vertical_off", drop = "mesecons_extrawires:vertical_off",
after_place_node = vertical_update, after_place_node = vertical_update,
after_dig_node = vertical_update, after_dig_node = vertical_update,
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
},{ },{
tiles = {"mesecons_wire_off.png"}, tiles = {"mesecons_wire_off.png"},
groups = {dig_immediate=3}, groups = {dig_immediate=3},
@ -123,7 +123,7 @@ mesecon.register_node("mesecons_extrawires:vertical_top", {
drop = "mesecons_extrawires:vertical_off", drop = "mesecons_extrawires:vertical_off",
after_place_node = vertical_update, after_place_node = vertical_update,
after_dig_node = vertical_update, after_dig_node = vertical_update,
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
},{ },{
tiles = {"mesecons_wire_off.png"}, tiles = {"mesecons_wire_off.png"},
mesecons = {conductor = { mesecons = {conductor = {
@ -155,7 +155,7 @@ mesecon.register_node("mesecons_extrawires:vertical_bottom", {
drop = "mesecons_extrawires:vertical_off", drop = "mesecons_extrawires:vertical_off",
after_place_node = vertical_update, after_place_node = vertical_update,
after_dig_node = vertical_update, after_dig_node = vertical_update,
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
},{ },{
tiles = {"mesecons_wire_off.png"}, tiles = {"mesecons_wire_off.png"},
mesecons = {conductor = { mesecons = {conductor = {

@ -109,7 +109,7 @@ plg.register_nodes({
local is = lcore.deserialize(meta:get_string("instr")) local is = lcore.deserialize(meta:get_string("instr"))
minetest.show_formspec(name, "mesecons:fpga", plg.to_formspec_string(is, nil)) minetest.show_formspec(name, "mesecons:fpga", plg.to_formspec_string(is, nil))
end, end,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = { mesecons = {
effector = { effector = {
rules = {}, -- replaced later rules = {}, -- replaced later

@ -1,3 +1,3 @@
name = mesecons_fpga name = mesecons_fpga
depends = default, mesecons depends = mesecons, mesecons_gamecompat
optional_depends = screwdriver optional_depends = screwdriver

@ -0,0 +1,71 @@
--Aliases
minetest.register_alias("mesecons_gamecompat:chest", "default:chest")
minetest.register_alias("mesecons_gamecompat:chest_locked", "default:chest_locked")
minetest.register_alias("mesecons_gamecompat:coalblock", "default:coalblock")
minetest.register_alias("mesecons_gamecompat:cobble", "default:cobble")
minetest.register_alias("mesecons_gamecompat:glass", "default:glass")
minetest.register_alias("mesecons_gamecompat:lava_source", "default:lava_source")
minetest.register_alias("mesecons_gamecompat:mese", "default:mese")
minetest.register_alias("mesecons_gamecompat:mese_crystal", "default:mese_crystal")
minetest.register_alias("mesecons_gamecompat:mese_crystal_fragment", "default:mese_crystal_fragment")
minetest.register_alias("mesecons_gamecompat:obsidian_glass", "default:obsidian_glass")
minetest.register_alias("mesecons_gamecompat:stone", "default:stone")
minetest.register_alias("mesecons_gamecompat:steel_ingot", "default:steel_ingot")
minetest.register_alias("mesecons_gamecompat:steelblock", "default:steelblock")
minetest.register_alias("mesecons_gamecompat:torch", "default:torch")
if minetest.get_modpath("dye") then
for _, color in ipairs(mesecon.dye_colors) do
minetest.register_alias("mesecons_gamecompat:dye_" .. color, "dye:" .. color)
end
end
-- Sounds
mesecon.node_sound.default = default.node_sound_defaults()
mesecon.node_sound.glass = default.node_sound_glass_defaults()
mesecon.node_sound.leaves = default.node_sound_leaves_defaults()
mesecon.node_sound.stone = default.node_sound_stone_defaults()
mesecon.node_sound.wood = default.node_sound_wood_defaults()
if minetest.get_modpath("fire") then
mesecon.sound_name.fire = "fire_fire"
end
if minetest.get_modpath("tnt") then
mesecon.sound_name.explode = "tnt_explode"
end
-- Textures
mesecon.texture.steel_block = "default_steel_block.png"
-- MVPS stoppers
if minetest.get_modpath("mesecons_mvps") then
-- All of the locked and internal nodes in Minetest Game
for _, name in ipairs({
"default:chest_locked",
"default:chest_locked_open",
"doors:door_steel_b_1", -- old style doors
"doors:door_steel_b_2", --
"doors:door_steel_t_1", --
"doors:door_steel_t_2", --
"doors:door_steel_a", -- new style doors
"doors:door_steel_b", --
"doors:door_steel_c", --
"doors:door_steel_d", --
"doors:hidden",
"doors:trapdoor_steel",
"doors:trapdoor_steel_open",
"xpanes:door_steel_bar_a",
"xpanes:door_steel_bar_b",
"xpanes:door_steel_bar_c",
"xpanes:door_steel_bar_d",
"xpanes:trapdoor_steel_bar",
"xpanes:trapdoor_steel_bar_open",
}) do
mesecon.register_mvps_stopper(name)
end
end

@ -0,0 +1,15 @@
mesecon.node_sound = {}
mesecon.sound_name = {}
mesecon.texture = {}
mesecon.dye_colors = {
"red", "green", "blue", "grey", "dark_grey", "yellow",
"orange", "white", "pink", "magenta", "cyan", "violet",
}
if minetest.get_modpath("default") then
minetest.log("info", "Mesecons: detected Minetest Game for game compatibility")
dofile(minetest.get_modpath("mesecons_gamecompat").."/compat_mtg.lua")
end

@ -0,0 +1,3 @@
name = mesecons_gamecompat
depends = mesecons
optional_depends = fire, default, dye, mesecons_mvps, tnt

@ -78,7 +78,7 @@ local function register_gate(name, inputnumber, assess, recipe, description)
selection_box = selection_box, selection_box = selection_box,
node_box = nodebox, node_box = nodebox,
walkable = true, walkable = true,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
assess = assess, assess = assess,
onstate = basename.."_on", onstate = basename.."_on",
offstate = basename.."_off", offstate = basename.."_off",

@ -1,2 +1,2 @@
name = mesecons_gates name = mesecons_gates
depends = default, mesecons, mesecons_microcontroller, mesecons_delayer, mesecons_torch, mesecons_materials depends = mesecons, mesecons_gamecompat, mesecons_microcontroller, mesecons_delayer, mesecons_torch, mesecons_materials

@ -23,7 +23,7 @@ minetest.register_node("mesecons_hydroturbine:hydro_turbine_off", {
type = "fixed", type = "fixed",
fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 }, fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 },
}, },
sounds = default.node_sound_metal_defaults(), sounds = mesecon.node_sound.metal,
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.off state = mesecon.state.off
}}, }},
@ -53,7 +53,7 @@ minetest.register_node("mesecons_hydroturbine:hydro_turbine_on", {
type = "fixed", type = "fixed",
fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 }, fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 },
}, },
sounds = default.node_sound_metal_defaults(), sounds = mesecon.node_sound.metal,
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.on state = mesecon.state.on
}}, }},
@ -97,9 +97,9 @@ nodenames = {"mesecons_hydroturbine:hydro_turbine_on"},
minetest.register_craft({ minetest.register_craft({
output = "mesecons_hydroturbine:hydro_turbine_off 2", output = "mesecons_hydroturbine:hydro_turbine_off 2",
recipe = { recipe = {
{"","default:stick", ""}, {"","grup:stick", ""},
{"default:stick", "default:steel_ingot", "default:stick"}, {"group:stick", "mesecons_gamecompat:steel_ingot", "group:stick"},
{"","default:stick", ""}, {"","group:stick", ""},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_hydroturbine name = mesecons_hydroturbine
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -36,7 +36,7 @@ minetest.register_node("mesecons_insulated:insulated_on", {
}, },
groups = {dig_immediate = 3, not_in_creative_inventory = 1}, groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons_insulated:insulated_off", drop = "mesecons_insulated:insulated_off",
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = {conductor = { mesecons = {conductor = {
state = mesecon.state.on, state = mesecon.state.on,
offstate = "mesecons_insulated:insulated_off", offstate = "mesecons_insulated:insulated_off",
@ -72,7 +72,7 @@ minetest.register_node("mesecons_insulated:insulated_off", {
fixed = { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 } fixed = { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }
}, },
groups = {dig_immediate = 3}, groups = {dig_immediate = 3},
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = {conductor = { mesecons = {conductor = {
state = mesecon.state.off, state = mesecon.state.off,
onstate = "mesecons_insulated:insulated_on", onstate = "mesecons_insulated:insulated_on",

@ -1,3 +1,3 @@
name = mesecons_insulated name = mesecons_insulated
depends = default, mesecons depends = mesecons, mesecons_gamecompat
optional_depends = screwdriver optional_depends = screwdriver

@ -26,7 +26,7 @@ minetest.register_node("mesecons_lamp:lamp_on", {
selection_box = mesecon_lamp_box, selection_box = mesecon_lamp_box,
groups = {dig_immediate = 3,not_in_creative_inventory = 1, mesecon_effector_on = 1}, groups = {dig_immediate = 3,not_in_creative_inventory = 1, mesecon_effector_on = 1},
drop = "mesecons_lamp:lamp_off 1", drop = "mesecons_lamp:lamp_off 1",
sounds = default.node_sound_glass_defaults(), sounds = mesecon.node_sound.glass,
mesecons = {effector = { mesecons = {effector = {
action_off = function (pos, node) action_off = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_lamp:lamp_off", param2 = node.param2}) minetest.swap_node(pos, {name = "mesecons_lamp:lamp_off", param2 = node.param2})
@ -51,7 +51,7 @@ minetest.register_node("mesecons_lamp:lamp_off", {
selection_box = mesecon_lamp_box, selection_box = mesecon_lamp_box,
groups = {dig_immediate=3, mesecon_receptor_off = 1, mesecon_effector_off = 1}, groups = {dig_immediate=3, mesecon_receptor_off = 1, mesecon_effector_off = 1},
description = "Mesecon Lamp", description = "Mesecon Lamp",
sounds = default.node_sound_glass_defaults(), sounds = mesecon.node_sound.glass,
mesecons = {effector = { mesecons = {effector = {
action_on = function (pos, node) action_on = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_lamp:lamp_on", param2 = node.param2}) minetest.swap_node(pos, {name = "mesecons_lamp:lamp_on", param2 = node.param2})
@ -64,8 +64,8 @@ minetest.register_node("mesecons_lamp:lamp_off", {
minetest.register_craft({ minetest.register_craft({
output = "mesecons_lamp:lamp_off 1", output = "mesecons_lamp:lamp_off 1",
recipe = { recipe = {
{"", "default:glass", ""}, {"", "mesecons_gamecompat:glass", ""},
{"group:mesecon_conductor_craftable", "default:steel_ingot", "group:mesecon_conductor_craftable"}, {"group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable"},
{"", "default:glass", ""}, {"", "mesecons_gamecompat:glass", ""},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_lamp name = mesecons_lamp
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -23,7 +23,7 @@ function mesecon.lightstone_add(name, base_item, texture_off, texture_on, desc)
is_ground_content = false, is_ground_content = false,
groups = {cracky = 2, mesecon_effector_off = 1, mesecon = 2}, groups = {cracky = 2, mesecon_effector_off = 1, mesecon = 2},
description = desc, description = desc,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = {effector = { mesecons = {effector = {
rules = lightstone_rules, rules = lightstone_rules,
action_on = function (pos, node) action_on = function (pos, node)
@ -38,7 +38,7 @@ function mesecon.lightstone_add(name, base_item, texture_off, texture_on, desc)
groups = {cracky = 2, not_in_creative_inventory = 1, mesecon = 2}, groups = {cracky = 2, not_in_creative_inventory = 1, mesecon = 2},
drop = "mesecons_lightstone:lightstone_" .. name .. "_off", drop = "mesecons_lightstone:lightstone_" .. name .. "_off",
light_source = minetest.LIGHT_MAX - 2, light_source = minetest.LIGHT_MAX - 2,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = {effector = { mesecons = {effector = {
rules = lightstone_rules, rules = lightstone_rules,
action_off = function (pos, node) action_off = function (pos, node)
@ -52,22 +52,22 @@ function mesecon.lightstone_add(name, base_item, texture_off, texture_on, desc)
output = "mesecons_lightstone:lightstone_" .. name .. "_off", output = "mesecons_lightstone:lightstone_" .. name .. "_off",
recipe = { recipe = {
{"",base_item,""}, {"",base_item,""},
{base_item,"default:torch",base_item}, {base_item,"mesecons_gamecompat:torch",base_item},
{"","group:mesecon_conductor_craftable",""} {"","group:mesecon_conductor_craftable",""}
} }
}) })
end end
mesecon.lightstone_add("red", "dye:red", "jeija_lightstone_red_off.png", "jeija_lightstone_red_on.png", "Red Lightstone") mesecon.lightstone_add("red", "mesecons_gamecompat:dye_red", "jeija_lightstone_red_off.png", "jeija_lightstone_red_on.png", "Red Lightstone")
mesecon.lightstone_add("green", "dye:green", "jeija_lightstone_green_off.png", "jeija_lightstone_green_on.png", "Green Lightstone") mesecon.lightstone_add("green", "mesecons_gamecompat:dye_green", "jeija_lightstone_green_off.png", "jeija_lightstone_green_on.png", "Green Lightstone")
mesecon.lightstone_add("blue", "dye:blue", "jeija_lightstone_blue_off.png", "jeija_lightstone_blue_on.png", "Blue Lightstone") mesecon.lightstone_add("blue", "mesecons_gamecompat:dye_blue", "jeija_lightstone_blue_off.png", "jeija_lightstone_blue_on.png", "Blue Lightstone")
mesecon.lightstone_add("gray", "dye:grey", "jeija_lightstone_gray_off.png", "jeija_lightstone_gray_on.png", "Grey Lightstone") mesecon.lightstone_add("gray", "mesecons_gamecompat:dye_grey", "jeija_lightstone_gray_off.png", "jeija_lightstone_gray_on.png", "Grey Lightstone")
mesecon.lightstone_add("darkgray", "dye:dark_grey", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_darkgray_on.png", "Dark Grey Lightstone") mesecon.lightstone_add("darkgray", "mesecons_gamecompat:dye_dark_grey", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_darkgray_on.png", "Dark Grey Lightstone")
mesecon.lightstone_add("yellow", "dye:yellow", "jeija_lightstone_yellow_off.png", "jeija_lightstone_yellow_on.png", "Yellow Lightstone") mesecon.lightstone_add("yellow", "mesecons_gamecompat:dye_yellow", "jeija_lightstone_yellow_off.png", "jeija_lightstone_yellow_on.png", "Yellow Lightstone")
mesecon.lightstone_add("orange", "dye:orange", "jeija_lightstone_orange_off.png", "jeija_lightstone_orange_on.png", "Orange Lightstone") mesecon.lightstone_add("orange", "mesecons_gamecompat:dye_orange", "jeija_lightstone_orange_off.png", "jeija_lightstone_orange_on.png", "Orange Lightstone")
mesecon.lightstone_add("white", "dye:white", "jeija_lightstone_white_off.png", "jeija_lightstone_white_on.png", "White Lightstone") mesecon.lightstone_add("white", "mesecons_gamecompat:dye_white", "jeija_lightstone_white_off.png", "jeija_lightstone_white_on.png", "White Lightstone")
mesecon.lightstone_add("pink", "dye:pink", "jeija_lightstone_pink_off.png", "jeija_lightstone_pink_on.png", "Pink Lightstone") mesecon.lightstone_add("pink", "mesecons_gamecompat:dye_pink", "jeija_lightstone_pink_off.png", "jeija_lightstone_pink_on.png", "Pink Lightstone")
mesecon.lightstone_add("magenta", "dye:magenta", "jeija_lightstone_magenta_off.png", "jeija_lightstone_magenta_on.png", "Magenta Lightstone") mesecon.lightstone_add("magenta", "mesecons_gamecompat:dye_magenta", "jeija_lightstone_magenta_off.png", "jeija_lightstone_magenta_on.png", "Magenta Lightstone")
mesecon.lightstone_add("cyan", "dye:cyan", "jeija_lightstone_cyan_off.png", "jeija_lightstone_cyan_on.png", "Cyan Lightstone") mesecon.lightstone_add("cyan", "mesecons_gamecompat:dye_cyan", "jeija_lightstone_cyan_off.png", "jeija_lightstone_cyan_on.png", "Cyan Lightstone")
mesecon.lightstone_add("violet", "dye:violet", "jeija_lightstone_violet_off.png", "jeija_lightstone_violet_on.png", "Violet Lightstone") mesecon.lightstone_add("violet", "mesecons_gamecompat:dye_violet", "jeija_lightstone_violet_off.png", "jeija_lightstone_violet_on.png", "Violet Lightstone")

@ -1,2 +1,2 @@
name = mesecons_lightstone name = mesecons_lightstone
depends = default, mesecons, dye depends = mesecons, mesecons_gamecompat

@ -865,7 +865,7 @@ for d = 0, 1 do
node_box = node_box, node_box = node_box,
on_construct = reset_meta, on_construct = reset_meta,
on_receive_fields = on_receive_fields, on_receive_fields = on_receive_fields,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = mesecons, mesecons = mesecons,
digiline = digiline, digiline = digiline,
-- Virtual portstates are the ports that -- Virtual portstates are the ports that
@ -914,7 +914,7 @@ minetest.register_node(BASENAME .. "_burnt", {
node_box = node_box, node_box = node_box,
on_construct = reset_meta, on_construct = reset_meta,
on_receive_fields = on_receive_fields, on_receive_fields = on_receive_fields,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
virtual_portstates = {a = false, b = false, c = false, d = false}, virtual_portstates = {a = false, b = false, c = false, d = false},
mesecons = { mesecons = {
effector = { effector = {

@ -1,2 +1,2 @@
name = mesecons_luacontroller name = mesecons_luacontroller
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -36,6 +36,6 @@ minetest.register_craft({
output = "mesecons_materials:silicon 4", output = "mesecons_materials:silicon 4",
recipe = { recipe = {
{"group:sand", "group:sand"}, {"group:sand", "group:sand"},
{"group:sand", "default:steel_ingot"}, {"group:sand", "mesecons_gamecompat:steel_ingot"},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_materials name = mesecons_materials
depends = default, mesecons depends = mesecons_gamecompat

@ -140,7 +140,7 @@ minetest.register_node(nodename, {
yc.reset (pos) yc.reset (pos)
yc.update(pos) yc.update(pos)
end, end,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = mesecons, mesecons = mesecons,
after_dig_node = function (pos, node) after_dig_node = function (pos, node)
rules = microc_rules[node.name] rules = microc_rules[node.name]

@ -1,2 +1,2 @@
name = mesecons_microcontroller name = mesecons_microcontroller
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -129,7 +129,7 @@ mesecon.register_movestone("mesecons_movestones:movestone", {
}, },
groups = {cracky = 3}, groups = {cracky = 3},
description = "Movestone", description = "Movestone",
sounds = default.node_sound_stone_defaults() sounds = mesecon.node_sound.stone
}, false, false) }, false, false)
mesecon.register_movestone("mesecons_movestones:sticky_movestone", { mesecon.register_movestone("mesecons_movestones:sticky_movestone", {
@ -143,7 +143,7 @@ mesecon.register_movestone("mesecons_movestones:sticky_movestone", {
}, },
groups = {cracky = 3}, groups = {cracky = 3},
description = "Sticky Movestone", description = "Sticky Movestone",
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
}, true, false) }, true, false)
mesecon.register_movestone("mesecons_movestones:movestone_vertical", { mesecon.register_movestone("mesecons_movestones:movestone_vertical", {
@ -157,7 +157,7 @@ mesecon.register_movestone("mesecons_movestones:movestone_vertical", {
}, },
groups = {cracky = 3}, groups = {cracky = 3},
description = "Vertical Movestone", description = "Vertical Movestone",
sounds = default.node_sound_stone_defaults() sounds = mesecon.node_sound.stone
}, false, true) }, false, true)
mesecon.register_movestone("mesecons_movestones:sticky_movestone_vertical", { mesecon.register_movestone("mesecons_movestones:sticky_movestone_vertical", {
@ -171,7 +171,7 @@ mesecon.register_movestone("mesecons_movestones:sticky_movestone_vertical", {
}, },
groups = {cracky = 3}, groups = {cracky = 3},
description = "Vertical Sticky Movestone", description = "Vertical Sticky Movestone",
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
}, true, true) }, true, true)
@ -180,9 +180,9 @@ mesecon.register_movestone("mesecons_movestones:sticky_movestone_vertical", {
minetest.register_craft({ minetest.register_craft({
output = "mesecons_movestones:movestone 2", output = "mesecons_movestones:movestone 2",
recipe = { recipe = {
{"default:stone", "default:stone", "default:stone"}, {"mesecons_gamecompat:stone", "mesecons_gamecompat:stone", "mesecons_gamecompat:stone"},
{"group:mesecon_conductor_craftable", "group:mesecon_conductor_craftable", "group:mesecon_conductor_craftable"}, {"group:mesecon_conductor_craftable", "group:mesecon_conductor_craftable", "group:mesecon_conductor_craftable"},
{"default:stone", "default:stone", "default:stone"}, {"mesecons_gamecompat:stone", "mesecons_gamecompat:stone", "mesecons_gamecompat:stone"},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_movestones name = mesecons_movestones
depends = default, mesecons, mesecons_materials, mesecons_mvps depends = mesecons, mesecons_gamecompat, mesecons_materials, mesecons_mvps

@ -311,31 +311,6 @@ end
-- TODO: load blocks instead, as with wires. -- TODO: load blocks instead, as with wires.
mesecon.register_mvps_stopper("ignore") mesecon.register_mvps_stopper("ignore")
-- All of the locked and internal nodes in Minetest Game
for _, name in ipairs({
"default:chest_locked",
"default:chest_locked_open",
"doors:door_steel_b_1", -- old style doors
"doors:door_steel_b_2", --
"doors:door_steel_t_1", --
"doors:door_steel_t_2", --
"doors:door_steel_a", -- new style doors
"doors:door_steel_b", --
"doors:door_steel_c", --
"doors:door_steel_d", --
"doors:hidden",
"doors:trapdoor_steel",
"doors:trapdoor_steel_open",
"xpanes:door_steel_bar_a",
"xpanes:door_steel_bar_b",
"xpanes:door_steel_bar_c",
"xpanes:door_steel_bar_d",
"xpanes:trapdoor_steel_bar",
"xpanes:trapdoor_steel_bar_open",
}) do
mesecon.register_mvps_stopper(name)
end
mesecon.register_on_mvps_move(mesecon.move_hot_nodes) mesecon.register_on_mvps_move(mesecon.move_hot_nodes)
mesecon.register_on_mvps_move(function(moved_nodes) mesecon.register_on_mvps_move(function(moved_nodes)
for i = 1, #moved_nodes do for i = 1, #moved_nodes do

@ -12,7 +12,7 @@ minetest.register_node("mesecons_noteblock:noteblock", {
mesecon.noteblock_play(pos, node.param2) mesecon.noteblock_play(pos, node.param2)
minetest.set_node(pos, node) minetest.set_node(pos, node)
end, end,
sounds = default.node_sound_wood_defaults(), sounds = mesecon.node_sound.wood,
mesecons = {effector = { -- play sound when activated mesecons = {effector = { -- play sound when activated
action_on = function(pos, node) action_on = function(pos, node)
mesecon.noteblock_play(pos, node.param2) mesecon.noteblock_play(pos, node.param2)
@ -25,7 +25,7 @@ minetest.register_craft({
output = "mesecons_noteblock:noteblock 1", output = "mesecons_noteblock:noteblock 1",
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"},
{"group:mesecon_conductor_craftable", "default:steel_ingot", "group:mesecon_conductor_craftable"}, {"group:mesecon_conductor_craftable", "mesecons_gamecompat:steel_ingot", "group:mesecon_conductor_craftable"},
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"},
} }
}) })
@ -46,14 +46,20 @@ local soundnames = {
"mesecons_noteblock_c" "mesecons_noteblock_c"
} }
local node_sounds = { local node_sounds = {}
["default:lava_source"] = "fire_fire", for alias, sound in pairs({
["default:chest"] = "mesecons_noteblock_snare", ["mesecons_gamecompat:lava_source"] = mesecon.sound_name.fire,
["default:chest_locked"] = "mesecons_noteblock_snare", ["mesecons_gamecompat:chest"] = "mesecons_noteblock_snare",
["default:coalblock"] = "tnt_explode", ["mesecons_gamecompat:chest_locked"] = "mesecons_noteblock_snare",
["default:glass"] = "mesecons_noteblock_hihat", ["mesecons_gamecompat:coalblock"] = mesecon.sound_name.explode,
["default:obsidian_glass"] = "mesecons_noteblock_hihat", ["mesecons_gamecompat:glass"] = "mesecons_noteblock_hihat",
} ["mesecons_gamecompat:obsidian_glass"] = "mesecons_noteblock_hihat",
}) do
local nodename = minetest.registered_aliases[alias]
if nodename then
node_sounds[nodename] = sound
end
end
local node_sounds_group = { local node_sounds_group = {
["stone"] = "mesecons_noteblock_kick", ["stone"] = "mesecons_noteblock_kick",
@ -61,6 +67,7 @@ local node_sounds_group = {
["wood"] = "mesecons_noteblock_litecrash", ["wood"] = "mesecons_noteblock_litecrash",
} }
local steelblock_nodename = minetest.registered_aliases["mesecons_gamecompat:steelblock"]
mesecon.noteblock_play = function(pos, param2) mesecon.noteblock_play = function(pos, param2)
pos.y = pos.y-1 pos.y = pos.y-1
local nodeunder = minetest.get_node(pos).name local nodeunder = minetest.get_node(pos).name
@ -80,7 +87,7 @@ mesecon.noteblock_play = function(pos, param2)
minetest.log("error", "[mesecons_noteblock] No soundname found, test param2") minetest.log("error", "[mesecons_noteblock] No soundname found, test param2")
return return
end end
if nodeunder == "default:steelblock" then if nodeunder == steelblock_nodename then
soundname = soundname.. 2 soundname = soundname.. 2
end end
end end

@ -1,2 +1,2 @@
name = mesecons_noteblock name = mesecons_noteblock
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -278,7 +278,7 @@ minetest.register_node("mesecons_pistons:piston_normal_off", {
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
after_place_node = piston_orientate, after_place_node = piston_orientate,
sounds = default.node_sound_wood_defaults(), sounds = mesecon.node_sound.wood,
mesecons = {effector={ mesecons = {effector={
action_on = piston_on, action_on = piston_on,
rules = piston_get_rules, rules = piston_get_rules,
@ -308,7 +308,7 @@ minetest.register_node("mesecons_pistons:piston_normal_on", {
after_dig_node = piston_after_dig, after_dig_node = piston_after_dig,
node_box = piston_on_box, node_box = piston_on_box,
selection_box = piston_on_box, selection_box = piston_on_box,
sounds = default.node_sound_wood_defaults(), sounds = mesecon.node_sound.wood,
mesecons = {effector={ mesecons = {effector={
action_off = piston_off, action_off = piston_off,
rules = piston_get_rules, rules = piston_get_rules,
@ -338,7 +338,7 @@ minetest.register_node("mesecons_pistons:piston_pusher_normal", {
node_box = piston_pusher_box, node_box = piston_pusher_box,
on_rotate = piston_rotate_pusher, on_rotate = piston_rotate_pusher,
drop = "", drop = "",
sounds = default.node_sound_wood_defaults(), sounds = mesecon.node_sound.wood,
}) })
-- Sticky ones -- Sticky ones
@ -357,7 +357,7 @@ minetest.register_node("mesecons_pistons:piston_sticky_off", {
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
after_place_node = piston_orientate, after_place_node = piston_orientate,
sounds = default.node_sound_wood_defaults(), sounds = mesecon.node_sound.wood,
mesecons = {effector={ mesecons = {effector={
action_on = piston_on, action_on = piston_on,
rules = piston_get_rules, rules = piston_get_rules,
@ -387,7 +387,7 @@ minetest.register_node("mesecons_pistons:piston_sticky_on", {
after_dig_node = piston_after_dig, after_dig_node = piston_after_dig,
node_box = piston_on_box, node_box = piston_on_box,
selection_box = piston_on_box, selection_box = piston_on_box,
sounds = default.node_sound_wood_defaults(), sounds = mesecon.node_sound.wood,
mesecons = {effector={ mesecons = {effector={
action_off = piston_off, action_off = piston_off,
rules = piston_get_rules, rules = piston_get_rules,
@ -417,7 +417,7 @@ minetest.register_node("mesecons_pistons:piston_pusher_sticky", {
node_box = piston_pusher_box, node_box = piston_pusher_box,
on_rotate = piston_rotate_pusher, on_rotate = piston_rotate_pusher,
drop = "", drop = "",
sounds = default.node_sound_wood_defaults(), sounds = mesecon.node_sound.wood,
}) })
@ -464,8 +464,8 @@ minetest.register_craft({
output = "mesecons_pistons:piston_normal_off 2", output = "mesecons_pistons:piston_normal_off 2",
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"},
{"default:cobble", "default:steel_ingot", "default:cobble"}, {"mesecons_gamecompat:cobble", "mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:cobble"},
{"default:cobble", "group:mesecon_conductor_craftable", "default:cobble"}, {"mesecons_gamecompat:cobble", "group:mesecon_conductor_craftable", "mesecons_gamecompat:cobble"},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_pistons name = mesecons_pistons
depends = default, mesecons, mesecons_mvps depends = mesecons, mesecons_gamecompat, mesecons_mvps

@ -16,7 +16,7 @@ minetest.register_node("mesecons_powerplant:power_plant", {
type = "fixed", type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, -0.5+0.7, 0.3}, fixed = {-0.3, -0.5, -0.3, 0.3, -0.5+0.7, 0.3},
}, },
sounds = default.node_sound_leaves_defaults(), sounds = mesecon.node_sound.leaves,
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.on state = mesecon.state.on
}}, }},

@ -1,2 +1,2 @@
name = mesecons_powerplant name = mesecons_powerplant
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -94,7 +94,7 @@ mesecon.register_pressure_plate(
"jeija_pressure_plate_wood_inv.png", "jeija_pressure_plate_wood_inv.png",
{{"group:wood", "group:wood"}}, {{"group:wood", "group:wood"}},
{ choppy = 3, oddly_breakable_by_hand = 3 }, { choppy = 3, oddly_breakable_by_hand = 3 },
default.node_sound_wood_defaults()) mesecon.node_sound.wood)
mesecon.register_pressure_plate( mesecon.register_pressure_plate(
"mesecons_pressureplates:pressure_plate_stone", "mesecons_pressureplates:pressure_plate_stone",
@ -103,6 +103,6 @@ mesecon.register_pressure_plate(
{"jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on_edges.png"}, {"jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on_edges.png"},
"jeija_pressure_plate_stone_wield.png", "jeija_pressure_plate_stone_wield.png",
"jeija_pressure_plate_stone_inv.png", "jeija_pressure_plate_stone_inv.png",
{{"default:cobble", "default:cobble"}}, {{"mesecons_gamecompat:cobble", "mesecons_gamecompat:cobble"}},
{ cracky = 3, oddly_breakable_by_hand = 3 }, { cracky = 3, oddly_breakable_by_hand = 3 },
default.node_sound_stone_defaults()) mesecon.node_sound.stone)

@ -1,2 +1,2 @@
name = mesecons_pressureplates name = mesecons_pressureplates
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -6,7 +6,7 @@ minetest.register_node("mesecons_random:removestone", {
inventory_image = minetest.inventorycube("jeija_removestone_inv.png"), inventory_image = minetest.inventorycube("jeija_removestone_inv.png"),
groups = {cracky=3}, groups = {cracky=3},
description="Removestone", description="Removestone",
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = {effector = { mesecons = {effector = {
action_on = function (pos, node) action_on = function (pos, node)
minetest.remove_node(pos) minetest.remove_node(pos)
@ -20,9 +20,9 @@ minetest.register_node("mesecons_random:removestone", {
minetest.register_craft({ minetest.register_craft({
output = 'mesecons_random:removestone 4', output = 'mesecons_random:removestone 4',
recipe = { recipe = {
{"", "default:cobble", ""}, {"", "mesecons_gamecompat:cobble", ""},
{"default:cobble", "group:mesecon_conductor_craftable", "default:cobble"}, {"mesecons_gamecompat:cobble", "group:mesecon_conductor_craftable", "mesecons_gamecompat:cobble"},
{"", "default:cobble", ""}, {"", "mesecons_gamecompat:cobble", ""},
} }
}) })
@ -34,7 +34,7 @@ minetest.register_node("mesecons_random:ghoststone", {
is_ground_content = false, is_ground_content = false,
inventory_image = minetest.inventorycube("jeija_ghoststone_inv.png"), inventory_image = minetest.inventorycube("jeija_ghoststone_inv.png"),
groups = {cracky=3}, groups = {cracky=3},
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
mesecons = {conductor = { mesecons = {conductor = {
state = mesecon.state.off, state = mesecon.state.off,
rules = mesecon.rules.alldirs, rules = mesecon.rules.alldirs,
@ -71,8 +71,8 @@ minetest.register_node("mesecons_random:ghoststone_active", {
minetest.register_craft({ minetest.register_craft({
output = 'mesecons_random:ghoststone 4', output = 'mesecons_random:ghoststone 4',
recipe = { recipe = {
{"default:steel_ingot", "default:cobble", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:cobble", "mesecons_gamecompat:steel_ingot"},
{"default:cobble", "group:mesecon_conductor_craftable", "default:cobble"}, {"mesecons_gamecompat:cobble", "group:mesecon_conductor_craftable", "mesecons_gamecompat:cobble"},
{"default:steel_ingot", "default:cobble", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:cobble", "mesecons_gamecompat:steel_ingot"},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_random name = mesecons_random
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -56,7 +56,7 @@ mesecon.register_node("mesecons_receiver:receiver", {
}, },
groups = {dig_immediate = 3, not_in_creative_inventory = 1}, groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons:wire_00000000_off", drop = "mesecons:wire_00000000_off",
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
}, { }, {
tiles = { tiles = {
"receiver_top_off.png", "receiver_top_off.png",
@ -105,7 +105,7 @@ mesecon.register_node("mesecons_receiver:receiver_up", {
}, },
groups = {dig_immediate = 3, not_in_creative_inventory = 1}, groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons:wire_00000000_off", drop = "mesecons:wire_00000000_off",
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
}, { }, {
tiles = {"mesecons_wire_off.png"}, tiles = {"mesecons_wire_off.png"},
mesecons = {conductor = { mesecons = {conductor = {
@ -150,7 +150,7 @@ mesecon.register_node("mesecons_receiver:receiver_down", {
}, },
groups = {dig_immediate = 3, not_in_creative_inventory = 1}, groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons:wire_00000000_off", drop = "mesecons:wire_00000000_off",
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
}, { }, {
tiles = {"mesecons_wire_off.png"}, tiles = {"mesecons_wire_off.png"},
mesecons = {conductor = { mesecons = {conductor = {

@ -1,2 +1,2 @@
name = mesecons_receiver name = mesecons_receiver
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -15,7 +15,7 @@ mesecon.register_node("mesecons_solarpanel:solar_panel", {
wall_top = {-7/16, 7/16, -7/16, 7/16, 8/16, 7/16}, wall_top = {-7/16, 7/16, -7/16, 7/16, 8/16, 7/16},
wall_side = {-8/16, -7/16, -7/16, -7/16, 7/16, 7/16}, wall_side = {-8/16, -7/16, -7/16, -7/16, 7/16, 7/16},
}, },
sounds = default.node_sound_glass_defaults(), sounds = mesecon.node_sound.glass,
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode,
},{ },{
groups = {dig_immediate = 3}, groups = {dig_immediate = 3},

@ -1,2 +1,2 @@
name = mesecons_solarpanel name = mesecons_solarpanel
depends = default, mesecons, mesecons_materials depends = mesecons, mesecons_gamecompat, mesecons_materials

@ -15,5 +15,5 @@ minetest.register_node("mesecons_stickyblocks:sticky_block_all", {
end end
return connected return connected
end, end,
sounds = default.node_sound_wood_defaults(), sounds = mesecon.node_sound.wood,
}) })

@ -1,2 +1,2 @@
name = mesecons_stickyblocks name = mesecons_stickyblocks
depends = default, mesecons, mesecons_mvps depends = mesecons, mesecons_gamecompat, mesecons_mvps

@ -4,7 +4,7 @@ mesecon.register_node("mesecons_switch:mesecon_switch", {
paramtype2="facedir", paramtype2="facedir",
description="Switch", description="Switch",
is_ground_content = false, is_ground_content = false,
sounds = default.node_sound_stone_defaults(), sounds = mesecon.node_sound.stone,
on_rightclick = function (pos, node) on_rightclick = function (pos, node)
if(mesecon.flipstate(pos, node) == "on") then if(mesecon.flipstate(pos, node) == "on") then
mesecon.receptor_on(pos) mesecon.receptor_on(pos)
@ -30,7 +30,7 @@ mesecon.register_node("mesecons_switch:mesecon_switch", {
minetest.register_craft({ minetest.register_craft({
output = "mesecons_switch:mesecon_switch_off 2", output = "mesecons_switch:mesecon_switch_off 2",
recipe = { recipe = {
{"default:steel_ingot", "default:cobble", "default:steel_ingot"}, {"mesecons_gamecompat:steel_ingot", "mesecons_gamecompat:cobble", "mesecons_gamecompat:steel_ingot"},
{"group:mesecon_conductor_craftable","", "group:mesecon_conductor_craftable"}, {"group:mesecon_conductor_craftable","", "group:mesecon_conductor_craftable"},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_switch name = mesecons_switch
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -42,7 +42,7 @@ minetest.register_craft({
output = "mesecons_torch:mesecon_torch_on 4", output = "mesecons_torch:mesecon_torch_on 4",
recipe = { recipe = {
{"group:mesecon_conductor_craftable"}, {"group:mesecon_conductor_craftable"},
{"default:stick"},} {"group:stick"},}
}) })
local torch_selectionbox = local torch_selectionbox =
@ -64,7 +64,7 @@ minetest.register_node("mesecons_torch:mesecon_torch_off", {
selection_box = torch_selectionbox, selection_box = torch_selectionbox,
groups = {dig_immediate = 3, not_in_creative_inventory = 1}, groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons_torch:mesecon_torch_on", drop = "mesecons_torch:mesecon_torch_on",
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.off, state = mesecon.state.off,
rules = torch_get_output_rules rules = torch_get_output_rules
@ -86,7 +86,7 @@ minetest.register_node("mesecons_torch:mesecon_torch_on", {
groups = {dig_immediate=3}, groups = {dig_immediate=3},
light_source = minetest.LIGHT_MAX-5, light_source = minetest.LIGHT_MAX-5,
description="Mesecon Torch", description="Mesecon Torch",
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.on, state = mesecon.state.on,
rules = torch_get_output_rules rules = torch_get_output_rules

@ -1,2 +1,2 @@
name = mesecons_torch name = mesecons_torch
depends = default, mesecons depends = mesecons, mesecons_gamecompat

@ -15,7 +15,7 @@ mesecon.register_node("mesecons_walllever:wall_lever", {
type = "fixed", type = "fixed",
fixed = { -8/16, -8/16, 3/16, 8/16, 8/16, 8/16 }, fixed = { -8/16, -8/16, 3/16, 8/16, 8/16, 8/16 },
}, },
sounds = default.node_sound_wood_defaults(), sounds = mesecon.node_sound.wood,
on_rightclick = function (pos, node) on_rightclick = function (pos, node)
if(mesecon.flipstate(pos, node) == "on") then if(mesecon.flipstate(pos, node) == "on") then
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node)) mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
@ -58,7 +58,7 @@ minetest.register_craft({
output = "mesecons_walllever:wall_lever_off 2", output = "mesecons_walllever:wall_lever_off 2",
recipe = { recipe = {
{"group:mesecon_conductor_craftable"}, {"group:mesecon_conductor_craftable"},
{"default:stone"}, {"mesecons_gamecompat:stone"},
{"default:stick"}, {"group:stick"},
} }
}) })

@ -1,2 +1,2 @@
name = mesecons_walllever name = mesecons_walllever
depends = default, mesecons, mesecons_receiver depends = mesecons, mesecons_gamecompat, mesecons_receiver

@ -216,7 +216,7 @@ local function register_wires()
walkable = false, walkable = false,
drop = "mesecons:wire_00000000_off", drop = "mesecons:wire_00000000_off",
mesecon_wire = true, mesecon_wire = true,
sounds = default.node_sound_defaults(), sounds = mesecon.node_sound.default,
on_rotate = false, on_rotate = false,
}, {tiles = tiles_off, mesecons = meseconspec_off, groups = groups_off}, }, {tiles = tiles_off, mesecons = meseconspec_off, groups = groups_off},
{tiles = tiles_on, mesecons = meseconspec_on, groups = groups_on}) {tiles = tiles_on, mesecons = meseconspec_on, groups = groups_on})
@ -232,20 +232,20 @@ register_wires()
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "mesecons:wire_00000000_off 2", output = "mesecons:wire_00000000_off 2",
recipe = "default:mese_crystal_fragment", recipe = "mesecons_gamecompat:mese_crystal_fragment",
cooktime = 3, cooktime = 3,
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "mesecons:wire_00000000_off 18", output = "mesecons:wire_00000000_off 18",
recipe = "default:mese_crystal", recipe = "mesecons_gamecompat:mese_crystal",
cooktime = 15, cooktime = 15,
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "mesecons:wire_00000000_off 162", output = "mesecons:wire_00000000_off 162",
recipe = "default:mese", recipe = "mesecons_gamecompat:mese",
cooktime = 30, cooktime = 30,
}) })

@ -1,2 +1,2 @@
name = mesecons_wires name = mesecons_wires
depends = default, mesecons depends = mesecons, mesecons_gamecompat