Add Noteblock

This commit is contained in:
Jeija 2012-04-06 20:05:36 +02:00
parent 36c0090444
commit 312f95b659
20 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1 @@
mesecons

View File

@ -0,0 +1,76 @@
minetest.register_node("mesecons_noteblock:noteblock", {
description = "Noteblock",
tile_images = {"mesecons_noteblock.png"},
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
drawtype = "allfaces_optional",
visual_scale = 1.3,
paramtype="light",
})
minetest.register_on_placenode(function (pos, node)
if node.name=="mesecons_noteblock:noteblock" then
minetest.env:add_node(pos, {name=node.name, param2=0})
end
end)
minetest.register_on_punchnode(function (pos, node)
if node.name=="mesecons_noteblock:noteblock" then
local param2 = node.param2+1
if param2==12 then param2=0 end
minetest.env:add_node(pos, {name=node.name, param2=param2})
mesecon.noteblock_play(pos, node)
end
end)
mesecon.noteblock_play = function (pos, node)
local soundname
if node.param2==8 then
soundname="mesecons_noteblock_a"
elseif node.param2==9 then
soundname="mesecons_noteblock_asharp"
elseif node.param2==10 then
soundname="mesecons_noteblock_b"
elseif node.param2==11 then
soundname="mesecons_noteblock_c"
elseif node.param2==0 then
soundname="mesecons_noteblock_csharp"
elseif node.param2==1 then
soundname="mesecons_noteblock_d"
elseif node.param2==2 then
soundname="mesecons_noteblock_dsharp"
elseif node.param2==3 then
soundname="mesecons_noteblock_e"
elseif node.param2==4 then
soundname="mesecons_noteblock_f"
elseif node.param2==5 then
soundname="mesecons_noteblock_fsharp"
elseif node.param2==6 then
soundname="mesecons_noteblock_g"
elseif node.param2==7 then
soundname="mesecons_noteblock_gsharp"
end
local block_below_name = minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
if block_below_name == "default:glass" then
soundname="mesecons_noteblock_hihat"
end
if block_below_name == "default:stone" then
soundname="mesecons_noteblock_kick"
end
if block_below_name == "default:chest" then
soundname="mesecons_noteblock_snare"
end
if block_below_name == "default:tree" then
soundname="mesecons_noteblock_crash"
end
if block_below_name == "default:wood" then
soundname="mesecons_noteblock_litecrash"
end
minetest.sound_play(soundname,
{pos = pos, gain = 1.0, max_hear_distance = 32,})
end
mesecon:register_on_signal_on(function(pos, node)
if node.name=="mesecons_noteblock:noteblock" then
mesecon.noteblock_play(pos, node)
end
end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B