Add Noteblock
parent
36c0090444
commit
312f95b659
|
@ -0,0 +1 @@
|
|||
mesecons
|
|
@ -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.
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 |
Loading…
Reference in New Issue