From df75dc7b7ec03a3b30052efbea988c3ab2b8f430 Mon Sep 17 00:00:00 2001 From: cheapie Date: Fri, 24 Aug 2018 16:19:53 -0500 Subject: Initial commit --- firealarm_hornstrobe/depends.txt | 1 + firealarm_hornstrobe/init.lua | 99 +++++++++++++++++++++ firealarm_hornstrobe/sounds/firealarm_horn.ogg | Bin 0 -> 36602 bytes .../textures/firealarm_hornstrobe_back.png | Bin 0 -> 146 bytes .../textures/firealarm_hornstrobe_front_off.png | Bin 0 -> 274 bytes .../textures/firealarm_hornstrobe_front_on.png | Bin 0 -> 1792 bytes .../textures/firealarm_hornstrobe_side.png | Bin 0 -> 438 bytes 7 files changed, 100 insertions(+) create mode 100644 firealarm_hornstrobe/depends.txt create mode 100644 firealarm_hornstrobe/init.lua create mode 100644 firealarm_hornstrobe/sounds/firealarm_horn.ogg create mode 100644 firealarm_hornstrobe/textures/firealarm_hornstrobe_back.png create mode 100644 firealarm_hornstrobe/textures/firealarm_hornstrobe_front_off.png create mode 100644 firealarm_hornstrobe/textures/firealarm_hornstrobe_front_on.png create mode 100644 firealarm_hornstrobe/textures/firealarm_hornstrobe_side.png (limited to 'firealarm_hornstrobe') diff --git a/firealarm_hornstrobe/depends.txt b/firealarm_hornstrobe/depends.txt new file mode 100644 index 0000000..d4798ab --- /dev/null +++ b/firealarm_hornstrobe/depends.txt @@ -0,0 +1 @@ +firealarm_common diff --git a/firealarm_hornstrobe/init.lua b/firealarm_hornstrobe/init.lua new file mode 100644 index 0000000..530734c --- /dev/null +++ b/firealarm_hornstrobe/init.lua @@ -0,0 +1,99 @@ +minetest.register_node(":firealarm:hornstrobe_off",{ + description = "Fire Alarm Horn/Strobe", + groups = { oddly_breakable_by_hand = 1 }, + tiles = { + "firealarm_hornstrobe_back.png", + "firealarm_hornstrobe_back.png", + "firealarm_hornstrobe_side.png", + "firealarm_hornstrobe_side.png", + "firealarm_hornstrobe_back.png", + "firealarm_hornstrobe_front_off.png", + }, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.15,-0.02,0.4,0.18,0.37,0.5}, + }, + }, + on_punch = function(pos,_,player) + local name = player:get_player_name() + minetest.chat_send_player(name,string.format("Position: %d,%d,%d",pos.x,pos.y,pos.z)) + end, + after_place_node = function(pos) + firealarm.setDevInfo("notification",pos,{strobeActive = false,hornActive = false}) + end, + after_dig_node = function(pos) + firealarm.setDevInfo("notification",pos,nil) + end, +}) + +local hornstrobeOnFrontTexture = "[combine:32x320".. + ":0,0=firealarm_hornstrobe_front_on.png".. + ":0,32=firealarm_hornstrobe_front_off.png".. + ":0,64=firealarm_hornstrobe_front_off.png".. + ":0,96=firealarm_hornstrobe_front_off.png".. + ":0,128=firealarm_hornstrobe_front_off.png".. + ":0,160=firealarm_hornstrobe_front_off.png".. + ":0,192=firealarm_hornstrobe_front_off.png".. + ":0,224=firealarm_hornstrobe_front_off.png".. + ":0,256=firealarm_hornstrobe_front_off.png".. + ":0,288=firealarm_hornstrobe_front_off.png" + +minetest.register_node(":firealarm:hornstrobe_on",{ + drop = "firealarm:hornstrobe_off", + description = "Fire Alarm Horn/Strobe (on state - you hacker you!)", + groups = { oddly_breakable_by_hand = 1,not_in_creative_inventory = 1 }, + tiles = { + "firealarm_hornstrobe_back.png", + "firealarm_hornstrobe_back.png", + "firealarm_hornstrobe_side.png", + "firealarm_hornstrobe_side.png", + "firealarm_hornstrobe_back.png", + { + name = hornstrobeOnFrontTexture, + animation = + { + type = "vertical_frames", + aspect_w = 32, + aspect_h = 32, + length = 1, + }, + } + }, + paramtype = "light", + paramtype2 = "facedir", + light_source = 8, + use_texture_alpha = true, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5,-0.5,0.4,0.5,0.5,0.401}, + {-0.15,-0.02,0.4,0.18,0.37,0.5}, + }, + }, +}) + +minetest.register_abm({ + label = "Update horn/strobe state", + nodenames = {"firealarm:hornstrobe_off","firealarm:hornstrobe_on"}, + interval = 4, + chance = 1, + action = function(pos,node) + local devInfo = firealarm.getDevInfo("notification",pos) + if not devInfo then return end + if node.name == "firealarm:hornstrobe_off" and devInfo.strobeActive then + node.name = "firealarm:hornstrobe_on" + minetest.set_node(pos,node) + elseif node.name == "firealarm:hornstrobe_on" and not devInfo.strobeActive then + node.name = "firealarm:hornstrobe_off" + minetest.set_node(pos,node) + end + if devInfo.hornActive then + minetest.sound_play("firealarm_horn",{pos=pos}) + end + end, +}) diff --git a/firealarm_hornstrobe/sounds/firealarm_horn.ogg b/firealarm_hornstrobe/sounds/firealarm_horn.ogg new file mode 100644 index 0000000..7ea565e Binary files /dev/null and b/firealarm_hornstrobe/sounds/firealarm_horn.ogg differ diff --git a/firealarm_hornstrobe/textures/firealarm_hornstrobe_back.png b/firealarm_hornstrobe/textures/firealarm_hornstrobe_back.png new file mode 100644 index 0000000..4beaa00 Binary files /dev/null and b/firealarm_hornstrobe/textures/firealarm_hornstrobe_back.png differ diff --git a/firealarm_hornstrobe/textures/firealarm_hornstrobe_front_off.png b/firealarm_hornstrobe/textures/firealarm_hornstrobe_front_off.png new file mode 100644 index 0000000..0033f4c Binary files /dev/null and b/firealarm_hornstrobe/textures/firealarm_hornstrobe_front_off.png differ diff --git a/firealarm_hornstrobe/textures/firealarm_hornstrobe_front_on.png b/firealarm_hornstrobe/textures/firealarm_hornstrobe_front_on.png new file mode 100644 index 0000000..fdca07d Binary files /dev/null and b/firealarm_hornstrobe/textures/firealarm_hornstrobe_front_on.png differ diff --git a/firealarm_hornstrobe/textures/firealarm_hornstrobe_side.png b/firealarm_hornstrobe/textures/firealarm_hornstrobe_side.png new file mode 100644 index 0000000..7f33a6d Binary files /dev/null and b/firealarm_hornstrobe/textures/firealarm_hornstrobe_side.png differ -- cgit v1.2.3