From df75dc7b7ec03a3b30052efbea988c3ab2b8f430 Mon Sep 17 00:00:00 2001 From: cheapie Date: Fri, 24 Aug 2018 16:19:53 -0500 Subject: Initial commit --- firealarm_pullstation/depends.txt | 1 + firealarm_pullstation/init.lua | 90 +++++++++++++++++++++ .../sounds/firealarm_pullstation_pull.ogg | Bin 0 -> 8029 bytes .../sounds/firealarm_pullstation_reset.ogg | Bin 0 -> 7373 bytes .../textures/firealarm_pullstation_back.png | Bin 0 -> 146 bytes .../textures/firealarm_pullstation_front_off.png | Bin 0 -> 4588 bytes .../textures/firealarm_pullstation_front_on.png | Bin 0 -> 4740 bytes 7 files changed, 91 insertions(+) create mode 100644 firealarm_pullstation/depends.txt create mode 100644 firealarm_pullstation/init.lua create mode 100644 firealarm_pullstation/sounds/firealarm_pullstation_pull.ogg create mode 100644 firealarm_pullstation/sounds/firealarm_pullstation_reset.ogg create mode 100644 firealarm_pullstation/textures/firealarm_pullstation_back.png create mode 100644 firealarm_pullstation/textures/firealarm_pullstation_front_off.png create mode 100644 firealarm_pullstation/textures/firealarm_pullstation_front_on.png (limited to 'firealarm_pullstation') diff --git a/firealarm_pullstation/depends.txt b/firealarm_pullstation/depends.txt new file mode 100644 index 0000000..d4798ab --- /dev/null +++ b/firealarm_pullstation/depends.txt @@ -0,0 +1 @@ +firealarm_common diff --git a/firealarm_pullstation/init.lua b/firealarm_pullstation/init.lua new file mode 100644 index 0000000..b212ec8 --- /dev/null +++ b/firealarm_pullstation/init.lua @@ -0,0 +1,90 @@ +minetest.register_node(":firealarm:pullstation_off",{ + description = "Fire Alarm Pull Station", + groups = { oddly_breakable_by_hand = 1 }, + tiles = { + "firealarm_pullstation_back.png", + "firealarm_pullstation_back.png", + "firealarm_pullstation_back.png", + "firealarm_pullstation_back.png", + "firealarm_pullstation_back.png", + "firealarm_pullstation_front_off.png", + }, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.15,-0.5,0.4,0.18,-0.11,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, + on_rightclick = function(pos,node) + local devInfo = firealarm.getDevInfo("signaling",pos) + if devInfo then + devInfo.active = true + node.name = "firealarm:pullstation_on" + minetest.set_node(pos,node) + minetest.sound_play("firealarm_pullstation_pull",{pos=pos}) + if devInfo.associated then + local panelPos = minetest.get_position_from_hash(devInfo.associated) + if panelPos then firealarm.loadNode(panelPos) end + if type(firealarm.panelABM) == "function" then firealarm.panelABM(pos) end + end + end + end, + after_place_node = function(pos) + firealarm.setDevInfo("signaling",pos,{active = false,manualReset = true}) + end, + after_dig_node = function(pos) + firealarm.setDevInfo("signaling",pos,nil) + end, +}) + +minetest.register_node(":firealarm:pullstation_on",{ + drop = "firealarm:pullstation_off", + description = "Fire Alarm Pull Station (pulled state - you hacker you!)", + groups = { oddly_breakable_by_hand = 1,not_in_creative_inventory = 1 }, + tiles = { + "firealarm_pullstation_back.png", + "firealarm_pullstation_back.png", + "firealarm_pullstation_back.png", + "firealarm_pullstation_back.png", + "firealarm_pullstation_back.png", + "firealarm_pullstation_front_on.png", + }, + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.15,-0.5,0.4,0.18,-0.11,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, + on_rightclick = function(pos,node,name) + --local name = minetest.get_player_name(clicker) + if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,"protection_bypass") then + minetest.record_protection_violation(pos,name) + minetest.chat_send_player(name,"You are not authorized to reset this pull station") + return + end + local devInfo = firealarm.getDevInfo("signaling",pos) + if devInfo then + devInfo.active = false + node.name = "firealarm:pullstation_off" + minetest.set_node(pos,node) + minetest.sound_play("firealarm_pullstation_reset",{pos=pos}) + end + end, + after_dig_node = function(pos) + firealarm.setDevInfo("signaling",pos,nil) + end, +}) diff --git a/firealarm_pullstation/sounds/firealarm_pullstation_pull.ogg b/firealarm_pullstation/sounds/firealarm_pullstation_pull.ogg new file mode 100644 index 0000000..1f6922e Binary files /dev/null and b/firealarm_pullstation/sounds/firealarm_pullstation_pull.ogg differ diff --git a/firealarm_pullstation/sounds/firealarm_pullstation_reset.ogg b/firealarm_pullstation/sounds/firealarm_pullstation_reset.ogg new file mode 100644 index 0000000..7e125e0 Binary files /dev/null and b/firealarm_pullstation/sounds/firealarm_pullstation_reset.ogg differ diff --git a/firealarm_pullstation/textures/firealarm_pullstation_back.png b/firealarm_pullstation/textures/firealarm_pullstation_back.png new file mode 100644 index 0000000..4beaa00 Binary files /dev/null and b/firealarm_pullstation/textures/firealarm_pullstation_back.png differ diff --git a/firealarm_pullstation/textures/firealarm_pullstation_front_off.png b/firealarm_pullstation/textures/firealarm_pullstation_front_off.png new file mode 100644 index 0000000..a77f411 Binary files /dev/null and b/firealarm_pullstation/textures/firealarm_pullstation_front_off.png differ diff --git a/firealarm_pullstation/textures/firealarm_pullstation_front_on.png b/firealarm_pullstation/textures/firealarm_pullstation_front_on.png new file mode 100644 index 0000000..e5fc410 Binary files /dev/null and b/firealarm_pullstation/textures/firealarm_pullstation_front_on.png differ -- cgit v1.2.3