Code cleanup. Add tar and more stone types.

This commit is contained in:
Calinou 2014-06-27 20:14:08 +02:00
parent 2b6eb1ff84
commit e2f4cc369b
14 changed files with 107 additions and 119 deletions

View File

@ -1,4 +1,3 @@
local S = moreblocks.gettext local S = moreblocks.gettext
circular_saw = {} circular_saw = {}
@ -10,10 +9,10 @@ circular_saw.known_stairs = setmetatable({}, {
end, end,
}) })
-- This is populated by stairsplus:register_all -- This is populated by stairsplus:register_all:
circular_saw.known_nodes = {} circular_saw.known_nodes = {}
-- How many microblocks does this shape at the output inventory cost? -- How many microblocks does this shape at the output inventory cost:
circular_saw.cost_in_microblocks = { circular_saw.cost_in_microblocks = {
1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2,
2, 3, 2, 4, 2, 4, 5, 6, 2, 3, 2, 4, 2, 4, 5, 6,
@ -67,15 +66,15 @@ function circular_saw:get_output_inv(modname, material, amount, max)
end end
local list = {} local list = {}
-- If there is nothing inside display empty inventory -- If there is nothing inside, display empty inventory:
if amount < 1 then if amount < 1 then
return list return list
end end
for i, t in ipairs(circular_saw.names) do for i, t in ipairs(circular_saw.names) do
local cost = circular_saw.cost_in_microblocks[i] local cost = circular_saw.cost_in_microblocks[i]
table.insert(list, modname..":"..t[1].."_"..material..t[2] table.insert(list, modname .. ":" .. t[1] .. "_" .. material .. t[2]
.." "..math.min(math.floor(amount/cost), max)) .. " " .. math.min(math.floor(amount/cost), max))
end end
return list return list
end end
@ -83,7 +82,7 @@ end
-- Reset empty circular_saw after last full block has been taken out -- Reset empty circular_saw after last full block has been taken out
-- (or the circular_saw has been placed the first time) -- (or the circular_saw has been placed the first time)
-- note: max_offered is not reset -- Note: max_offered is not reset:
function circular_saw:reset(pos) function circular_saw:reset(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local inv = meta:get_inventory() local inv = meta:get_inventory()
@ -100,7 +99,7 @@ end
-- Player has taken something out of the box or placed something inside -- Player has taken something out of the box or placed something inside
-- that amounts to count microblocks -- that amounts to count microblocks:
function circular_saw:update_inventory(pos, amount) function circular_saw:update_inventory(pos, amount)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local inv = meta:get_inventory() local inv = meta:get_inventory()
@ -129,28 +128,27 @@ function circular_saw:update_inventory(pos, amount)
local modname = name_parts[1] local modname = name_parts[1]
local material = name_parts[2] local material = name_parts[2]
-- Display as many full blocks as possible inv:set_list("input", { -- Display as many full blocks as possible:
inv:set_list("input", {
node_name.." ".. math.floor(amount / 8) node_name.." ".. math.floor(amount / 8)
}) })
-- The stairnodes made of default nodes use moreblocks namespace, other mods keep own. -- The stairnodes made of default nodes use moreblocks namespace, other mods keep own:
if modname == "default" then if modname == "default" then
modname = "moreblocks" modname = "moreblocks"
end end
--print("circular_saw set to " ..modname.. " : " -- print("circular_saw set to " .. modname .. " : "
-- ..material.. " with "..(amount).." microblocks.") -- .. material .. " with " .. (amount) .. " microblocks.")
-- 0-7 microblocks may remain left-over. -- 0-7 microblocks may remain left-over:
inv:set_list("micro", { inv:set_list("micro", {
modname..":micro_"..material.."_bottom "..(amount % 8) modname .. ":micro_" .. material .. "_bottom " .. (amount % 8)
}) })
-- Display -- Display:
inv:set_list("output", inv:set_list("output",
self:get_output_inv(modname, material, amount, self:get_output_inv(modname, material, amount,
meta:get_int("max_offered"))) meta:get_int("max_offered")))
-- Store how many microblocks are available -- Store how many microblocks are available:
meta:set_int("anz", amount) meta:set_int("anz", amount)
meta:set_string("infotext", meta:set_string("infotext",
S("Circular Saw is working on %s (owned by %s)") S("Circular Saw is working on %s (owned by %s)")
@ -158,31 +156,31 @@ function circular_saw:update_inventory(pos, amount)
end end
-- The amount of items offered per shape can be configured -- The amount of items offered per shape can be configured:
function circular_saw.on_receive_fields(pos, formname, fields, sender) function circular_saw.on_receive_fields(pos, formname, fields, sender)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local max = tonumber(fields.max_offered) local max = tonumber(fields.max_offered)
if max and max > 0 then if max and max > 0 then
meta:set_string("max_offered", max) meta:set_string("max_offered", max)
-- update to show the correct number of items -- Update to show the correct number of items:
circular_saw:update_inventory(pos, 0) circular_saw:update_inventory(pos, 0)
end end
end end
-- Moving the inventory of the circular_saw around is not allowed because it -- Moving the inventory of the circular_saw around is not allowed because it
-- is a fictional inventory. Moving inventory around would be rather -- is a fictional inventory. Moving inventory around would be rather
-- impractical and make things more difficult to calculate. -- impractical and make things more difficult to calculate:
function circular_saw.allow_metadata_inventory_move( function circular_saw.allow_metadata_inventory_move(
pos, from_list, from_index, to_list, to_index, count, player) pos, from_list, from_index, to_list, to_index, count, player)
return 0 return 0
end end
-- Only input- and recycle-slot are intended as input slots -- Only input- and recycle-slot are intended as input slots:
function circular_saw.allow_metadata_inventory_put( function circular_saw.allow_metadata_inventory_put(
pos, listname, index, stack, player) pos, listname, index, stack, player)
-- The player is not allowed to put something in there -- The player is not allowed to put something in there:
if listname == "output" or listname == "micro" then if listname == "output" or listname == "micro" then
return 0 return 0
end end
@ -192,7 +190,7 @@ function circular_saw.allow_metadata_inventory_put(
local stackname = stack:get_name() local stackname = stack:get_name()
local count = stack:get_count() local count = stack:get_count()
-- Only alow those items that are offered in the output inventory to be recycled -- Only alow those items that are offered in the output inventory to be recycled:
if listname == "recycle" then if listname == "recycle" then
if not inv:contains_item("output", stackname) then if not inv:contains_item("output", stackname) then
return 0 return 0
@ -210,7 +208,7 @@ function circular_saw.allow_metadata_inventory_put(
return count return count
end end
-- Only accept certain blocks as input which are known to be craftable into stairs -- Only accept certain blocks as input which are known to be craftable into stairs:
if listname == "input" then if listname == "input" then
if not inv:is_empty("input") and if not inv:is_empty("input") and
inv:get_stack("input", index):get_name() ~= stackname then inv:get_stack("input", index):get_name() ~= stackname then
@ -225,25 +223,25 @@ function circular_saw.allow_metadata_inventory_put(
end end
end end
-- Taking is allowed from all slots (even the internal microblock slot) -- Taking is allowed from all slots (even the internal microblock slot).
-- Putting something in is slightly more complicated than taking anything -- Putting something in is slightly more complicated than taking anything
-- because we have to make sure it is of a suitable material -- because we have to make sure it is of a suitable material:
function circular_saw.on_metadata_inventory_put( function circular_saw.on_metadata_inventory_put(
pos, listname, index, stack, player) pos, listname, index, stack, player)
-- We need to find out if the circular_saw is already set to a -- We need to find out if the circular_saw is already set to a
-- specific material or not -- specific material or not:
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local inv = meta:get_inventory() local inv = meta:get_inventory()
local stackname = stack:get_name() local stackname = stack:get_name()
local count = stack:get_count() local count = stack:get_count()
-- Putting something into the input slot is only possible if that had -- Putting something into the input slot is only possible if that had
-- been empty before or did contain something of the same material -- been empty before or did contain something of the same material:
if listname == "input" then if listname == "input" then
-- Each new block is worth 8 microblocks -- Each new block is worth 8 microblocks:
circular_saw:update_inventory(pos, 8 * count) circular_saw:update_inventory(pos, 8 * count)
elseif listname == "recycle" then elseif listname == "recycle" then
-- Lets look which shape this represents -- Lets look which shape this represents:
local cost = circular_saw:get_cost(inv, stackname) local cost = circular_saw:get_cost(inv, stackname)
circular_saw:update_inventory(pos, cost * count) circular_saw:update_inventory(pos, cost * count)
end end
@ -252,27 +250,28 @@ end
function circular_saw.on_metadata_inventory_take( function circular_saw.on_metadata_inventory_take(
pos, listname, index, stack, player) pos, listname, index, stack, player)
-- If it is one of the offered stairs: find out how many -- If it is one of the offered stairs: find out how many
-- microblocks have to be substracted -- microblocks have to be substracted:
if listname == "output" then if listname == "output" then
-- We do know how much each block at each position costs -- We do know how much each block at each position costs:
local cost = circular_saw.cost_in_microblocks[index] local cost = circular_saw.cost_in_microblocks[index]
* stack:get_count() * stack:get_count()
circular_saw:update_inventory(pos, -cost) circular_saw:update_inventory(pos, -cost)
elseif listname == "micro" then elseif listname == "micro" then
-- Each microblock costs 1 microblock -- Each microblock costs 1 microblock:
circular_saw:update_inventory(pos, -stack:get_count()) circular_saw:update_inventory(pos, -stack:get_count())
elseif listname == "input" then elseif listname == "input" then
-- Each normal (= full) block taken costs 8 microblocks -- Each normal (= full) block taken costs 8 microblocks:
circular_saw:update_inventory(pos, 8 * -stack:get_count()) circular_saw:update_inventory(pos, 8 * -stack:get_count())
end end
-- The recycle field plays no role here since it is processed immediately. -- The recycle field plays no role here since it is processed immediately.
end end
gui_slots = "listcolors[#606060AA;#808080;#101010;#202020;#FFF]"
function circular_saw.on_construct(pos) function circular_saw.on_construct(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("formspec", "size[11,9]".. meta:set_string("formspec", "size[11,9]"..gui_slots..
"label[0,0;"..S("Input\nmaterial").."]".. "label[0,0;"..S("Input\nmaterial").."]"..
"list[current_name;input;1.5,0;1,1;]".. "list[current_name;input;1.5,0;1,1;]"..
"label[0,1;"..S("Left-over").."]".. "label[0,1;"..S("Left-over").."]"..
@ -289,8 +288,8 @@ function circular_saw.on_construct(pos)
meta:set_string("infotext", S("Circular Saw is empty")) meta:set_string("infotext", S("Circular Saw is empty"))
local inv = meta:get_inventory() local inv = meta:get_inventory()
inv:set_size("input", 1) -- Input slot for full blocks of material x. inv:set_size("input", 1) -- Input slot for full blocks of material x.
inv:set_size("micro", 1) -- Storage for 1-7 surplus microblocks. inv:set_size("micro", 1) -- Storage for 1-7 surplus microblocks.
inv:set_size("recycle", 1) -- Surplus partial blocks can be placed here. inv:set_size("recycle", 1) -- Surplus partial blocks can be placed here.
inv:set_size("output", 4*8) -- 4x8 versions of stair-parts of material x. inv:set_size("output", 4*8) -- 4x8 versions of stair-parts of material x.
@ -306,8 +305,7 @@ function circular_saw.can_dig(pos,player)
not inv:is_empty("recycle") then not inv:is_empty("recycle") then
return false return false
end end
-- Can be dug by anyone when empty, not only by the owner:
-- Can be dug by anyone when empty ,not only by the owner.
return true return true
end end
@ -347,14 +345,13 @@ minetest.register_node("moreblocks:circular_saw", {
:format(owner)) :format(owner))
end, end,
-- The amount of items offered per shape can be configured. -- The amount of items offered per shape can be configured:
on_receive_fields = circular_saw.on_receive_fields, on_receive_fields = circular_saw.on_receive_fields,
allow_metadata_inventory_move = circular_saw.allow_metadata_inventory_move, allow_metadata_inventory_move = circular_saw.allow_metadata_inventory_move,
-- Only input- and recycle-slot are intended as input slots. -- Only input- and recycle-slot are intended as input slots:
allow_metadata_inventory_put = circular_saw.allow_metadata_inventory_put, allow_metadata_inventory_put = circular_saw.allow_metadata_inventory_put,
-- Taking is allowed from all slots (even the internal microblock slot). Moving is forbidden. -- Taking is allowed from all slots (even the internal microblock slot). Moving is forbidden.
-- Putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material. -- Putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material:
on_metadata_inventory_put = circular_saw.on_metadata_inventory_put, on_metadata_inventory_put = circular_saw.on_metadata_inventory_put,
on_metadata_inventory_take = circular_saw.on_metadata_inventory_take, on_metadata_inventory_take = circular_saw.on_metadata_inventory_take,
}) })

View File

@ -18,8 +18,8 @@ local function setting(settingtype, name, default)
end end
end end
-- Whether to direct wood based on player posititon when placing the block (true or false). -- Whether to direct wood based on player posititon when placing the block (true or false):
setting("bool", "wood_facedir", true) setting("bool", "wood_facedir", true)
-- Show stairs/slabs/panels/microblocks in creative inventory (true or false). -- Show stairs/slabs/panels/microblocks in creative inventory (true or false):
setting("bool", "show_stairsplus_creative_inv", false) setting("bool", "stairsplus_in_creative_inventory", false)

View File

@ -179,6 +179,25 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "moreblocks:split_stone_tile_alt",
recipe = {
{"moreblocks:split_stone_tile"},
}
})
minetest.register_craft({
output = "moreblocks:grey_bricks",
type = "shapeless",
recipe = {"default:stone", "default:brick"},
})
minetest.register_craft({
output = "moreblocks:grey_bricks",
type = "shapeless",
recipe = {"default:stonebrick", "default:brick"},
})
minetest.register_craft({ minetest.register_craft({
output = "moreblocks:empty_bookshelf", output = "moreblocks:empty_bookshelf",
type = "shapeless", type = "shapeless",
@ -413,6 +432,10 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
type = "cooking", output = "moreblocks:tar", recipe = "default:gravel",
})
minetest.register_craft({ minetest.register_craft({
output = "moreblocks:circular_saw", output = "moreblocks:circular_saw",
recipe = { recipe = {
@ -421,4 +444,3 @@ minetest.register_craft({
{ "group:wood", "", "group:wood"}, { "group:wood", "", "group:wood"},
} }
}) })

View File

@ -1,15 +1,15 @@
--[[ --[[
-- More Blocks (moreblocks) by Calinou -- More Blocks (moreblocks) by Calinou
-- Licensed under the zlib license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. -- Licensed under the zlib/ license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info.
--]] --]]
moreblocks = {} moreblocks = {}
-- Load translation library if intllib is installed -- Load translation library if intllib is installed
local S = nil local S -- Load translation library if intllib is installed:
if intllib then if intllib then
S = intllib.Getter() S = intllib.Getter(minetest.get_current_modname())
else else
S = function(s) return s end S = function(s) return s end
end end

View File

@ -14,7 +14,6 @@ local nodes = {
["wood_tile"] = { ["wood_tile"] = {
description = S("Wooden Tile"), description = S("Wooden Tile"),
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
paramtype2 = "facedir",
tiles = {"default_wood.png^moreblocks_wood_tile.png", tiles = {"default_wood.png^moreblocks_wood_tile.png",
"default_wood.png^moreblocks_wood_tile.png", "default_wood.png^moreblocks_wood_tile.png",
"default_wood.png^moreblocks_wood_tile.png", "default_wood.png^moreblocks_wood_tile.png",
@ -26,7 +25,6 @@ local nodes = {
["wood_tile_flipped"] = { ["wood_tile_flipped"] = {
description = S("Wooden Tile"), description = S("Wooden Tile"),
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
paramtype2 = "facedir",
tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90", tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90",
"default_wood.png^moreblocks_wood_tile.png^[transformR90", "default_wood.png^moreblocks_wood_tile.png^[transformR90",
"default_wood.png^moreblocks_wood_tile.png^[transformR90", "default_wood.png^moreblocks_wood_tile.png^[transformR90",
@ -39,21 +37,18 @@ local nodes = {
["wood_tile_center"] = { ["wood_tile_center"] = {
description = S("Centered Wooden Tile"), description = S("Centered Wooden Tile"),
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
paramtype2 = "facedir",
tiles = {"default_wood.png^moreblocks_wood_tile_center.png"}, tiles = {"default_wood.png^moreblocks_wood_tile_center.png"},
sounds = sound_wood, sounds = sound_wood,
}, },
["wood_tile_full"] = { ["wood_tile_full"] = {
description = S("Full Wooden Tile"), description = S("Full Wooden Tile"),
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
paramtype2 = "facedir",
tiles = tile_tiles("wood_tile_full"), tiles = tile_tiles("wood_tile_full"),
sounds = sound_wood, sounds = sound_wood,
}, },
["wood_tile_up"] = { ["wood_tile_up"] = {
description = S("Upwards Wooden Tile"), description = S("Upwards Wooden Tile"),
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
paramtype2 = "facedir",
tiles = {"default_wood.png^moreblocks_wood_tile_up.png"}, tiles = {"default_wood.png^moreblocks_wood_tile_up.png"},
sounds = sound_wood, sounds = sound_wood,
no_stairs = true, no_stairs = true,
@ -61,7 +56,6 @@ local nodes = {
["wood_tile_down"] = { ["wood_tile_down"] = {
description = S("Downwards Wooden Tile"), description = S("Downwards Wooden Tile"),
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
paramtype2 = "facedir",
tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_up.png^[transformR180"}, tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_up.png^[transformR180"},
sounds = sound_wood, sounds = sound_wood,
no_stairs = true, no_stairs = true,
@ -69,7 +63,6 @@ local nodes = {
["wood_tile_left"] = { ["wood_tile_left"] = {
description = S("Leftwards Wooden Tile"), description = S("Leftwards Wooden Tile"),
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
paramtype2 = "facedir",
tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_up.png^[transformR270"}, tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_up.png^[transformR270"},
sounds = sound_wood, sounds = sound_wood,
no_stairs = true, no_stairs = true,
@ -77,7 +70,6 @@ local nodes = {
["wood_tile_right"] = { ["wood_tile_right"] = {
description = S("Rightwards Wooden Tile"), description = S("Rightwards Wooden Tile"),
groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
paramtype2 = "facedir",
tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_up.png^[transformR90"}, tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_up.png^[transformR90"},
sounds = sound_wood, sounds = sound_wood,
no_stairs = true, no_stairs = true,
@ -87,6 +79,11 @@ local nodes = {
groups = {cracky = 3}, groups = {cracky = 3},
sounds = sound_stone, sounds = sound_stone,
}, },
["grey_bricks"] = {
description = S("Stone Bricks"),
groups = {cracky = 3},
sounds = sound_stone,
},
["coal_stone_bricks"] = { ["coal_stone_bricks"] = {
description = S("Coal Stone Bricks"), description = S("Coal Stone Bricks"),
groups = {cracky = 3}, groups = {cracky = 3},
@ -109,6 +106,18 @@ local nodes = {
groups = {cracky = 3}, groups = {cracky = 3},
sounds = sound_stone, sounds = sound_stone,
}, },
["split_stone_tile_alt"] = {
description = S("Split Stone Tile"),
tiles = {"moreblocks_split_stone_tile_alt_top.png",
"moreblocks_split_stone_tile_alt.png"},
groups = {cracky = 3},
sounds = sound_stone,
},
["tar"] = {
description = S("Tar"),
groups = {cracky = 2},
sounds = sound_stone,
},
["plankstone"] = { ["plankstone"] = {
description = S("Plankstone"), description = S("Plankstone"),
groups = {cracky = 3}, groups = {cracky = 3},
@ -147,7 +156,6 @@ local nodes = {
["cactus_checker"] = { ["cactus_checker"] = {
description = S("Cactus Checker"), description = S("Cactus Checker"),
groups = {cracky = 3}, groups = {cracky = 3},
paramtype2 = "facedir",
tiles = {"default_stone.png^moreblocks_cactus_checker.png", tiles = {"default_stone.png^moreblocks_cactus_checker.png",
"default_stone.png^moreblocks_cactus_checker.png", "default_stone.png^moreblocks_cactus_checker.png",
"default_stone.png^moreblocks_cactus_checker.png", "default_stone.png^moreblocks_cactus_checker.png",
@ -182,7 +190,6 @@ local nodes = {
"default_stone.png^moreblocks_coal_checker.png", "default_stone.png^moreblocks_coal_checker.png",
"default_stone.png^moreblocks_coal_checker.png^[transformR90", "default_stone.png^moreblocks_coal_checker.png^[transformR90",
"default_stone.png^moreblocks_coal_checker.png^[transformR90"}, "default_stone.png^moreblocks_coal_checker.png^[transformR90"},
paramtype2 = "facedir",
groups = {cracky = 3}, groups = {cracky = 3},
sounds = sound_stone, sounds = sound_stone,
}, },
@ -194,7 +201,6 @@ local nodes = {
"default_stone.png^moreblocks_iron_checker.png", "default_stone.png^moreblocks_iron_checker.png",
"default_stone.png^moreblocks_iron_checker.png^[transformR90", "default_stone.png^moreblocks_iron_checker.png^[transformR90",
"default_stone.png^moreblocks_iron_checker.png^[transformR90"}, "default_stone.png^moreblocks_iron_checker.png^[transformR90"},
paramtype2 = "facedir",
groups = {cracky = 3}, groups = {cracky = 3},
sounds = sound_stone, sounds = sound_stone,
}, },

View File

@ -10,7 +10,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:ladder 3", output = "default:ladder 4",
recipe = { recipe = {
{"default:stick", "", "default:stick"}, {"default:stick", "", "default:stick"},
{"default:stick", "default:stick", "default:stick"}, {"default:stick", "default:stick", "default:stick"},
@ -19,7 +19,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:paper 3", output = "default:paper 4",
recipe = { recipe = {
{"default:papyrus", "default:papyrus", "default:papyrus"}, {"default:papyrus", "default:papyrus", "default:papyrus"},
} }
@ -68,23 +68,7 @@ minetest.register_craft({
-- Redefinitions of some default nodes: -- Redefinitions of some default nodes:
-- Don't bother overriding nodes if minetest.override_item isn't available.
if minetest.override_item then
if moreblocks.config.wood_facedir then
minetest.override_item("default:wood", {paramtype2 = "facedir",})
minetest.override_item("default:junglewood", {paramtype2 = "facedir",})
minetest.override_item("default:brick", {paramtype2 = "facedir",})
minetest.override_item("default:stonebrick", {paramtype2 = "facedir",})
minetest.override_item("default:desert_stonebrick", {paramtype2 = "facedir",})
minetest.override_item("default:sandstonebrick", {paramtype2 = "facedir",})
minetest.override_item("moreblocks:cactus_brick", {paramtype2 = "facedir",})
minetest.override_item("moreblocks:coal_stone_bricks", {paramtype2 = "facedir",})
minetest.override_item("moreblocks:iron_stone_bricks", {paramtype2 = "facedir",})
end
-- Make glass and obsidian glass framed, like the More Blocks glasses: -- Make glass and obsidian glass framed, like the More Blocks glasses:
minetest.override_item("default:glass", { minetest.override_item("default:glass", {
drawtype = "glasslike_framed", drawtype = "glasslike_framed",
}) })
@ -94,7 +78,6 @@ minetest.override_item("default:obsidian_glass", {
}) })
-- Let there be light. This makes some nodes let light pass through: -- Let there be light. This makes some nodes let light pass through:
minetest.override_item("default:ladder", { minetest.override_item("default:ladder", {
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
@ -143,5 +126,3 @@ for i = 2, 5 do
sunlight_propagates = true, sunlight_propagates = true,
}) })
end end
end -- End "if minetest.override_item".

View File

@ -1,11 +1,11 @@
API documentation for StairsPlus API documentation for Stairs+
================================ ================================
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* `stairsplus:register_all(modname, subname, recipeitem, fields)` * `stairsplus:register_all(modname, subname, recipeitem, fields)`
Registers a stair, slab, panel, microblock, and any other types of Registers a stair, slab, panel, microblock, and any other types of
microblocks to be added in the future. nodes to be added in the future.
Also registers the node with the circular saw. This also registers the node with the circular saw.
Example: Example:
```lua ```lua
stairsplus:register_all("moreblocks", "wood", "defaut:wood", { stairsplus:register_all("moreblocks", "wood", "defaut:wood", {
@ -16,7 +16,7 @@ API documentation for StairsPlus
}) })
``` ```
The following register only a particular type of microblock. The following register only a particular type of microblock.
You will probably never want to use them directly. You will probably never want to use them directly:
* `stairsplus:register_stair(modname, subname, recipeitem, fields)` * `stairsplus:register_stair(modname, subname, recipeitem, fields)`
* `stairsplus:register_slab(modname, subname, recipeitem, fields)` * `stairsplus:register_slab(modname, subname, recipeitem, fields)`

View File

@ -60,4 +60,3 @@ register_stairsplus_alias("moreblocks", "splitstonesquare", "split_stone_tile")
register_stairsplus_alias("moreblocks", "woodtile", "wood_tile") register_stairsplus_alias("moreblocks", "woodtile", "wood_tile")
register_stairsplus_alias("moreblocks", "woodtile_centered", "wood_tile_centered") register_stairsplus_alias("moreblocks", "woodtile_centered", "wood_tile_centered")
register_stairsplus_alias("moreblocks", "woodtile_full", "wood_tile_full") register_stairsplus_alias("moreblocks", "woodtile_full", "wood_tile_full")

View File

@ -1,4 +1,3 @@
-- Nodes will be called <modname>:{stair,slab,panel,micro}_<subname> -- Nodes will be called <modname>:{stair,slab,panel,micro}_<subname>
local modpath = minetest.get_modpath("moreblocks").."/stairsplus" local modpath = minetest.get_modpath("moreblocks").."/stairsplus"
@ -6,8 +5,8 @@ local modpath = minetest.get_modpath("moreblocks").."/stairsplus"
stairsplus = {} stairsplus = {}
stairsplus.expect_infinite_stacks = false stairsplus.expect_infinite_stacks = false
if not minetest.get_modpath("unified_inventory") and if not minetest.get_modpath("unified_inventory")
minetest.setting_getbool("creative_mode") then and minetest.setting_getbool("creative_mode") then
stairsplus.expect_infinite_stacks = true stairsplus.expect_infinite_stacks = true
end end
@ -21,7 +20,7 @@ function stairsplus:register_all(modname, subname, recipeitem, fields)
self:register_slab (modname, subname, recipeitem, fields) self:register_slab (modname, subname, recipeitem, fields)
self:register_panel(modname, subname, recipeitem, fields) self:register_panel(modname, subname, recipeitem, fields)
self:register_micro(modname, subname, recipeitem, fields) self:register_micro(modname, subname, recipeitem, fields)
-- self:register_6dfacedir_conversion(modname, subname) -- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps.
circular_saw.known_nodes[recipeitem] = {modname, subname} circular_saw.known_nodes[recipeitem] = {modname, subname}
end end
@ -35,12 +34,10 @@ function register_stair_slab_panel_micro(modname, subname, recipeitem, groups, i
}) })
end end
-- dofile(modpath.."/aliases.lua") -- dofile(modpath.."/aliases.lua") -- Not needed as of Q2 2013, uncomment to fix old maps.
-- dofile(modpath.."/conversion.lua") -- dofile(modpath.."/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps.
dofile(modpath.."/stairs.lua") dofile(modpath.."/stairs.lua")
dofile(modpath.."/slabs.lua") dofile(modpath.."/slabs.lua")
dofile(modpath.."/panels.lua") dofile(modpath.."/panels.lua")
dofile(modpath.."/microblocks.lua") dofile(modpath.."/microblocks.lua")
dofile(modpath.."/registrations.lua") dofile(modpath.."/registrations.lua")

View File

@ -1,6 +1,4 @@
-- Load translation library if intllib is installed local S -- Load translation library if intllib is installed:
local S
if intllib then if intllib then
S = intllib.Getter(minetest.get_current_modname()) S = intllib.Getter(minetest.get_current_modname())
else else
@ -110,4 +108,3 @@ function stairsplus:register_micro(modname, subname, recipeitem, fields)
recipe = {"moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname}, recipe = {"moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname, "moreblocks:micro_" .. subname},
}) })
end end

View File

@ -1,6 +1,4 @@
-- Load translation library if intllib is installed local S -- Load translation library if intllib is installed:
local S
if intllib then if intllib then
S = intllib.Getter(minetest.get_current_modname()) S = intllib.Getter(minetest.get_current_modname())
else else
@ -111,4 +109,3 @@ function stairsplus:register_panel(modname, subname, recipeitem, fields)
recipe = {"moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname}, recipe = {"moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname},
}) })
end end

View File

@ -1,6 +1,4 @@
-- Default stairs/slabs/panels/microblocks. local default_nodes = { -- Default stairs/slabs/panels/microblocks:
local default_nodes = {
"stone", "stone",
"cobble", "cobble",
"mossycobble", "mossycobble",
@ -12,7 +10,7 @@ local default_nodes = {
"bronzeblock", "bronzeblock",
"diamondblock", "diamondblock",
"desert_stone", "desert_stone",
-- "desert_cobble", -- Does not work in minetest_game. -- "desert_cobble",
"glass", "glass",
"tree", "tree",
"wood", "wood",
@ -26,11 +24,11 @@ local default_nodes = {
} }
for _, name in pairs(default_nodes) do for _, name in pairs(default_nodes) do
local nodename = "default:"..name local nodename = "default:" .. name
local ndef = minetest.registered_nodes[nodename] local ndef = minetest.registered_nodes[nodename]
local groups = {} local groups = {}
for k, v in pairs(ndef.groups) for k, v in pairs(ndef.groups)
-- Ignore wood and stone groups to not make them usable in crafting. -- Ignore wood and stone groups to not make them usable in crafting:
do if k ~= "wood" and k ~= "stone" then do if k ~= "wood" and k ~= "stone" then
groups[k] = v groups[k] = v
end end

View File

@ -1,6 +1,4 @@
-- Load translation library if intllib is installed local S -- Load translation library if intllib is installed:
local S
if intllib then if intllib then
S = intllib.Getter(minetest.get_current_modname()) S = intllib.Getter(minetest.get_current_modname())
else else
@ -101,4 +99,3 @@ function stairsplus:register_slab(modname, subname, recipeitem, fields)
recipe = {"moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname}, recipe = {"moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname},
}) })
end end

View File

@ -1,6 +1,4 @@
-- Load translation library if intllib is installed local S -- Load translation library if intllib is installed:
local S
if intllib then if intllib then
S = intllib.Getter(minetest.get_current_modname()) S = intllib.Getter(minetest.get_current_modname())
else else
@ -192,4 +190,3 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields)
recipe = {"moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname}, recipe = {"moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname, "moreblocks:panel_" .. subname},
}) })
end end