From 2b90c573ebc5d6829d2f4f86266d885000caea1d Mon Sep 17 00:00:00 2001 From: loosewheel <76670709+loosewheel@users.noreply.github.com> Date: Wed, 10 Nov 2021 00:57:32 +1000 Subject: [PATCH] Add files via upload --- change.log | 8 + collector.lua | 10 +- crafting.lua | 40 ++- detector.lua | 10 +- digiswitch.lua | 2 +- dispenser.lua | 6 +- dropper.lua | 6 +- init.lua | 4 +- license.txt | 49 ++++ puncher.lua | 572 ++++++++++++++++++++++++++++++++++++ readme.txt | 98 ++++++- screenshot.png | Bin 77221 -> 71525 bytes siren.lua | 692 ++++++++++++++++++++++++++++++++++++++++++++ solid_conductor.lua | 24 +- utils.lua | 9 + 15 files changed, 1496 insertions(+), 34 deletions(-) create mode 100644 puncher.lua create mode 100644 siren.lua diff --git a/change.log b/change.log index 2b953e8..9961143 100644 --- a/change.log +++ b/change.log @@ -1,3 +1,11 @@ v 0.1.0 * initial release + + +v0.1.1 +* Fixed receiving digilines message on "" channel. +* Added siren. +* Made digilines optional for solid conductor blocks. +* Fixed lighting +* Added puncher diff --git a/collector.lua b/collector.lua index e44e21b..70bc962 100644 --- a/collector.lua +++ b/collector.lua @@ -400,7 +400,7 @@ local function digilines_support () if meta then local this_channel = meta:get_string ("channel") - if this_channel == channel then + if this_channel ~= "" and this_channel == channel then local m = { } for w in string.gmatch(msg, "[^%s]+") do m[#m + 1] = w @@ -432,7 +432,7 @@ minetest.register_node("lwcomponents:collector", { is_ground_content = false, groups = { cracky = 3 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, floodable = false, drop = "lwcomponents:collector", @@ -458,7 +458,7 @@ minetest.register_node("lwcomponents:collector_locked", { is_ground_content = false, groups = { cracky = 3 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, floodable = false, drop = "lwcomponents:collector_locked", @@ -484,7 +484,7 @@ minetest.register_node("lwcomponents:collector_on", { is_ground_content = false, groups = { cracky = 3, not_in_creative_inventory = 1 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, floodable = false, drop = "lwcomponents:collector", @@ -510,7 +510,7 @@ minetest.register_node("lwcomponents:collector_locked_on", { is_ground_content = false, groups = { cracky = 3, not_in_creative_inventory = 1 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, floodable = false, drop = "lwcomponents:collector_locked", diff --git a/crafting.lua b/crafting.lua index c516f78..8dd221d 100644 --- a/crafting.lua +++ b/crafting.lua @@ -58,6 +58,42 @@ minetest.register_craft( { }, }) + +minetest.register_craft( { + output = "lwcomponents:siren", + recipe = { + { "group:wood", "default:chest" }, + { "default:copper_ingot", "default:steel_ingot" }, + }, +}) + + +minetest.register_craft( { + output = "lwcomponents:siren_locked", + recipe = { + { "group:wood", "default:chest_locked" }, + { "default:copper_ingot", "default:steel_ingot" }, + }, +}) + + +minetest.register_craft( { + output = "lwcomponents:puncher", + recipe = { + { "default:chest", "default:sword_stone" }, + { "default:copper_ingot", "default:steel_ingot" }, + }, +}) + + +minetest.register_craft( { + output = "lwcomponents:puncher_locked", + recipe = { + { "default:chest_locked", "default:sword_stone" }, + { "default:copper_ingot", "default:steel_ingot" }, + }, +}) + end -- utils.digilines_supported or utils.mesecon_supported @@ -115,7 +151,7 @@ end -- utils.digilines_supported and utils.mesecon_supported -if utils.unifieddyes_supported and utils.mesecon_supported and utils.digilines_supported then +if utils.unifieddyes_supported and utils.mesecon_supported then minetest.register_craft ({ output = "lwcomputers:solid_conductor_off 3", @@ -134,7 +170,7 @@ minetest.register_craft ({ }, }) -end -- utils.unifieddyes_supported and utils.mesecon_supported and utils.digilines_supported then +end -- utils.unifieddyes_supported and utils.mesecon_supported then diff --git a/detector.lua b/detector.lua index 7253c73..16b8910 100644 --- a/detector.lua +++ b/detector.lua @@ -576,7 +576,7 @@ local function digilines_support () if meta then local this_channel = meta:get_string ("channel") - if this_channel == channel then + if this_channel ~= "" and this_channel == channel then local m = { } for w in string.gmatch(msg, "[^%s]+") do m[#m + 1] = w @@ -666,7 +666,7 @@ minetest.register_node("lwcomponents:detector", { is_ground_content = false, groups = { cracky = 3 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, paramtype2 = "facedir", param2 = 1, @@ -695,7 +695,7 @@ minetest.register_node("lwcomponents:detector_locked", { is_ground_content = false, groups = { cracky = 3 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, paramtype2 = "facedir", param2 = 1, @@ -724,7 +724,7 @@ minetest.register_node("lwcomponents:detector_on", { is_ground_content = false, groups = { cracky = 3, not_in_creative_inventory = 1 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, paramtype2 = "facedir", param2 = 1, @@ -753,7 +753,7 @@ minetest.register_node("lwcomponents:detector_locked_on", { is_ground_content = false, groups = { cracky = 3, not_in_creative_inventory = 1 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, paramtype2 = "facedir", param2 = 1, diff --git a/digiswitch.lua b/digiswitch.lua index 8143ba5..193e260 100644 --- a/digiswitch.lua +++ b/digiswitch.lua @@ -71,7 +71,7 @@ local function digilines_support () if meta then local mychannel = meta:get_string ("channel") - if mychannel == channel then + if mychannel ~= "" and mychannel == channel then if type (msg) == "string" then local words = { } diff --git a/dispenser.lua b/dispenser.lua index bd15ac2..e794e7d 100644 --- a/dispenser.lua +++ b/dispenser.lua @@ -325,7 +325,7 @@ local function digilines_support () if meta then local this_channel = meta:get_string ("channel") - if this_channel == channel then + if this_channel ~= "" and this_channel == channel then local m = { } for w in string.gmatch(msg, "[^%s]+") do m[#m + 1] = w @@ -377,7 +377,7 @@ minetest.register_node("lwcomponents:dispenser", { is_ground_content = false, groups = { cracky = 3 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, paramtype2 = "facedir", param2 = 1, @@ -403,7 +403,7 @@ minetest.register_node("lwcomponents:dispenser_locked", { is_ground_content = false, groups = { cracky = 3 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, paramtype2 = "facedir", param2 = 1, diff --git a/dropper.lua b/dropper.lua index 21eb4e6..b190e2a 100644 --- a/dropper.lua +++ b/dropper.lua @@ -301,7 +301,7 @@ local function digilines_support () if meta then local this_channel = meta:get_string ("channel") - if this_channel == channel then + if this_channel ~= "" and this_channel == channel then local m = { } for w in string.gmatch(msg, "[^%s]+") do m[#m + 1] = w @@ -353,7 +353,7 @@ minetest.register_node("lwcomponents:dropper", { is_ground_content = false, groups = { cracky = 3 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, paramtype2 = "facedir", param2 = 1, @@ -379,7 +379,7 @@ minetest.register_node("lwcomponents:dropper_locked", { is_ground_content = false, groups = { cracky = 3 }, sounds = default.node_sound_stone_defaults (), - paramtype = "light", + paramtype = "none", param1 = 0, paramtype2 = "facedir", param2 = 1, diff --git a/init.lua b/init.lua index 5ad7d8c..50221a1 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,4 @@ -local version = "0.1.0" +local version = "0.1.1" local mod_storage = minetest.get_mod_storage () @@ -20,6 +20,8 @@ loadfile (modpath.."/dropper.lua") (utils) loadfile (modpath.."/collector.lua") (utils) loadfile (modpath.."/dispenser.lua") (utils) loadfile (modpath.."/detector.lua") (utils) +loadfile (modpath.."/siren.lua") (utils) +loadfile (modpath.."/puncher.lua") (utils) loadfile (modpath.."/extras.lua") (utils) loadfile (modpath.."/digiswitch.lua") (utils) loadfile (modpath.."/movefloor.lua") (utils) diff --git a/license.txt b/license.txt index 6817b9b..635ce81 100644 --- a/license.txt +++ b/license.txt @@ -14,8 +14,57 @@ See the GNU Lesser General Public License for more details: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + +lwsiren-buzz.ogg +---------------- +derived from https://www.freesoundslibrary.com/alarm-sound-effect/ + +License: Attribution 4.0 International (CC BY 4.0). You are allowed to use +sound effects free of charge and royalty free in your multimedia projects +for commercial or non-commercial purposes. +https://creativecommons.org/licenses/by/4.0/ + + + +lwsiren-horn.ogg +---------------- +derived from https://www.freesoundslibrary.com/ahooga-horn/ + +License: Attribution 4.0 International (CC BY 4.0). You are allowed to use +sound effects free of charge and royalty free in your multimedia projects +for commercial or non-commercial purposes. +https://creativecommons.org/licenses/by/4.0/ + + + +lwsiren-siren.ogg +------------------ +https://www.freesoundslibrary.com/cop-siren/ + +License: Attribution 4.0 International (CC BY 4.0). You are allowed to use +sound effects free of charge and royalty free in your multimedia projects +for commercial or non-commercial purposes. +https://creativecommons.org/licenses/by/4.0/ + + + +lwsiren-raid.ogg +----------------- +derived from https://www.freesoundslibrary.com/space-ship-siren-sound/ + +License: Attribution 4.0 International (CC BY 4.0). You are allowed to use +sound effects free of charge and royalty free in your multimedia projects +for commercial or non-commercial purposes. +https://creativecommons.org/licenses/by/4.0/ + + + Media license ------------- +siren images derived from images from https://openclipart.org, which is +public domain. + +All other media, or media not covered by a licence, is licensed Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) You are free to: diff --git a/puncher.lua b/puncher.lua new file mode 100644 index 0000000..0a6c446 --- /dev/null +++ b/puncher.lua @@ -0,0 +1,572 @@ +local utils = ... +local S = utils.S + + + +if utils.digilines_supported or utils.mesecon_supported then + + + +local function direction_vector (pos) + local meta = minetest.get_meta (pos) + + if meta then + local mode = meta:get_int ("mode") + + if mode == 2 then + return { x = 0, y = 1, z = 0 } + elseif mode == 3 then + return { x = 0, y = -1, z = 0 } + else + local node = minetest.get_node (pos) + + if node then + if node.param2 == 0 then + return { x = 0, y = 0, z = -1 } + elseif node.param2 == 1 then + return { x = -1, y = 0, z = 0 } + elseif node.param2 == 2 then + return { x = 0, y = 0, z = 1 } + elseif node.param2 == 3 then + return { x = 1, y = 0, z = 0 } + end + end + end + end + + return { x = 0, y = 0, z = 0 } +end + + + +local function punch (pos) + local meta = minetest.get_meta (pos) + local node = minetest.get_node (pos) + + if meta and node and + (node.name == "lwcomponents:puncher_on" or + node.name == "lwcomponents:puncher_locked_on") then + + local reach = tonumber (meta:get_string ("reach")) or 1 + local dir = direction_vector (pos) + local punched = false + + for r = 1, reach do + local tpos = vector.add (pos, vector.multiply (dir, r)) + local object = minetest.get_objects_inside_radius (tpos, 0.68) + + for i = 1, #object do + if object[i]:is_player () then + + -- player + if meta:get_string ("players") == "true" then + + object[i]:punch (object[i], + 1.0, + { full_punch_interval = 1.0, + damage_groups = { fleshy = 4 } }, + vector.direction (pos, object[i]:get_pos ())) + + punched = true + end + + elseif object[i].get_luaentity and object[i]:get_luaentity () and + object[i]:get_luaentity ().name and + object[i]:get_luaentity ().name == "__builtin:item" then + + -- don't punch drops + + elseif object[i].get_pos and object[i]:get_pos () then + + -- entity + if meta:get_string ("entities") == "true" then + + object[i]:punch (object[i], + 1.0, + { full_punch_interval = 1.0, + damage_groups = { fleshy = 4 } }, + vector.direction (pos, object[i]:get_pos ())) + + punched = true + end + + end + + end + + if punched then + break + end + end + end +end + + + +local function get_form_spec (is_off, mode, entities, players) + return + "formspec_version[3]\n".. + "size[11.75,7.0;true]\n".. + "field[1.0,1.0;4.0,0.8;channel;Channel;${channel}]\n".. + "button[5.5,1.0;2.0,0.8;setchannel;Set]\n".. + "button[8.25,1.0;2.5,0.8;"..((is_off and "start;Start") or "stop;Stop").."]\n".. + "field[1.0,2.5;4.0,0.8;reach;Reach;${reach}]\n".. + "button[5.5,2.5;2.0,0.8;setreach;Set]\n".. + "checkbox[1.0,4.4;entities;Entities;"..entities.."]\n".. + "checkbox[1.0,5.4;players;Players;"..players.."]\n".. + "textlist[4.875,4.0;5.875,2.0;mode;Forward,Up,Down;"..tostring (mode)..";false]" +end + + + +local function update_form_spec (pos) + local node = minetest.get_node (pos) + local meta = minetest.get_meta (pos) + + if node and meta then + local is_off = node.name == "lwcomponents:puncher" or + node.name == "lwcomponents:puncher_locked" + + meta:set_string ("formspec", get_form_spec (is_off, + meta:get_int ("mode"), + meta:get_string ("entities"), + meta:get_string ("players"))) + end +end + + + +local function start_puncher (pos) + local node = minetest.get_node (pos) + local meta = minetest.get_meta (pos) + + if node and meta then + if node.name == "lwcomponents:puncher" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:puncher_on" + + minetest.swap_node (pos, node) + update_form_spec (pos) + end + + elseif node.name == "lwcomponents:puncher_locked" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:puncher_locked_on" + + minetest.swap_node (pos, node) + update_form_spec (pos) + end + + end + end +end + + + +local function stop_puncher (pos) + local node = minetest.get_node (pos) + local meta = minetest.get_meta (pos) + + if node and meta then + if node.name == "lwcomponents:puncher_on" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:puncher" + + minetest.swap_node (pos, node) + update_form_spec (pos) + end + + elseif node.name == "lwcomponents:puncher_locked_on" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:puncher_locked" + + minetest.swap_node (pos, node) + update_form_spec (pos) + end + + end + end +end + + + +local function after_place_node (pos, placer, itemstack, pointed_thing) + local meta = minetest.get_meta (pos) + local is_off = itemstack and (itemstack:get_name () == "lwcomponents:puncher" or + itemstack:get_name () == "lwcomponents:puncher_locked") + + meta:set_string ("formspec", get_form_spec (is_off, 1, "false", "false")) + + meta:set_string ("reach", "1") + meta:set_int ("mode", 1) + meta:set_string ("entities", "false") + meta:set_string ("players", "false") + + -- If return true no item is taken from itemstack + return false +end + + + +local function after_place_node_locked (pos, placer, itemstack, pointed_thing) + after_place_node (pos, placer, itemstack, pointed_thing) + + if placer and placer:is_player () then + local meta = minetest.get_meta (pos) + + meta:set_string ("owner", placer:get_player_name ()) + meta:set_string ("infotext", "Puncher (owned by "..placer:get_player_name ()..")") + end + + -- If return true no item is taken from itemstack + return false +end + + + +local function on_receive_fields (pos, formname, fields, sender) + if not utils.can_interact_with_node (pos, sender) then + return + end + + if fields.setchannel then + local meta = minetest.get_meta (pos) + + if meta then + meta:set_string ("channel", fields.channel) + end + end + + if fields.setreach then + local meta = minetest.get_meta (pos) + + if meta then + local reach = math.min (math.max (tonumber (fields.reach) or 1, 1), 5) + + meta:set_string ("reach", tostring (reach)) + end + end + + if fields.start then + start_puncher (pos) + end + + if fields.stop then + stop_puncher (pos) + end + + if fields.entities ~= nil then + local meta = minetest.get_meta (pos) + + if meta then + meta:set_string ("entities", fields.entities) + update_form_spec (pos) + end + end + + if fields.players ~= nil then + local meta = minetest.get_meta (pos) + + if meta then + meta:set_string ("players", fields.players) + update_form_spec (pos) + end + end + + if fields.mode then + local event = minetest.explode_textlist_event (fields.mode) + + if event.type == "CHG" then + local meta = minetest.get_meta (pos) + + if meta then + meta:set_int ("mode", event.index) + update_form_spec (pos) + end + end + end +end + + + +local function can_dig (pos, player) + if not utils.can_interact_with_node (pos, player) then + return false + end + + return true +end + + + +local function on_blast (pos, intensity) + local meta = minetest.get_meta (pos) + + if meta then + if intensity >= 1.0 then + minetest.remove_node (pos) + + else -- intensity < 1.0 + local node = minetest.get_node_or_nil (pos) + if node then + local items = minetest.get_node_drops (node, nil) + + if items and #items > 0 then + local stack = ItemStack (items[1]) + + if stack then + preserve_metadata (pos, node, meta, { stack }) + utils.item_drop (stack, nil, pos) + minetest.remove_node (pos) + end + end + end + end + end +end + + + +local function on_rightclick (pos, node, clicker, itemstack, pointed_thing) + if not utils.can_interact_with_node (pos, clicker) then + if clicker and clicker:is_player () then + local owner = "" + local meta = minetest.get_meta (pos) + + if meta then + owner = meta:get_string ("owner") + end + + local spec = + "formspec_version[3]".. + "size[8.0,4.0,false]".. + "label[1.0,1.0;Owned by "..minetest.formspec_escape (owner).."]".. + "button_exit[3.0,2.0;2.0,1.0;close;Close]" + + minetest.show_formspec (clicker:get_player_name (), + "lwcomponents:component_privately_owned", + spec) + end + end + + return itemstack +end + + + +local function digilines_support () + if utils.digilines_supported then + return + { + wire = + { + rules = digiline.rules.default, + }, + + effector = + { + action = function (pos, node, channel, msg) + local meta = minetest.get_meta(pos) + + if meta then + local this_channel = meta:get_string ("channel") + + if this_channel ~= "" and this_channel == channel then + local m = { } + for w in string.gmatch(msg, "[^%s]+") do + m[#m + 1] = w + end + + if m[1] == "start" then + start_puncher (pos) + + elseif m[1] == "stop" then + stop_puncher (pos) + + elseif m[1] == "reach" then + local reach = math.min (math.max (tonumber (m[2]) or 1, 1), 5) + + meta:set_string ("reach", tostring (reach)) + + elseif m[1] == "entities" then + meta:set_string ("entities", ((m[2] == "true") and "true") or "false") + update_form_spec (pos) + + elseif m[1] == "players" then + meta:set_string ("players", ((m[2] == "true") and "true") or "false") + update_form_spec (pos) + + + elseif m[1] == "mode" then + if m[2] == "forward" then + meta:set_int ("mode", 1) + update_form_spec (pos) + + elseif m[2] == "up" then + meta:set_int ("mode", 2) + update_form_spec (pos) + + elseif m[2] == "down" then + meta:set_int ("mode", 3) + update_form_spec (pos) + + end + + elseif m[1] == "punch" then + punch (pos) + + end + end + end + end, + } + } + end + + return nil +end + + + +local function mesecon_support () + if utils.mesecon_supported then + return + { + effector = + { + rules = utils.mesecon_default_rules, + + action_on = function (pos, node) + -- do something to turn the effector on + punch (pos) + end + } + } + end + + return nil +end + + + +minetest.register_node("lwcomponents:puncher", { + description = S("Puncher"), + tiles = { "lwpuncher_face.png", "lwpuncher_face.png", "lwpuncher.png", + "lwpuncher.png", "lwpuncher.png", "lwpuncher_face.png"}, + is_ground_content = false, + groups = { cracky = 3 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + paramtype2 = "facedir", + param2 = 1, + floodable = false, + drop = "lwcomponents:puncher", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node, + on_blast = on_blast, + on_rightclick = on_rightclick +}) + + + +minetest.register_node("lwcomponents:puncher_locked", { + description = S("Puncher (locked)"), + tiles = { "lwpuncher_face.png", "lwpuncher_face.png", "lwpuncher.png", + "lwpuncher.png", "lwpuncher.png", "lwpuncher_face.png"}, + is_ground_content = false, + groups = { cracky = 3 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + paramtype2 = "facedir", + param2 = 1, + floodable = false, + drop = "lwcomponents:puncher_locked", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node_locked, + on_blast = on_blast, + on_rightclick = on_rightclick +}) + + + +minetest.register_node("lwcomponents:puncher_on", { + description = S("Puncher"), + tiles = { "lwpuncher_face_on.png", "lwpuncher_face_on.png", "lwpuncher.png", + "lwpuncher.png", "lwpuncher.png", "lwpuncher_face_on.png"}, + is_ground_content = false, + groups = { cracky = 3, not_in_creative_inventory = 1 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + paramtype2 = "facedir", + param2 = 1, + floodable = false, + drop = "lwcomponents:puncher", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node, + on_blast = on_blast, + on_rightclick = on_rightclick +}) + + + +minetest.register_node("lwcomponents:puncher_locked_on", { + description = S("Puncher (locked)"), + tiles = { "lwpuncher_face_on.png", "lwpuncher_face_on.png", "lwpuncher.png", + "lwpuncher.png", "lwpuncher.png", "lwpuncher_face_on.png"}, + is_ground_content = false, + groups = { cracky = 3, not_in_creative_inventory = 1 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + paramtype2 = "facedir", + param2 = 1, + floodable = false, + drop = "lwcomponents:puncher_locked", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node_locked, + on_blast = on_blast, + on_rightclick = on_rightclick +}) + + + +end -- utils.digilines_supported or utils.mesecon_supported + + + +-- diff --git a/readme.txt b/readme.txt index 8286543..de8640a 100644 --- a/readme.txt +++ b/readme.txt @@ -263,6 +263,101 @@ count +Siren +----- +* This block is only available if digilines and/or mesecons are loaded. + +Plays a sound repeatedly while active. Also acts as a digilines conductor. + +UI + +Channel - digilines channel of siren. +Distance - block distance the sound can be heard (range 0 to 100). +Volume - volume the sound is played. +Sound - select Buzzer, Horn, Raid or Siren. + +Mesecons + Sound plays while mesecons power is applied. + +Digilines messages + +"start" + Start the siren (turn on). + +"stop" + Stop the siren (turn off). + +"distance " + Set block distance the sound can be heard. should be a number + from 1 to 100, and is trimmed to this range. + +"volume " + Set the sound volume. should be a number from 1 to 100, and is + trimmed to this range. + +"sound buzzer" +"sound horn" +"sound raid" +"sound siren" + Set the sound of the siren. + +"siren on" + Activate the siren, if its on. + +"siren off" + deactivate the siren. + + + +Puncher +------- +* This block is only available if digilines and/or mesecons are loaded. + +Punches players or entities within a given reach. Also acts as a +digilines conductor. + +UI + +Channel - digilines channel of detector. +Reach - block distance from puncher to punch. +Entities - if checked punches entities. +Players - if checked punches players. + +mode: + Forward - punches to reach extent directly in front of the puncher (one block high). + Up - detects to reach extent directly above the puncher (one block wide). + Down - detects to reach extent directly below the puncher (one block wide). + +Mesecons + Punches the next item when power is turned on. + +Digilines messages + +"start" + Start the puncher. + +"stop" + Stop the puncher. + +"reach " + Set reach of the puncher. should be a number from 1 to 5, and is + trimmed to this range. + +"entities " + Set punching of entities on or off. + +"players " + Set punching of players on or off. + +"mode forward" +"mode up" +"mode down" + Set the puncher's mode. + +"punch" + Action a single punch if the puncher is turned on. + + DigiSwitch ---------- * This block is only available if both digilines and mesecons are loaded. @@ -309,8 +404,7 @@ the MoveFloor will not move. Solid Color Conductors ---------------------- -* These blocks are only defined if mesecons, digilines, and unifieddyes are -loaded. +* These blocks are only defined if mesecons and unifieddyes are loaded. Provides 2 blocks that can be colored the same as Solid Color Block (with the air brush) and is both a mesecons and digilines conductor. diff --git a/screenshot.png b/screenshot.png index 5563ab07ea791feeb6572e11c672120362774462..d9e649cb8c42e39ee0986c0efd6d7784bd92f298 100644 GIT binary patch literal 71525 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 L)z4*}Q$iB})O?&M literal 77221 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 bqjaH~$kjV@51(gXU|{fc^>bP0l+XkKbtOH} diff --git a/siren.lua b/siren.lua new file mode 100644 index 0000000..57966f3 --- /dev/null +++ b/siren.lua @@ -0,0 +1,692 @@ +local utils = ... +local S = utils.S + + + +if utils.digilines_supported or utils.mesecon_supported then + + + +local sound_interval = 5.0 + + + +local siren_sounds = +{ + "lwsiren-buzz", + "lwsiren-horn", + "lwsiren-raid", + "lwsiren-siren", +} + + + +local function start_sound (pos) + local meta = minetest.get_meta (pos) + + if meta then + local handle = meta:get_int ("sound_handle") + + if handle ~= 0 then + minetest.sound_stop (handle) + meta:set_int ("sound_handle", 0) + end + + local sound = siren_sounds[meta:get_int ("sound")] + + if sound then + handle = minetest.sound_play ( + sound, + { + pos = pos, + max_hear_distance = meta:get_int ("distance"), + gain = meta:get_int ("gain") / 100 + }) + + meta:set_int ("sound_handle", handle) + end + end +end + + + +local function stop_sound (pos) + local meta = minetest.get_meta (pos) + + if meta then + local handle = meta:get_int ("sound_handle") + + if handle ~= 0 then + minetest.sound_stop (handle) + meta:set_int ("sound_handle", 0) + end + end +end + + + +local function get_form_spec (is_off, distance, gain, sound) + return + "formspec_version[3]\n".. + "size[11.75,6.0;true]\n".. + "field[1.0,1.0;4.0,0.8;channel;Channel;${channel}]\n".. + "button[5.5,1.0;2.0,0.8;setchannel;Set]\n".. + "button[8.25,1.0;2.5,0.8;"..((is_off and "start;Start") or "stop;Stop").."]\n".. + "label[1.0,2.5;Distance]\n".. + "scrollbaroptions[min=0;max=100;smallstep=10;largestep=10;thumbsize=10]\n".. + "scrollbar[1.0,2.9;6.0,0.5;horizontal;distance;"..tostring (distance).."]\n".. + "label[1.0,4.2;Volume]\n".. + "scrollbaroptions[min=0;max=100;smallstep=10;largestep=10;thumbsize=10]\n".. + "scrollbar[1.0,4.5;6.0,0.5;horizontal;gain;"..tostring (gain).."]\n".. + "textlist[7.75,2.25;3.0,2.75;sound;Buzzer,Horn,Raid,Siren;"..tostring (sound)..";false]" +end + + + +local function update_form_spec (pos) + local node = minetest.get_node (pos) + local meta = minetest.get_meta (pos) + + if node and meta then + local is_off = node.name == "lwcomponents:siren" or + node.name == "lwcomponents:siren_locked" + + meta:set_string ("formspec", + get_form_spec (is_off, + meta:get_int ("distance"), + meta:get_int ("gain"), + meta:get_int ("sound"))) + end +end + + + +local function start_siren (pos) + local node = minetest.get_node (pos) + local meta = minetest.get_meta (pos) + + if node and meta then + if node.name == "lwcomponents:siren" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:siren_on" + + stop_sound (pos) + minetest.swap_node (pos, node) + update_form_spec (pos) + end + + elseif node.name == "lwcomponents:siren_locked" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:siren_locked_on" + + stop_sound (pos) + minetest.swap_node (pos, node) + update_form_spec (pos) + end + + end + end +end + + + +local function stop_siren (pos) + local node = minetest.get_node (pos) + local meta = minetest.get_meta (pos) + + if node and meta then + if node.name == "lwcomponents:siren_on" or + node.name == "lwcomponents:siren_alarm" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:siren" + + minetest.get_node_timer (pos):stop () + stop_sound (pos) + minetest.swap_node (pos, node) + update_form_spec (pos) + end + + elseif node.name == "lwcomponents:siren_locked_on" or + node.name == "lwcomponents:siren_locked_alarm" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:siren_locked" + + minetest.get_node_timer (pos):stop () + stop_sound (pos) + minetest.swap_node (pos, node) + update_form_spec (pos) + end + + end + end +end + + + +local function start_alarm (pos) + local node = minetest.get_node (pos) + local meta = minetest.get_meta (pos) + + if node and meta then + if node.name == "lwcomponents:siren_on" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:siren_alarm" + + minetest.get_node_timer (pos):start (sound_interval) + start_sound (pos) + minetest.swap_node (pos, node) + end + + elseif node.name == "lwcomponents:siren_locked_on" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:siren_locked_alarm" + + minetest.get_node_timer (pos):start (sound_interval) + start_sound (pos) + minetest.swap_node (pos, node) + end + + end + end +end + + + +local function stop_alarm (pos) + local node = minetest.get_node (pos) + local meta = minetest.get_meta (pos) + + if node and meta then + if node.name == "lwcomponents:siren_alarm" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:siren_on" + + minetest.get_node_timer (pos):stop () + stop_sound (pos) + minetest.swap_node (pos, node) + end + + elseif node.name == "lwcomponents:siren_locked_alarm" then + local meta = minetest.get_meta (pos) + + if meta then + node.name = "lwcomponents:siren_locked_on" + + minetest.get_node_timer (pos):stop () + stop_sound (pos) + minetest.swap_node (pos, node) + end + + end + end +end + + + +local function on_destruct (pos) + minetest.get_node_timer (pos):stop () + stop_sound (pos) +end + + + +local function after_place_node (pos, placer, itemstack, pointed_thing) + local meta = minetest.get_meta (pos) + local is_off = itemstack and (itemstack:get_name () == "lwcomponents:siren" or + itemstack:get_name () == "lwcomponents:siren_locked") + + meta:set_string ("formspec", get_form_spec (is_off, 10, 50, 1)) + + meta:set_int ("sound", 1) + meta:set_int ("distance", 10) + meta:set_int ("gain", 50) + meta:set_int ("sound_handle", 0) + + -- If return true no item is taken from itemstack + return false +end + + + +local function after_place_node_locked (pos, placer, itemstack, pointed_thing) + after_place_node (pos, placer, itemstack, pointed_thing) + + if placer and placer:is_player () then + local meta = minetest.get_meta (pos) + + meta:set_string ("owner", placer:get_player_name ()) + meta:set_string ("infotext", "Detector (owned by "..placer:get_player_name ()..")") + end + + -- If return true no item is taken from itemstack + return false +end + + + +local function on_receive_fields (pos, formname, fields, sender) + if not utils.can_interact_with_node (pos, sender) then + return + end + + if fields.setchannel then + local meta = minetest.get_meta (pos) + + if meta then + meta:set_string ("channel", fields.channel) + end + end + + if fields.start then + start_siren (pos) + end + + if fields.stop then + stop_siren (pos) + end + + if fields.sound then + local event = minetest.explode_textlist_event (fields.sound) + + if event.type == "CHG" then + local meta = minetest.get_meta (pos) + + if meta then + meta:set_int ("sound", event.index) + end + end + end + + if fields.gain then + local event = minetest.explode_scrollbar_event (fields.gain) + + if event.type == "CHG" then + local meta = minetest.get_meta (pos) + + if meta then + meta:set_int ("gain", event.value) + end + end + end + + if fields.distance then + local event = minetest.explode_scrollbar_event (fields.distance) + + if event.type == "CHG" then + local meta = minetest.get_meta (pos) + + if meta then + meta:set_int ("distance", event.value) + end + end + end +end + + + +local function can_dig (pos, player) + if not utils.can_interact_with_node (pos, player) then + return false + end + + return true +end + + + +local function on_blast (pos, intensity) + local meta = minetest.get_meta (pos) + + if meta then + if intensity >= 1.0 then + on_destruct (pos) + minetest.remove_node (pos) + + else -- intensity < 1.0 + local node = minetest.get_node_or_nil (pos) + if node then + local items = minetest.get_node_drops (node, nil) + + if items and #items > 0 then + local stack = ItemStack (items[1]) + + if stack then + preserve_metadata (pos, node, meta, { stack }) + utils.item_drop (stack, nil, pos) + on_destruct (pos) + minetest.remove_node (pos) + end + end + end + end + end +end + + + +local function on_timer (pos, elapsed) + start_sound (pos) + + return true +end + + + +local function on_rightclick (pos, node, clicker, itemstack, pointed_thing) + if not utils.can_interact_with_node (pos, clicker) then + if clicker and clicker:is_player () then + local owner = "" + local meta = minetest.get_meta (pos) + + if meta then + owner = meta:get_string ("owner") + end + + local spec = + "formspec_version[3]".. + "size[8.0,4.0,false]".. + "label[1.0,1.0;Owned by "..minetest.formspec_escape (owner).."]".. + "button_exit[3.0,2.0;2.0,1.0;close;Close]" + + minetest.show_formspec (clicker:get_player_name (), + "lwcomponents:component_privately_owned", + spec) + end + + else + update_form_spec (pos) + end + + return itemstack +end + + + +local function digilines_support () + if utils.digilines_supported then + return + { + wire = + { + rules = digiline.rules.default, + }, + + effector = + { + action = function (pos, node, channel, msg) + local meta = minetest.get_meta(pos) + + if meta then + local this_channel = meta:get_string ("channel") + + if this_channel ~= "" and this_channel == channel then + local m = { } + for w in string.gmatch(msg, "[^%s]+") do + m[#m + 1] = w + end + + if m[1] == "start" then + start_siren (pos) + + elseif m[1] == "stop" then + stop_siren (pos) + + elseif m[1] == "siren" then + if m[2] == "on" then + start_alarm (pos) + + elseif m[2] == "off" then + stop_alarm (pos) + + end + + elseif m[1] == "distance" then + local distance = math.min (math.max (tonumber (m[2] or 1) or 1, 1), 100) + + meta:set_int ("distance", distance) + + elseif m[1] == "volume" then + local volume = math.min (math.max (tonumber (m[2] or 1) or 1, 1), 100) + + meta:set_int ("gain", volume) + + elseif m[1] == "sound" then + if m[2] == "buzzer" then + meta:set_int ("sound", 1) + update_form_spec (pos) + + elseif m[2] == "horn" then + meta:set_int ("sound", 2) + update_form_spec (pos) + + elseif m[2] == "raid" then + meta:set_int ("sound", 3) + update_form_spec (pos) + + elseif m[2] == "siren" then + meta:set_int ("sound", 4) + update_form_spec (pos) + + end + end + end + end + end, + } + } + end + + return nil +end + + + +local function mesecon_support () + if utils.mesecon_supported then + return + { + effector = + { + rules = utils.mesecon_default_rules, + + action_on = function (pos, node) + -- do something to turn the effector on + start_alarm (pos) + end, + + action_off = function (pos, node) + -- do something to turn the effector off + stop_alarm (pos) + end, + } + } + end + + return nil +end + + + +minetest.register_node("lwcomponents:siren", { + description = S("Siren"), + tiles = { "lwsiren_base.png", "lwsiren_base.png", "lwsiren.png", + "lwsiren.png", "lwsiren.png", "lwsiren.png"}, + is_ground_content = false, + groups = { cracky = 3 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + floodable = false, + drop = "lwcomponents:siren", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_destruct = on_destruct, + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node, + on_blast = on_blast, + on_timer = on_timer, + on_rightclick = on_rightclick +}) + + + +minetest.register_node("lwcomponents:siren_locked", { + description = S("Siren (locked)"), + tiles = { "lwsiren_base.png", "lwsiren_base.png", "lwsiren.png", + "lwsiren.png", "lwsiren.png", "lwsiren.png"}, + is_ground_content = false, + groups = { cracky = 3 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + floodable = false, + drop = "lwcomponents:siren_locked", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_destruct = on_destruct, + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node_locked, + on_blast = on_blast, + on_timer = on_timer, + on_rightclick = on_rightclick +}) + + + +minetest.register_node("lwcomponents:siren_on", { + description = S("Siren"), + tiles = { "lwsiren_base.png", "lwsiren_base.png", "lwsiren_on.png", + "lwsiren_on.png", "lwsiren_on.png", "lwsiren_on.png"}, + is_ground_content = false, + groups = { cracky = 3, not_in_creative_inventory = 1 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + floodable = false, + drop = "lwcomponents:siren", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_destruct = on_destruct, + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node, + on_blast = on_blast, + on_timer = on_timer, + on_rightclick = on_rightclick +}) + + + +minetest.register_node("lwcomponents:siren_locked_on", { + description = S("Siren (locked)"), + tiles = { "lwsiren_base.png", "lwsiren_base.png", "lwsiren_on.png", + "lwsiren_on.png", "lwsiren_on.png", "lwsiren_on.png"}, + is_ground_content = false, + groups = { cracky = 3, not_in_creative_inventory = 1 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + floodable = false, + drop = "lwcomponents:siren_locked", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_destruct = on_destruct, + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node_locked, + on_blast = on_blast, + on_timer = on_timer, + on_rightclick = on_rightclick +}) + + + +minetest.register_node("lwcomponents:siren_alarm", { + description = S("Siren"), + tiles = { "lwsiren_base.png", "lwsiren_base.png", "lwsiren_alarm.png", + "lwsiren_alarm.png", "lwsiren_alarm.png", "lwsiren_alarm.png"}, + is_ground_content = false, + groups = { cracky = 3, not_in_creative_inventory = 1 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + light_source = 3, + floodable = false, + drop = "lwcomponents:siren", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_destruct = on_destruct, + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node, + on_blast = on_blast, + on_timer = on_timer, + on_rightclick = on_rightclick +}) + + + +minetest.register_node("lwcomponents:siren_locked_alarm", { + description = S("Siren (locked)"), + tiles = { "lwsiren_base.png", "lwsiren_base.png", "lwsiren_alarm.png", + "lwsiren_alarm.png", "lwsiren_alarm.png", "lwsiren_alarm.png"}, + is_ground_content = false, + groups = { cracky = 3, not_in_creative_inventory = 1 }, + sounds = default.node_sound_stone_defaults (), + paramtype = "none", + param1 = 0, + light_source = 3, + floodable = false, + drop = "lwcomponents:siren_locked", + _digistuff_channelcopier_fieldname = "channel", + + mesecons = mesecon_support (), + digiline = digilines_support (), + + on_destruct = on_destruct, + on_receive_fields = on_receive_fields, + can_dig = can_dig, + after_place_node = after_place_node_locked, + on_blast = on_blast, + on_timer = on_timer, + on_rightclick = on_rightclick +}) + + + +end -- utils.digilines_supported or utils.mesecon_supported + + + +-- diff --git a/solid_conductor.lua b/solid_conductor.lua index 4d82666..ebaf8b5 100644 --- a/solid_conductor.lua +++ b/solid_conductor.lua @@ -3,7 +3,7 @@ local S = utils.S -if utils.unifieddyes_supported and utils.mesecon_supported and utils.digilines_supported then +if utils.unifieddyes_supported and utils.mesecon_supported then @@ -17,7 +17,7 @@ mesecon.register_node (":lwcomponents:solid_conductor", palette = "unifieddyes_palette_extended.png", on_rotate = false, drop = "lwcomponents:solid_conductor_off", - digiline = { wire = { rules = mesecon.rules.default } }, + digiline = { wire = { rules = utils.digilines_default_rules } }, on_construct = unifieddyes.on_construct, on_dig = unifieddyes.on_dig, }, @@ -27,8 +27,8 @@ mesecon.register_node (":lwcomponents:solid_conductor", { conductor = { - rules = mesecon.rules.default, - state = mesecon.state.off, + rules = utils.mesecon_default_rules, + state = utils.mesecon_state_off, onstate = "lwcomponents:solid_conductor_on", } }, @@ -43,8 +43,8 @@ mesecon.register_node (":lwcomponents:solid_conductor", { conductor = { - rules = mesecon.rules.default, - state = mesecon.state.on, + rules = utils.mesecon_default_rules, + state = utils.mesecon_state_on, offstate = "lwcomponents:solid_conductor_off", } }, @@ -83,7 +83,7 @@ mesecon.register_node (":lwcomponents:solid_horizontal_conductor", palette = "unifieddyes_palette_extended.png", on_rotate = false, drop = "lwcomponents:solid_horizontal_conductor_off", - digiline = { wire = { rules = mesecon.rules.flat } }, + digiline = { wire = { rules = utils.digilines_flat_rules } }, on_construct = unifieddyes.on_construct, on_dig = unifieddyes.on_dig, }, @@ -93,8 +93,8 @@ mesecon.register_node (":lwcomponents:solid_horizontal_conductor", { conductor = { - rules = mesecon.rules.flat, - state = mesecon.state.off, + rules = utils.mesecon_flat_rules, + state = utils.mesecon_state_off, onstate = "lwcomponents:solid_horizontal_conductor_on", } }, @@ -109,8 +109,8 @@ mesecon.register_node (":lwcomponents:solid_horizontal_conductor", { conductor = { - rules = mesecon.rules.flat, - state = mesecon.state.on, + rules = utils.mesecon_flat_rules, + state = utils.mesecon_state_on, offstate = "lwcomponents:solid_horizontal_conductor_off", } }, @@ -139,4 +139,4 @@ unifieddyes.register_color_craft ({ -end -- utils.unifieddyes_supported and utils.mesecon_supported and utils.digilines_supported then +end -- utils.unifieddyes_supported and utils.mesecon_supported then diff --git a/utils.lua b/utils.lua index 9072f79..44a8df0 100644 --- a/utils.lua +++ b/utils.lua @@ -47,9 +47,18 @@ end -- check for digilines if minetest.global_exists ("digilines") then utils.digilines_supported = true + utils.digilines_default_rules = digiline.rules.default + utils.digilines_flat_rules = { + { x = 1, y = 0, z = 0 }, + { x = -1, y = 0, z = 0 }, + { x = 0, y = 0, z = 1 }, + { x = 0, y = 0, z = -1 }, + } utils.digilines_receptor_send = digilines.receptor_send else utils.digilines_supported = false + utils.digilines_default_rules = { } + utils.digilines_flat_rules = { } -- dummy utils.digilines_receptor_send = function (pos, rules, channel, msg)