mirror of
https://github.com/luanti-org/minetest_game.git
synced 2025-05-20 14:23:16 -04:00
Merge branch 'master' of git://github.com/celeron55/minetest_game
This commit is contained in:
commit
6b6fbac598
3 changed files with 77 additions and 59 deletions
|
@ -196,7 +196,7 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:stick 4',
|
output = 'default:stick 4',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood'},
|
{'group:wood'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -211,8 +211,8 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:sign_wall',
|
output = 'default:sign_wall',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood', 'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
{'default:wood', 'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
{'', 'default:stick', ''},
|
{'', 'default:stick', ''},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -228,7 +228,7 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:pick_wood',
|
output = 'default:pick_wood',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood', 'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
{'', 'default:stick', ''},
|
{'', 'default:stick', ''},
|
||||||
{'', 'default:stick', ''},
|
{'', 'default:stick', ''},
|
||||||
}
|
}
|
||||||
|
@ -237,7 +237,7 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:pick_stone',
|
output = 'default:pick_stone',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:cobble', 'default:cobble', 'default:cobble'},
|
{'group:stone', 'group:stone', 'group:stone'},
|
||||||
{'', 'default:stick', ''},
|
{'', 'default:stick', ''},
|
||||||
{'', 'default:stick', ''},
|
{'', 'default:stick', ''},
|
||||||
}
|
}
|
||||||
|
@ -264,7 +264,7 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:shovel_wood',
|
output = 'default:shovel_wood',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood'},
|
{'group:wood'},
|
||||||
{'default:stick'},
|
{'default:stick'},
|
||||||
{'default:stick'},
|
{'default:stick'},
|
||||||
}
|
}
|
||||||
|
@ -273,7 +273,7 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:shovel_stone',
|
output = 'default:shovel_stone',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:cobble'},
|
{'group:stone'},
|
||||||
{'default:stick'},
|
{'default:stick'},
|
||||||
{'default:stick'},
|
{'default:stick'},
|
||||||
}
|
}
|
||||||
|
@ -291,8 +291,8 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:axe_wood',
|
output = 'default:axe_wood',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood'},
|
||||||
{'default:wood', 'default:stick'},
|
{'group:wood', 'default:stick'},
|
||||||
{'', 'default:stick'},
|
{'', 'default:stick'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -300,8 +300,8 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:axe_stone',
|
output = 'default:axe_stone',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:cobble', 'default:cobble'},
|
{'group:stone', 'group:stone'},
|
||||||
{'default:cobble', 'default:stick'},
|
{'group:stone', 'default:stick'},
|
||||||
{'', 'default:stick'},
|
{'', 'default:stick'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -318,8 +318,8 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:sword_wood',
|
output = 'default:sword_wood',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood'},
|
{'group:wood'},
|
||||||
{'default:wood'},
|
{'group:wood'},
|
||||||
{'default:stick'},
|
{'default:stick'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -327,8 +327,8 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:sword_stone',
|
output = 'default:sword_stone',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:cobble'},
|
{'group:stone'},
|
||||||
{'default:cobble'},
|
{'group:stone'},
|
||||||
{'default:stick'},
|
{'default:stick'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -354,27 +354,27 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:chest',
|
output = 'default:chest',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood', 'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
{'default:wood', '', 'default:wood'},
|
{'group:wood', '', 'group:wood'},
|
||||||
{'default:wood', 'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:chest_locked',
|
output = 'default:chest_locked',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood', 'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
{'default:wood', 'default:steel_ingot', 'default:wood'},
|
{'group:wood', 'default:steel_ingot', 'group:wood'},
|
||||||
{'default:wood', 'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:furnace',
|
output = 'default:furnace',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:cobble', 'default:cobble', 'default:cobble'},
|
{'group:stone', 'group:stone', 'group:stone'},
|
||||||
{'default:cobble', '', 'default:cobble'},
|
{'group:stone', '', 'group:stone'},
|
||||||
{'default:cobble', 'default:cobble', 'default:cobble'},
|
{'group:stone', 'group:stone', 'group:stone'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -387,11 +387,18 @@ minetest.register_craft({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = 'default:steel_ingot 9',
|
||||||
|
recipe = {
|
||||||
|
{'default:steelblock'},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:sandstone',
|
output = 'default:sandstone',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:sand', 'default:sand'},
|
{'group:sand', 'group:sand'},
|
||||||
{'default:sand', 'default:sand'},
|
{'group:sand', 'group:sand'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -411,6 +418,13 @@ minetest.register_craft({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = 'default:clay_brick 4',
|
||||||
|
recipe = {
|
||||||
|
{'default:brick'},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:paper',
|
output = 'default:paper',
|
||||||
recipe = {
|
recipe = {
|
||||||
|
@ -430,9 +444,9 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:bookshelf',
|
output = 'default:bookshelf',
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood', 'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
{'default:book', 'default:book', 'default:book'},
|
{'default:book', 'default:book', 'default:book'},
|
||||||
{'default:wood', 'default:wood', 'default:wood'},
|
{'group:wood', 'group:wood', 'group:wood'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -460,13 +474,7 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "default:glass",
|
output = "default:glass",
|
||||||
recipe = "default:sand",
|
recipe = "group:sand",
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "cooking",
|
|
||||||
output = "default:glass",
|
|
||||||
recipe = "default:desert_sand",
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
|
@ -493,13 +501,7 @@ minetest.register_craft({
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "default:tree",
|
recipe = "group:tree",
|
||||||
burntime = 30,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "default:jungletree",
|
|
||||||
burntime = 30,
|
burntime = 30,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -547,7 +549,7 @@ minetest.register_craft({
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "default:wood",
|
recipe = "group:wood",
|
||||||
burntime = 7,
|
burntime = 7,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -698,7 +700,7 @@ minetest.register_node("default:stone", {
|
||||||
description = "Stone",
|
description = "Stone",
|
||||||
tiles = {"default_stone.png"},
|
tiles = {"default_stone.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {cracky=3},
|
groups = {cracky=3, stone=1},
|
||||||
drop = 'default:cobble',
|
drop = 'default:cobble',
|
||||||
legacy_mineral = true,
|
legacy_mineral = true,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
|
@ -708,7 +710,7 @@ minetest.register_node("default:desert_stone", {
|
||||||
description = "Desert Stone",
|
description = "Desert Stone",
|
||||||
tiles = {"default_desert_stone.png"},
|
tiles = {"default_desert_stone.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {cracky=3},
|
groups = {cracky=3, stone=1},
|
||||||
drop = 'default:desert_stone',
|
drop = 'default:desert_stone',
|
||||||
legacy_mineral = true,
|
legacy_mineral = true,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
|
@ -766,7 +768,7 @@ minetest.register_node("default:sand", {
|
||||||
description = "Sand",
|
description = "Sand",
|
||||||
tiles = {"default_sand.png"},
|
tiles = {"default_sand.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {crumbly=3, falling_node=1},
|
groups = {crumbly=3, falling_node=1, sand=1},
|
||||||
sounds = default.node_sound_sand_defaults(),
|
sounds = default.node_sound_sand_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -774,7 +776,7 @@ minetest.register_node("default:desert_sand", {
|
||||||
description = "Desert Sand",
|
description = "Desert Sand",
|
||||||
tiles = {"default_desert_sand.png"},
|
tiles = {"default_desert_sand.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {sand=1, crumbly=3, falling_node=1},
|
groups = {sand=1, crumbly=3, falling_node=1, sand=1},
|
||||||
sounds = default.node_sound_sand_defaults(),
|
sounds = default.node_sound_sand_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -813,7 +815,6 @@ minetest.register_node("default:brick", {
|
||||||
tiles = {"default_brick.png"},
|
tiles = {"default_brick.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {cracky=3},
|
groups = {cracky=3},
|
||||||
drop = 'default:clay_brick 4',
|
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -975,7 +976,7 @@ minetest.register_node("default:wood", {
|
||||||
description = "Wooden Planks",
|
description = "Wooden Planks",
|
||||||
tiles = {"default_wood.png"},
|
tiles = {"default_wood.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -1484,7 +1485,7 @@ minetest.register_node("default:cobble", {
|
||||||
description = "Cobblestone",
|
description = "Cobblestone",
|
||||||
tiles = {"default_cobble.png"},
|
tiles = {"default_cobble.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {cracky=3},
|
groups = {cracky=3, stone=2},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ minetest.register_abm({
|
||||||
local n = minetest.env:get_node(trunkp)
|
local n = minetest.env:get_node(trunkp)
|
||||||
local reg = minetest.registered_nodes[n.name]
|
local reg = minetest.registered_nodes[n.name]
|
||||||
-- Assume ignore is a trunk, to make the thing work at the border of the active area
|
-- Assume ignore is a trunk, to make the thing work at the border of the active area
|
||||||
if n.name == "ignore" or (reg.groups.tree and reg.groups.tree ~= 0) then
|
if n.name == "ignore" or (reg and reg.groups.tree and reg.groups.tree ~= 0) then
|
||||||
--print("cached trunk still exists")
|
--print("cached trunk still exists")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
|
@ -69,14 +69,26 @@ end
|
||||||
function default.make_papyrus(pos, size)
|
function default.make_papyrus(pos, size)
|
||||||
for y=0,size-1 do
|
for y=0,size-1 do
|
||||||
local p = {x=pos.x, y=pos.y+y, z=pos.z}
|
local p = {x=pos.x, y=pos.y+y, z=pos.z}
|
||||||
minetest.env:set_node(p, {name="default:papyrus"})
|
local nn = minetest.env:get_node(p).name
|
||||||
|
if minetest.registered_nodes[nn] and
|
||||||
|
minetest.registered_nodes[nn].buildable_to then
|
||||||
|
minetest.env:set_node(p, {name="default:papyrus"})
|
||||||
|
else
|
||||||
|
return
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function default.make_cactus(pos, size)
|
function default.make_cactus(pos, size)
|
||||||
for y=0,size-1 do
|
for y=0,size-1 do
|
||||||
local p = {x=pos.x, y=pos.y+y, z=pos.z}
|
local p = {x=pos.x, y=pos.y+y, z=pos.z}
|
||||||
minetest.env:set_node(p, {name="default:cactus"})
|
local nn = minetest.env:get_node(p).name
|
||||||
|
if minetest.registered_nodes[nn] and
|
||||||
|
minetest.registered_nodes[nn].buildable_to then
|
||||||
|
minetest.env:set_node(p, {name="default:cactus"})
|
||||||
|
else
|
||||||
|
return
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -245,11 +257,11 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
||||||
local z0 = minp.z + math.floor((divz+0)*divlen)
|
local z0 = minp.z + math.floor((divz+0)*divlen)
|
||||||
local x1 = minp.x + math.floor((divx+1)*divlen)
|
local x1 = minp.x + math.floor((divx+1)*divlen)
|
||||||
local z1 = minp.z + math.floor((divz+1)*divlen)
|
local z1 = minp.z + math.floor((divz+1)*divlen)
|
||||||
-- Determine cactus amount from perlin noise
|
-- Determine dry shrubs amount from perlin noise
|
||||||
local cactus_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 5 + 0)
|
local shrub_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 5 + 0)
|
||||||
-- Find random positions for cactus based on this random
|
-- Find random positions for dry shrubs based on this random
|
||||||
local pr = PseudoRandom(seed+1)
|
local pr = PseudoRandom(seed+1)
|
||||||
for i=0,cactus_amount do
|
for i=0,shrub_amount do
|
||||||
local x = pr:next(x0, x1)
|
local x = pr:next(x0, x1)
|
||||||
local z = pr:next(z0, z1)
|
local z = pr:next(z0, z1)
|
||||||
-- Find ground level (0...15)
|
-- Find ground level (0...15)
|
||||||
|
@ -260,9 +272,14 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- If desert sand, make cactus
|
-- If desert sand, make dry shrub
|
||||||
if ground_y and minetest.env:get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then
|
if ground_y and minetest.env:get_node({x=x,y=ground_y,z=z}).name == "default:desert_sand" then
|
||||||
minetest.env:set_node({x=x,y=ground_y+1,z=z}, {name="default:dry_shrub"})
|
local p = {x=x,y=ground_y+1,z=z}
|
||||||
|
local nn = minetest.env:get_node(p).name
|
||||||
|
if minetest.registered_nodes[nn] and
|
||||||
|
minetest.registered_nodes[nn].buildable_to then
|
||||||
|
minetest.env:set_node(p, {name="default:dry_shrub"})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue