Charakterbewegungen hinzugefügt, Deko hinzugefügt, Kochrezepte angepasst
This commit is contained in:
parent
95945c0306
commit
a0c893ca0b
1124 changed files with 64294 additions and 763 deletions
290
mods/moreblocks/stairs/legacy.lua
Normal file
290
mods/moreblocks/stairs/legacy.lua
Normal file
|
@ -0,0 +1,290 @@
|
|||
local rotate_and_place = minetest.rotate_and_place
|
||||
|
||||
local get_node_vars = stairs.util.get_node_vars
|
||||
local get_stair_images = stairs.util.get_stair_images
|
||||
|
||||
local legacy = {}
|
||||
|
||||
local nodeboxes = {
|
||||
stair = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, -0.5, 0.5, 0.0, 0.5 },
|
||||
{ -0.5, 0.0, 0.0, 0.5, 0.5, 0.5 },
|
||||
},
|
||||
},
|
||||
slab = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 },
|
||||
},
|
||||
stair_inner = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, -0.5, 0.5, 0.0, 0.5 },
|
||||
{ -0.5, 0.0, 0.0, 0.5, 0.5, 0.5 },
|
||||
{ -0.5, 0.0, -0.5, 0.0, 0.5, 0.0 },
|
||||
},
|
||||
},
|
||||
stair_outer = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, -0.5, 0.5, 0.0, 0.5 },
|
||||
{ -0.5, 0.0, 0.0, 0.0, 0.5, 0.5 },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local function register_generic(name, recipeitem, groups, images, description, sounds, worldaligntex, nodebox)
|
||||
if not nodebox then
|
||||
error()
|
||||
end
|
||||
|
||||
local light_source, texture_alpha, sunlight = get_node_vars(recipeitem)
|
||||
|
||||
local stair_images = get_stair_images(images, worldaligntex)
|
||||
|
||||
minetest.register_node(name, {
|
||||
description = description,
|
||||
drawtype = "nodebox",
|
||||
tiles = stair_images,
|
||||
use_texture_alpha = texture_alpha,
|
||||
sunlight_propagates = sunlight,
|
||||
light_source = light_source,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = groups,
|
||||
sounds = sounds,
|
||||
node_box = nodebox,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if pointed_thing.type ~= "node" then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
return rotate_and_place(itemstack, placer, pointed_thing)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
function legacy.register_stair(subname, recipeitem, groups, images, description, sounds, worldaligntex)
|
||||
local new_groups = table.copy(groups)
|
||||
new_groups.stair = 1
|
||||
|
||||
register_generic(
|
||||
":stairs:stair_" .. subname,
|
||||
recipeitem,
|
||||
new_groups,
|
||||
images,
|
||||
description,
|
||||
sounds,
|
||||
worldaligntex,
|
||||
nodeboxes.stair
|
||||
)
|
||||
|
||||
if recipeitem and minetest.registered_nodes[recipeitem] then
|
||||
-- Recipe matches appearence in inventory
|
||||
minetest.register_craft({
|
||||
output = "stairs:stair_" .. subname .. " 8",
|
||||
recipe = {
|
||||
{ "", "", recipeitem },
|
||||
{ "", recipeitem, recipeitem },
|
||||
{ recipeitem, recipeitem, recipeitem },
|
||||
},
|
||||
})
|
||||
|
||||
-- Use stairs to craft full blocks again (1:1)
|
||||
minetest.register_craft({
|
||||
output = recipeitem .. " 3",
|
||||
recipe = {
|
||||
{ "stairs:stair_" .. subname, "stairs:stair_" .. subname },
|
||||
{ "stairs:stair_" .. subname, "stairs:stair_" .. subname },
|
||||
},
|
||||
})
|
||||
|
||||
-- Fuel
|
||||
local baseburntime = minetest.get_craft_result({
|
||||
method = "fuel",
|
||||
width = 1,
|
||||
items = { recipeitem },
|
||||
}).time
|
||||
|
||||
if baseburntime > 0 then
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "stairs:stair_" .. subname,
|
||||
burntime = math.floor(baseburntime * 0.75),
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Register slab
|
||||
-- Node will be called stairs:slab_<subname>
|
||||
|
||||
function legacy.register_slab(subname, recipeitem, groups, images, description, sounds, worldaligntex)
|
||||
local new_groups = table.copy(groups)
|
||||
new_groups.slab = 1
|
||||
|
||||
register_generic(
|
||||
":stairs:slab_" .. subname,
|
||||
recipeitem,
|
||||
new_groups,
|
||||
images,
|
||||
description,
|
||||
sounds,
|
||||
worldaligntex,
|
||||
nodeboxes.slab
|
||||
)
|
||||
|
||||
if recipeitem and minetest.registered_nodes[recipeitem] then
|
||||
minetest.register_craft({
|
||||
output = "stairs:slab_" .. subname .. " 6",
|
||||
recipe = {
|
||||
{ recipeitem, recipeitem, recipeitem },
|
||||
},
|
||||
})
|
||||
|
||||
-- Use 2 slabs to craft a full block again (1:1)
|
||||
minetest.register_craft({
|
||||
output = recipeitem,
|
||||
recipe = {
|
||||
{ "stairs:slab_" .. subname },
|
||||
{ "stairs:slab_" .. subname },
|
||||
},
|
||||
})
|
||||
|
||||
-- Fuel
|
||||
local baseburntime = minetest.get_craft_result({
|
||||
method = "fuel",
|
||||
width = 1,
|
||||
items = { recipeitem },
|
||||
}).time
|
||||
if baseburntime > 0 then
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "stairs:slab_" .. subname,
|
||||
burntime = math.floor(baseburntime * 0.5),
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Register inner stair
|
||||
-- Node will be called stairs:stair_inner_<subname>
|
||||
|
||||
function legacy.register_stair_inner(
|
||||
subname,
|
||||
recipeitem,
|
||||
groups,
|
||||
images,
|
||||
description,
|
||||
sounds,
|
||||
worldaligntex,
|
||||
full_description
|
||||
)
|
||||
local new_groups = table.copy(groups)
|
||||
new_groups.stair = 1
|
||||
if full_description then
|
||||
description = full_description
|
||||
else
|
||||
description = stairs.S("Inner ") .. description
|
||||
end
|
||||
|
||||
register_generic(
|
||||
":stairs:stair_inner_" .. subname,
|
||||
recipeitem,
|
||||
new_groups,
|
||||
images,
|
||||
description,
|
||||
sounds,
|
||||
worldaligntex,
|
||||
nodeboxes.stair_inner
|
||||
)
|
||||
|
||||
if recipeitem and minetest.registered_nodes[recipeitem] then
|
||||
minetest.register_craft({
|
||||
output = "stairs:stair_inner_" .. subname .. " 7",
|
||||
recipe = {
|
||||
{ "", recipeitem, "" },
|
||||
{ recipeitem, "", recipeitem },
|
||||
{ recipeitem, recipeitem, recipeitem },
|
||||
},
|
||||
})
|
||||
|
||||
-- Fuel
|
||||
local baseburntime = minetest.get_craft_result({
|
||||
method = "fuel",
|
||||
width = 1,
|
||||
items = { recipeitem },
|
||||
}).time
|
||||
|
||||
if baseburntime > 0 then
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "stairs:stair_inner_" .. subname,
|
||||
burntime = math.floor(baseburntime * 0.875),
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Register outer stair
|
||||
-- Node will be called stairs:stair_outer_<subname>
|
||||
|
||||
function legacy.register_stair_outer(
|
||||
subname,
|
||||
recipeitem,
|
||||
groups,
|
||||
images,
|
||||
description,
|
||||
sounds,
|
||||
worldaligntex,
|
||||
full_description
|
||||
)
|
||||
local new_groups = table.copy(groups)
|
||||
new_groups.stair = 1
|
||||
|
||||
if full_description then
|
||||
description = full_description
|
||||
else
|
||||
description = stairs.S("Outer ") .. description
|
||||
end
|
||||
|
||||
register_generic(
|
||||
":stairs:stair_outer_" .. subname,
|
||||
recipeitem,
|
||||
new_groups,
|
||||
images,
|
||||
description,
|
||||
sounds,
|
||||
worldaligntex,
|
||||
nodeboxes.stair_outer
|
||||
)
|
||||
|
||||
if recipeitem and minetest.registered_nodes[recipeitem] then
|
||||
minetest.register_craft({
|
||||
output = "stairs:stair_outer_" .. subname .. " 6",
|
||||
recipe = {
|
||||
{ "", recipeitem, "" },
|
||||
{ recipeitem, recipeitem, recipeitem },
|
||||
},
|
||||
})
|
||||
|
||||
-- Fuel
|
||||
local baseburntime = minetest.get_craft_result({
|
||||
method = "fuel",
|
||||
width = 1,
|
||||
items = { recipeitem },
|
||||
}).time
|
||||
|
||||
if baseburntime > 0 then
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "stairs:stair_outer_" .. subname,
|
||||
burntime = math.floor(baseburntime * 0.625),
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
stairs.legacy = legacy
|
Loading…
Add table
Add a link
Reference in a new issue