diff options
Diffstat (limited to 'mesecons/mesecons_button')
| -rw-r--r-- | mesecons/mesecons_button/depends.txt | 2 | ||||
| -rw-r--r-- | mesecons/mesecons_button/doc/button/description.html | 1 | ||||
| -rw-r--r-- | mesecons/mesecons_button/doc/button/preview.png | bin | 0 -> 80160 bytes | |||
| -rw-r--r-- | mesecons/mesecons_button/doc/button/recipe.png | bin | 0 -> 8031 bytes | |||
| -rw-r--r-- | mesecons/mesecons_button/init.lua | 98 | ||||
| -rw-r--r-- | mesecons/mesecons_button/sounds/mesecons_button_pop.ogg | bin | 0 -> 6184 bytes | |||
| -rw-r--r-- | mesecons/mesecons_button/sounds/mesecons_button_push.ogg | bin | 0 -> 6982 bytes | |||
| -rw-r--r-- | mesecons/mesecons_button/textures/jeija_wall_button_off.png | bin | 0 -> 411 bytes | |||
| -rw-r--r-- | mesecons/mesecons_button/textures/jeija_wall_button_on.png | bin | 0 -> 449 bytes | |||
| -rw-r--r-- | mesecons/mesecons_button/textures/jeija_wall_button_sides.png | bin | 0 -> 434 bytes | 
10 files changed, 101 insertions, 0 deletions
diff --git a/mesecons/mesecons_button/depends.txt b/mesecons/mesecons_button/depends.txt new file mode 100644 index 0000000..19c798c --- /dev/null +++ b/mesecons/mesecons_button/depends.txt @@ -0,0 +1,2 @@ +mesecons +mesecons_receiver diff --git a/mesecons/mesecons_button/doc/button/description.html b/mesecons/mesecons_button/doc/button/description.html new file mode 100644 index 0000000..ae6bf07 --- /dev/null +++ b/mesecons/mesecons_button/doc/button/description.html @@ -0,0 +1 @@ +This receptor can be attached to walls. It turns on for 1 second if it's punched. diff --git a/mesecons/mesecons_button/doc/button/preview.png b/mesecons/mesecons_button/doc/button/preview.png Binary files differnew file mode 100644 index 0000000..b69f8f4 --- /dev/null +++ b/mesecons/mesecons_button/doc/button/preview.png diff --git a/mesecons/mesecons_button/doc/button/recipe.png b/mesecons/mesecons_button/doc/button/recipe.png Binary files differnew file mode 100644 index 0000000..c6232b4 --- /dev/null +++ b/mesecons/mesecons_button/doc/button/recipe.png diff --git a/mesecons/mesecons_button/init.lua b/mesecons/mesecons_button/init.lua new file mode 100644 index 0000000..f287d52 --- /dev/null +++ b/mesecons/mesecons_button/init.lua @@ -0,0 +1,98 @@ +-- WALL BUTTON +-- A button that when pressed emits power for 1 second +-- and then turns off again + +mesecon.button_turnoff = function (pos) +	local node = minetest.get_node(pos) +	if node.name=="mesecons_button:button_on" then --has not been dug +		minetest.swap_node(pos, {name = "mesecons_button:button_off", param2=node.param2}) +		minetest.sound_play("mesecons_button_pop", {pos=pos}) +		local rules = mesecon.rules.buttonlike_get(node) +		mesecon.receptor_off(pos, rules) +	end +end + +minetest.register_node("mesecons_button:button_off", { +	drawtype = "nodebox", +	tiles = { +	"jeija_wall_button_sides.png", +	"jeija_wall_button_sides.png", +	"jeija_wall_button_sides.png", +	"jeija_wall_button_sides.png", +	"jeija_wall_button_sides.png", +	"jeija_wall_button_off.png" +	}, +	paramtype = "light", +	paramtype2 = "facedir", +	legacy_wallmounted = true, +	walkable = false, +	sunlight_propagates = true, +	selection_box = { +	type = "fixed", +		fixed = { -6/16, -6/16, 5/16, 6/16, 6/16, 8/16 } +	}, +	node_box = { +		type = "fixed", +		fixed = { +		{ -6/16, -6/16, 6/16, 6/16, 6/16, 8/16 },	-- the thin plate behind the button +		{ -4/16, -2/16, 4/16, 4/16, 2/16, 6/16 }	-- the button itself +	} +	}, +	groups = {dig_immediate=2, mesecon_needs_receiver = 1}, +	description = "Button", +	on_rightclick = function (pos, node) +		minetest.swap_node(pos, {name = "mesecons_button:button_on", param2=node.param2}) +		mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node)) +		minetest.sound_play("mesecons_button_push", {pos=pos}) +		minetest.after(1, mesecon.button_turnoff, pos) +	end, +	sounds = default.node_sound_stone_defaults(), +	mesecons = {receptor = { +		state = mesecon.state.off, +		rules = mesecon.rules.buttonlike_get +	}} +}) + +minetest.register_node("mesecons_button:button_on", { +	drawtype = "nodebox", +	tiles = { +		"jeija_wall_button_sides.png", +		"jeija_wall_button_sides.png", +		"jeija_wall_button_sides.png", +		"jeija_wall_button_sides.png", +		"jeija_wall_button_sides.png", +		"jeija_wall_button_on.png" +		}, +	paramtype = "light", +	paramtype2 = "facedir", +	legacy_wallmounted = true, +	walkable = false, +	light_source = default.LIGHT_MAX-7, +	sunlight_propagates = true, +	selection_box = { +		type = "fixed", +		fixed = { -6/16, -6/16, 5/16, 6/16, 6/16, 8/16 } +	}, +	node_box = { +	type = "fixed", +	fixed = { +		{ -6/16, -6/16,  6/16, 6/16, 6/16, 8/16 }, +		{ -4/16, -2/16, 11/32, 4/16, 2/16, 6/16 } +	} +    }, +	groups = {dig_immediate=2, not_in_creative_inventory=1, mesecon_needs_receiver = 1}, +	drop = 'mesecons_button:button_off', +	description = "Button", +	sounds = default.node_sound_stone_defaults(), +	mesecons = {receptor = { +		state = mesecon.state.on, +		rules = mesecon.rules.buttonlike_get +	}} +}) + +minetest.register_craft({ +	output = "mesecons_button:button_off 2", +	recipe = { +		{"group:mesecon_conductor_craftable","default:stone"}, +	} +}) diff --git a/mesecons/mesecons_button/sounds/mesecons_button_pop.ogg b/mesecons/mesecons_button/sounds/mesecons_button_pop.ogg Binary files differnew file mode 100644 index 0000000..9d56bb8 --- /dev/null +++ b/mesecons/mesecons_button/sounds/mesecons_button_pop.ogg diff --git a/mesecons/mesecons_button/sounds/mesecons_button_push.ogg b/mesecons/mesecons_button/sounds/mesecons_button_push.ogg Binary files differnew file mode 100644 index 0000000..53d45c1 --- /dev/null +++ b/mesecons/mesecons_button/sounds/mesecons_button_push.ogg diff --git a/mesecons/mesecons_button/textures/jeija_wall_button_off.png b/mesecons/mesecons_button/textures/jeija_wall_button_off.png Binary files differnew file mode 100644 index 0000000..0e3ff25 --- /dev/null +++ b/mesecons/mesecons_button/textures/jeija_wall_button_off.png diff --git a/mesecons/mesecons_button/textures/jeija_wall_button_on.png b/mesecons/mesecons_button/textures/jeija_wall_button_on.png Binary files differnew file mode 100644 index 0000000..1d97464 --- /dev/null +++ b/mesecons/mesecons_button/textures/jeija_wall_button_on.png diff --git a/mesecons/mesecons_button/textures/jeija_wall_button_sides.png b/mesecons/mesecons_button/textures/jeija_wall_button_sides.png Binary files differnew file mode 100644 index 0000000..9b79b57 --- /dev/null +++ b/mesecons/mesecons_button/textures/jeija_wall_button_sides.png  | 
