master
HybridDog 2013-12-15 15:34:11 +01:00
parent bce82e404d
commit eb693b6de6
5 changed files with 32 additions and 24 deletions

View File

@ -1,8 +1,9 @@
Adds Obsiadian which comes from lava. Adds Obsiadian which comes from lava.
License: License:
cc-by-sa 3.0 for the textures, WTFPL for everything else.
All code is WTFPL. All code is WTFPL.
WTFPL for the texture changes (Obsidian Brick and tools). WTFPL for the texture changes (Obsidian Brick and tools).
Textures edited with Gimp. Textures edited with Gimp.
Sounds from ambience mod.
TODO:
— add a TODO list

View File

@ -1,10 +1,11 @@
local load_time_start = os.clock()
-------------------------------------------lavacooling----------------------------------------------- -------------------------------------------lavacooling-----------------------------------------------
local WATER = {"default:water_source", "default:water_flowing"} local WATER = {"default:water_source", "default:water_flowing"}
local LAVA = {"default:lava_flowing","default:lava_source"} local LAVA = {"default:lava_flowing","default:lava_source"}
local function coolnode(na, pos) local function coolnode(na, pos)
minetest.add_node (pos, {name = na}) minetest.add_node (pos, {name = na})
minetest.sound_play("lavacooling", {pos = pos, gain = 0.5, max_hear_distance = 5}) minetest.sound_play("default_cool_lava", {pos = pos, gain = 0.25})
minetest.add_particlespawner( minetest.add_particlespawner(
3, --amount 3, --amount
0.1, --time 0.1, --time
@ -25,35 +26,41 @@ local function coolnode(na, pos)
end end
--Change the old block --Change the old nodes
minetest.register_node(":lavacooling:obsidian", {}) for _,node in ipairs({
minetest.register_abm ({ {"lavacooling:obsidian", "default:obsidian"},
nodenames = {"lavacooling:obsidian"}, {"lavacooling:obsidian_brick", "default:obsidian_brick"},
interval = 0, {"lavacooling:basalt", "default:basalt"},
chance = 1, }) do
action = function (pos) local input = node[1]
minetest.add_node (pos, {name = "default:obsidian"}) local output = node[2]
end, minetest.register_node(":"..input, {})
}) minetest.register_abm ({
nodenames = {input},
interval = 0,
chance = 1,
action = function (pos)
minetest.add_node (pos, {name = output})
print("[lavacooling] "..input.." changed to "..output.." at ("..pos.x..", "..pos.y..", "..pos.z..")")
end,
})
end
--Nodes/Items --Nodes/Items
minetest.register_node("lavacooling:obsidian_brick", { local tmp = minetest.registered_nodes["default:obsidian"]
description = "Obsidian Brick", tmp.description = tmp.description.." Brick"
tiles = {"lavacooling_obsidian_brick.png"}, tmp.tiles = {"lavacooling_obsidian_brick.png"}
sounds = default.node_sound_stone_defaults(), minetest.register_node(":default:obsidian_brick", tmp)
groups = {cracky=1,level=2},
})
minetest.register_node("lavacooling:basalt", { minetest.register_node(":default:basalt", {
description = "Basalt", description = "Basalt",
tiles = {"lavacooling_basalt.png","lavacooling_basalt.png","lavacooling_basalt_side.png", tiles = {"lavacooling_basalt.png","lavacooling_basalt.png","lavacooling_basalt_side.png",
"lavacooling_basalt_side.png","lavacooling_basalt_side.png^[transformR180","lavacooling_basalt_side.png"}, "lavacooling_basalt_side.png","lavacooling_basalt_side.png^[transformR180","lavacooling_basalt_side.png"},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
groups = {cracky=3}, groups = {cracky=3},
drop = "default:cobble",
}) })
@ -63,7 +70,7 @@ minetest.register_node("lavacooling:basalt", {
--Crafts --Crafts
minetest.register_craft({ minetest.register_craft({
output = "lavacooling:obsidian_brick 4", output = "default:obsidian_brick 4",
recipe = { recipe = {
{"default:obsidian", "default:obsidian"}, {"default:obsidian", "default:obsidian"},
{"default:obsidian", "default:obsidian"}, {"default:obsidian", "default:obsidian"},
@ -158,7 +165,7 @@ minetest.register_abm ({
action = function (pos) action = function (pos)
if find_coolingnodes(WATER, pos) then if find_coolingnodes(WATER, pos) then
if pos.y < -10+math.random(5) then if pos.y < -10+math.random(5) then
coolnode("lavacooling:basalt", pos) coolnode("default:basalt", pos)
else else
coolnode("default:cobble", pos) coolnode("default:cobble", pos)
end end
@ -270,4 +277,4 @@ minetest.register_abm ({
end end
print("[lavacooling] loaded") print(string.format("[lavacooling] loaded after ca. %.2fs", os.clock() - load_time_start))

Binary file not shown.

Binary file not shown.

Binary file not shown.