diff options
-rw-r--r-- | aliases.lua | 18 | ||||
-rw-r--r-- | circular_saw.lua | 121 | ||||
-rw-r--r-- | crafting.lua | 45 | ||||
-rw-r--r-- | init.lua | 22 | ||||
-rw-r--r-- | locale/fr.txt | 50 | ||||
-rw-r--r-- | locale/template.txt | 70 | ||||
-rw-r--r-- | stairsplus.lua | 43 | ||||
-rw-r--r-- | stairsplus/microblocks.lua | 28 | ||||
-rw-r--r-- | stairsplus/panels.lua | 28 | ||||
-rw-r--r-- | stairsplus/slabs.lua | 32 | ||||
-rw-r--r-- | stairsplus/stairs.lua | 101 | ||||
-rw-r--r-- | textures/invisible.png | bin | 0 -> 151 bytes |
12 files changed, 269 insertions, 289 deletions
diff --git a/aliases.lua b/aliases.lua index 5df0a33..cabe2d9 100644 --- a/aliases.lua +++ b/aliases.lua @@ -186,3 +186,21 @@ minetest.register_alias("moreblocks:emptybookshelf", "moreblocks:empty_bookshelf minetest.register_alias("moreblocks:junglestick", "moreblocks:jungle_stick") minetest.register_alias("moreblocks:splitstonesquare","moreblocks:split_stone_tile") minetest.register_alias("moreblocks:allfacestree","moreblocks:all_faces_tree") + +-- ABM for Horizontal_tree (fix facedir). + +minetest.register_abm({ + nodenames = {"moreblocks:horizontal_tree","moreblocks:horizontal_jungle_tree"}, + interval = 1, + chance = 1, + action = function(pos, node) + local convert_facedir={7,12,9,18} + if node.name=="moreblocks:horizontal_tree" then + node.name="default:tree" + else + node.name="default:jungletree" + end + minetest.set_node(pos, {name=node.name,param2=convert_facedir[node.param2+1]}) + end, +}) + diff --git a/circular_saw.lua b/circular_saw.lua index 85e456c..bc37b21 100644 --- a/circular_saw.lua +++ b/circular_saw.lua @@ -13,7 +13,7 @@ circular_saw = {}; circular_saw.known_stairs = {} --- Register known moreblocks stairs +-- Register known moreblocks stairs. for i,v in ipairs({"default:wood", "default:stone", "default:cobble", "default:mossycobble", "default:brick", "default:sandstone", "default:steelblock", "default:desert_stone", "default:glass", "default:tree", "default:jungletree", "default:stonebrick", "default:obsidian", "default:obsidian_glass", "default:stone_bricks", "default:junglewood", "default:goldblock", @@ -32,9 +32,9 @@ end circular_saw.cost_in_microblocks = { 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 2, 4, 2, 4, 5, 6, 7, 1, 1, 2, 4, 6, 7, 8, - 3, 4, 0, 0, 0, 0, 0, 0, }; + 3, 1, 1, 2, 4, 0, 0, 0, }; --- anz: amount of input material in microblocks +-- anz: amount of input material in microblocks. circular_saw.get_stair_output_inv = function(modname, material, anz, max) local max_offered = 99; @@ -46,7 +46,7 @@ circular_saw.get_stair_output_inv = function(modname, material, anz, max) end - -- If there is nothing inside display empty inventory + -- If there is nothing inside display empty inventory. if(anz < 1) then return { "", "", "", "", "", "", "", "", "", "", "", "", "", "", @@ -84,6 +84,9 @@ circular_saw.get_stair_output_inv = function(modname, material, anz, max) modname .. ":slab_" .. material .. "_15 " .. math.min(math.floor(anz/8), max_offered), modname .. ":stair_" .. material .. "_half " .. math.min(math.floor(anz/3), max_offered), + modname .. ":stair_" .. material .. "_alt_1 " .. math.min(math.floor(anz/1), max_offered), + modname .. ":stair_" .. material .. "_alt_2 " .. math.min(math.floor(anz/1), max_offered), + modname .. ":stair_" .. material .. "_alt_4 " .. math.min(math.floor(anz/2), max_offered), modname .. ":stair_" .. material .. "_alt " .. math.min(math.floor(anz/4), max_offered), "", @@ -91,7 +94,7 @@ circular_saw.get_stair_output_inv = function(modname, material, anz, max) end --- Reset empty circular_saw after last full block has been taken out (or the circular_saw has been placed the first tiem); note: max_offered is not reset +-- Reset empty circular_saw after last full block has been taken out (or the circular_saw has been placed the first tiem); note: max_offered is not reset. circular_saw.reset_circular_saw = function(pos) local meta = minetest.env:get_meta(pos); local inv = meta:get_inventory(); @@ -101,11 +104,11 @@ circular_saw.reset_circular_saw = function(pos) inv:set_list("output", circular_saw.get_stair_output_inv("", "", 0, meta:get_string("max_offered"))); meta:set_int("anz", 0); - meta:set_string("infotext", "Circular saw, empty (owned by " .. (meta:get_string("owner") or "") .. ")"); + meta:set_string("infotext", S("Circular saw, empty (owned by %s)"):format((meta:get_string("owner") or ""))); end --- Player has taken something out of the box or placed something inside; that amounts to count microblocks +-- Player has taken something out of the box or placed something inside; that amounts to count microblocks. circular_saw.update_inventory = function(pos, amount) local meta = minetest.env:get_meta(pos); local inv = meta:get_inventory(); @@ -122,10 +125,10 @@ circular_saw.update_inventory = function(pos, amount) end local stack = inv:get_stack("input", 1); - -- At least one "normal" block is necessary to see what kind of stairs are requested + -- At least one "normal" block is necessary to see what kind of stairs are requested. if(stack:is_empty()) then - -- Any microblocks not taken out yet are now lost (covers material loss in the machine) + -- Any microblocks not taken out yet are now lost (covers material loss in the machine). circular_saw.reset_circular_saw(pos); return; @@ -135,45 +138,45 @@ circular_saw.update_inventory = function(pos, amount) local modname = liste[1]; local material = liste[2]; - -- Display as many full blocks as possible + -- Display as many full blocks as possible. inv:set_list("input", { modname.. ":" .. material .. " " .. math.floor( (akt + amount) / 8) }); -- The stairnodes made of default nodes use moreblocks namespace, other mods keep own. if(modname == "default") then modname = "moreblocks"; end --print("circular_saw set to " ..modname.. " : " ..material.. " with " .. (akt+amount) .. " microblocks."); - -- 0-7 microblocks may remain as a rest + -- 0-7 microblocks may remain as a rest. inv:set_list("micro", { modname.. ":micro_" .. material .. "_bottom " .. ((akt + amount) % 8) }); - -- Display + -- Display. inv:set_list("output", circular_saw.get_stair_output_inv(modname, material, (akt + amount), meta:get_string("max_offered"))); - -- Store how many microblocks are available + -- Store how many microblocks are available. meta:set_int("anz", (akt+amount)); - meta:set_string("infotext", "Circular saw, working with " ..material.. " (owned by " .. (meta:get_string("owner") or "") .. ")"); + meta:set_string("infotext", S("Circular saw, working with %s (owned by %s)"):format(material,(meta:get_string("owner") or ""))); end --- The amount of items offered per shape can be configured +-- The amount of items offered per shape can be configured. circular_saw.on_receive_fields = function(pos, formname, fields, sender) local meta = minetest.env:get_meta(pos); if tonumber(fields.max_offered) and tonumber(fields.max_offered) > 0 and tonumber(fields.max_offered) < 99 then meta:set_string("max_offered", fields.max_offered); - circular_saw.update_inventory(pos, 0); -- update to show the correct number of items + circular_saw.update_inventory(pos, 0); -- Update to show the correct number of items. end end --- Moving the inventory of the circular_saw around is not allowed because it is a fictional inventory +-- Moving the inventory of the circular_saw around is not allowed because it is a fictional inventory. circular_saw.allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - -- Moving inventory around would be rather immpractical and make things more difficult to calculate + -- Moving inventory around would be rather immpractical and make things more difficult to calculate. return 0; end --- Only input- and recycle-slot are intended as input slots +-- Only input- and recycle-slot are intended as input slots. circular_saw.allow_metadata_inventory_put = function(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 return 0; end @@ -181,12 +184,12 @@ circular_saw.allow_metadata_inventory_put = function(pos, listname, index, stack local meta = minetest.env:get_meta(pos); local inv = meta:get_inventory(); - -- 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" and not(inv:contains_item("output", stack:get_name()))) then return 0; 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 for i,v in ipairs(circular_saw.known_stairs) do @@ -203,16 +206,16 @@ circular_saw.allow_metadata_inventory_put = function(pos, listname, index, stack return stack:get_count() 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 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. circular_saw.on_metadata_inventory_put = function(pos, listname, index, stack, player) - -- We need to find out if the circular_saw is already set to a specific material or not + -- We need to find out if the circular_saw is already set to a specific material or not. local meta = minetest.env:get_meta(pos); local inv = meta:get_inventory(); - -- Putting something into the input slot is only possible if that had been empty before or did contain something of the same material + -- Putting something into the input slot is only possible if that had been empty before or did contain something of the same material. if( listname=="input") then if( not( inv:is_empty("input"))) then @@ -223,12 +226,12 @@ circular_saw.on_metadata_inventory_put = function(pos, listname, index, stack, p end end - -- Each new block is worth 8 microblocks + -- Each new block is worth 8 microblocks. circular_saw.update_inventory(pos, 8 * stack:get_count()); elseif(listname=="recycle") then - -- Lets look which shape this represents + -- Lets look which shape this represents. for i,v in ipairs(inv:get_list("output")) do if(v:get_name() == stack:get_name()) then @@ -236,36 +239,36 @@ circular_saw.on_metadata_inventory_put = function(pos, listname, index, stack, p local value = circular_saw.cost_in_microblocks[ i ] * stack:get_count(); --print("\nRecycling " .. (v:get_name()) .. " into " ..value.. " microblocks."); - -- We get value microblocks back + -- We get value microblocks back. circular_saw.update_inventory(pos, value); end end end end --- The player takes something +-- The player takes something. circular_saw.on_metadata_inventory_take = function(pos, listname, index, stack, player) - -- If it is one of the offered stairs: find out how many microblocks have to be substracted - if(listname=="output") then + -- If it is one of the offered stairs: find out how many microblocks have to be substracted. + 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 ] * stack:get_count(); circular_saw.update_inventory(pos, -1 * cost); - elseif(listname=="mikro") then + elseif (listname=="micro") then - -- Each microblock costs 1 microblock + -- Each microblock costs 1 microblock. circular_saw.update_inventory(pos, -1 * 1 * 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, -1 * 8 * stack:get_count()); 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 @@ -274,9 +277,9 @@ circular_saw.on_construct_init = function(pos, formspec) local meta = minetest.env:get_meta(pos) meta:set_string("formspec", formspec); - meta:set_int( "anz", 0); -- No microblocks inside yet + meta:set_int( "anz", 0); -- No microblocks inside yet. meta:set_string("max_offered", 99); -- How many items of this kind are offered by default? - meta:set_string("infotext", "Circular saw, empty") + meta:set_string("infotext", S("Circular saw, empty")) local inv = meta:get_inventory() inv:set_size("input", 1) -- Input slot for full blocks of material x @@ -310,14 +313,14 @@ minetest.register_node("moreblocks:circular_saw", { node_box = { type = "fixed", fixed = { - {-0.4, -0.5, -0.4, -0.25, 0.25, -0.25}, -- Leg - {0.25, -0.5, 0.25, 0.4, 0.25, 0.4}, -- Leg - {-0.4, -0.5, 0.25, -0.25, 0.25, 0.4}, -- Leg - {0.25, -0.5, -0.4, 0.4, 0.25, -0.25}, -- Leg - {-0.5, 0.25, -0.5, 0.5, 0.375, 0.5}, -- Tabletop - {-0.01, 0.4375, -0.125, 0.01, 0.5, 0.125}, -- Saw blade (top) - {-0.01, 0.375, -0.1875, 0.01, 0.4375, 0.1875}, -- Saw blade (bottom) - {-0.25, -0.0625, -0.25, 0.25, 0.25, 0.25}, -- Motor case + {-0.4, -0.5, -0.4, -0.25, 0.25, -0.25}, -- leg + {0.25, -0.5, 0.25, 0.4, 0.25, 0.4}, -- leg + {-0.4, -0.5, 0.25, -0.25, 0.25, 0.4}, -- leg + {0.25, -0.5, -0.4, 0.4, 0.25, -0.25}, -- leg + {-0.5, 0.25, -0.5, 0.5, 0.375, 0.5}, -- tabletop + {-0.01, 0.4375, -0.125, 0.01, 0.5, 0.125}, -- saw blade (top) + {-0.01, 0.375, -0.1875, 0.01, 0.4375, 0.1875}, -- saw blade (bottom) + {-0.25, -0.0625, -0.25, 0.25, 0.25, 0.25}, -- motor case }, }, tiles = {"moreblocks_circular_saw_top.png", "moreblocks_circular_saw_bottom.png", "moreblocks_circular_saw_side.png"}, @@ -329,13 +332,13 @@ minetest.register_node("moreblocks:circular_saw", { return circular_saw.on_construct_init(pos, "size[10,9]" .. "list[current_name;input;0,0;1,1;]" .. - "label[0,0;Input material]" .. + "label[0,0;"..S("Input material").."]" .. "list[current_name;micro;0,1;1,1;]" .. - "label[0,1;Rest/microblocks]" .. - "field[0.3,2.5;1,1;max_offered;Max:;${max_offered}]" .. - "button[1,2;1,1;Set;Set]" .. + "label[0,1;"..S("Rest/microblocks").."]" .. + "field[0.3,2.5;1,1;max_offered;"..S("Max:")..";${max_offered}]" .. + "button[1,2;1,1;Set;"..S("Set").."]" .. "list[current_name;recycle;0,3;1,1;]" .. - "label[0,3;Recycle output]" .. + "label[0,3;"..S("Recycle output").."]" .. "list[current_name;output;2,0;8,4;]" .. "list[current_player;main;1,5;8,4;]"); end, @@ -344,15 +347,15 @@ minetest.register_node("moreblocks:circular_saw", { return circular_saw.can_dig(pos, player); end, - -- Set owner of this circular saw + -- Set owner of this circular saw. after_place_node = function(pos, placer) local meta = minetest.env:get_meta(pos); meta:set_string("owner", (placer:get_player_name() or "")); - meta:set_string("infotext", "Circular saw is empty (owned by " .. (placer:get_player_name() or "") .. ")"); + meta:set_string("infotext", S("Circular saw is empty (owned by %s)"):format((placer:get_player_name() or ""))); end, - -- The amount of items offered per shape can be configured + -- The amount of items offered per shape can be configured. on_receive_fields = function(pos, formname, fields, sender) return circular_saw.on_receive_fields(pos, formname, fields, sender); end, @@ -361,14 +364,14 @@ minetest.register_node("moreblocks:circular_saw", { return circular_saw.allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player); end, - -- Only input- and recycle-slot are intended as input slots + -- Only input- and recycle-slot are intended as input slots. allow_metadata_inventory_put = function(pos, listname, index, stack, player) return circular_saw.allow_metadata_inventory_put(pos, listname, index, stack, player); end, - -- 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 = function(pos, listname, index, stack, player) return circular_saw.on_metadata_inventory_put(pos, listname, index, stack, player); end, diff --git a/crafting.lua b/crafting.lua index 8019772..3d52161 100644 --- a/crafting.lua +++ b/crafting.lua @@ -192,20 +192,6 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "default:wood 4", - recipe = { - {"moreblocks:horizontal_tree"}, - } -}) - -minetest.register_craft({ - output = "default:junglewood 4", - recipe = { - {"moreblocks:horizontal_jungle_tree"}, - } -}) - -minetest.register_craft({ output = "moreblocks:plankstone 4", recipe = { {"default:stone", "default:wood"}, @@ -359,37 +345,6 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "moreblocks:horizontal_tree 2", - recipe = { - {"default:tree", "", "default:tree"}, - } -}) - -minetest.register_craft({ - output = "default:tree 2", - recipe = { - {"moreblocks:horizontal_tree"}, - {"moreblocks:horizontal_tree"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:horizontal_jungle_tree 2", - recipe = { - {"default:jungletree", "", "default:jungletree"}, - } -}) - -minetest.register_craft({ - output = "default:jungletree 2", - recipe = { - {"moreblocks:horizontal_jungle_tree"}, - {"moreblocks:horizontal_jungle_tree"}, - } -}) - - -minetest.register_craft({ output = "moreblocks:circular_saw 1", recipe = { { "", "default:steel_ingot", "" }, @@ -272,26 +272,6 @@ minetest.register_node("moreblocks:fence_jungle_wood", { sounds = default.node_sound_wood_defaults(),
})
-minetest.register_node("moreblocks:horizontal_tree", {
- description = S("Horizontal Tree"),
- tiles = {"default_tree.png", "default_tree.png", "default_tree.png^[transformR90",
- "default_tree.png^[transformR90", "default_tree_top.png", "default_tree_top.png"},
- paramtype2 = "facedir",
- groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
- sounds = default.node_sound_wood_defaults(),
- furnace_burntime = 30,
-})
-
-minetest.register_node("moreblocks:horizontal_jungle_tree", {
- description = S("Horizontal Jungle Tree"),
- tiles = {"default_jungletree.png", "default_jungletree.png", "default_jungletree.png^[transformR90",
- "default_jungletree.png^[transformR90", "default_jungletree_top.png", "default_jungletree_top.png"},
- paramtype2 = "facedir",
- groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
- sounds = default.node_sound_wood_defaults(),
- furnace_burntime = 30,
-})
-
minetest.register_node("moreblocks:all_faces_tree", {
description = S("All-faces Tree"),
tiles = {"default_tree_top.png"},
@@ -319,6 +299,7 @@ minetest.register_node("moreblocks:glow_glass", { groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
})
+
minetest.register_node("moreblocks:trap_glow_glass", {
description = S("Trap Glow Glass"),
drawtype = "glasslike",
@@ -388,7 +369,6 @@ minetest.register_craftitem("moreblocks:jungle_stick", { })
minetest.register_craftitem("moreblocks:nothing", {
- inventory_image = "invisible.png",
on_use = minetest.item_eat(0),
})
diff --git a/locale/fr.txt b/locale/fr.txt index e537a8c..6bd7f98 100644 --- a/locale/fr.txt +++ b/locale/fr.txt @@ -1,54 +1,72 @@ # Translation by Calinou -[moreblocks] loaded. = [moreblocks] a été chargé. +###init.lua### +[moreblocks] loaded. = [moreblocks] a été chargé. Jungle Wooden Planks = Planches de bois de jungle -Empty Bookshelf = Étagère vide +Empty Bookshelf = Ètagère vide Clean Glass = Verre propre Plankstone = Pierre-bois Wooden Tile = Dalle en bois -Full Wooden Tile = Dalle en bois complète -Centered Wooden Tile = Dalle en bois centrée +Full Wooden Tile = Dalle en bois complète +Centered Wooden Tile = Dalle en bois centrée Up Wooden Tile = Dalle en bois vers le haut Down Wooden Tile = Dalle en bois vers le bas Left Wooden Tile = Dalle en bois vers la gauche Right Wooden Tile = Dalle en bois vers la droite Circle Stone Bricks = Briques en pierre circulaires Stone Tile = Dalle en pierre -Split Stone Tile = Dalle en pierre découpée +Split Stone Tile = Dalle en pierre découpée Glow Glass = Verre brillant -Super Glow Glass = Verre très brillant -Coal Glass = Verre en charbon -Iron Glass = Verre en fer +Super Glow Glass = Verre très brillant +Coal Glass = Verre de charbon +Iron Glass = Verre de fer Coal Checker = Damier en charbon Iron Checker = Damier en fer -Trap Stone = Pierre à piège -Trap Glass = Verre à piège -Coal Stone = Pierre en charbon -Iron Stone = Pierre en fer +Trap Stone = Pierre traversable +Trap Glass = Verre traversable +Trap Glow Glass = Verre brillant traversable +Trap Super Glow Glass = Verre très brillant traversable +Coal Stone = Pierre de charbon +Iron Stone = Pierre de fer +Coal Stone Bricks = Briques en pierre de charbon +Iron Stone Bricks = Briques en pierre de fer Cactus Checker = Damier en cactus -Cactus Brick = Briques en cactus +Cactus Brick = Briques de cactus Sweeper = Balai -Jungle Stick = Bâton en bois de jungle +Jungle Stick = Bâton en bois de jungle Horizontal Tree = Tronc d'arbre horizontal Horizontal Jungle Tree = Tronc d'arbre de jungle horizontal Rope = Corde All-faces Tree = Tronc d'arbre +###redefinition.lua### Wooden = bois Papyrus = Papyrus Dry Shrub = Buisson mort Sapling = Pousse d'arbre Wooden Planks = Planches de bois -Ladder = Échelle +Ladder = Échelle Glass = Verre +###circular_saw.lua### Circular Saw = Scie circulaire +Circular saw, empty (owned by %s) = Scie circulaire, vide (propriété de %s) +Circular saw, working with %s (owned by %s) = Scie circulaire, manipule %s (propriété de %s) +Circular saw, empty = Scie circulaire, vide +Circular saw is empty (owned by %s) = Scie circulaire est vide (propriété de %s) +Input material = Entrée du matériel +Rest/microblocks = Reste/microbloc +Max: = Max: +Set = Fixer +Recycle output = Recyclage + +###./stairsplus/*### %s Stairs = Escaliers en %s %s Slab = Demi-dalle en %s %s Panel = Barre en %s %s Microblock = Microbloc en %s %s Pane = Panneau en %s -%s Fence = Barrière en %s +%s Fence = Barrière en %s
\ No newline at end of file diff --git a/locale/template.txt b/locale/template.txt new file mode 100644 index 0000000..77ed1a9 --- /dev/null +++ b/locale/template.txt @@ -0,0 +1,70 @@ +###init.lua### +[moreblocks] loaded. = + +Jungle Wooden Planks = +Empty Bookshelf = +Clean Glass = +Plankstone = +Wooden Tile = +Full Wooden Tile = +Centered Wooden Tile = +Up Wooden Tile = +Down Wooden Tile = +Left Wooden Tile = +Right Wooden Tile = +Circle Stone Bricks = +Stone Tile = +Split Stone Tile = +Glow Glass = +Super Glow Glass = +Coal Glass = +Iron Glass = +Coal Checker = +Iron Checker = +Trap Stone = +Trap Glass = +Trap Glow Glass = +Trap Super Glow Glass = +Coal Stone = +Iron Stone = +Coal Stone Bricks = +Iron Stone Bricks = +Cactus Checker = +Cactus Brick = +Sweeper = +Jungle Stick = +Horizontal Tree = +Horizontal Jungle Tree = +Rope = +All-faces Tree = + +###redefinition.lua### +Wooden = +Papyrus = +Dry Shrub = +Sapling = +Wooden Planks = +Ladder = +Glass = + +###circular_saw.lua### +Circular Saw = +Circular saw, empty (owned by %s) = +Circular saw, working with %s (owned by %s) = +Circular saw, empty = +Circular saw is empty (owned by %s) = + +Input material = +Rest/microblocks = +Max: = +Set = +Recycle output = + +###./stairsplus/*### +%s Stairs = +%s Slab = +%s Panel = +%s Microblock = + +%s Pane = +%s Fence =
\ No newline at end of file diff --git a/stairsplus.lua b/stairsplus.lua index 593a240..3f85902 100644 --- a/stairsplus.lua +++ b/stairsplus.lua @@ -8,7 +8,7 @@ else stairsplus_expect_infinite_stacks = true end --- these vales are in order: facedir in degrees = 90, 0, 270, 180, 90 +-- These vales are in order: facedir in degrees = 90, 0, 270, 180, 90 local dirs1 = { 21, 20, 23, 22, 21 } local dirs2 = { 15, 8, 17, 6, 15 } @@ -116,10 +116,10 @@ function register_stair_slab_panel_micro(modname, subname, recipeitem, groups, i register_6dfacedir_conversion(modname, subname) end --- Default stairs/slabs/panels/microblocks +-- Default stairs/slabs/panels/microblocks. register_stair_slab_panel_micro("moreblocks", "wood", "default:wood", - {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3}, {"default_wood.png"}, "Wooden", "wood", @@ -154,14 +154,14 @@ register_stair_slab_panel_micro("moreblocks", "brick", "default:brick", 0) register_stair_slab_panel_micro("moreblocks", "sandstone", "default:sandstone", - {crumbly=2,cracky=2}, + {crumbly=2, cracky=2}, {"default_sandstone.png"}, "Sandstone", "sandstone", 0) register_stair_slab_panel_micro("moreblocks", "steelblock", "default:steelblock", - {cracky=1,level=2}, + {cracky=1, level=2}, {"default_steel_block.png"}, "Steel Block", "steelblock", @@ -175,21 +175,21 @@ register_stair_slab_panel_micro("moreblocks", "goldblock", "default:goldblock", 0) register_stair_slab_panel_micro("moreblocks", "copperblock", "default:copperblock", - {cracky=1,level=2}, + {cracky=1, level=2}, {"default_copper_block.png"}, "Copper Block", "copperblock", 0) register_stair_slab_panel_micro("moreblocks", "bronzeblock", "default:bronzeblock", - {cracky=1,level=2}, + {cracky=1, level=2}, {"default_bronze_block.png"}, "Bronze Block", "bronzeblock", 0) register_stair_slab_panel_micro("moreblocks", "diamondblock", "default:diamondblock", - {cracky=1,level=3}, + {cracky=1, level=3}, {"default_diamond_block.png"}, "Diamond Block", "diamondblock", @@ -203,35 +203,35 @@ register_stair_slab_panel_micro("moreblocks", "desert_stone", "default:desert_st 0) register_stair_slab_panel_micro("moreblocks", "glass", "default:glass", - {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + {snappy=2, cracky=3, oddly_breakable_by_hand=3}, {"moreblocks_glass_stairsplus.png"}, "Glass", "glass", 0) register_stair_slab_panel_micro("moreblocks", "tree", "default:tree", - {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + {tree=1, snappy=1, choppy=2, oddly_breakable_by_hand=1, flammable=2}, {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, "Tree", "tree", 0) register_stair_slab_panel_micro("moreblocks", "jungletree", "default:jungletree", - {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + {tree=1, snappy=1, choppy=2, oddly_breakable_by_hand=1, flammable=2}, {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, "Jungle Tree", "jungletree", 0) register_stair_slab_panel_micro("moreblocks", "obsidian", "default:obsidian", - {cracky=1,level=2}, + {cracky=1, level=2}, {"default_obsidian.png"}, "Obsidian", "obsidian", 0) register_stair_slab_panel_micro("moreblocks", "obsidian_glass", "default:obsidian_glass", - {cracky=3,oddly_breakable_by_hand=3}, + {cracky=3, oddly_breakable_by_hand=3}, {"moreblocks_obsidian_glass_stairsplus.png"}, "Obsidian Glass", "obsidian_glass", @@ -241,7 +241,7 @@ register_stair_slab_panel_micro("moreblocks", "stonebrick", "default:stonebrick" {cracky=3}, {"default_stone_brick.png"}, "Stone Bricks", - "stone_bricks", + "stonebrick", 0) register_stair_slab_panel_micro("moreblocks", "desert_stonebrick", "default:desert_stonebrick", @@ -259,6 +259,13 @@ register_stair_slab_panel_micro("moreblocks", "sandstonebrick", "default:sandsto 0) -- More Blocks stairs/slabs/panels/microblocks + +register_stair_slab_panel_micro("moreblocks", "invisible", "air", + {unbreakable=1, not_in_creative_inventory=1}, + {"invisible.png"}, + "Invisible", + "invisible", + 0) register_stair_slab_panel_micro("moreblocks", "circle_stone_bricks", "moreblocks:circle_stone_bricks", {cracky=3}, @@ -377,14 +384,14 @@ register_stair_slab_panel_micro("moreblocks", "coal_glass", "moreblocks:coal_gla 0) register_stair_slab_panel_micro("moreblocks", "iron_glass", "moreblocks:iron_glass", - {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + {snappy=2, cracky=3, oddly_breakable_by_hand=3}, {"moreblocks_iron_glass_stairsplus.png"}, "Iron Glass", "iron_glass", 0) register_stair_slab_panel_micro("moreblocks", "wood_tile", "moreblocks:wood_tile", - {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3}, {"moreblocks_wood_tile.png", "moreblocks_wood_tile.png", "moreblocks_wood_tile.png", "moreblocks_wood_tile.png", "moreblocks_wood_tile.png^[transformR90", "moreblocks_wood_tile.png^[transformR90"}, "Wooden Tile", @@ -392,7 +399,7 @@ register_stair_slab_panel_micro("moreblocks", "wood_tile", "moreblocks:wood_tile 0) register_stair_slab_panel_micro("moreblocks", "wood_tile_center", "moreblocks:wood_tile_center", - {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3}, {"moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png^[transformR90", "moreblocks_wood_tile_center.png^[transformR90"}, "Centered Wooden Tile", @@ -400,7 +407,7 @@ register_stair_slab_panel_micro("moreblocks", "wood_tile_center", "moreblocks:wo 0) register_stair_slab_panel_micro("moreblocks", "wood_tile_full", "moreblocks:wood_tile_full", - {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3}, {"moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png^[transformR90", "moreblocks_wood_tile_full.png^[transformR90"}, "Full Wooden Tile", diff --git a/stairsplus/microblocks.lua b/stairsplus/microblocks.lua index 6cbb7d4..30a95ea 100644 --- a/stairsplus/microblocks.lua +++ b/stairsplus/microblocks.lua @@ -26,10 +26,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0, 0, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, 0, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -48,10 +44,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0, -0.4375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, -0.4375, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -70,10 +62,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0, -0.375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, -0.375, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -92,10 +80,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0, -0.25, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, -0.25, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -114,10 +98,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0, 0.25, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, 0.25, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -136,10 +116,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0, 0.375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, 0.375, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -158,10 +134,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0, 0.4375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, 0.4375, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) diff --git a/stairsplus/panels.lua b/stairsplus/panels.lua index c0a24fb..f074d54 100644 --- a/stairsplus/panels.lua +++ b/stairsplus/panels.lua @@ -26,10 +26,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5}, - }, on_place = stairsplus_rotate_and_place }) @@ -47,10 +43,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0.5, -0.4375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, -0.4375, 0.5}, - }, on_place = stairsplus_rotate_and_place }) @@ -68,10 +60,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0.5, -0.375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, -0.375, 0.5}, - }, on_place = stairsplus_rotate_and_place }) @@ -89,10 +77,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0.5, -0.25, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, -0.25, 0.5}, - }, on_place = stairsplus_rotate_and_place }) @@ -110,10 +94,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0.5, 0.25, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, 0.25, 0.5}, - }, on_place = stairsplus_rotate_and_place }) @@ -131,10 +111,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0.5, 0.375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, 0.375, 0.5}, - }, on_place = stairsplus_rotate_and_place }) @@ -152,10 +128,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio type = "fixed", fixed = {-0.5, -0.5, 0, 0.5, 0.4375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, 0.4375, 0.5}, - }, on_place = stairsplus_rotate_and_place }) diff --git a/stairsplus/slabs.lua b/stairsplus/slabs.lua index 1e251a5..687dbee 100644 --- a/stairsplus/slabs.lua +++ b/stairsplus/slabs.lua @@ -26,10 +26,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -47,10 +43,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -69,10 +61,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -91,10 +79,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -113,10 +97,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -135,10 +115,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -157,10 +133,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0.375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0.375, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -179,10 +151,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0.4375, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0.4375, 0.5}, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) diff --git a/stairsplus/stairs.lua b/stairsplus/stairs.lua index 20996a7..b11fef9 100644 --- a/stairsplus/stairs.lua +++ b/stairsplus/stairs.lua @@ -28,13 +28,6 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio {-0.5, 0, 0, 0.5, 0.5, 0.5}, }, }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -54,13 +47,6 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio {-0.5, 0, 0, 0.5, 0.5, 0.5}, }, }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -81,13 +67,6 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio {-0.5, 0, 0, 0, 0.5, 0.5}, }, }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0, 0, 0.5}, - {-0.5, 0, 0, 0, 0.5, 0.5}, - }, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -108,13 +87,6 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio {0, 0, 0, 0.5, 0.5, 0.5}, }, }, - selection_box = { - type = "fixed", - fixed = { - {0, -0.5, -0.5, 0.5, 0, 0.5}, - {0, 0, 0, 0.5, 0.5, 0.5}, - }, - }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) @@ -137,24 +109,36 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio {-0.5, 0, -0.5, 0, 0.5, 0}, }, }, - selection_box = { + sounds = default.node_sound_stone_defaults(), + on_place = stairsplus_rotate_and_place + }) + + minetest.register_node(":"..modname .. ":stair_" .. subname .. "_outer", { + description = S("%s Stairs"):format(S(description)), + drawtype = "nodebox", + tiles = images, + light_source = light, + drop = modname .. ":stair_" .. drop .. "_outer", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + groups = groups, + node_box = { type = "fixed", fixed = { {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - {-0.5, 0, -0.5, 0, 0.5, 0}, + {-0.5, 0, 0, 0, 0.5, 0.5}, }, }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) - minetest.register_node(":"..modname .. ":stair_" .. subname .. "_outer", { + minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt", { description = S("%s Stairs"):format(S(description)), drawtype = "nodebox", tiles = images, light_source = light, - drop = modname .. ":stair_" .. drop .. "_outer", paramtype = "light", paramtype2 = "facedir", sunlight_propagates = true, @@ -162,22 +146,35 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio node_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0, 0.5, 0.5}, + {-0.5, -0.5, -0.5, 0.5, 0, 0}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, }, }, - selection_box = { + sounds = default.node_sound_stone_defaults(), + on_place = stairsplus_rotate_and_place + }) + + minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt_1", { + description = S("%s Stairs"):format(S(description)), + drawtype = "nodebox", + tiles = images, + light_source = light, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + groups = groups, + node_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0, 0.5, 0.5}, + {-0.5, -0.0625, -0.5, 0.5, 0, 0}, + {-0.5, 0.4375, 0, 0.5, 0.5, 0.5}, }, }, sounds = default.node_sound_stone_defaults(), on_place = stairsplus_rotate_and_place }) - - minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt", { + + minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt_2", { description = S("%s Stairs"):format(S(description)), drawtype = "nodebox", tiles = images, @@ -189,8 +186,28 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio node_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, -0.125, -0.5, 0.5, 0, 0}, + {-0.5, 0.375, 0, 0.5, 0.5, 0.5}, + }, + }, + sounds = default.node_sound_stone_defaults(), + on_place = stairsplus_rotate_and_place + }) + + minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt_4", { + description = S("%s Stairs"):format(S(description)), + drawtype = "nodebox", + tiles = images, + light_source = light, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + groups = groups, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.25, -0.5, 0.5, 0, 0}, + {-0.5, 0.25, 0, 0.5, 0.5, 0.5}, }, }, sounds = default.node_sound_stone_defaults(), diff --git a/textures/invisible.png b/textures/invisible.png Binary files differnew file mode 100644 index 0000000..c2e8752 --- /dev/null +++ b/textures/invisible.png |