mirror of
https://github.com/minetest-mods/MoreMesecons.git
synced 2025-11-23 18:45:23 +01:00
Compare commits
19 Commits
master
...
781e388150
| Author | SHA1 | Date | |
|---|---|---|---|
| 781e388150 | |||
| a32f2a2977 | |||
| db6918297c | |||
| f845984b92 | |||
| 708c8ea8df | |||
| 4ca2bc66b4 | |||
| 1b59b12363 | |||
| c77698d1fe | |||
| 27f6967614 | |||
| 77587418cb | |||
| b24c64116a | |||
| b9d8cb03f2 | |||
| a9febb7572 | |||
| 90be91e9d6 | |||
|
|
ba31d9e663 | ||
| a7f8e2e98b | |||
| 28411dd7e9 | |||
|
|
e162cabae4 | ||
|
|
23b96b9db6 |
@@ -1,6 +1,6 @@
|
||||
read_globals = {
|
||||
-- Defined by Minetest
|
||||
"minetest", "vector", "PseudoRandom", "VoxelArea", "table", "ItemStack",
|
||||
"minetest", "vector", "PseudoRandom", "VoxelArea", "table",
|
||||
|
||||
-- Mods
|
||||
"digiline", "default", "creative",
|
||||
|
||||
@@ -64,3 +64,5 @@ minetest.register_craft({
|
||||
recipe = { {"mesecons_blinkyplant:blinky_plant_off"},
|
||||
{"default:mese_crystal_fragment"},}
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_adjustable_blinky_plant] loaded.")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
name = moremesecons_adjustable_blinkyplant
|
||||
depends = mesecons,moremesecons_utils,default
|
||||
depends = mesecons,moremesecons_utils
|
||||
optional_depends = craft_guide
|
||||
|
||||
@@ -158,3 +158,5 @@ minetest.register_abm({
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_adjustable_player_detector] loaded.")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
name = moremesecons_adjustable_player_detector
|
||||
depends = mesecons,moremesecons_utils,default
|
||||
depends = mesecons
|
||||
optional_depends = craft_guide
|
||||
|
||||
@@ -178,3 +178,5 @@ minetest.register_craft({
|
||||
{"group:mesecon_conductor_craftable","default:mese_crystal","group:mesecon_conductor_craftable"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_commandblock] loaded.")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
name = moremesecons_commandblock
|
||||
depends = mesecons,moremesecons_utils,default
|
||||
depends = mesecons,moremesecons_utils
|
||||
optional_depends = craft_guide
|
||||
|
||||
@@ -45,11 +45,10 @@ mesecon.register_node("moremesecons_conductor_signalchanger:conductor_signalchan
|
||||
inventory_image = "moremesecons_conductor_signalchanger_off.png",
|
||||
groups = {dig_immediate = 2},
|
||||
paramtype = "light",
|
||||
paramtype2 = "4dir",
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
selection_box = nodebox,
|
||||
node_box = nodebox,
|
||||
on_rotate = mesecon.on_rotate,
|
||||
},{
|
||||
groups = {dig_immediate = 2},
|
||||
mesecons = {
|
||||
@@ -80,3 +79,5 @@ minetest.register_craft({
|
||||
output = "moremesecons_conductor_signalchanger:conductor_signalchanger_off",
|
||||
recipe = {{"group:mesecon_conductor_craftable","moremesecons_signalchanger:signalchanger_off"}}
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_conductor_signalchanger] loaded.")
|
||||
|
||||
@@ -68,7 +68,7 @@ for n,i in pairs({{0,0},{1,0},{1,1}}) do
|
||||
inventory_image = top_texture,
|
||||
wield_image = top_texture,
|
||||
paramtype = "light",
|
||||
paramtype2 = "4dir",
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@@ -79,7 +79,6 @@ for n,i in pairs({{0,0},{1,0},{1,1}}) do
|
||||
groups = groups,
|
||||
tiles = {top_texture, "moremesecons_dual_delayer_bottom.png", "moremesecons_dual_delayer_side_left.png", "moremesecons_dual_delayer_side_right.png", "moremesecons_dual_delayer_ends.png", "moremesecons_dual_delayer_ends.png"},
|
||||
use_texture_alpha = use_texture_alpha,
|
||||
on_rotate = mesecon.on_rotate,
|
||||
mesecons = {
|
||||
receptor = {
|
||||
state = mesecon.state.off,
|
||||
@@ -99,3 +98,5 @@ minetest.register_craft({
|
||||
output = "moremesecons_dual_delayer:dual_delayer_00 2",
|
||||
recipe = {"mesecons_delayer:delayer_off_1", "mesecons_delayer:delayer_off_1"}
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_dual_delayer] loaded.")
|
||||
|
||||
@@ -46,14 +46,9 @@ local object_detector_scan = function (pos)
|
||||
return true
|
||||
end
|
||||
local isname = luaentity.name
|
||||
-- If the item is present as dropped item entity:
|
||||
local bitemname = (isname == "__builtin:item" and ItemStack(luaentity.itemstring):get_name())
|
||||
for _, name in ipairs(scan_names) do
|
||||
if name == isname then
|
||||
return true -- object name matches
|
||||
end
|
||||
if name == bitemname then
|
||||
return true -- item of the item entity matches
|
||||
if isname == name or (isname == "__builtin:item" and luaentity.itemstring == name) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -141,3 +136,5 @@ minetest.register_abm({
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_entity_detector] loaded.")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
name = moremesecons_entity_detector
|
||||
depends = mesecons,moremesecons_utils,default
|
||||
depends = mesecons
|
||||
optional_depends = craft_guide
|
||||
|
||||
@@ -46,3 +46,5 @@ minetest.register_craft({
|
||||
recipe = { {"default:torch"},
|
||||
{"default:mese_crystal_fragment"},}
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_igniter] loaded.")
|
||||
|
||||
@@ -58,7 +58,6 @@ mesecon.register_node("moremesecons_induction_transmitter:induction_transmitter"
|
||||
{-0.25, -0.25, -0.5, 0.25, 0.25, -0.1875},
|
||||
},
|
||||
},
|
||||
on_rotate = mesecon.on_rotate,
|
||||
}, {
|
||||
tiles = {"default_mese_block.png"},
|
||||
groups = {cracky = 3},
|
||||
@@ -99,3 +98,5 @@ minetest.register_craft({
|
||||
{"", "default:mese_crystal_fragment", ""}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_induction_transmitter] loaded.")
|
||||
|
||||
@@ -42,13 +42,12 @@ mesecon.register_node("moremesecons_injector_controller:injector_controller", {
|
||||
drawtype = "nodebox",
|
||||
inventory_image = "moremesecons_injector_controller_off.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "4dir",
|
||||
paramtype2 = "facedir",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {{-8/16, -8/16, -8/16, 8/16, -7/16, 8/16 }},
|
||||
},
|
||||
on_timer = on_timer,
|
||||
on_rotate = mesecon.on_rotate,
|
||||
},{
|
||||
tiles = {"moremesecons_injector_controller_off.png", "moremesecons_injector_controller_side.png", "moremesecons_injector_controller_side.png"},
|
||||
groups = {dig_immediate=2},
|
||||
@@ -83,3 +82,5 @@ minetest.register_craft({
|
||||
output = "moremesecons_injector_controller:injector_controller_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
|
||||
})
|
||||
end
|
||||
|
||||
minetest.log("action", "[moremesecons_jammer] loaded.")
|
||||
|
||||
@@ -158,3 +158,5 @@ minetest.register_node("moremesecons_luablock:luablock", {
|
||||
end
|
||||
}}
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_luablock] loaded.")
|
||||
|
||||
@@ -355,3 +355,5 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
return
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.log("action", "[moremesecons_luacontroller_tool] loaded.")
|
||||
|
||||
@@ -118,3 +118,5 @@ minetest.register_alias("default:mesechest", "moremesecons_mesechest:mesechest")
|
||||
minetest.register_alias("mesechest", "moremesecons_mesechest:mesechest")
|
||||
minetest.register_alias("default:mesechest_locked", "moremesecons_mesechest:mesechest")
|
||||
minetest.register_alias("mesechest_locked", "moremesecons_mesechest:mesechest_locked")
|
||||
|
||||
minetest.log("action", "[moremesecons_mesechest] loaded.")
|
||||
|
||||
@@ -60,3 +60,5 @@ minetest.register_node("moremesecons_playerkiller:playerkiller", {
|
||||
end,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_playerkiller] loaded.")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
name = moremesecons_playerkiller
|
||||
depends = mesecons,mesecons_materials,moremesecons_utils,default
|
||||
depends = mesecons,mesecons_materials,moremesecons_utils
|
||||
optional_depends = craft_guide
|
||||
|
||||
@@ -121,3 +121,5 @@ minetest.register_craft({
|
||||
recipe = {{"mesecons_luacontroller:luacontroller0000", "mesecons_noteblock:noteblock"},
|
||||
{"group:wood", "group:wood"}}
|
||||
})
|
||||
|
||||
minetest.log("action", "[moremesecons_sayer] loaded.")
|
||||
|
||||
@@ -41,11 +41,10 @@ mesecon.register_node("moremesecons_signalchanger:signalchanger", {
|
||||
inventory_image = "moremesecons_signalchanger_off.png",
|
||||
groups = {dig_immediate = 2},
|
||||
paramtype = "light",
|
||||
paramtype2 = "4dir",
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
selection_box = nodebox,
|
||||
node_box = nodebox,
|
||||
on_rotate = mesecon.on_rotate,
|
||||
},{
|
||||
groups = {dig_immediate = 2},
|
||||
mesecons = {
|
||||
@@ -80,3 +79,5 @@ minetest.register_craft({
|
||||
output = "moremesecons_signalchanger:signalchanger_off",
|
||||
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
|
||||
-- 0 = y+1
|
||||
-- 1 = y-1
|
||||
|
||||
minetest.log("action", "[moremesecons_switchtorch] loaded.")
|
||||
|
||||
@@ -106,3 +106,5 @@ if moremesecons.setting("teleporter", "enable_lbm", false) then
|
||||
action = register
|
||||
})
|
||||
end
|
||||
|
||||
minetest.log("action", "[moremesecons_teleporter] loaded.")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
name = moremesecons_teleporter
|
||||
depends = mesecons,moremesecons_utils,default
|
||||
depends = mesecons,moremesecons_utils
|
||||
optional_depends = craft_guide
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
local MIN_DELAY = moremesecons.setting("timegate", "min_delay", 0.5)
|
||||
|
||||
local timegate_get_output_rules = function(node)
|
||||
local rules = {{x = 0, y = 0, z = 1}}
|
||||
for _ = 0, node.param2 do
|
||||
@@ -16,28 +14,25 @@ local timegate_get_input_rules = function(node)
|
||||
return rules
|
||||
end
|
||||
|
||||
local function turnoff(pos, _, node)
|
||||
if mesecon.is_receptor_on(node.name) then
|
||||
node.name = "moremesecons_timegate:timegate_off"
|
||||
minetest.swap_node(pos, node)
|
||||
mesecon.receptor_off(pos)
|
||||
end
|
||||
end
|
||||
-- Functions that are called after the delay time
|
||||
|
||||
local function turnon(pos, node)
|
||||
local function timegate_activate(pos, node)
|
||||
-- using a meta string allows writing the time in hexadecimals
|
||||
local time = tonumber(minetest.get_meta(pos):get_string("time"))
|
||||
if not (time and time >= MIN_DELAY) then
|
||||
if not time then
|
||||
return
|
||||
end
|
||||
-- restart the timer when the input was turned off and on again
|
||||
minetest.get_node_timer(pos):start(time)
|
||||
|
||||
if mesecon.is_receptor_off(node.name) then
|
||||
node.name = "moremesecons_timegate:timegate_on"
|
||||
minetest.swap_node(pos, node)
|
||||
mesecon.receptor_on(pos)
|
||||
end
|
||||
node.name = "moremesecons_timegate:timegate_on"
|
||||
minetest.swap_node(pos, node)
|
||||
mesecon.receptor_on(pos)
|
||||
minetest.after(time, function()
|
||||
local node = minetest.get_node(pos)
|
||||
if node.name == "moremesecons_timegate:timegate_on" then
|
||||
mesecon.receptor_off(pos)
|
||||
node.name = "moremesecons_timegate:timegate_off"
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
local boxes = {{ -6/16, -8/16, -6/16, 6/16, -7/16, 6/16 }, -- the main slab
|
||||
@@ -71,7 +66,7 @@ mesecon.register_node("moremesecons_timegate:timegate", {
|
||||
fixed = boxes
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "4dir",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
@@ -83,9 +78,7 @@ mesecon.register_node("moremesecons_timegate:timegate", {
|
||||
and not minetest.is_protected(pos, player:get_player_name()) then
|
||||
minetest.get_meta(pos):set_string("time", fields.time)
|
||||
end
|
||||
end,
|
||||
on_timer = turnoff,
|
||||
on_rotate = mesecon.on_rotate
|
||||
end
|
||||
},{
|
||||
tiles = {
|
||||
"moremesecons_timegate_off.png",
|
||||
@@ -106,7 +99,7 @@ mesecon.register_node("moremesecons_timegate:timegate", {
|
||||
effector =
|
||||
{
|
||||
rules = timegate_get_input_rules,
|
||||
action_on = turnon
|
||||
action_on = timegate_activate
|
||||
}
|
||||
},
|
||||
},{
|
||||
@@ -127,7 +120,6 @@ mesecon.register_node("moremesecons_timegate:timegate", {
|
||||
},
|
||||
effector = {
|
||||
rules = timegate_get_input_rules,
|
||||
action_on = turnon
|
||||
}
|
||||
},
|
||||
})
|
||||
@@ -142,3 +134,5 @@ minetest.register_craft({
|
||||
|
||||
minetest.register_alias("moremesecons_temporarygate:temporarygate_off", "moremesecons_timegate:timegate_off")
|
||||
minetest.register_alias("moremesecons_temporarygate:temporarygate_on", "moremesecons_timegate:timegate_on")
|
||||
|
||||
minetest.log("action", "[moremesecons_timegate] loaded.")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
name = moremesecons_timegate
|
||||
depends = mesecons,default
|
||||
depends = mesecons
|
||||
optional_depends = craft_guide
|
||||
|
||||
@@ -379,3 +379,4 @@ local function do_test()
|
||||
end
|
||||
do_test()
|
||||
--]]
|
||||
minetest.log("action", "[moremesecons_utils] loaded.")
|
||||
|
||||
@@ -498,3 +498,5 @@ if storage:get_string("wireless_meta_2") == "" then
|
||||
end
|
||||
minetest.log("action", "[moremesecons_wireless] Done!")
|
||||
end
|
||||
|
||||
minetest.log("action", "[moremesecons_wireless] loaded.")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
name = moremesecons_wireless
|
||||
depends = mesecons,moremesecons_utils,default
|
||||
depends = mesecons,moremesecons_utils
|
||||
optional_depends = digilines,craft_guide
|
||||
|
||||
@@ -69,11 +69,6 @@ moremesecons_teleporter.max_p2t_distance (Maximum Player To Teleporter distance)
|
||||
# from an older version which did not use it.
|
||||
moremesecons_teleporter.enable_lbm (Enable Registration LBM) bool false
|
||||
|
||||
[Timegate]
|
||||
|
||||
# Minimum authorized length for the timegate signal. Timegates with a shorter time will not respond.
|
||||
moremesecons_timegate.min_delay (Minimum timegate delay) float 0.5
|
||||
|
||||
[Wireless]
|
||||
|
||||
# Whether to enable the wireless jammer node
|
||||
|
||||
Reference in New Issue
Block a user