mirror of
https://github.com/minetest-mods/MoreMesecons.git
synced 2025-06-29 23:10:39 +02:00
Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
6d278538a9 | |||
23b96b9db6 |
@ -64,3 +64,5 @@ minetest.register_craft({
|
|||||||
recipe = { {"mesecons_blinkyplant:blinky_plant_off"},
|
recipe = { {"mesecons_blinkyplant:blinky_plant_off"},
|
||||||
{"default:mese_crystal_fragment"},}
|
{"default:mese_crystal_fragment"},}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_adjustable_blinky_plant] loaded.")
|
||||||
|
@ -156,3 +156,5 @@ minetest.register_abm({
|
|||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_adjustable_player_detector] loaded.")
|
||||||
|
@ -55,7 +55,7 @@ local function resolve_commands(commands, pos)
|
|||||||
local nearest = nil
|
local nearest = nil
|
||||||
local min_distance = math.huge
|
local min_distance = math.huge
|
||||||
local players = minetest.get_connected_players()
|
local players = minetest.get_connected_players()
|
||||||
for _, player in pairs(players) do
|
for index, player in pairs(players) do
|
||||||
local distance = vector.distance(pos, player:getpos())
|
local distance = vector.distance(pos, player:getpos())
|
||||||
if distance < min_distance then
|
if distance < min_distance then
|
||||||
min_distance = distance
|
min_distance = distance
|
||||||
@ -172,3 +172,5 @@ minetest.register_craft({
|
|||||||
{"group:mesecon_conductor_craftable","default:mese_crystal","group:mesecon_conductor_craftable"}
|
{"group:mesecon_conductor_craftable","default:mese_crystal","group:mesecon_conductor_craftable"}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_commandblock] loaded.")
|
||||||
|
@ -5,7 +5,7 @@ local nodebox = {
|
|||||||
|
|
||||||
local function signalchanger_get_output_rules(node)
|
local function signalchanger_get_output_rules(node)
|
||||||
local rules = {{x=-1, y=0, z=0}}
|
local rules = {{x=-1, y=0, z=0}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -13,7 +13,7 @@ end
|
|||||||
|
|
||||||
local function signalchanger_get_input_rules(node)
|
local function signalchanger_get_input_rules(node)
|
||||||
local rules = {{x=0, y=0, z=-1, name="input_on"}, {x=0, y=0, z=1, name="input_off"}, {x=1, y=0, z=0, name="input_signal"}}
|
local rules = {{x=0, y=0, z=-1, name="input_on"}, {x=0, y=0, z=1, name="input_off"}, {x=1, y=0, z=0, name="input_signal"}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -79,3 +79,5 @@ minetest.register_craft({
|
|||||||
output = "moremesecons_conductor_signalchanger:conductor_signalchanger_off",
|
output = "moremesecons_conductor_signalchanger:conductor_signalchanger_off",
|
||||||
recipe = {{"group:mesecon_conductor_craftable","moremesecons_signalchanger:signalchanger_off"}}
|
recipe = {{"group:mesecon_conductor_craftable","moremesecons_signalchanger:signalchanger_off"}}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_conductor_signalchanger] loaded.")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
local function dual_delayer_get_input_rules(node)
|
local function dual_delayer_get_input_rules(node)
|
||||||
local rules = {{x=1, y=0, z=0}}
|
local rules = {{x=1, y=0, z=0}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -8,7 +8,7 @@ end
|
|||||||
|
|
||||||
local function dual_delayer_get_output_rules(node)
|
local function dual_delayer_get_output_rules(node)
|
||||||
local rules = {{x=0, y=0, z=1}, {x=0, y=0, z=-1}}
|
local rules = {{x=0, y=0, z=1}, {x=0, y=0, z=-1}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -93,3 +93,5 @@ minetest.register_craft({
|
|||||||
output = "moremesecons_dual_delayer:dual_delayer_00 2",
|
output = "moremesecons_dual_delayer:dual_delayer_00 2",
|
||||||
recipe = {"mesecons_delayer:delayer_off_1", "mesecons_delayer:delayer_off_1"}
|
recipe = {"mesecons_delayer:delayer_off_1", "mesecons_delayer:delayer_off_1"}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_dual_delayer] loaded.")
|
||||||
|
@ -139,3 +139,5 @@ minetest.register_abm({
|
|||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_entity_detector] loaded.")
|
||||||
|
@ -46,3 +46,5 @@ minetest.register_craft({
|
|||||||
recipe = { {"default:torch"},
|
recipe = { {"default:torch"},
|
||||||
{"default:mese_crystal_fragment"},}
|
{"default:mese_crystal_fragment"},}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_igniter] loaded.")
|
||||||
|
@ -102,3 +102,5 @@ minetest.register_craft({
|
|||||||
{"", "default:mese_crystal_fragment", ""}
|
{"", "default:mese_crystal_fragment", ""}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_induction_transmitter] loaded.")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
local injector_controller_get_output_rules = function(node)
|
local injector_controller_get_output_rules = function(node)
|
||||||
local rules = {{x = 0, y = 0, z = 1}}
|
local rules = {{x = 0, y = 0, z = 1}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -10,7 +10,7 @@ local injector_controller_get_input_rules = function(node)
|
|||||||
local rules = {{x = 0, y = 0, z = -1},
|
local rules = {{x = 0, y = 0, z = -1},
|
||||||
{x = 1, y = 0, z = 0},
|
{x = 1, y = 0, z = 0},
|
||||||
{x = -1, y = 0, z = 0}}
|
{x = -1, y = 0, z = 0}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -82,3 +82,5 @@ minetest.register_craft({
|
|||||||
output = "moremesecons_injector_controller:injector_controller_off",
|
output = "moremesecons_injector_controller:injector_controller_off",
|
||||||
recipe = {{"mesecons_blinkyplant:blinky_plant_off","mesecons_gates:and_off"}}
|
recipe = {{"mesecons_blinkyplant:blinky_plant_off","mesecons_gates:and_off"}}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_injector_controller] loaded.")
|
||||||
|
@ -131,3 +131,5 @@ if moremesecons.setting("jammer", "enable_lbm", false) then
|
|||||||
action = add_jammer
|
action = add_jammer
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_jammer] loaded.")
|
||||||
|
@ -158,3 +158,5 @@ minetest.register_node("moremesecons_luablock:luablock", {
|
|||||||
end
|
end
|
||||||
}}
|
}}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_luablock] loaded.")
|
||||||
|
@ -352,3 +352,5 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_luacontroller_tool] loaded.")
|
||||||
|
@ -2,7 +2,7 @@ local function mesechest_get_output_rules(node)
|
|||||||
local rules = {{x=-1, y=0, z=0},
|
local rules = {{x=-1, y=0, z=0},
|
||||||
{x=0, y=0, z=-1},
|
{x=0, y=0, z=-1},
|
||||||
{x=0, y=0, z=1}}
|
{x=0, y=0, z=1}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -116,3 +116,5 @@ minetest.register_craft({
|
|||||||
output = "default:mesechest_locked",
|
output = "default:mesechest_locked",
|
||||||
recipe = {{"group:mesecon_conductor_craftable", "default:chest_locked", "group:mesecon_conductor_craftable"}}
|
recipe = {{"group:mesecon_conductor_craftable", "default:chest_locked", "group:mesecon_conductor_craftable"}}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_mesechest] loaded.")
|
||||||
|
@ -4,7 +4,7 @@ local kill_nearest_player = function(pos)
|
|||||||
-- Search the nearest player
|
-- Search the nearest player
|
||||||
local nearest
|
local nearest
|
||||||
local min_distance = MAX_DISTANCE
|
local min_distance = MAX_DISTANCE
|
||||||
for _, player in pairs(minetest.get_connected_players()) do
|
for index, player in pairs(minetest.get_connected_players()) do
|
||||||
local distance = vector.distance(pos, player:getpos())
|
local distance = vector.distance(pos, player:getpos())
|
||||||
if distance < min_distance then
|
if distance < min_distance then
|
||||||
min_distance = distance
|
min_distance = distance
|
||||||
@ -60,3 +60,5 @@ minetest.register_node("moremesecons_playerkiller:playerkiller", {
|
|||||||
end,
|
end,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_playerkiller] loaded.")
|
||||||
|
@ -121,3 +121,5 @@ minetest.register_craft({
|
|||||||
recipe = {{"mesecons_luacontroller:luacontroller0000", "mesecons_noteblock:noteblock"},
|
recipe = {{"mesecons_luacontroller:luacontroller0000", "mesecons_noteblock:noteblock"},
|
||||||
{"group:wood", "group:wood"}}
|
{"group:wood", "group:wood"}}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_sayer] loaded.")
|
||||||
|
@ -6,7 +6,7 @@ local nodebox = {
|
|||||||
local function signalchanger_get_output_rules(node)
|
local function signalchanger_get_output_rules(node)
|
||||||
local rules = {{x=-1, y=0, z=0},
|
local rules = {{x=-1, y=0, z=0},
|
||||||
{x=1, y=0, z=0}}
|
{x=1, y=0, z=0}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -14,7 +14,7 @@ end
|
|||||||
|
|
||||||
local function signalchanger_get_input_rules(node)
|
local function signalchanger_get_input_rules(node)
|
||||||
local rules = {{x=0, y=0, z=-1, name="input_on"}, {x=0, y=0, z=1, name="input_off"}}
|
local rules = {{x=0, y=0, z=-1, name="input_on"}, {x=0, y=0, z=1, name="input_off"}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -79,3 +79,5 @@ minetest.register_craft({
|
|||||||
output = "moremesecons_signalchanger:signalchanger_off",
|
output = "moremesecons_signalchanger:signalchanger_off",
|
||||||
recipe = {{"group:mesecon_conductor_craftable","moremesecons_switchtorch:switchtorch_off","group:mesecon_conductor_craftable"}}
|
recipe = {{"group:mesecon_conductor_craftable","moremesecons_switchtorch:switchtorch_off","group:mesecon_conductor_craftable"}}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_signalchanger] loaded.")
|
||||||
|
@ -127,3 +127,5 @@ minetest.register_abm({
|
|||||||
-- 2 = x+1
|
-- 2 = x+1
|
||||||
-- 0 = y+1
|
-- 0 = y+1
|
||||||
-- 1 = y-1
|
-- 1 = y-1
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_switchtorch] loaded.")
|
||||||
|
@ -26,7 +26,7 @@ local function teleport_nearest(pos)
|
|||||||
local nearest = nil
|
local nearest = nil
|
||||||
local min_distance = MAX_PLAYER_DISTANCE
|
local min_distance = MAX_PLAYER_DISTANCE
|
||||||
local players = minetest.get_connected_players()
|
local players = minetest.get_connected_players()
|
||||||
for _, player in pairs(players) do
|
for index, player in pairs(players) do
|
||||||
local distance = vector.distance(pos, player:getpos())
|
local distance = vector.distance(pos, player:getpos())
|
||||||
if distance <= min_distance then
|
if distance <= min_distance then
|
||||||
min_distance = distance
|
min_distance = distance
|
||||||
@ -106,3 +106,5 @@ if moremesecons.setting("teleporter", "enable_lbm", false) then
|
|||||||
action = register
|
action = register
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_teleporter] loaded.")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
local timegate_get_output_rules = function(node)
|
local timegate_get_output_rules = function(node)
|
||||||
local rules = {{x = 0, y = 0, z = 1}}
|
local rules = {{x = 0, y = 0, z = 1}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -8,7 +8,7 @@ end
|
|||||||
|
|
||||||
local timegate_get_input_rules = function(node)
|
local timegate_get_input_rules = function(node)
|
||||||
local rules = {{x = 0, y = 0, z = -1}}
|
local rules = {{x = 0, y = 0, z = -1}}
|
||||||
for _ = 0, node.param2 do
|
for i = 0, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
end
|
end
|
||||||
return rules
|
return rules
|
||||||
@ -128,3 +128,5 @@ minetest.register_craft({
|
|||||||
|
|
||||||
minetest.register_alias("moremesecons_temporarygate:temporarygate_off", "moremesecons_timegate:timegate_off")
|
minetest.register_alias("moremesecons_temporarygate:temporarygate_off", "moremesecons_timegate:timegate_off")
|
||||||
minetest.register_alias("moremesecons_temporarygate:temporarygate_on", "moremesecons_timegate:timegate_on")
|
minetest.register_alias("moremesecons_temporarygate:temporarygate_on", "moremesecons_timegate:timegate_on")
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_timegate] loaded.")
|
||||||
|
@ -339,14 +339,14 @@ local function do_test()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
local i = 0
|
local i = 0
|
||||||
for pos in data:iter({x=-4, y=-4, z=-4}, {x=2, y=2, z=2}) do
|
for pos, v in data:iter({x=-4, y=-4, z=-4}, {x=2, y=2, z=2}) do
|
||||||
i = i + 1
|
i = i + 1
|
||||||
assert(vector.equals(pos, expected_positions[i]))
|
assert(vector.equals(pos, expected_positions[i]))
|
||||||
end
|
end
|
||||||
|
|
||||||
print("Test if iter works correctly on a corner")
|
print("Test if iter works correctly on a corner")
|
||||||
local found = false
|
local found = false
|
||||||
for pos in data:iter({x=-8, y=-7, z=-80}, {x=-5, y=-5, z=-5}) do
|
for pos, v in data:iter({x=-8, y=-7, z=-80}, {x=-5, y=-5, z=-5}) do
|
||||||
assert(not found)
|
assert(not found)
|
||||||
found = true
|
found = true
|
||||||
assert(vector.equals(pos, {x=-5, y=-5, z=-5}))
|
assert(vector.equals(pos, {x=-5, y=-5, z=-5}))
|
||||||
@ -377,5 +377,6 @@ local function do_test()
|
|||||||
|
|
||||||
--~ data:iterAll()
|
--~ data:iterAll()
|
||||||
end
|
end
|
||||||
--~ do_test()
|
|
||||||
|
|
||||||
|
--~ do_test()
|
||||||
|
minetest.log("action", "[moremesecons_utils] loaded.")
|
||||||
|
@ -188,7 +188,7 @@ end
|
|||||||
|
|
||||||
function activate_network(owner, channel)
|
function activate_network(owner, channel)
|
||||||
local network = wireless[owner][channel]
|
local network = wireless[owner][channel]
|
||||||
for _, wl_pos in pairs(network.members) do
|
for i, wl_pos in pairs(network.members) do
|
||||||
wireless_receptor_on(wl_pos, id, network)
|
wireless_receptor_on(wl_pos, id, network)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -253,9 +253,6 @@ function wireless_effector_off(pos)
|
|||||||
update_mod_storage()
|
update_mod_storage()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- This table is required to prevent a message from being sent in loop between wireless nodes
|
|
||||||
local sending_digilines = {}
|
|
||||||
|
|
||||||
local function on_digiline_receive(pos, node, channel, msg)
|
local function on_digiline_receive(pos, node, channel, msg)
|
||||||
if is_jammed(pos) then
|
if is_jammed(pos) then
|
||||||
return
|
return
|
||||||
@ -267,18 +264,11 @@ local function on_digiline_receive(pos, node, channel, msg)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local pos_hash = minetest.hash_node_position(pos)
|
|
||||||
if sending_digilines[pos_hash] then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
sending_digilines[pos_hash] = true
|
|
||||||
for i, wl_pos in pairs(wireless[wls.owner][wls.channel].members) do
|
for i, wl_pos in pairs(wireless[wls.owner][wls.channel].members) do
|
||||||
if i ~= wls.id and check_wireless_exists(wl_pos) then
|
if i ~= wls.id and check_wireless_exists(wl_pos) then
|
||||||
digiline:receptor_send(wl_pos, digiline.rules.default, channel, msg)
|
digiline:receptor_send(wl_pos, digiline.rules.default, channel, msg)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
sending_digilines[pos_hash] = nil
|
|
||||||
end
|
end
|
||||||
|
|
||||||
mesecon.register_node("moremesecons_wireless:wireless", {
|
mesecon.register_node("moremesecons_wireless:wireless", {
|
||||||
@ -337,15 +327,6 @@ mesecon.register_node("moremesecons_wireless:wireless", {
|
|||||||
|
|
||||||
minetest.register_alias("moremesecons_wireless:wireless", "moremesecons_wireless:wireless_off")
|
minetest.register_alias("moremesecons_wireless:wireless", "moremesecons_wireless:wireless_off")
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "moremesecons_wireless:wireless_off 2",
|
|
||||||
recipe = {
|
|
||||||
{"group:mesecon_conductor_craftable", "", "group:mesecon_conductor_craftable"},
|
|
||||||
{"", "mesecons_torch:mesecon_torch_on", ""},
|
|
||||||
{"group:mesecon_conductor_craftable", "", "group:mesecon_conductor_craftable"},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
local function remove_jammer(pos)
|
local function remove_jammer(pos)
|
||||||
moremesecons.remove_data_from_pos(jammers, pos)
|
moremesecons.remove_data_from_pos(jammers, pos)
|
||||||
end
|
end
|
||||||
@ -373,76 +354,83 @@ function is_jammed(pos)
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
if moremesecons.setting("wireless", "enable_jammer", true) then
|
mesecon.register_node("moremesecons_wireless:jammer", {
|
||||||
mesecon.register_node("moremesecons_wireless:jammer", {
|
description = "Wireless Jammer",
|
||||||
description = "Wireless Jammer",
|
paramtype = "light",
|
||||||
paramtype = "light",
|
drawtype = "nodebox",
|
||||||
drawtype = "nodebox",
|
},{
|
||||||
},{
|
tiles = {"mesecons_wire_off.png^moremesecons_jammer_top.png", "moremesecons_jammer_bottom.png", "mesecons_wire_off.png^moremesecons_jammer_side_off.png"},
|
||||||
tiles = {"mesecons_wire_off.png^moremesecons_jammer_top.png", "moremesecons_jammer_bottom.png", "mesecons_wire_off.png^moremesecons_jammer_side_off.png"},
|
node_box = {
|
||||||
node_box = {
|
type = "fixed",
|
||||||
type = "fixed",
|
fixed = {
|
||||||
fixed = {
|
-- connection
|
||||||
-- connection
|
{-1/16, -0.5, -0.5, 1/16, -7/16, 0.5},
|
||||||
{-1/16, -0.5, -0.5, 1/16, -7/16, 0.5},
|
{-0.5, -0.5, -1/16, 0.5, -7/16, 1/16},
|
||||||
{-0.5, -0.5, -1/16, 0.5, -7/16, 1/16},
|
|
||||||
|
|
||||||
--stabilization
|
--stabilization
|
||||||
{-1/16, -7/16, -1/16, 1/16, -6/16, 1/16},
|
{-1/16, -7/16, -1/16, 1/16, -6/16, 1/16},
|
||||||
|
|
||||||
-- fields
|
-- fields
|
||||||
{-7/16, -6/16, -7/16, 7/16, -4/16, 7/16},
|
{-7/16, -6/16, -7/16, 7/16, -4/16, 7/16},
|
||||||
{-5/16, -4/16, -5/16, 5/16, -3/16, 5/16},
|
{-5/16, -4/16, -5/16, 5/16, -3/16, 5/16},
|
||||||
{-3/16, -3/16, -3/16, 3/16, -2/16, 3/16},
|
{-3/16, -3/16, -3/16, 3/16, -2/16, 3/16},
|
||||||
{-1/16, -2/16, -1/16, 1/16, -1/16, 1/16},
|
{-1/16, -2/16, -1/16, 1/16, -1/16, 1/16},
|
||||||
},
|
|
||||||
},
|
},
|
||||||
groups = {dig_immediate=2},
|
},
|
||||||
mesecons = {effector = {
|
groups = {dig_immediate=2},
|
||||||
rules = mesecon.rules.flat,
|
mesecons = {effector = {
|
||||||
action_on = function(pos)
|
rules = mesecon.rules.flat,
|
||||||
add_jammer(pos)
|
action_on = function(pos)
|
||||||
minetest.swap_node(pos, {name="moremesecons_wireless:jammer_on"})
|
add_jammer(pos)
|
||||||
end
|
minetest.swap_node(pos, {name="moremesecons_wireless:jammer_on"})
|
||||||
}}
|
end
|
||||||
},{
|
}}
|
||||||
tiles = {"mesecons_wire_on.png^moremesecons_jammer_top.png", "moremesecons_jammer_bottom.png", "mesecons_wire_on.png^moremesecons_jammer_side_on.png"},
|
},{
|
||||||
node_box = {
|
tiles = {"mesecons_wire_on.png^moremesecons_jammer_top.png", "moremesecons_jammer_bottom.png", "mesecons_wire_on.png^moremesecons_jammer_side_on.png"},
|
||||||
type = "fixed",
|
node_box = {
|
||||||
fixed = {
|
type = "fixed",
|
||||||
-- connection
|
fixed = {
|
||||||
{-1/16, -0.5, -0.5, 1/16, -7/16, 0.5},
|
-- connection
|
||||||
{-0.5, -0.5, -1/16, 0.5, -7/16, 1/16},
|
{-1/16, -0.5, -0.5, 1/16, -7/16, 0.5},
|
||||||
|
{-0.5, -0.5, -1/16, 0.5, -7/16, 1/16},
|
||||||
|
|
||||||
--stabilization
|
--stabilization
|
||||||
{-1/16, -7/16, -1/16, 1/16, 5/16, 1/16},
|
{-1/16, -7/16, -1/16, 1/16, 5/16, 1/16},
|
||||||
|
|
||||||
-- fields
|
-- fields
|
||||||
{-7/16, -6/16, -7/16, 7/16, -4/16, 7/16},
|
{-7/16, -6/16, -7/16, 7/16, -4/16, 7/16},
|
||||||
{-5/16, -3/16, -5/16, 5/16, -1/16, 5/16},
|
{-5/16, -3/16, -5/16, 5/16, -1/16, 5/16},
|
||||||
{-3/16, 0, -3/16, 3/16, 2/16, 3/16},
|
{-3/16, 0, -3/16, 3/16, 2/16, 3/16},
|
||||||
{-1/16, 3/16, -1/16, 1/16, 5/16, 1/16},
|
{-1/16, 3/16, -1/16, 1/16, 5/16, 1/16},
|
||||||
},
|
|
||||||
},
|
},
|
||||||
groups = {dig_immediate=2, not_in_creative_inventory=1},
|
},
|
||||||
mesecons = {effector = {
|
groups = {dig_immediate=2, not_in_creative_inventory=1},
|
||||||
rules = mesecon.rules.flat,
|
mesecons = {effector = {
|
||||||
action_off = function(pos)
|
rules = mesecon.rules.flat,
|
||||||
remove_jammer(pos)
|
action_off = function(pos)
|
||||||
minetest.swap_node(pos, {name="moremesecons_wireless:jammer_off"})
|
remove_jammer(pos)
|
||||||
end
|
minetest.swap_node(pos, {name="moremesecons_wireless:jammer_off"})
|
||||||
}},
|
end
|
||||||
on_destruct = remove_jammer,
|
}},
|
||||||
on_construct = add_jammer,
|
on_destruct = remove_jammer,
|
||||||
})
|
on_construct = add_jammer,
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "moremesecons_wireless:jammer_off",
|
output = "moremesecons_wireless:jammer_off",
|
||||||
recipe = {
|
recipe = {
|
||||||
{"moremesecons_wireless:wireless", "mesecons_torch:mesecon_torch_on", "moremesecons_wireless:wireless"}
|
{"moremesecons_wireless:wireless", "mesecons_torch:mesecon_torch_on", "moremesecons_wireless:wireless"}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
end
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "moremesecons_wireless:wireless_off 2",
|
||||||
|
recipe = {
|
||||||
|
{"group:mesecon_conductor_craftable", "", "group:mesecon_conductor_craftable"},
|
||||||
|
{"", "mesecons_torch:mesecon_torch_on", ""},
|
||||||
|
{"group:mesecon_conductor_craftable", "", "group:mesecon_conductor_craftable"},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
if moremesecons.setting("wireless", "enable_lbm", false) then
|
if moremesecons.setting("wireless", "enable_lbm", false) then
|
||||||
minetest.register_lbm({
|
minetest.register_lbm({
|
||||||
@ -496,3 +484,5 @@ if storage:get_string("wireless_meta_2") == "" then
|
|||||||
end
|
end
|
||||||
minetest.log("action", "[moremesecons_wireless] Done!")
|
minetest.log("action", "[moremesecons_wireless] Done!")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
minetest.log("action", "[moremesecons_wireless] loaded.")
|
||||||
|
@ -63,9 +63,6 @@ moremesecons_teleporter.enable_lbm (Enable Registration LBM) bool false
|
|||||||
|
|
||||||
[Wireless]
|
[Wireless]
|
||||||
|
|
||||||
# Whether to enable the wireless jammer node
|
|
||||||
moremesecons_wireless.enable_jammer (Enable wireless jammer) bool true
|
|
||||||
|
|
||||||
# Wireless Jammer action range
|
# Wireless Jammer action range
|
||||||
# Any value less than or equal to 0 will be changed to 1 and a NaN value will be changed to the default value
|
# Any value less than or equal to 0 will be changed to 1 and a NaN value will be changed to the default value
|
||||||
moremesecons_wireless.jammer_max_distance (Wireless Jammer action range) float 15
|
moremesecons_wireless.jammer_max_distance (Wireless Jammer action range) float 15
|
||||||
|
Reference in New Issue
Block a user