update
parent
bce82e404d
commit
eb693b6de6
|
@ -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
|
51
init.lua
51
init.lua
|
@ -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.
Loading…
Reference in New Issue