2016-03-15 22:36:23 +01:00
|
|
|
minetest.register_node("illuna:desert_gravel", {
|
|
|
|
description = "Gravel",
|
2017-04-02 13:41:17 +02:00
|
|
|
tiles = {"illuna_desertgravel.png"},
|
2016-03-15 22:36:23 +01:00
|
|
|
groups = {crumbly = 2, falling_node = 1},
|
2016-03-16 18:51:45 +01:00
|
|
|
sounds = default.node_sound_dirt_defaults({
|
|
|
|
footstep = {name="default_gravel_footstep", gain=0.5},
|
|
|
|
dug = {name="default_gravel_footstep", gain=1.0},
|
|
|
|
}),
|
2016-03-15 22:36:23 +01:00
|
|
|
drop = {
|
|
|
|
max_items = 1,
|
|
|
|
items = {
|
|
|
|
{items = {'default:flint'}, rarity = 16},
|
|
|
|
{items = {'illuna:desert_gravel'}}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
2016-04-20 19:48:32 +02:00
|
|
|
|
2017-04-02 13:41:17 +02:00
|
|
|
minetest.register_alias("illuna:desertgravel", "illuna:desert_gravel")
|
|
|
|
|
2017-03-20 22:39:23 +01:00
|
|
|
minetest.register_node("illuna:stonebrick", {
|
|
|
|
description = "Stone Brick",
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
place_param2 = 0,
|
|
|
|
tiles = {"default_stone_brick.png"},
|
|
|
|
is_ground_content = false,
|
|
|
|
groups = {cracky = 2, stone = 1},
|
|
|
|
light_source = 3,
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
2017-03-27 19:31:35 +02:00
|
|
|
minetest.register_node("illuna:moonbrick", {
|
|
|
|
description = "Moon Brick",
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
tiles = {"xdecor_moonbrick.png"},
|
|
|
|
groups = {cracky = 2},
|
|
|
|
light_source = 3,
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
2016-08-25 15:13:32 +02:00
|
|
|
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(),
|
|
|
|
})
|
|
|
|
|
2017-03-20 22:39:23 +01:00
|
|
|
minetest.register_node("illuna:welcome_block_1", {
|
2016-08-02 18:05:14 +02:00
|
|
|
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(),
|
|
|
|
})
|
|
|
|
|
2016-08-02 18:15:52 +02:00
|
|
|
minetest.register_node("illuna:instruction_block_1", {
|
|
|
|
description = "Instruction Block 1",
|
2016-08-03 00:43:22 +02:00
|
|
|
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"},
|
2016-08-03 00:09:45 +02:00
|
|
|
paramtype2 = "facedir",
|
2016-05-22 22:42:04 +02:00
|
|
|
groups = {unbreakable = 1},
|
2016-08-02 19:38:11 +02:00
|
|
|
on_place = minetest.rotate_node,
|
2016-05-22 22:42:04 +02:00
|
|
|
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 = {
|
2016-08-02 18:15:52 +02:00
|
|
|
{items = {'illuna:instruction_block_1'}}
|
2016-05-22 22:42:04 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2016-08-02 18:15:52 +02:00
|
|
|
minetest.register_node("illuna:instruction_block_2", {
|
|
|
|
description = "Instruction Block 2",
|
2016-08-03 00:43:22 +02:00
|
|
|
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"},
|
2016-08-02 19:38:11 +02:00
|
|
|
paramtype2 = "facedir",
|
2016-05-22 22:42:04 +02:00
|
|
|
groups = {unbreakable = 1},
|
2016-08-02 19:38:11 +02:00
|
|
|
on_place = minetest.rotate_node,
|
2016-05-22 22:42:04 +02:00
|
|
|
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 = {
|
2016-08-02 18:15:52 +02:00
|
|
|
{items = {'illuna:instruction_block_2'}}
|
2016-05-22 22:42:04 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2016-08-02 18:15:52 +02:00
|
|
|
minetest.register_node("illuna:instruction_block_3", {
|
|
|
|
description = "Instruction Block 3",
|
2016-08-03 00:43:22 +02:00
|
|
|
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"},
|
2016-08-02 19:38:11 +02:00
|
|
|
paramtype2 = "facedir",
|
2016-05-22 22:42:04 +02:00
|
|
|
groups = {unbreakable = 1},
|
2016-08-02 19:38:11 +02:00
|
|
|
on_place = minetest.rotate_node,
|
2016-05-22 22:42:04 +02:00
|
|
|
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 = {
|
2016-08-02 18:15:52 +02:00
|
|
|
{items = {'illuna:instruction_block_3'}}
|
2016-05-22 22:42:04 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2016-08-02 18:15:52 +02:00
|
|
|
minetest.register_node("illuna:instruction_block_4", {
|
|
|
|
description = "Instruction Block 4",
|
2016-08-03 00:43:22 +02:00
|
|
|
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"},
|
2016-08-02 19:38:11 +02:00
|
|
|
paramtype2 = "facedir",
|
2016-05-22 22:42:04 +02:00
|
|
|
groups = {unbreakable = 1},
|
2016-08-02 19:38:11 +02:00
|
|
|
on_place = minetest.rotate_node,
|
2016-05-22 22:42:04 +02:00
|
|
|
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 = {
|
2016-08-02 18:15:52 +02:00
|
|
|
{items = {'illuna:instruction_block_4'}}
|
2016-05-22 22:42:04 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
2016-10-02 17:47:38 +02:00
|
|
|
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 },
|
|
|
|
})
|
2017-03-20 22:32:45 +01:00
|
|
|
|
2017-03-20 22:34:18 +01:00
|
|
|
if minetest.get_modpath("ethereal") then
|
2017-03-26 21:39:07 +02:00
|
|
|
-- disallow placing of lava below -2 except player has the trusted_player priv
|
|
|
|
minetest.override_item("default:lava_source", {
|
|
|
|
after_place_node = function(pos, placer, node)
|
|
|
|
if (minetest.check_player_privs(placer:get_player_name(), {trusted_player=true})) then
|
|
|
|
-- node was placed - let's store some playerinformations to make the moderators work easier
|
|
|
|
local meta = minetest.get_meta(pos)
|
|
|
|
meta:set_string("placer", placer:get_player_name() or "")
|
|
|
|
meta:set_string("infotext", "Some Lava (graceful placer: "..meta:get_string("placer") .. " - it's a trusted player.)")
|
|
|
|
else
|
|
|
|
-- player has not trusted_player, we will remove the node when not placed at least two nodes below sealevel
|
|
|
|
if pos.y >= -2 then
|
|
|
|
minetest.env:remove_node(pos)
|
|
|
|
else
|
|
|
|
-- node was placed - let's store some playerinformations to make the moderators work easier
|
|
|
|
local meta = minetest.get_meta(pos)
|
|
|
|
meta:set_string("placer", placer:get_player_name() or "")
|
|
|
|
meta:set_string("infotext", "Some Lava (graceful placer: "..meta:get_string("placer") .. ")")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end,
|
|
|
|
on_construct = function(pos, player)
|
|
|
|
local meta = minetest.get_meta(pos)
|
|
|
|
meta:set_string("placer", "")
|
|
|
|
end,
|
|
|
|
pointable = true,
|
|
|
|
})
|
|
|
|
|
|
|
|
-- nodeboxes by https://github.com/D00Med/LegendofMinetest
|
2017-03-20 22:34:18 +01:00
|
|
|
minetest.override_item("default:furnace", {
|
|
|
|
drawtype = "nodebox",
|
|
|
|
paramtype = "light",
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
{-0.5, -0.5, -0.5, 0.5, -0.3125, 0.5}, -- NodeBox1
|
|
|
|
{-0.4375, 0.375, -0.5, 0.4375, 0.4375, 0.5}, -- NodeBox2
|
|
|
|
{-0.375, 0.4375, -0.5, 0.375, 0.5, 0.5}, -- NodeBox3
|
|
|
|
{-0.5, 0.3125, -0.5, 0.5, 0.375, 0.5}, -- NodeBox4
|
|
|
|
{-0.5, -0.5, -0.5, -0.3125, 0.3125, 0.5}, -- NodeBox5
|
|
|
|
{0.3125, -0.5, -0.5, 0.5, 0.375, 0.5}, -- NodeBox6
|
|
|
|
{-0.5, -0.0625, -0.5, 0.5, 0.0625, 0.5}, -- NodeBox7
|
|
|
|
{-0.5, -0.5, -0.375, 0.5, 0.3125, 0.5}, -- NodeBox8
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
2017-03-20 22:32:45 +01:00
|
|
|
|
2017-03-20 22:34:18 +01:00
|
|
|
minetest.override_item("default:chest_locked", {
|
|
|
|
paramtype = "light",
|
|
|
|
drawtype = "nodebox",
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
{-0.5, -0.5, -0.5, 0.5, 0.25, 0.5}, -- NodeBox1
|
|
|
|
{-0.5, 0.375, -0.375, 0.5, 0.4375, 0.375}, -- NodeBox2
|
|
|
|
{-0.5, 0.25, -0.4375, 0.5, 0.375, 0.4375}, -- NodeBox3
|
|
|
|
{-0.5, 0.4375, -0.3125, 0.5, 0.5, 0.3125}, -- NodeBox4
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
2017-03-20 22:32:45 +01:00
|
|
|
|
|
|
|
|
2017-03-20 22:34:18 +01:00
|
|
|
minetest.override_item("default:chest", {
|
|
|
|
paramtype = "light",
|
|
|
|
drawtype = "nodebox",
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
{-0.5, -0.5, -0.5, 0.5, 0.25, 0.5}, -- NodeBox1
|
|
|
|
{-0.5, 0.375, -0.375, 0.5, 0.4375, 0.375}, -- NodeBox2
|
|
|
|
{-0.5, 0.25, -0.4375, 0.5, 0.375, 0.4375}, -- NodeBox3
|
|
|
|
{-0.5, 0.4375, -0.3125, 0.5, 0.5, 0.3125}, -- NodeBox4
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
end
|