illuna/nodes.lua
2016-10-02 17:47:38 +02:00

198 lines
6.6 KiB
Lua

minetest.register_node("illuna:desert_gravel", {
description = "Gravel",
tiles = {"desert_gravel.png"},
groups = {crumbly = 2, falling_node = 1},
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_gravel_footstep", gain=0.5},
dug = {name="default_gravel_footstep", gain=1.0},
}),
drop = {
max_items = 1,
items = {
{items = {'default:flint'}, rarity = 16},
{items = {'illuna:desert_gravel'}}
}
}
})
function illuna.teamconstruct(pos)
minetest.add_entity({x=pos.x, y=pos.y+1.35, z=pos.z}, "illuna:teamlist")
local timer = minetest.get_node_timer(pos)
timer:start(5.0)
end
function illuna.particleconstruct(pos)
minetest.add_particlespawner({
amount = 2,
time = 0,
minpos = pos,
maxpos = pos,
minvel = {x = -0, y = 0, z = -0},
maxvel = {x = 1, y = 1, z = 1},
minacc = {x = -1, y = -1, z = -1},
maxacc = {x = 1, y = 1, z = 1},
minexptime = 2,
maxexptime = 3,
minsize = 0.2,
maxsize = 1,
texture = "illuna_particle.png",
})
end
minetest.register_entity("illuna:teamlist", {
visual = "sprite",
visual_size = {x=0.85, y=0.85},
collisionbox = {0},
physical = false,
textures = {"moreores_tin_block.png^team_wall.png"},
on_activate = function(self)
local pos = self.object:getpos()
local pos_under = {x=pos.x, y=pos.y-1, z=pos.z}
if minetest.get_node(pos_under).name ~= "illuna:team" then
self.object:remove()
end
end
})
minetest.register_node("illuna:team", {
description = "Illuna Teamlist",
tiles = {"caverealms_glow_obsidian.png"},
paramtype2 = "facedir",
groups = {cracky = 3},
light_source = 20,
drop = 'illuna:team',
on_construct = illuna.teamconstruct,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("illuna:particlespawner", {
description = "Illuna Particlespawner",
tiles = {"caverealms_glow_obsidian.png"},
paramtype2 = "facedir",
groups = {cracky = 3},
light_source = 20,
drop = 'illuna:particlespawner',
on_construct = illuna.particleconstruct,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("illuna:welcome_block_1", {
description = "Illuna Welcome Block 1",
tiles = {"default_obsidian.png", "default_obsidian.png", "default_obsidian.png", "default_obsidian.png", "default_obsidian.png", "default_obsidian.png^welcome_block_1.png"},
paramtype2 = "facedir",
groups = {cracky = 3},
on_place = minetest.rotate_node,
drop = 'illuna:welcome_block_1',
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("illuna:welcome_block_2", {
description = "Illuna Welcome Block 2",
tiles = {"default_obsidian.png", "default_obsidian.png", "default_obsidian.png", "default_obsidian.png", "default_obsidian.png", "default_obsidian.png^welcome_block_2.png"},
paramtype2 = "facedir",
groups = {cracky = 3},
on_place = minetest.rotate_node,
drop = 'illuna:welcome_block_2',
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("illuna:welcome_block_3", {
description = "Illuna Welcome Block 3",
tiles = {"default_obsidian.png", "default_obsidian.png", "default_obsidian.png", "default_obsidian.png", "default_obsidian.png", "default_obsidian.png^welcome_block_3.png"},
paramtype2 = "facedir",
groups = {cracky = 3},
on_place = minetest.rotate_node,
drop = 'illuna:welcome_block_3',
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("illuna:instruction_block_1", {
description = "Instruction Block 1",
tiles = {"default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png^instruction_block_1.png"},
paramtype2 = "facedir",
groups = {unbreakable = 1},
on_place = minetest.rotate_node,
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_gravel_footstep", gain=0.5},
dug = {name="default_gravel_footstep", gain=1.0},
}),
drop = {
max_items = 1,
items = {
{items = {'illuna:instruction_block_1'}}
}
}
})
minetest.register_node("illuna:instruction_block_2", {
description = "Instruction Block 2",
tiles = {"default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png^instruction_block_2.png"},
paramtype2 = "facedir",
groups = {unbreakable = 1},
on_place = minetest.rotate_node,
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_gravel_footstep", gain=0.5},
dug = {name="default_gravel_footstep", gain=1.0},
}),
drop = {
max_items = 1,
items = {
{items = {'illuna:instruction_block_2'}}
}
}
})
minetest.register_node("illuna:instruction_block_3", {
description = "Instruction Block 3",
tiles = {"default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png^instruction_block_3.png"},
paramtype2 = "facedir",
groups = {unbreakable = 1},
on_place = minetest.rotate_node,
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_gravel_footstep", gain=0.5},
dug = {name="default_gravel_footstep", gain=1.0},
}),
drop = {
max_items = 1,
items = {
{items = {'illuna:instruction_block_3'}}
}
}
})
minetest.register_node("illuna:instruction_block_4", {
description = "Instruction Block 4",
tiles = {"default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png", "default_stone_brick.png^instruction_block_4.png"},
paramtype2 = "facedir",
groups = {unbreakable = 1},
on_place = minetest.rotate_node,
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_gravel_footstep", gain=0.5},
dug = {name="default_gravel_footstep", gain=1.0},
}),
drop = {
max_items = 1,
items = {
{items = {'illuna:instruction_block_4'}}
}
}
})
minetest.register_node("illuna:lw_instructions", {
description = "Instructions for the biopodworld",
drawtype = "signlike",
tiles = {"lw_instructions.png"},
visual_scale = 3.0,
inventory_image = "lw_instructions.png",
wield_image = "lw_instructions.png",
paramtype = "light",
paramtype2 = "wallmounted",
light_source = 12,
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "wallmounted",
},
groups = { unbreakable = 1 },
})