1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2025-04-01 02:00:39 +02:00

[mesecons] Update

This commit is contained in:
LeMagnesium 2016-01-09 15:20:32 +01:00
parent c9bf1c67a9
commit 151f4cbb1e
33 changed files with 53 additions and 66 deletions

View File

@ -125,7 +125,7 @@ register_gate("xor", 2, function (val1, val2) return (val1 or val2) and not (val
register_gate("nor", 2, function (val1, val2) return not (val1 or val2) end, register_gate("nor", 2, function (val1, val2) return not (val1 or val2) end,
{{"mesecons:mesecon", "", ""}, {{"mesecons:mesecon", "", ""},
{"", "mesecons_materials:mesecon_torch_on", "mesecons_materials:silicon"}, {"", "mesecons:mesecon", "mesecons_torch:mesecon_torch_on"},
{"mesecons:mesecon", "", ""}}) {"mesecons:mesecon", "", ""}})
register_gate("or", 2, function (val1, val2) return (val1 or val2) end, register_gate("or", 2, function (val1, val2) return (val1 or val2) end,

View File

@ -201,6 +201,10 @@ local function safe_print(param)
print(dump(param)) print(dump(param))
end end
local function safe_date()
return(os.date("*t",os.time()))
end
local function remove_functions(x) local function remove_functions(x)
local tp = type(x) local tp = type(x)
if tp == "table" then if tp == "table" then
@ -321,6 +325,7 @@ local function create_environment(pos, mem, event)
clock = os.clock, clock = os.clock,
difftime = os.difftime, difftime = os.difftime,
time = os.time, time = os.time,
datetable = safe_date,
}, },
} }
env._G = env env._G = env

View File

@ -2,16 +2,10 @@ minetest.register_node("mesecons_noteblock:noteblock", {
description = "Noteblock", description = "Noteblock",
tiles = {"mesecons_noteblock.png"}, tiles = {"mesecons_noteblock.png"},
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2}, groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2},
visual_scale = 1.3,
paramtype="light",
after_place_node = function(pos)
minetest.add_node(pos, {name="mesecons_noteblock:noteblock", param2=0})
end,
on_punch = function(pos, node) -- change sound when punched on_punch = function(pos, node) -- change sound when punched
local param2 = node.param2+1 node.param2 = (node.param2+1)%12
if param2==12 then param2=0 end mesecon.noteblock_play(pos, node.param2)
minetest.add_node(pos, {name = node.name, param2 = param2}) minetest.add_node(pos, node)
mesecon.noteblock_play(pos, param2)
end, end,
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
mesecons = {effector = { -- play sound when activated mesecons = {effector = { -- play sound when activated
@ -30,58 +24,46 @@ minetest.register_craft({
} }
}) })
local soundnames = {
[0] = "mesecons_noteblock_csharp",
"mesecons_noteblock_d",
"mesecons_noteblock_dsharp",
"mesecons_noteblock_e",
"mesecons_noteblock_f",
"mesecons_noteblock_fsharp",
"mesecons_noteblock_g",
"mesecons_noteblock_gsharp",
"mesecons_noteblock_a",
"mesecons_noteblock_asharp",
"mesecons_noteblock_b",
"mesecons_noteblock_c"
}
local node_sounds = {
["default:glass"] = "mesecons_noteblock_hihat",
["default:stone"] = "mesecons_noteblock_kick",
["default:lava_source"] = "fire_large",
["default:chest"] = "mesecons_noteblock_snare",
["default:tree"] = "mesecons_noteblock_crash",
["default:wood"] = "mesecons_noteblock_litecrash",
["default:coalblock"] = "tnt_explode",
}
mesecon.noteblock_play = function(pos, param2) mesecon.noteblock_play = function(pos, param2)
local soundname pos.y = pos.y-1
if param2==8 then local nodeunder = minetest.get_node(pos).name
soundname="mesecons_noteblock_a" local soundname = node_sounds[nodeunder]
elseif param2==9 then if not soundname then
soundname="mesecons_noteblock_asharp" soundname = soundnames[param2]
elseif param2==10 then if not soundname then
soundname="mesecons_noteblock_b" minetest.log("error", "[mesecons_noteblock] No soundname found, test param2")
elseif param2==11 then return
soundname="mesecons_noteblock_c"
elseif param2==0 then
soundname="mesecons_noteblock_csharp"
elseif param2==1 then
soundname="mesecons_noteblock_d"
elseif param2==2 then
soundname="mesecons_noteblock_dsharp"
elseif param2==3 then
soundname="mesecons_noteblock_e"
elseif param2==4 then
soundname="mesecons_noteblock_f"
elseif param2==5 then
soundname="mesecons_noteblock_fsharp"
elseif param2==6 then
soundname="mesecons_noteblock_g"
elseif param2==7 then
soundname="mesecons_noteblock_gsharp"
end end
local block_below_name = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name if nodeunder == "default:steelblock" then
if block_below_name == "default:glass" then soundname = soundname.. 2
soundname="mesecons_noteblock_hihat"
end end
if block_below_name == "default:steelblock" then
soundname=soundname.."2" -- Go up an octave.
end end
if block_below_name == "default:stone" then pos.y = pos.y+1
soundname="mesecons_noteblock_kick" minetest.sound_play(soundname, {pos = pos})
end
if block_below_name == "default:lava_source" then
soundname="fire_large"
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
if block_below_name == "default:coalblock" then
soundname="tnt_explode"
end
minetest.sound_play(soundname,
{pos = pos, gain = 1.0, max_hear_distance = 32,})
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.

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.

View File

Before

Width:  |  Height:  |  Size: 889 B

After

Width:  |  Height:  |  Size: 889 B