diff --git a/games/default/files/3d_armor/init.lua b/games/default/files/3d_armor/init.lua index 0b95321b0..dd2212a9e 100644 --- a/games/default/files/3d_armor/init.lua +++ b/games/default/files/3d_armor/init.lua @@ -6,35 +6,35 @@ dofile(minetest.get_modpath(minetest.get_current_modname()).."/armor.lua") minetest.register_tool("3d_armor:helmet_leather", { description = "Leather Helmet", inventory_image = "3d_armor_inv_helmet_leather.png", - groups = {armor_head=5, armor_heal=0, armor_use=100, combat = 1}, + groups = {armor_head=5, armor_heal=0, armor_use=100}, wear = 0, }) minetest.register_tool("3d_armor:helmet_steel", { description = "Steel Helmet", inventory_image = "3d_armor_inv_helmet_steel.png", - groups = {armor_head=10, armor_heal=5, armor_use=250, combat = 1}, + groups = {armor_head=10, armor_heal=5, armor_use=250}, wear = 0, }) minetest.register_tool("3d_armor:helmet_gold", { description = "Golden Helmet", inventory_image = "3d_armor_inv_helmet_gold.png", - groups = {armor_head=15, armor_heal=10, armor_use=500, combat = 1}, + groups = {armor_head=15, armor_heal=10, armor_use=500}, wear = 0, }) minetest.register_tool("3d_armor:helmet_diamond",{ description = "Diamond Helmet", inventory_image = "3d_armor_inv_helmet_diamond.png", - groups = {armor_head=20, armor_heal=15, armor_use=750, combat = 1}, + groups = {armor_head=20, armor_heal=15, armor_use=750}, wear = 0, }) minetest.register_tool("3d_armor:helmet_chain", { description = "Chain Helmet", inventory_image = "3d_armor_inv_helmet_chain.png", - groups = {armor_head=15, armor_heal=10, armor_use=500, combat = 1}, + groups = {armor_head=15, armor_heal=10, armor_use=500}, wear = 0, }) @@ -43,35 +43,35 @@ minetest.register_tool("3d_armor:helmet_chain", { minetest.register_tool("3d_armor:chestplate_leather", { description = "Leather Chestplate", inventory_image = "3d_armor_inv_chestplate_leather.png", - groups = {armor_torso=15, armor_heal=0, armor_use=100, combat = 1}, + groups = {armor_torso=15, armor_heal=0, armor_use=100}, wear = 0, }) minetest.register_tool("3d_armor:chestplate_steel", { description = "Steel Chestplate", inventory_image = "3d_armor_inv_chestplate_steel.png", - groups = {armor_torso=20, armor_heal=5, armor_use=250, combat = 1}, + groups = {armor_torso=20, armor_heal=5, armor_use=250}, wear = 0, }) minetest.register_tool("3d_armor:chestplate_gold", { description = "Golden Chestplate", inventory_image = "3d_armor_inv_chestplate_gold.png", - groups = {armor_torso=25, armor_heal=10, armor_use=500, combat = 1}, + groups = {armor_torso=25, armor_heal=10, armor_use=500}, wear = 0, }) minetest.register_tool("3d_armor:chestplate_diamond",{ description = "Diamond Chestplate", inventory_image = "3d_armor_inv_chestplate_diamond.png", - groups = {armor_torso=30, armor_heal=15, armor_use=750, combat = 1}, + groups = {armor_torso=30, armor_heal=15, armor_use=750}, wear = 0, }) minetest.register_tool("3d_armor:chestplate_chain", { description = "Chain Chestplate", inventory_image = "3d_armor_inv_chestplate_chain.png", - groups = {armor_torso=25, armor_heal=10, armor_use=500, combat = 1}, + groups = {armor_torso=25, armor_heal=10, armor_use=500}, wear = 0, }) @@ -80,35 +80,35 @@ minetest.register_tool("3d_armor:chestplate_chain", { minetest.register_tool("3d_armor:leggings_leather", { description = "Leather Leggings", inventory_image = "3d_armor_inv_leggings_leather.png", - groups = {armor_legs=10, armor_heal=0, armor_use=100, combat = 1}, + groups = {armor_legs=10, armor_heal=0, armor_use=100}, wear = 0, }) minetest.register_tool("3d_armor:leggings_steel", { description = "Steel Leggings", inventory_image = "3d_armor_inv_leggings_steel.png", - groups = {armor_legs=15, armor_heal=5, armor_use=250, combat = 1}, + groups = {armor_legs=15, armor_heal=5, armor_use=250}, wear = 0, }) minetest.register_tool("3d_armor:leggings_gold", { description = "Golden Leggings", inventory_image = "3d_armor_inv_leggings_gold.png", - groups = {armor_legs=20, armor_heal=10, armor_use=500, combat = 1}, + groups = {armor_legs=20, armor_heal=10, armor_use=500}, wear = 0, }) minetest.register_tool("3d_armor:leggings_diamond",{ description = "Diamond Helmet", inventory_image = "3d_armor_inv_leggings_diamond.png", - groups = {armor_legs=25, armor_heal=15, armor_use=750, combat = 1}, + groups = {armor_legs=25, armor_heal=15, armor_use=750}, wear = 0, }) minetest.register_tool("3d_armor:leggings_chain", { description = "Chain Leggings", inventory_image = "3d_armor_inv_leggings_chain.png", - groups = {armor_legs=20, armor_heal=10, armor_use=500, combat = 1}, + groups = {armor_legs=20, armor_heal=10, armor_use=500}, wear = 0, }) -- Regisiter Boots @@ -116,35 +116,35 @@ minetest.register_tool("3d_armor:leggings_chain", { minetest.register_tool("3d_armor:boots_leather", { description = "Leather Boots", inventory_image = "3d_armor_inv_boots_leather.png", - groups = {armor_feet=5, armor_heal=0, armor_use=100, combat = 1}, + groups = {armor_feet=5, armor_heal=0, armor_use=100}, wear = 0, }) minetest.register_tool("3d_armor:boots_steel", { description = "Steel Boots", inventory_image = "3d_armor_inv_boots_steel.png", - groups = {armor_feet=10, armor_heal=5, armor_use=250, combat = 1}, + groups = {armor_feet=10, armor_heal=5, armor_use=250}, wear = 0, }) minetest.register_tool("3d_armor:boots_gold", { description = "Golden Boots", inventory_image = "3d_armor_inv_boots_gold.png", - groups = {armor_feet=15, armor_heal=10, armor_use=500, combat = 1}, + groups = {armor_feet=15, armor_heal=10, armor_use=500}, wear = 0, }) minetest.register_tool("3d_armor:boots_diamond",{ description = "Diamond Helmet", inventory_image = "3d_armor_inv_boots_diamond.png", - groups = {armor_feet=20, armor_heal=15, armor_use=750, combat = 1}, + groups = {armor_feet=20, armor_heal=15, armor_use=750}, wear = 0, }) minetest.register_tool("3d_armor:boots_chain", { description = "Chain Boots", inventory_image = "3d_armor_inv_boots_chain.png", - groups = {armor_feet=15, armor_heal=10, armor_use=500, combat = 1}, + groups = {armor_feet=15, armor_heal=10, armor_use=500}, wear = 0, }) diff --git a/games/default/files/beds/README.txt b/games/default/files/beds/README.txt index 1206d0284..d495adcac 100644 --- a/games/default/files/beds/README.txt +++ b/games/default/files/beds/README.txt @@ -1,4 +1,4 @@ -MultiCraft mod: beds +MultiCraft game mod: beds ======================= See license.txt for license information. diff --git a/games/default/files/bluestone/mesecons_torch/init.lua b/games/default/files/bluestone/mesecons_torch/init.lua index 5a0f0b501..3c1523f31 100644 --- a/games/default/files/bluestone/mesecons_torch/init.lua +++ b/games/default/files/bluestone/mesecons_torch/init.lua @@ -37,7 +37,7 @@ local torch_get_input_rules = function(node) end minetest.register_craft({ - output = '"mesecons_torch:mesecon_torch_on" 4', + output = "mesecons_torch:mesecon_torch_on 4", recipe = { {"default:bluestone_dust"}, {"default:stick"},} diff --git a/games/default/files/boats/README.txt b/games/default/files/boats/README.txt index df3de4106..cff3d4661 100644 --- a/games/default/files/boats/README.txt +++ b/games/default/files/boats/README.txt @@ -1,4 +1,4 @@ -MultiCraft mod: boats +MultiCraft game mod: boats ======================== See license.txt for license information. diff --git a/games/default/files/bucket/README.txt b/games/default/files/bucket/README.txt index 5bb38fd21..6da5ea0b8 100644 --- a/games/default/files/bucket/README.txt +++ b/games/default/files/bucket/README.txt @@ -1,4 +1,4 @@ -MultiCraft mod: bucket +MultiCraft game mod: bucket ========================= License of source code: diff --git a/games/default/files/bucket/init.lua b/games/default/files/bucket/init.lua index c00410a55..8ee280c71 100644 --- a/games/default/files/bucket/init.lua +++ b/games/default/files/bucket/init.lua @@ -1,4 +1,4 @@ --- MultiCraft mod: bucket +-- MultiCraft game mod: bucket -- See README.txt for licensing and other information. minetest.register_alias("bucket", "bucket:bucket_empty") @@ -30,15 +30,15 @@ local function check_protection(pos, name, text) end -- Register a new liquid --- source = name of the source node --- flowing = name of the flowing node --- itemname = name of the new bucket item (or nil if liquid is not takeable) --- inventory_image = texture of the new bucket item (ignored if itemname == nil) --- name = text description of the bucket item --- groups = (optional) groups of the bucket item, for example {water_bucket = 1} --- force_renew = (optional) bool. Force the liquid source to renew if it has a --- source neighbour, even if defined as 'liquid_renewable = false'. --- Needed to avoid creating holes in sloping rivers. +-- source = name of the source node +-- flowing = name of the flowing node +-- itemname = name of the new bucket item (or nil if liquid is not takeable) +-- inventory_image = texture of the new bucket item (ignored if itemname == nil) +-- name = text description of the bucket item +-- groups = (optional) groups of the bucket item, for example {water_bucket = 1} +-- force_renew = (optional) bool. Force the liquid source to renew if it has a +-- source neighbour, even if defined as 'liquid_renewable = false'. +-- Needed to avoid creating holes in sloping rivers. -- This function can be called from any mod (that depends on bucket). function bucket.register_liquid(source, flowing, itemname, inventory_image, name, groups, force_renew) diff --git a/games/default/files/creative/categories/materials.lua b/games/default/files/creative/categories/materials.lua index 145e0ccf4..25b3d97ad 100644 --- a/games/default/files/creative/categories/materials.lua +++ b/games/default/files/creative/categories/materials.lua @@ -12,7 +12,7 @@ return { "default:emerald", "default:quartz_crystal", "default:sugar", - "default:reeds", + "default:sugarcane", "default:stick", "default:gunpowder", } \ No newline at end of file diff --git a/games/default/files/creative/categories/tools.lua b/games/default/files/creative/categories/tools.lua index 62f5ff1e8..9470a83b6 100644 --- a/games/default/files/creative/categories/tools.lua +++ b/games/default/files/creative/categories/tools.lua @@ -15,4 +15,10 @@ return { "default:shovel_stone", "default:axe_wood", "default:pick_steel", + "farming:hoe_wood", + "farming:hoe_stone", + "farming:hoe_steel", + "farming:hoe_gold", + "farming:hoe_diamond", + "default:pole", } \ No newline at end of file diff --git a/games/default/files/creative/inventory.lua b/games/default/files/creative/inventory.lua index 5ed76c79f..c21d5cc25 100644 --- a/games/default/files/creative/inventory.lua +++ b/games/default/files/creative/inventory.lua @@ -188,7 +188,7 @@ local function get_creative_formspec(player_name, start_i, pagenum, page, pagema local formspec = "image_button_exit[10.4,-0.1;0.75,0.75;close.png;exit;;true;true;]".. "background[-0.19,-0.25;11.5,8.5;inventory_creative.png]".. sfinv.gui_bg.. - "listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]".. + sfinv.listcolors.. "label[-5,-5;"..name.."]".. "image_button[-0.16,-0.15;1,1;"..bg["blocks"]..";build;;;false]".. --build blocks "image_button[0.87,-0.15;1,1;"..bg["deco"]..";deco;;;false]".. --decoration blocks diff --git a/games/default/files/default/aliases.lua b/games/default/files/default/aliases.lua index ab87e7dbd..9df324a38 100644 --- a/games/default/files/default/aliases.lua +++ b/games/default/files/default/aliases.lua @@ -18,7 +18,7 @@ minetest.register_alias("jungletree", "default:jungletree") minetest.register_alias("junglegrass", "default:junglegrass") minetest.register_alias("leaves", "default:leaves") minetest.register_alias("cactus", "default:cactus") -minetest.register_alias("papyrus", "default:papyrus") +minetest.register_alias("papyrus", "default:sugarcane") minetest.register_alias("bookshelf", "default:bookshelf") minetest.register_alias("glass", "default:glass") minetest.register_alias("wooden_fence", "default:fence_wood") @@ -86,3 +86,7 @@ minetest.register_alias("default:haybale", "farming:straw") -- Ladder minetest.register_alias("default:ladder", "default:ladder_wood") + +-- Ladder +minetest.register_alias("default:reeds", "default:sugarcane") +minetest.register_alias("default:papyrus", "default:sugarcane") diff --git a/games/default/files/default/chests.lua b/games/default/files/default/chests.lua index 9998786f0..f17a7635f 100644 --- a/games/default/files/default/chests.lua +++ b/games/default/files/default/chests.lua @@ -3,7 +3,7 @@ -- local function get_chest_neighborpos(pos, param2, side) - if side == "right" then + if side == "right" then if param2 == 0 then return {x=pos.x-1, y=pos.y, z=pos.z} elseif param2 == 1 then @@ -13,7 +13,7 @@ local function get_chest_neighborpos(pos, param2, side) elseif param2 == 3 then return {x=pos.x, y=pos.y, z=pos.z-1} end - else + else if param2 == 0 then return {x=pos.x+1, y=pos.y, z=pos.z} elseif param2 == 1 then @@ -23,18 +23,18 @@ local function get_chest_neighborpos(pos, param2, side) elseif param2 == 3 then return {x=pos.x, y=pos.y, z=pos.z+1} end - end + end end minetest.register_node("default:chest", { - description = "Chest", - tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", + description = "Chest", + tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", "default_chest_side.png", "default_chest_side.png", "default_chest_front.png"}, - paramtype2 = "facedir", - groups = {choppy = 2, oddly_breakable_by_hand = 2, decorative = 1}, - legacy_facedir_simple = true, - sounds = default.node_sound_wood_defaults(), - on_construct = function(pos) + paramtype2 = "facedir", + groups = {choppy = 2, oddly_breakable_by_hand = 2, decorative = 1}, + legacy_facedir_simple = true, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) local param2 = minetest.get_node(pos).param2 local meta = minetest.get_meta(pos) if minetest.get_node(get_chest_neighborpos(pos, param2, "right")).name == "default:chest" then @@ -100,8 +100,8 @@ minetest.register_node("default:chest", { end local inv = meta:get_inventory() inv:set_size("main", 9*3) - end, - after_dig_node = function(pos, oldnode, oldmetadata, digger) + end, + after_dig_node = function(pos, oldnode, oldmetadata, digger) local meta = minetest.get_meta(pos) local meta2 = meta meta:from_table(oldmetadata) @@ -109,41 +109,41 @@ minetest.register_node("default:chest", { for i=1,inv:get_size("main") do local stack = inv:get_stack("main", i) if not stack:is_empty() then - local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5} - minetest.add_item(p, stack) + local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5} + minetest.add_item(p, stack) end end meta:from_table(meta2:to_table()) - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) minetest.log("action", player:get_player_name().. - " moves stuff in chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) + " moves stuff in chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) minetest.log("action", player:get_player_name().. - " moves stuff to chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) + " moves stuff to chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) minetest.log("action", player:get_player_name().. - " takes stuff from chest at "..minetest.pos_to_string(pos)) - end, - on_receive_fields = function(pos, formname, fields, sender) - if fields.exit then + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields.exit then print('test') fields.quit = true - -- minetest.show_formspec(sender:get_player_name(), 'quit', "") - end - end + -- minetest.show_formspec(sender:get_player_name(), 'quit', "") + end + end }) minetest.register_node("default:chest_left", { - tiles = {"default_chest_top_big.png", "default_chest_top_big.png", "default_chest_side.png", + tiles = {"default_chest_top_big.png", "default_chest_top_big.png", "default_chest_side.png", "default_chest_side.png", "default_chest_side_big.png^[transformFX", "default_chest_front_big.png"}, - paramtype2 = "facedir", - groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory=1}, - drop = "default:chest", - sounds = default.node_sound_wood_defaults(), - on_destruct = function(pos) + paramtype2 = "facedir", + groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory=1}, + drop = "default:chest", + sounds = default.node_sound_wood_defaults(), + on_destruct = function(pos) local m = minetest.get_meta(pos) if m:get_string("infotext") == "Chest" then return @@ -164,8 +164,8 @@ minetest.register_node("default:chest_left", { "list[current_player;main;0,7.74;9,1;]") meta:set_string("infotext", "Chest") minetest.swap_node(p, {name="default:chest", param2=param2}) - end, - after_dig_node = function(pos, oldnode, oldmetadata, digger) + end, + after_dig_node = function(pos, oldnode, oldmetadata, digger) local meta = minetest.get_meta(pos) local meta2 = meta meta:from_table(oldmetadata) @@ -173,34 +173,34 @@ minetest.register_node("default:chest_left", { for i=1,inv:get_size("main") do local stack = inv:get_stack("main", i) if not stack:is_empty() then - local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5} - minetest.add_item(p, stack) + local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5} + minetest.add_item(p, stack) end end meta:from_table(meta2:to_table()) - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) minetest.log("action", player:get_player_name().. - " moves stuff in chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) + " moves stuff in chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) minetest.log("action", player:get_player_name().. - " moves stuff to chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) + " moves stuff to chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) minetest.log("action", player:get_player_name().. - " takes stuff from chest at "..minetest.pos_to_string(pos)) - end, + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, }) minetest.register_node("default:chest_right", { - tiles = {"default_chest_top_big.png^[transformFX", "default_chest_top_big.png^[transformFX", "default_chest_side.png", + tiles = {"default_chest_top_big.png^[transformFX", "default_chest_top_big.png^[transformFX", "default_chest_side.png", "default_chest_side.png", "default_chest_side_big.png", "default_chest_front_big.png^[transformFX"}, - paramtype2 = "facedir", - groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory=1}, - drop = "default:chest", - sounds = default.node_sound_wood_defaults(), - on_destruct = function(pos) + paramtype2 = "facedir", + groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory=1}, + drop = "default:chest", + sounds = default.node_sound_wood_defaults(), + on_destruct = function(pos) local m = minetest.get_meta(pos) if m:get_string("infotext") == "Chest" then return @@ -221,8 +221,8 @@ minetest.register_node("default:chest_right", { "list[current_player;main;0,7.74;9,1;]") meta:set_string("infotext", "Chest") minetest.swap_node(p, {name="default:chest", param2=param2}) - end, - after_dig_node = function(pos, oldnode, oldmetadata, digger) + end, + after_dig_node = function(pos, oldnode, oldmetadata, digger) local meta = minetest.get_meta(pos) local meta2 = meta meta:from_table(oldmetadata) @@ -230,22 +230,22 @@ minetest.register_node("default:chest_right", { for i=1,inv:get_size("main") do local stack = inv:get_stack("main", i) if not stack:is_empty() then - local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5} - minetest.add_item(p, stack) + local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5} + minetest.add_item(p, stack) end end meta:from_table(meta2:to_table()) - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) minetest.log("action", player:get_player_name().. - " moves stuff in chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) + " moves stuff in chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) minetest.log("action", player:get_player_name().. - " moves stuff to chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) + " moves stuff to chest at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) minetest.log("action", player:get_player_name().. - " takes stuff from chest at "..minetest.pos_to_string(pos)) - end, + " takes stuff from chest at "..minetest.pos_to_string(pos)) + end, }) diff --git a/games/default/files/default/crafting.lua b/games/default/files/default/crafting.lua index 7e1ac8556..ab4609498 100644 --- a/games/default/files/default/crafting.lua +++ b/games/default/files/default/crafting.lua @@ -1,21 +1,17 @@ -- mods/default/crafting.lua --- --- Crafting definition --- - minetest.register_craft({ - output = 'default:wood 4', - recipe = { - {'default:tree'}, - } + output = 'default:wood 4', + recipe = { + {'default:tree'}, + } }) minetest.register_craft({ - output = 'default:junglewood 4', - recipe = { - {'default:jungletree'}, - } + output = 'default:junglewood 4', + recipe = { + {'default:jungletree'}, + } }) minetest.register_craft({ @@ -26,530 +22,530 @@ minetest.register_craft({ }) minetest.register_craft({ - output = 'default:acacia_wood 4', - recipe = { - {'default:acacia_tree'}, - } + output = 'default:acacia_wood 4', + recipe = { + {'default:acacia_tree'}, + } }) minetest.register_craft({ - output = 'default:mossycobble', - recipe = { - {'default:cobble', 'default:vine'}, - } + output = 'default:mossycobble', + recipe = { + {'default:cobble', 'default:vine'}, + } }) minetest.register_craft({ - output = 'default:stonebrickmossy', - recipe = { - {'default:stonebrick', 'default:vine'}, - } + output = 'default:stonebrickmossy', + recipe = { + {'default:stonebrick', 'default:vine'}, + } }) minetest.register_craft({ - output = 'default:stick 4', - recipe = { - {'group:wood'}, - {'group:wood'}, - } + output = 'default:stick 4', + recipe = { + {'group:wood'}, + {'group:wood'}, + } }) minetest.register_craft({ - output = 'signs:sign 3', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - {'', 'default:stick', ''}, - } + output = 'signs:sign 3', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'default:stick', ''}, + } }) minetest.register_craft({ - output = 'default:torch 4', - recipe = { - {'default:coal_lump'}, - {'default:stick'}, - } + output = 'default:torch 4', + recipe = { + {'default:coal_lump'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:torch 4', - recipe = { - {'default:charcoal_lump'}, - {'default:stick'}, - } + output = 'default:torch 4', + recipe = { + {'default:charcoal_lump'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:pick_wood', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''}, - } + output = 'default:pick_wood', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } }) minetest.register_craft({ - output = 'default:pick_stone', - recipe = { - {'group:stone', 'group:stone', 'group:stone'}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''}, - } + output = 'default:pick_stone', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } }) minetest.register_craft({ - output = 'default:pick_steel', - recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''}, - } + output = 'default:pick_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } }) minetest.register_craft({ - output = 'default:pick_gold', - recipe = { - {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''}, - } + output = 'default:pick_gold', + recipe = { + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } }) minetest.register_craft({ - output = 'default:diamondblock', - recipe = { - {'default:diamond', 'default:diamond', 'default:diamond'}, - {'default:diamond', 'default:diamond', 'default:diamond'}, - {'default:diamond', 'default:diamond', 'default:diamond'}, - } + output = 'default:diamondblock', + recipe = { + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'default:diamond', 'default:diamond', 'default:diamond'}, + } }) minetest.register_craft({ - output = 'default:pick_diamond', - recipe = { - {'default:diamond', 'default:diamond', 'default:diamond'}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''}, - } + output = 'default:pick_diamond', + recipe = { + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''}, + } }) minetest.register_craft({ - output = 'default:shovel_wood', - recipe = { - {'group:wood'}, - {'default:stick'}, - {'default:stick'}, - } + output = 'default:shovel_wood', + recipe = { + {'group:wood'}, + {'default:stick'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:shovel_stone', - recipe = { - {'group:stone'}, - {'default:stick'}, - {'default:stick'}, - } + output = 'default:shovel_stone', + recipe = { + {'group:stone'}, + {'default:stick'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:shovel_steel', - recipe = { - {'default:steel_ingot'}, - {'default:stick'}, - {'default:stick'}, - } + output = 'default:shovel_steel', + recipe = { + {'default:steel_ingot'}, + {'default:stick'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:shovel_gold', - recipe = { - {'default:gold_ingot'}, - {'default:stick'}, - {'default:stick'}, - } + output = 'default:shovel_gold', + recipe = { + {'default:gold_ingot'}, + {'default:stick'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:shovel_diamond', - recipe = { - {'default:diamond'}, - {'default:stick'}, - {'default:stick'}, - } + output = 'default:shovel_diamond', + recipe = { + {'default:diamond'}, + {'default:stick'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:axe_wood', - recipe = { - {'group:wood', 'group:wood'}, - {'group:wood', 'default:stick'}, - {'', 'default:stick'}, - } + output = 'default:axe_wood', + recipe = { + {'group:wood', 'group:wood'}, + {'group:wood', 'default:stick'}, + {'', 'default:stick'}, + } }) minetest.register_craft({ - output = 'default:axe_stone', - recipe = { - {'group:stone', 'group:stone'}, - {'group:stone', 'default:stick'}, - {'', 'default:stick'}, - } + output = 'default:axe_stone', + recipe = { + {'group:stone', 'group:stone'}, + {'group:stone', 'default:stick'}, + {'', 'default:stick'}, + } }) minetest.register_craft({ - output = 'default:axe_steel', - recipe = { - {'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:stick'}, - {'', 'default:stick'}, - } + output = 'default:axe_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:stick'}, + {'', 'default:stick'}, + } }) minetest.register_craft({ - output = 'default:axe_gold', - recipe = { - {'default:gold_ingot', 'default:gold_ingot'}, - {'default:gold_ingot', 'default:stick'}, - {'', 'default:stick'}, - } + output = 'default:axe_gold', + recipe = { + {'default:gold_ingot', 'default:gold_ingot'}, + {'default:gold_ingot', 'default:stick'}, + {'', 'default:stick'}, + } }) minetest.register_craft({ - output = 'default:axe_diamond', - recipe = { - {'default:diamond', 'default:diamond'}, - {'default:diamond', 'default:stick'}, - {'', 'default:stick'}, - } + output = 'default:axe_diamond', + recipe = { + {'default:diamond', 'default:diamond'}, + {'default:diamond', 'default:stick'}, + {'', 'default:stick'}, + } }) minetest.register_craft({ - output = 'default:sword_wood', - recipe = { - {'group:wood'}, - {'group:wood'}, - {'default:stick'}, - } + output = 'default:sword_wood', + recipe = { + {'group:wood'}, + {'group:wood'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:sword_stone', - recipe = { - {'group:stone'}, - {'group:stone'}, - {'default:stick'}, - } + output = 'default:sword_stone', + recipe = { + {'group:stone'}, + {'group:stone'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:sword_steel', - recipe = { - {'default:steel_ingot'}, - {'default:steel_ingot'}, - {'default:stick'}, - } + output = 'default:sword_steel', + recipe = { + {'default:steel_ingot'}, + {'default:steel_ingot'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:sword_gold', - recipe = { - {'default:gold_ingot'}, - {'default:gold_ingot'}, - {'default:stick'}, - } + output = 'default:sword_gold', + recipe = { + {'default:gold_ingot'}, + {'default:gold_ingot'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = 'default:sword_diamond', - recipe = { - {'default:diamond'}, - {'default:diamond'}, - {'default:stick'}, - } + output = 'default:sword_diamond', + recipe = { + {'default:diamond'}, + {'default:diamond'}, + {'default:stick'}, + } }) minetest.register_craft({ - output = "default:pole", - recipe = { - {'','','default:stick'}, - {'','default:stick','farming:string'}, - {'default:stick','','farming:string'}, - } + output = "default:pole", + recipe = { + {'','','default:stick'}, + {'','default:stick','farming:string'}, + {'default:stick','','farming:string'}, + } }) minetest.register_craft({ - output = "default:pole", - recipe = { - {'', '', 'default:stick'}, - {'', 'default:stick', 'farming:string'}, - {'default:stick', '', 'farming:string'}, - } + output = "default:pole", + recipe = { + {'', '', 'default:stick'}, + {'', 'default:stick', 'farming:string'}, + {'default:stick', '', 'farming:string'}, + } }) minetest.register_craft({ - output = 'default:chest', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', '', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - } + output = 'default:chest', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', '', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } }) minetest.register_craft({ - output = 'default:furnace', - recipe = { - {'group:stone', 'group:stone', 'group:stone'}, - {'group:stone', '', 'group:stone'}, - {'group:stone', 'group:stone', 'group:stone'}, - } + output = 'default:furnace', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'group:stone', '', 'group:stone'}, + {'group:stone', 'group:stone', 'group:stone'}, + } }) minetest.register_craft({ - output = 'default:haybale', - recipe = { - {'farming:wheat_harvested', 'farming:wheat_harvested', 'farming:wheat_harvested'}, - {'farming:wheat_harvested', 'farming:wheat_harvested', 'farming:wheat_harvested'}, - {'farming:wheat_harvested', 'farming:wheat_harvested', 'farming:wheat_harvested'}, - } + output = 'default:haybale', + recipe = { + {'farming:wheat_harvested', 'farming:wheat_harvested', 'farming:wheat_harvested'}, + {'farming:wheat_harvested', 'farming:wheat_harvested', 'farming:wheat_harvested'}, + {'farming:wheat_harvested', 'farming:wheat_harvested', 'farming:wheat_harvested'}, + } }) minetest.register_craft({ - output = 'farming:wheat_harvested 9', - recipe = { - {'default:haybale'}, - } + output = 'farming:wheat_harvested 9', + recipe = { + {'default:haybale'}, + } }) minetest.register_craft({ - output = 'default:steelblock', - recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - } + output = 'default:steelblock', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } }) minetest.register_craft({ - output = 'default:steel_ingot 9', - recipe = { - {'default:steelblock'}, - } + output = 'default:steel_ingot 9', + recipe = { + {'default:steelblock'}, + } }) minetest.register_craft({ - output = 'default:goldblock', - recipe = { - {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, - {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, - {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, - } + output = 'default:goldblock', + recipe = { + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + } }) minetest.register_craft({ - output = 'default:gold_ingot 9', - recipe = { - {'default:goldblock'}, - } + output = 'default:gold_ingot 9', + recipe = { + {'default:goldblock'}, + } }) minetest.register_craft({ - output = 'default:sandstone', - recipe = { - {'group:sand', 'group:sand'}, - {'group:sand', 'group:sand'}, - } + output = 'default:sandstone', + recipe = { + {'group:sand', 'group:sand'}, + {'group:sand', 'group:sand'}, + } }) minetest.register_craft({ - output = 'default:clay', - recipe = { - {'default:clay_lump', 'default:clay_lump'}, - {'default:clay_lump', 'default:clay_lump'}, - } + output = 'default:clay', + recipe = { + {'default:clay_lump', 'default:clay_lump'}, + {'default:clay_lump', 'default:clay_lump'}, + } }) minetest.register_craft({ - output = 'default:brick', - recipe = { - {'default:clay_brick', 'default:clay_brick'}, - {'default:clay_brick', 'default:clay_brick'}, - } + output = 'default:brick', + recipe = { + {'default:clay_brick', 'default:clay_brick'}, + {'default:clay_brick', 'default:clay_brick'}, + } }) minetest.register_craft({ - output = 'default:clay_brick 4', - recipe = { - {'default:brick'}, - } + output = 'default:clay_brick 4', + recipe = { + {'default:brick'}, + } }) minetest.register_craft({ - output = 'default:paper', - recipe = { - {'default:reeds', 'default:reeds', 'default:reeds'}, - } + output = 'default:paper', + recipe = { + {'default:sugarcane', 'default:sugarcane', 'default:sugarcane'}, + } }) minetest.register_craft({ - output = 'default:book', - recipe = { - {'default:paper'}, - {'default:paper'}, - {'default:paper'}, - } + output = 'default:book', + recipe = { + {'default:paper'}, + {'default:paper'}, + {'default:paper'}, + } }) minetest.register_craft({ - output = 'default:bookshelf', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'default:book', 'default:book', 'default:book'}, - {'group:wood', 'group:wood', 'group:wood'}, - } + output = 'default:bookshelf', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'default:book', 'default:book', 'default:book'}, + {'group:wood', 'group:wood', 'group:wood'}, + } }) minetest.register_craft({ - output = 'default:ladder', - recipe = { - {'default:stick', '', 'default:stick'}, - {'default:stick', 'default:stick', 'default:stick'}, - {'default:stick', '', 'default:stick'}, - } + output = 'default:ladder', + recipe = { + {'default:stick', '', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', '', 'default:stick'}, + } }) minetest.register_craft({ - output = 'default:stonebrick', - recipe = { - {'default:stone', 'default:stone'}, - {'default:stone', 'default:stone'}, - } + output = 'default:stonebrick', + recipe = { + {'default:stone', 'default:stone'}, + {'default:stone', 'default:stone'}, + } }) minetest.register_craft({ - type = "shapeless", - output = "default:gunpowder", - recipe = { - 'default:sand', - 'default:gravel', - } + type = "shapeless", + output = "default:gunpowder", + recipe = { + 'default:sand', + 'default:gravel', + } }) minetest.register_craft({ - output = 'dye:white 3', - recipe = { - {'default:bone'}, - } + output = 'dye:white 3', + recipe = { + {'default:bone'}, + } }) minetest.register_craft({ - output = 'default:lapisblock', - recipe = { - {'dye:blue', 'dye:blue', 'dye:blue'}, - {'dye:blue', 'dye:blue', 'dye:blue'}, - {'dye:blue', 'dye:blue', 'dye:blue'}, - } + output = 'default:lapisblock', + recipe = { + {'dye:blue', 'dye:blue', 'dye:blue'}, + {'dye:blue', 'dye:blue', 'dye:blue'}, + {'dye:blue', 'dye:blue', 'dye:blue'}, + } }) minetest.register_craft({ - output = 'dye:blue 9', - recipe = { - {'default:lapisblock'}, - } + output = 'dye:blue 9', + recipe = { + {'default:lapisblock'}, + } }) minetest.register_craft({ - output = "default:emeraldblock", - recipe = { - {'default:emerald', 'default:emerald', 'default:emerald'}, - {'default:emerald', 'default:emerald', 'default:emerald'}, - {'default:emerald', 'default:emerald', 'default:emerald'}, - } + output = "default:emeraldblock", + recipe = { + {'default:emerald', 'default:emerald', 'default:emerald'}, + {'default:emerald', 'default:emerald', 'default:emerald'}, + {'default:emerald', 'default:emerald', 'default:emerald'}, + } }) minetest.register_craft({ - output = 'default:emerald 9', - recipe = { - {'default:emeraldblock'}, - } + output = 'default:emerald 9', + recipe = { + {'default:emeraldblock'}, + } }) minetest.register_craft({ - output = "default:glowstone", - recipe = { - {'default:glowstone_dust', 'default:glowstone_dust'}, - {'default:glowstone_dust', 'default:glowstone_dust'}, - } + output = "default:glowstone", + recipe = { + {'default:glowstone_dust', 'default:glowstone_dust'}, + {'default:glowstone_dust', 'default:glowstone_dust'}, + } }) minetest.register_craft({ - output = 'default:glowstone_dust 4', - recipe = { - {'default:glowstone'}, - } + output = 'default:glowstone_dust 4', + recipe = { + {'default:glowstone'}, + } }) minetest.register_craft({ - output = 'default:bluestone_dust', - recipe = {{"mesecons:wire_00000000_off"}}, + output = 'default:bluestone_dust', + recipe = {{"mesecons:wire_00000000_off"}}, }) minetest.register_craft({ - output = "default:apple_gold", - recipe = { - {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, - {"default:gold_ingot", 'default:apple', "default:gold_ingot"}, - {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, - } + output = "default:apple_gold", + recipe = { + {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, + {"default:gold_ingot", 'default:apple', "default:gold_ingot"}, + {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, + } }) minetest.register_craft({ - output = "default:sugar", - recipe = { - {"default:reeds"}, - } + output = "default:sugar", + recipe = { + {"default:sugarcane"}, + } }) minetest.register_craft({ - output = 'default:snowblock', - recipe = { - {'default:snow', 'default:snow', 'default:snow'}, - {'default:snow', 'default:snow', 'default:snow'}, - {'default:snow', 'default:snow', 'default:snow'}, - } + output = 'default:snowblock', + recipe = { + {'default:snow', 'default:snow', 'default:snow'}, + {'default:snow', 'default:snow', 'default:snow'}, + {'default:snow', 'default:snow', 'default:snow'}, + } }) minetest.register_craft({ - output = 'default:snow 9', - recipe = { - {'default:snowblock'}, - } + output = 'default:snow 9', + recipe = { + {'default:snowblock'}, + } }) minetest.register_craft({ - output = 'default:quartz_block', - recipe = { - {'default:quartz_crystal', 'default:quartz_crystal'}, - {'default:quartz_crystal', 'default:quartz_crystal'}, - } + output = 'default:quartz_block', + recipe = { + {'default:quartz_crystal', 'default:quartz_crystal'}, + {'default:quartz_crystal', 'default:quartz_crystal'}, + } }) minetest.register_craft({ - output = 'default:quartz_chiseled 2', - recipe = { - {'stairs:slab_quartzblock'}, - {'stairs:slab_quartzblock'}, - } + output = 'default:quartz_chiseled 2', + recipe = { + {'stairs:slab_quartzblock'}, + {'stairs:slab_quartzblock'}, + } }) minetest.register_craft({ - output = 'default:quartz_pillar 2', - recipe = { - {'default:quartz_block'}, - {'default:quartz_block'}, - } + output = 'default:quartz_pillar 2', + recipe = { + {'default:quartz_block'}, + {'default:quartz_block'}, + } }) @@ -558,88 +554,88 @@ minetest.register_craft({ -- minetest.register_craft({ - type = "cooking", - output = "default:glass", - recipe = "group:sand", + type = "cooking", + output = "default:glass", + recipe = "group:sand", }) minetest.register_craft({ - type = "cooking", - output = "default:stone", - recipe = "default:cobble", + type = "cooking", + output = "default:stone", + recipe = "default:cobble", }) minetest.register_craft({ - type = "cooking", - output = "default:steel_ingot", - recipe = "default:stone_with_iron", + type = "cooking", + output = "default:steel_ingot", + recipe = "default:stone_with_iron", }) minetest.register_craft({ - type = "cooking", - output = "default:gold_ingot", - recipe = "default:stone_with_gold", + type = "cooking", + output = "default:gold_ingot", + recipe = "default:stone_with_gold", }) minetest.register_craft({ - type = "cooking", - output = "default:clay_brick", - recipe = "default:clay_lump", + type = "cooking", + output = "default:clay_brick", + recipe = "default:clay_lump", }) minetest.register_craft({ - type = "cooking", - output = "default:fish", - recipe = "default:fish_raw", + type = "cooking", + output = "default:fish", + recipe = "default:fish_raw", -- cooktime = 2, }) minetest.register_craft({ - type = "cooking", - output = "default:charcoal_lump", - recipe = "group:tree", + type = "cooking", + output = "default:charcoal_lump", + recipe = "group:tree", }) minetest.register_craft({ - type = "cooking", - output = "default:sponge", - recipe = "default:sponge_wet", + type = "cooking", + output = "default:sponge", + recipe = "default:sponge_wet", }) minetest.register_craft({ - type = "cooking", - output = "default:steak", - recipe = "default:beef_raw", + type = "cooking", + output = "default:steak", + recipe = "default:beef_raw", }) minetest.register_craft({ - type = "cooking", - output = "default:chicken_cooked", - recipe = "default:chicken_raw", + type = "cooking", + output = "default:chicken_cooked", + recipe = "default:chicken_raw", }) minetest.register_craft({ - type = "cooking", - output = "default:coal_lump", - recipe = "default:stone_with_coal", + type = "cooking", + output = "default:coal_lump", + recipe = "default:stone_with_coal", }) minetest.register_craft({ - type = "cooking", - output = "mesecons:wire_00000000_off 5", - recipe = "default:stone_with_bluestone", + type = "cooking", + output = "mesecons:wire_00000000_off 5", + recipe = "default:stone_with_bluestone", }) minetest.register_craft({ - type = "cooking", - output = "default:diamond", - recipe = "default:stone_with_diamond", + type = "cooking", + output = "default:diamond", + recipe = "default:stone_with_diamond", }) minetest.register_craft({ - type = "cooking", - output = "default:stonebrickcracked", - recipe = "default:stonebrick", + type = "cooking", + output = "default:stonebrickcracked", + recipe = "default:stonebrick", }) @@ -648,101 +644,101 @@ minetest.register_craft({ -- minetest.register_craft({ - type = "fuel", - recipe = "group:tree", - burntime = 15, + type = "fuel", + recipe = "group:tree", + burntime = 15, }) minetest.register_craft({ - type = "fuel", - recipe = "default:bookshelf", - burntime = 15, + type = "fuel", + recipe = "default:bookshelf", + burntime = 15, }) minetest.register_craft({ - type = "fuel", - recipe = "default:fence_wood", - burntime = 15, + type = "fuel", + recipe = "default:fence_wood", + burntime = 15, }) minetest.register_craft({ - type = "fuel", - recipe = "group:wood", - burntime = 15, + type = "fuel", + recipe = "group:wood", + burntime = 15, }) minetest.register_craft({ - type = "fuel", - recipe = "bucket:bucket_lava", - burntime = 1000, + type = "fuel", + recipe = "bucket:bucket_lava", + burntime = 1000, }) minetest.register_craft({ - type = "fuel", - recipe = "default:chest", - burntime = 15, + type = "fuel", + recipe = "default:chest", + burntime = 15, }) minetest.register_craft({ - type = "fuel", - recipe = "default:sapling", - burntime = 5, + type = "fuel", + recipe = "default:sapling", + burntime = 5, }) minetest.register_craft({ - type = "fuel", - recipe = "default:coal_block", - burntime = 800, + type = "fuel", + recipe = "default:coal_block", + burntime = 800, }) minetest.register_craft({ - type = "fuel", - recipe = "default:coal_lump", - burntime = 80, + type = "fuel", + recipe = "default:coal_lump", + burntime = 80, }) minetest.register_craft({ - type = "fuel", - recipe = "default:charcoal_lump", - burntime = 80, + type = "fuel", + recipe = "default:charcoal_lump", + burntime = 80, }) minetest.register_craft({ - type = "fuel", - recipe = "default:junglesapling", - burntime = 5, + type = "fuel", + recipe = "default:junglesapling", + burntime = 5, }) minetest.register_craft({ - type = "fuel", - recipe = "default:stick", - burntime = 5, + type = "fuel", + recipe = "default:stick", + burntime = 5, }) minetest.register_craft({ - type = "fuel", - recipe = "crafting:workbench", - burntime = 15, + type = "fuel", + recipe = "crafting:workbench", + burntime = 15, }) minetest.register_craft({ - type = "fuel", - recipe = "default:chest", - burntime = 15, + type = "fuel", + recipe = "default:chest", + burntime = 15, }) minetest.register_craft({ - output = "farming:string", - recipe = {{"default:paper", "default:paper"}}, + output = "farming:string", + recipe = {{"default:paper", "default:paper"}}, }) minetest.register_craft({ - output = "default:cobweb", - recipe = { - {"farming:string", "farming:string", "farming:string"}, - {"farming:string", "farming:string", "farming:string"}, - {"farming:string", "farming:string", "farming:string"}, - } + output = "default:cobweb", + recipe = { + {"farming:string", "farming:string", "farming:string"}, + {"farming:string", "farming:string", "farming:string"}, + {"farming:string", "farming:string", "farming:string"}, + } }) minetest.register_craftitem("default:flint", { diff --git a/games/default/files/default/craftitems.lua b/games/default/files/default/craftitems.lua index 364d17440..8888cd404 100644 --- a/games/default/files/default/craftitems.lua +++ b/games/default/files/default/craftitems.lua @@ -5,20 +5,19 @@ -- minetest.register_craftitem("default:stick", { - description = "Stick", - inventory_image = "default_stick.png", - groups = {materials = 1}, + description = "Stick", + inventory_image = "default_stick.png", + groups = {stick = 1, flammable = 2}, }) minetest.register_craftitem("default:paper", { - description = "Paper", - inventory_image = "default_paper.png", - groups = {misc = 1}, + description = "Paper", + inventory_image = "default_paper.png", + groups = {flammable = 3}, }) - local lpp = 14 -- Lines per book's page local function book_on_use(itemstack, user) local player_name = user:get_player_name() @@ -176,95 +175,82 @@ minetest.register_craftitem("default:book_written", { }) minetest.register_craftitem("default:coal_lump", { - description = "Coal Lump", - inventory_image = "default_coal_lump.png", - groups = {materials = 1}, + description = "Coal Lump", + inventory_image = "default_coal_lump.png", + groups = {coal = 1, flammable = 1} }) minetest.register_craftitem("default:charcoal_lump", { - description = "Charcoal Lump", - inventory_image = "default_charcoal_lump.png", - groups = {materials = 1}, + description = "Charcoal Lump", + inventory_image = "default_charcoal_lump.png", + groups = {coal = 1, flammable = 1} }) minetest.register_craftitem("default:diamond", { - description = "Diamond", - inventory_image = "default_diamond.png", - groups = {materials = 1}, + description = "Diamond", + inventory_image = "default_diamond.png", }) minetest.register_craftitem("default:clay_lump", { - description = "Clay Lump", - inventory_image = "default_clay_lump.png", - groups = {materials = 1}, + description = "Clay Lump", + inventory_image = "default_clay_lump.png", }) minetest.register_craftitem("default:steel_ingot", { - description = "Steel Ingot", - inventory_image = "default_steel_ingot.png", - groups = {materials = 1}, + description = "Steel Ingot", + inventory_image = "default_steel_ingot.png", }) minetest.register_craftitem("default:gold_ingot", { - description = "Gold Ingot", - inventory_image = "default_gold_ingot.png", - groups = {materials = 1}, + description = "Gold Ingot", + inventory_image = "default_gold_ingot.png", }) minetest.register_craftitem("default:emerald", { - description = "Emerald", - inventory_image = "default_emerald.png", - groups = {materials = 1}, + description = "Emerald", + inventory_image = "default_emerald.png", }) minetest.register_craftitem("default:clay_brick", { - description = "Clay Brick", - inventory_image = "default_clay_brick.png", - groups = {materials = 1}, + description = "Clay Brick", + inventory_image = "default_clay_brick.png", }) minetest.register_craftitem("default:gunpowder", { - description = "Gunpowder", - inventory_image = "default_gunpowder.png", - groups = {materials = 1}, + description = "Gunpowder", + inventory_image = "default_gunpowder.png", }) minetest.register_craftitem("default:bone", { - description = "Bone", - inventory_image = "default_bone.png", - groups = {materials = 1}, + description = "Bone", + inventory_image = "default_bone.png", }) minetest.register_craftitem("default:glowstone_dust", { - description = "Glowstone Dust", - inventory_image = "default_glowstone_dust.png", - groups = {materials = 1}, + description = "Glowstone Dust", + inventory_image = "default_glowstone_dust.png", }) minetest.register_craftitem("default:fish_raw", { - description = "Raw Fish", - groups = {}, - inventory_image = "default_fish.png", - on_use = minetest.item_eat(2), - groups = {foodstuffs = 1}, + description = "Raw Fish", + groups = {}, + inventory_image = "default_fish.png", + on_use = minetest.item_eat(2), }) minetest.register_craftitem("default:fish", { - description = "Cooked Fish", - groups = {}, - inventory_image = "default_fish_cooked.png", - on_use = minetest.item_eat(4), - groups = {foodstuffs = 1}, + description = "Cooked Fish", + groups = {}, + inventory_image = "default_fish_cooked.png", + on_use = minetest.item_eat(4), }) minetest.register_craftitem("default:sugar", { - description = "Sugar", - inventory_image = "default_sugar.png", - groups = {materials = 1}, + description = "Sugar", + inventory_image = "default_sugar.png", }) minetest.register_craftitem("default:quartz_crystal", { - description = "Quartz Crystal", - inventory_image = "default_quartz_crystal.png", - groups = {materials = 1}, + description = "Quartz Crystal", + inventory_image = "default_quartz_crystal.png", }) \ No newline at end of file diff --git a/games/default/files/default/functions.lua b/games/default/files/default/functions.lua index 4a52c2110..941253247 100644 --- a/games/default/files/default/functions.lua +++ b/games/default/files/default/functions.lua @@ -206,7 +206,7 @@ function default.grow_papyrus(pos, node) end pos.y = pos.y + 1 local height = 0 - while node.name == "default:papyrus" and height < 4 do + while node.name == "default:sugarcane" and height < 4 do height = height + 1 pos.y = pos.y + 1 node = minetest.get_node(pos) @@ -217,7 +217,7 @@ function default.grow_papyrus(pos, node) if minetest.get_node_light(pos) < 13 then return end - minetest.set_node(pos, {name = "default:papyrus"}) + minetest.set_node(pos, {name = "default:sugarcane"}) return true end @@ -234,7 +234,7 @@ minetest.register_abm({ minetest.register_abm({ label = "Grow papyrus", - nodenames = {"default:papyrus"}, + nodenames = {"default:sugarcane"}, neighbors = {"default:dirt", "default:dirt_with_grass", "default:sand"}, interval = 14, chance = 71, diff --git a/games/default/files/default/furnace.lua b/games/default/files/default/furnace.lua index d9a843b14..397ff0d3f 100644 --- a/games/default/files/default/furnace.lua +++ b/games/default/files/default/furnace.lua @@ -6,15 +6,17 @@ local function active_formspec(fuel_percent, item_percent) local formspec = "size[9,8.75]".. - "image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]".. - "background[-0.19,-0.25;9.41,9.49;formspec_furnace.png]".. - sfinv.gui_bg.. + "background[-0.2,-0.26;9.41,9.49;formspec_inventory.png]".. + "background[-0.2,-0.26;9.41,9.49;formspec_furnace.png]".. + "bgcolor[#08080880;true]".. "listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]".. + "image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]".. "list[current_player;main;0,4.5;9,3;9]".. "list[current_player;main;0,7.74;9,1;]".. "list[current_name;src;3,0.5;1,1;]".. "list[current_name;fuel;3,2.5;1,1;]".. "list[current_name;dst;5,1.5;1,1;]".. + "list[detached:split;main;8,3.14;1,1;]".. "image[3,1.5;1,1;default_furnace_fire_bg.png^[lowpart:".. (100-fuel_percent)..":default_furnace_fire_fg.png]" return formspec @@ -22,15 +24,30 @@ end local inactive_formspec = "size[9,8.75]".. - "image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]".. - "background[-0.19,-0.25;9.41,9.49;formspec_furnace.png]".. + "background[-0.2,-0.26;9.41,9.49;formspec_inventory.png]".. + "background[-0.2,-0.26;9.41,9.49;formspec_furnace.png]".. "bgcolor[#08080880;true]".. "listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]".. + "image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]".. "list[current_player;main;0,4.5;9,3;9]".. "list[current_player;main;0,7.74;9,1;]".. "list[current_name;src;3,0.5;1,1;]".. "list[current_name;fuel;3,2.5;1,1;]".. - "list[current_name;dst;5,1.5;1,1;]" + "list[current_name;dst;5,1.5;1,1;]".. + "list[detached:split;main;8,3.14;1,1;]" + +local split_inv = minetest.create_detached_inventory("split", { + allow_move = function(_, _, _, _, _, count, _) + return count + end, + allow_put = function(_, _, _, stack, _) + return stack:get_count() / 2 + end, + allow_take = function(_, _, _, stack, _) + return stack:get_count() + end, +}) +split_inv:set_size("main", 1) -- -- Node callback functions that are the same for active and inactive furnace diff --git a/games/default/files/default/init.lua b/games/default/files/default/init.lua index f8066ef38..be96305a6 100644 --- a/games/default/files/default/init.lua +++ b/games/default/files/default/init.lua @@ -1,4 +1,4 @@ --- MultiCraft mod: default +-- MultiCraft game mod: default -- See README.txt for licensing and other information. -- The API documentation in here was moved into doc/lua_api.txt diff --git a/games/default/files/default/mapgen.lua b/games/default/files/default/mapgen.lua index 39b7ce703..135cbbc55 100644 --- a/games/default/files/default/mapgen.lua +++ b/games/default/files/default/mapgen.lua @@ -159,204 +159,204 @@ function default.register_ores() -- Coal minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_coal", - wherein = "default:stone", - clust_scarcity = 500, - clust_num_ores = 8, - clust_size = 3, - y_min = -59, - y_max = -12, + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 500, + clust_num_ores = 8, + clust_size = 3, + y_min = -59, + y_max = -12, }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_coal", - wherein = "default:stone", - clust_scarcity = 1000, - clust_num_ores = 6, - clust_size = 3, - y_min = -11, - y_max = 64, + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 1000, + clust_num_ores = 6, + clust_size = 3, + y_min = -11, + y_max = 64, }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_coal", - wherein = "default:stone", - clust_scarcity = 5000, - clust_num_ores = 4, - clust_size = 2, - y_min = 65, - y_max = 67, + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 5000, + clust_num_ores = 4, + clust_size = 2, + y_min = 65, + y_max = 67, }) -- Iron minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 830, - clust_num_ores = 5, - clust_size = 3, - y_min = -59, - y_max = -10, + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 830, + clust_num_ores = 5, + clust_size = 3, + y_min = -59, + y_max = -10, }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 1660, - clust_num_ores = 3, - clust_size = 2, - y_min = -9, - y_max = 0, + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 1660, + clust_num_ores = 3, + clust_size = 2, + y_min = -9, + y_max = 0, }) -- Gold minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_gold", - wherein = "default:stone", - clust_scarcity = 5000, - clust_num_ores = 5, - clust_size = 3, - y_min = -59, - y_max = -35, + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 5000, + clust_num_ores = 5, + clust_size = 3, + y_min = -59, + y_max = -35, }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_gold", - wherein = "default:stone", - clust_scarcity = 10000, - clust_num_ores = 3, - clust_size = 2, - y_min = -35, - y_max = -33, + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 10000, + clust_num_ores = 3, + clust_size = 2, + y_min = -35, + y_max = -33, }) -- Diamond minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_diamond", - wherein = "default:stone", - clust_scarcity = 10000, - clust_num_ores = 4, - clust_size = 3, - y_min = -59, - y_max = -48, + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 10000, + clust_num_ores = 4, + clust_size = 3, + y_min = -59, + y_max = -48, }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_diamond", - wherein = "default:stone", - clust_scarcity = 5000, - clust_num_ores = 2, - clust_size = 2, - y_min = -59, - y_max = -48, + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 5000, + clust_num_ores = 2, + clust_size = 2, + y_min = -59, + y_max = -48, }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_diamond", - wherein = "default:stone", - clust_scarcity = 10000, - clust_num_ores = 8, - clust_size = 3, - y_min = -55, - y_max = -52, + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 10000, + clust_num_ores = 8, + clust_size = 3, + y_min = -55, + y_max = -52, }) -- Bluestone minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_bluestone", - wherein = "default:stone", - clust_scarcity = 10000, - clust_num_ores = 5, - clust_size = 3, - y_min = -59, - y_max = -48, + ore_type = "scatter", + ore = "default:stone_with_bluestone", + wherein = "default:stone", + clust_scarcity = 10000, + clust_num_ores = 5, + clust_size = 3, + y_min = -59, + y_max = -48, }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_bluestone", - wherein = "default:stone", - clust_scarcity = 10000, - clust_num_ores = 10, - clust_size = 4, - y_min = -59, - y_max = -48, + ore_type = "scatter", + ore = "default:stone_with_bluestone", + wherein = "default:stone", + clust_scarcity = 10000, + clust_num_ores = 10, + clust_size = 4, + y_min = -59, + y_max = -48, }) -- Emerald minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_emerald", - wherein = "default:stone", - clust_scarcity = 10000, - clust_num_ores = 1, - clust_size = 2, - y_min = -59, - y_max = -35, + ore_type = "scatter", + ore = "default:stone_with_emerald", + wherein = "default:stone", + clust_scarcity = 10000, + clust_num_ores = 1, + clust_size = 2, + y_min = -59, + y_max = -35, }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_emerald", - wherein = "default:stone", - clust_scarcity = 50000, - clust_num_ores = 3, - clust_size = 2, - y_min = -59, - y_max = -35, + ore_type = "scatter", + ore = "default:stone_with_emerald", + wherein = "default:stone", + clust_scarcity = 50000, + clust_num_ores = 3, + clust_size = 2, + y_min = -59, + y_max = -35, }) -- Lapis Lazuli minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_lapis", - wherein = "default:stone", - clust_scarcity = 10000, - clust_num_ores = 7, - clust_size = 4, - y_min = -50, - y_max = -46, + ore_type = "scatter", + ore = "default:stone_with_lapis", + wherein = "default:stone", + clust_scarcity = 10000, + clust_num_ores = 7, + clust_size = 4, + y_min = -50, + y_max = -46, }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_lapis", - wherein = "default:stone", - clust_scarcity = 10000, - clust_num_ores = 5, - clust_size = 4, - y_min = -59, - y_max = -50, + ore_type = "scatter", + ore = "default:stone_with_lapis", + wherein = "default:stone", + clust_scarcity = 10000, + clust_num_ores = 5, + clust_size = 4, + y_min = -59, + y_max = -50, }) -- Glowstone minetest.register_ore({ - ore_type = "scatter", - ore = "default:glowstone", - wherein = "default:stone", - clust_scarcity = 50000, - clust_num_ores = 10, - clust_size = 5, - y_min = -59, - y_max = -0, + ore_type = "scatter", + ore = "default:glowstone", + wherein = "default:stone", + clust_scarcity = 50000, + clust_num_ores = 10, + clust_size = 5, + y_min = -59, + y_max = -0, }) end @@ -915,7 +915,7 @@ function default.register_mgv6_decorations() decoration = {"bonusbox:chest"}, }) - -- Papyrus + -- Sugar Cane minetest.register_decoration({ deco_type = "simple", @@ -931,7 +931,7 @@ function default.register_mgv6_decorations() }, y_min = 1, y_max = 1, - decoration = "default:papyrus", + decoration = "default:sugarcane", height = 2, y_max = 4, spawn_by = "default:water_source", @@ -956,7 +956,7 @@ function default.register_mgv6_decorations() y_max = 30, decoration = "default:cactus", height = 3, - y_max = 4, + y_max = 4, }) -- Long grasses diff --git a/games/default/files/default/nodes.lua b/games/default/files/default/nodes.lua index e1ce5fa58..5ba01b73b 100644 --- a/games/default/files/default/nodes.lua +++ b/games/default/files/default/nodes.lua @@ -7,7 +7,7 @@ minetest.register_node("default:stone", { description = "Stone", tiles = {"default_stone.png"}, - groups = {cracky = 3, stone = 1, building = 1, decorative = 1}, + groups = {cracky = 3, stone = 1}, drop = 'default:cobble', legacy_mineral = true, sounds = default.node_sound_stone_defaults(), @@ -16,7 +16,7 @@ minetest.register_node("default:stone", { minetest.register_node("default:cobble", { description = "Cobblestone", tiles = {"default_cobble.png"}, - groups = {cracky = 3, stone = 2, building = 1, decorative = 1}, + groups = {cracky = 3, stone = 2}, sounds = default.node_sound_stone_defaults(), }) @@ -26,7 +26,7 @@ minetest.register_node("default:stonebrick", { place_param2 = 0, tiles = {"default_stone_brick.png"}, is_ground_content = false, - groups = {cracky = 2, stone = 1, building = 1, decorative = 1}, + groups = {cracky = 2, stone = 1}, sounds = default.node_sound_stone_defaults(), }) @@ -34,63 +34,63 @@ minetest.register_node("default:mossycobble", { description = "Mossy Cobblestone", tiles = {"default_mossycobble.png"}, is_ground_content = false, - groups = {cracky = 3, building = 1, decorative = 1}, + groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:stonebrickcarved", { description = "Stone Brick Carved", tiles = {"default_stonebrick_carved.png"}, - groups = {cracky = 3, stone = 1, building = 1, decorative = 1}, + groups = {cracky = 3, stone = 1}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:stonebrickcracked", { description = "Stone Brick Cracked", tiles = {"default_stonebrick_cracked.png"}, - groups = {cracky = 3, stone = 1, building = 1, decorative = 1}, + groups = {cracky = 3, stone = 1}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:stonebrickmossy", { description = "Mossy Stone Brick", tiles = {"default_stonebrick_mossy.png"}, - groups = {cracky = 3, stone = 1, building = 1, decorative = 1}, + groups = {cracky = 3, stone = 1}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:sandstone", { description = "Sandstone", tiles = {"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_normal.png"}, - groups = {crumbly = 1, cracky = 3, building = 1}, + groups = {crumbly = 1, cracky = 3}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:sandstonesmooth", { description = "Smooth Sandstone", tiles = {"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_smooth.png"}, - groups = {crumbly = 2, cracky = 2, building = 1}, + groups = {crumbly = 2, cracky = 2}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:redsandstone", { description = "Red SandStone", tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_normal.png"}, - groups = {crumbly = 2, cracky = 2, building = 1}, + groups = {crumbly = 2, cracky = 2}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:redsandstonesmooth", { description = "Red SandStone Smooth", tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_smooth.png"}, - groups = {crumbly = 2, cracky = 2, building = 1}, + groups = {crumbly = 2, cracky = 2}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:redsandstonecarved", { description = "Red SandStone Carved", tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_carved.png"}, - groups = {crumbly = 2, cracky = 2, building = 1}, + groups = {crumbly = 2, cracky = 2}, sounds = default.node_sound_stone_defaults(), }) @@ -105,7 +105,7 @@ minetest.register_node("default:obsidian", { description = "Obsidian", tiles = {"default_obsidian.png"}, sounds = default.node_sound_stone_defaults(), - groups = {cracky = 4, level = 2, oddly_breakable_by_hand = 3, building = 1}, + groups = {cracky = 4, level = 2, oddly_breakable_by_hand = 3}, }) -- -- Soft / Non-Stone @@ -114,14 +114,14 @@ minetest.register_node("default:obsidian", { minetest.register_node("default:dirt", { description = "Dirt", tiles = {"default_dirt.png"}, - groups = {crumbly = 3, soil = 1, building = 1}, + groups = {crumbly = 3, soil = 1}, sounds = default.node_sound_dirt_defaults(), }) minetest.register_node("default:dirt_with_grass", { description = "Dirt with Grass", tiles = {"default_grass.png", "default_dirt.png", "default_grass_side.png"}, - groups = {crumbly = 3, soil = 1, building = 1, spreading_dirt_type = 1}, + groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, drop = 'default:dirt', sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain = 0.4}, @@ -142,7 +142,7 @@ minetest.register_node("default:dirt_with_dry_grass", { description = "Dirt with Dry Grass", tiles = {"default_dry_grass.png", "default_dirt.png", "default_dry_grass_side.png"}, - groups = {crumbly = 3, soil = 1, building = 1, spreading_dirt_type = 1}, + groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, drop = 'default:dirt', sounds = default.node_sound_dirt_defaults({ footstep = {name = "default_grass_footstep", gain = 0.4}, @@ -154,7 +154,7 @@ minetest.register_node("default:dirt_with_snow", { tiles = {"default_snow.png", "default_dirt.png", {name = "default_snow_side.png", tileable_vertical = false}}, - groups = {crumbly = 3, soil = 1, building = 1, spreading_dirt_type = 1, snowy = 1}, + groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, snowy = 1}, drop = 'default:dirt', sounds = default.node_sound_dirt_defaults({ footstep = {name = "default_snow_footstep", gain = 0.4}, @@ -164,7 +164,7 @@ minetest.register_node("default:dirt_with_snow", { minetest.register_node("default:sand", { description = "Sand", tiles = {"default_sand.png"}, - groups = {crumbly = 3, falling_node = 1, sand = 1, building = 1}, + groups = {crumbly = 3, falling_node = 1, sand = 1}, sounds = default.node_sound_sand_defaults(), }) @@ -172,7 +172,7 @@ minetest.register_node("default:sand", { minetest.register_node("default:gravel", { description = "Gravel", tiles = {"default_gravel.png"}, - groups = {crumbly = 2, falling_node = 1, building = 1}, + groups = {crumbly = 2, falling_node = 1}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_gravel_footstep", gain = 0.45}, }), @@ -183,20 +183,19 @@ minetest.register_node("default:gravel", { {items = {'default:gravel'}} } }, - }) minetest.register_node("default:redsand", { description = "Red Sand", tiles = {"default_red_sand.png"}, - groups = {crumbly = 3, falling_node = 1, redsand=1, building = 1}, + groups = {crumbly = 3, falling_node = 1, redsand = 1}, sounds = default.node_sound_sand_defaults(), }) minetest.register_node("default:clay", { description = "Clay", tiles = {"default_clay.png"}, - groups = {crumbly = 3, building = 1}, + groups = {crumbly = 3}, drop = 'default:clay_lump 4', sounds = default.node_sound_dirt_defaults(), }) @@ -232,7 +231,7 @@ minetest.register_node("default:snow", { minetest.register_node("default:snowblock", { description = "Snow Block", tiles = {"default_snow.png"}, - groups = {crumbly = 3, building = 1}, + groups = {crumbly = 3}, sounds = default.node_sound_dirt_defaults({ footstep = {name = "default_snow_footstep", gain = 0.4}, dug = {name = "default_snow_footstep", gain = 0.75}, @@ -248,7 +247,7 @@ minetest.register_node("default:ice", { is_ground_content = false, paramtype = "light", use_texture_alpha = true, - groups = {cracky = 3, puts_out_fire = 1, oddly_breakable_by_hand = 2, building = 1}, + groups = {cracky = 3, puts_out_fire = 1, oddly_breakable_by_hand = 2}, sounds = default.node_sound_glass_defaults(), }) @@ -258,7 +257,7 @@ minetest.register_node("default:packedice", { tiles = {"default_ice_packed.png"}, paramtype = "light", use_texture_alpha = true, - groups = {cracky = 2, building = 1}, + groups = {cracky = 2}, sounds = default.node_sound_glass_defaults(), }) @@ -284,7 +283,7 @@ minetest.register_node("default:wood", { tiles = {"default_wood.png"}, is_ground_content = false, material = "default:wood", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1, building = 1}, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, sounds = default.node_sound_wood_defaults(), }) @@ -701,7 +700,7 @@ minetest.register_node("default:aspen_sapling", { minetest.register_node("default:stone_with_coal", { description = "Coal Ore", tiles = {"default_stone.png^default_mineral_coal.png"}, - groups = {cracky = 3, building = 1}, + groups = {cracky = 3}, drop = 'default:coal_lump', sounds = default.node_sound_stone_defaults(), }) @@ -709,7 +708,7 @@ minetest.register_node("default:stone_with_coal", { minetest.register_node("default:stone_with_iron", { description = "Iron Ore", tiles = {"default_stone.png^default_mineral_iron.png"}, - groups = {cracky = 2, building = 1}, + groups = {cracky = 2}, drop = 'default:stone_with_iron', sounds = default.node_sound_stone_defaults(), }) @@ -717,21 +716,21 @@ minetest.register_node("default:stone_with_iron", { minetest.register_node("default:steelblock", { description = "Steel Block", tiles = {"default_steel_block.png"}, - groups = {cracky = 1,level = 2, building = 1}, + groups = {cracky = 1,level = 2}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:lapisblock", { description = "Lapis Lazul Block", tiles = {"default_lapis_block.png"}, - groups = {cracky = 1, building = 1}, + groups = {cracky = 1}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:stone_with_bluestone", { description = "Bluestone Ore", tiles = {"default_stone.png^default_mineral_bluestone.png"}, - groups = {cracky = 2, building = 1}, + groups = {cracky = 2}, drop = "mesecons:wire_00000000_off 5", sounds = default.node_sound_stone_defaults(), }) @@ -739,7 +738,7 @@ minetest.register_node("default:stone_with_bluestone", { minetest.register_node("default:stone_with_lapis", { description = "Lapis Lazuli Ore", tiles = {"default_stone.png^default_mineral_lapis.png"}, - groups = {cracky = 2, building = 1}, + groups = {cracky = 2}, drop = { max_items = 2, items = { @@ -757,7 +756,7 @@ minetest.register_node("default:stone_with_lapis", { minetest.register_node("default:stone_with_gold", { description = "Gold Ore", tiles = {"default_stone.png^default_mineral_gold.png"}, - groups = {cracky = 2, building = 1}, + groups = {cracky = 2}, drop = "default:stone_with_gold", sounds = default.node_sound_stone_defaults(), }) @@ -766,14 +765,14 @@ minetest.register_node("default:goldblock", { description = "Gold Block", tiles = {"default_gold_block.png"}, is_ground_content = false, - groups = {cracky = 1, building = 1}, + groups = {cracky = 1}, sounds = default.node_sound_metal_defaults(), }) minetest.register_node("default:stone_with_emerald", { description = "Emerald Ore", tiles = {"default_stone.png^default_mineral_emerald.png"}, - groups = {cracky = 2, building = 1}, + groups = {cracky = 2}, drop = "default:emerald", sounds = default.node_sound_stone_defaults(), }) @@ -781,14 +780,14 @@ minetest.register_node("default:stone_with_emerald", { minetest.register_node("default:emeraldblock", { description = "Emerald Block", tiles = {"default_emerald_block.png"}, - groups = {cracky = 1, building = 1}, + groups = {cracky = 1}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:stone_with_diamond", { description = "Diamonds in Stone", tiles = {"default_stone.png^default_mineral_diamond.png"}, - groups = {cracky = 1, building = 1}, + groups = {cracky = 1}, drop = "default:diamond", sounds = default.node_sound_stone_defaults(), }) @@ -797,7 +796,7 @@ minetest.register_node("default:diamondblock", { description = "Diamond Block", tiles = {"default_diamond_block.png"}, is_ground_content = false, - groups = {cracky = 1, level = 3, building = 1}, + groups = {cracky = 1, level = 3}, sounds = default.node_sound_stone_defaults(), }) @@ -813,7 +812,7 @@ minetest.register_node("default:dry_shrub", { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = {snappy = 3, flammable = 3, attached_node=1, decorative = 1}, + groups = {snappy = 3, flammable = 3, attached_node=1}, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "fixed", @@ -864,7 +863,7 @@ minetest.register_node("default:grass", { }, paramtype = "light", groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, - flammable = 1, dig_immediate = 3, decorative = 1}, + flammable = 1, dig_immediate = 3}, sounds = default.node_sound_leaves_defaults(), }) @@ -881,7 +880,7 @@ minetest.register_node("default:dry_grass", { walkable = false, buildable_to = true, groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, - not_in_creative_inventory=1, dry_grass = 1, dig_immediate = 3, decorative = 1}, + not_in_creative_inventory=1, dry_grass = 1, dig_immediate = 3}, sounds = default.node_sound_leaves_defaults(), }) @@ -1221,7 +1220,7 @@ minetest.register_node("default:bookshelf", { "default_wood.png", "default_bookshelf.png", "default_bookshelf.png"}, paramtype2 = "facedir", is_ground_content = false, - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, building = 1}, + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, sounds = default.node_sound_wood_defaults(), on_construct = function(pos) @@ -1274,7 +1273,7 @@ minetest.register_node("default:cactus", { description = "Cactus", drawtype = "nodebox", tiles = {"default_cactus_top.png", "default_cactus_bottom.png", "default_cactus_side.png","default_cactus_side.png","default_cactus_side.png","default_cactus_side.png"}, - groups = {snappy = 1, choppy = 3, flammable = 2, decorative = 1}, + groups = {snappy = 1, choppy = 3, flammable = 2}, sounds = default.node_sound_wood_defaults(), paramtype = "light", node_box = { @@ -1297,12 +1296,12 @@ minetest.register_node("default:cactus", { }) -minetest.register_node("default:papyrus", { - description = "Papyrus", +minetest.register_node("default:sugarcane", { + description = "Sugarcane", drawtype = "plantlike", - tiles = {"default_papyrus.png"}, - inventory_image = "default_papyrus.png", - wield_image = "default_papyrus.png", + tiles = {"default_sugarcane.png"}, + inventory_image = "default_sugarcane_inv.png", + wield_image = "default_sugarcane_inv.png", paramtype = "light", sunlight_propagates = true, walkable = false, @@ -1312,40 +1311,11 @@ minetest.register_node("default:papyrus", { }, groups = {snappy = 3, flammable = 2}, sounds = default.node_sound_leaves_defaults(), - after_dig_node = function(pos, node, metadata, digger) default.dig_up(pos, node, digger) end, }) -minetest.register_node("default:reeds", { - description = "Sugarcane", - drawtype = "plantlike", - tiles = {"default_papyrus.png"}, - inventory_image = "default_sugar_cane.png", - wield_image = "default_sugar_cane.png", - paramtype = "light", - walkable = false, - node_box = { - type = "fixed", - fixed = { - {-7/16, -8/16, -7/16, 7/16, 8/16, 7/16}, -- Main Body - {-8/16, -8/16, -7/16, 8/16, 8/16, -7/16}, -- Spikes - {-8/16, -8/16, 7/16, 8/16, 8/16, 7/16}, -- Spikes - {-7/16, -8/16, -8/16, -7/16, 8/16, 8/16}, -- Spikes - {7/16, -8/16, 8/16, 7/16, 8/16, -8/16}, -- Spikes - }, - }, - selection_box = { - type = "fixed", - fixed = { - {-7/16, -8/16, -7/16, 7/16, 8/16, 7/16}, - }, - }, - groups = {snappy = 3, flammable = 2, materials = 1}, - sounds = default.node_sound_leaves_defaults(), -}) - -- -- Quartz -- @@ -1353,7 +1323,7 @@ minetest.register_node("default:reeds", { minetest.register_node("default:quartz_ore", { description = "Quartz Ore", tiles = {"default_quartz_ore.png"}, - groups = {cracky = 3, stone = 1, building = 1}, + groups = {cracky = 3, stone = 1}, drop = 'default:quartz_crystal', sounds = default.node_sound_stone_defaults(), }) @@ -1361,14 +1331,14 @@ minetest.register_node("default:quartz_ore", { minetest.register_node("default:quartz_block", { description = "Quartz Block", tiles = {"default_quartz_block_top.png", "default_quartz_block_bottom.png", "default_quartz_block_side.png"}, - groups = {snappy = 1, bendy = 2,cracky = 1,level = 2, building = 1}, + groups = {snappy = 1, bendy = 2,cracky = 1,level = 2}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:quartz_chiseled", { description = "Chiseled Quartz", tiles = {"default_quartz_chiseled_top.png", "default_quartz_chiseled_top.png", "default_quartz_chiseled_side.png"}, - groups = {snappy = 1,bendy=2,cracky = 1,level = 2, building = 1}, + groups = {snappy = 1,bendy=2,cracky = 1,level = 2}, sounds = default.node_sound_stone_defaults(), }) @@ -1377,7 +1347,7 @@ minetest.register_node("default:quartz_pillar", { paramtype2 = "facedir", on_place = minetest.rotate_node, tiles = {"default_quartz_pillar_top.png", "default_quartz_pillar_top.png", "default_quartz_pillar_side.png"}, - groups = {snappy = 1,bendy=2,cracky = 1,level = 2, building = 1}, + groups = {snappy = 1,bendy=2,cracky = 1,level = 2}, sounds = default.node_sound_stone_defaults(), }) @@ -1397,7 +1367,7 @@ minetest.register_node("default:slimeblock", { paramtype = "light", use_texture_alpha = true, sunlight_propagates = true, - groups = {oddly_breakable_by_hand = 3,dig_immediate = 2,bouncy=70,disable_jump=1, fall_damage_add_percent=-100, building = 1}, + groups = {oddly_breakable_by_hand = 3,dig_immediate = 2,bouncy=70,disable_jump=1, fall_damage_add_percent=-100}, }) minetest.register_node("default:ladder_wood", { @@ -1418,7 +1388,7 @@ minetest.register_node("default:ladder_wood", { --wall_bottom = = --wall_side = = }, - groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2, decorative = 1}, + groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2}, legacy_wallmounted = true, sounds = default.node_sound_wood_defaults(), }) @@ -1436,7 +1406,7 @@ minetest.register_node("default:vine", { selection_box = { type = "wallmounted", }, - groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2, decorative = 1}, + groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2}, legacy_wallmounted = true, sounds = default.node_sound_leaves_defaults(), drop = "", @@ -1475,7 +1445,7 @@ minetest.register_node("default:glass", { tiles = {"default_glass.png"}, paramtype = "light", sunlight_propagates = true, - groups = {cracky = 3, oddly_breakable_by_hand = 3, building = 1}, + groups = {cracky = 3, oddly_breakable_by_hand = 3}, sounds = default.node_sound_glass_defaults(), drop = "", }) @@ -1486,14 +1456,14 @@ minetest.register_node("default:brick", { place_param2 = 0, tiles = {"default_brick.png"}, is_ground_content = false, - groups = {cracky = 3, building = 1}, + groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:glowstone", { description = "Glowstone", tiles = {"default_glowstone.png"}, - groups = {cracky = 3, building = 1}, + groups = {cracky = 3}, --[[ drop = { max_items = 1, items = { @@ -1516,7 +1486,7 @@ minetest.register_node("default:sponge", { pointable = true, diggable = true, buildable_to = false, - groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 3, flammable = 3, building = 1}, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 3, flammable = 3}, on_place = function(itemstack, placer, pointed_thing) local pn = placer:get_player_name() if pointed_thing.type ~= "node" then @@ -1649,7 +1619,7 @@ function AddGlass(desc, recipeitem, color) tiles = {"xpanes_pane_glass"..color..".png"}, paramtype = "light", use_texture_alpha = true, - groups = {cracky = 3, oddly_breakable_by_hand = 3, building = 1}, + groups = {cracky = 3, oddly_breakable_by_hand = 3}, sounds = default.node_sound_glass_defaults(), drop = "", }) diff --git a/games/default/files/default/textures/default_sign_wall_wood.png b/games/default/files/default/textures/default_sign_wall_wood.png deleted file mode 100644 index 3d1e7a60c..000000000 Binary files a/games/default/files/default/textures/default_sign_wall_wood.png and /dev/null differ diff --git a/games/default/files/default/textures/default_papyrus.png b/games/default/files/default/textures/default_sugarcane.png similarity index 100% rename from games/default/files/default/textures/default_papyrus.png rename to games/default/files/default/textures/default_sugarcane.png diff --git a/games/default/files/default/textures/default_sugar_cane.png b/games/default/files/default/textures/default_sugarcane_inv.png similarity index 100% rename from games/default/files/default/textures/default_sugar_cane.png rename to games/default/files/default/textures/default_sugarcane_inv.png diff --git a/games/default/files/default/textures/formspec_furnace.png b/games/default/files/default/textures/formspec_furnace.png index e688ad082..74c9a1c9f 100644 Binary files a/games/default/files/default/textures/formspec_furnace.png and b/games/default/files/default/textures/formspec_furnace.png differ diff --git a/games/default/files/workbench/textures/formspec_workbench.png b/games/default/files/default/textures/formspec_inventory.png similarity index 100% rename from games/default/files/workbench/textures/formspec_workbench.png rename to games/default/files/default/textures/formspec_inventory.png diff --git a/games/default/files/default/tools.lua b/games/default/files/default/tools.lua index ec0e2f033..a6cf74e7d 100644 --- a/games/default/files/default/tools.lua +++ b/games/default/files/default/tools.lua @@ -2,21 +2,21 @@ -- The hand minetest.register_item(":", { - type = "none", - wield_image = "wieldhand.png", - wield_scale = {x=0.7,y=2,z=0.0001}, - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level = 0, - groupcaps = { - crumbly = {times={[2]=3.00, [3]=0.70}, uses=0, maxlevel=1}, - snappy = {times={[3]=0.40}, uses=0, maxlevel=1}, - choppy = {times={[3]=3}}, - cracky = {times={[10]=10, [3]=7.5}}, - oddly_breakable_by_hand = {times={[0]=90.00,[1]=7.00,[2]=3.00,[3]=3*3.33,[4]=250,[5]=999999.0,[6]=0.5}, uses=0, maxlevel=5} - }, - damage_groups = {fleshy=1}, - } + type = "none", + wield_image = "wieldhand.png", + wield_scale = {x=0.7,y=2,z=0.0001}, + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level = 0, + groupcaps = { + crumbly = {times={[2]=3.00, [3]=0.70}, uses=0, maxlevel=1}, + snappy = {times={[3]=0.40}, uses=0, maxlevel=1}, + choppy = {times={[3]=3}}, + cracky = {times={[10]=10, [3]=7.5}}, + oddly_breakable_by_hand = {times={[0]=90.00,[1]=7.00,[2]=3.00,[3]=3*3.33,[4]=250,[5]=999999.0,[6]=0.5}, uses=0, maxlevel=5} + }, + damage_groups = {fleshy=1}, + } }) -- @@ -24,299 +24,294 @@ minetest.register_item(":", { -- minetest.register_tool("default:pick_wood", { - description = "Wooden Pickaxe", - inventory_image = "default_tool_woodpick.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - cracky = {times={[3]=1.60, [10]=1.60}, uses=10, maxlevel=1}, - }, - damage_groups = {fleshy=3}, - }, - groups = {tools=1}, + description = "Wooden Pickaxe", + inventory_image = "default_tool_woodpick.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + cracky = {times={[3]=1.60, [10]=1.60}, uses=10, maxlevel=1}, + }, + damage_groups = {fleshy=3}, + }, + groups = {tools=1}, }) minetest.register_tool("default:pick_stone", { - description = "Stone Pickaxe", - inventory_image = "default_tool_stonepick.png", - tool_capabilities = { - full_punch_interval = 1.3, - max_drop_level=0, - groupcaps={ - cracky = {times={[2]=2.0, [3]=1.20, [3]=0.60}, uses=20, maxlevel=1}, - }, - damage_groups = {fleshy=4}, - }, - groups = {tools=1}, + description = "Stone Pickaxe", + inventory_image = "default_tool_stonepick.png", + tool_capabilities = { + full_punch_interval = 1.3, + max_drop_level=0, + groupcaps={ + cracky = {times={[2]=2.0, [3]=1.20, [3]=0.60}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=4}, + }, + groups = {tools=1}, }) minetest.register_tool("default:pick_steel", { - description = "Steel Pickaxe", - inventory_image = "default_tool_steelpick.png", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=1, - groupcaps={ - cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80,[3]=0.40}, uses=20, maxlevel=2}, - }, - damage_groups = {fleshy=5}, - }, - groups = {tools=1}, + description = "Steel Pickaxe", + inventory_image = "default_tool_steelpick.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80,[3]=0.40}, uses=20, maxlevel=2}, + }, + damage_groups = {fleshy=5}, + }, + groups = {tools=1}, }) minetest.register_tool("default:pick_gold", { - description = "Gold Pickaxe", - inventory_image = "default_tool_goldpick.png", - tool_capabilities = { - full_punch_interval = 1.3, - max_drop_level=0, - groupcaps={ - cracky = {times={[2]=2.0, [3]=1.20, [10]=0.30}, uses=20, maxlevel=1}, - }, - damage_groups = {fleshy=3}, - }, - groups = {tools=1}, + description = "Gold Pickaxe", + inventory_image = "default_tool_goldpick.png", + tool_capabilities = { + full_punch_interval = 1.3, + max_drop_level=0, + groupcaps={ + cracky = {times={[2]=2.0, [3]=1.20, [10]=0.30}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=3}, + }, + groups = {tools=1}, }) minetest.register_tool("default:pick_diamond", { - description = "Diamond Pickaxe", - inventory_image = "default_tool_diamondpick.png", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level=3, - groupcaps={ - cracky = {times={[1]=2.0, [2]=1.0, [3]=0.50,[4]=20.00,[3]=0.20 }, uses=30, maxlevel=4}, - }, - damage_groups = {fleshy=6}, - }, - groups = {tools=1}, + description = "Diamond Pickaxe", + inventory_image = "default_tool_diamondpick.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=3, + groupcaps={ + cracky = {times={[1]=2.0, [2]=1.0, [3]=0.50,[4]=20.00,[3]=0.20 }, uses=30, maxlevel=4}, + }, + damage_groups = {fleshy=6}, + }, + groups = {tools=1}, }) -- Shovels minetest.register_tool("default:shovel_wood", { - description = "Wooden Shovel", - inventory_image = "default_tool_woodshovel.png", - wield_image = "default_tool_woodshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - crumbly = {times={[1]=3.00, [2]=1.60, [3]=0.60}, uses=10, maxlevel=1}, - }, - damage_groups = {fleshy=2}, - }, - groups = {tools=1}, + description = "Wooden Shovel", + inventory_image = "default_tool_woodshovel.png", + wield_image = "default_tool_woodshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + crumbly = {times={[1]=3.00, [2]=1.60, [3]=0.60}, uses=10, maxlevel=1}, + }, + damage_groups = {fleshy=2}, + }, + groups = {tools=1}, }) minetest.register_tool("default:shovel_stone", { - description = "Stone Shovel", - inventory_image = "default_tool_stoneshovel.png", - wield_image = "default_tool_stoneshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.4, - max_drop_level=0, - groupcaps={ - crumbly = {times={[1]=1.80, [2]=1.20, [3]=0.50}, uses=20, maxlevel=1}, - }, - damage_groups = {fleshy=2}, - }, - groups = {tools=1}, + description = "Stone Shovel", + inventory_image = "default_tool_stoneshovel.png", + wield_image = "default_tool_stoneshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.4, + max_drop_level=0, + groupcaps={ + crumbly = {times={[1]=1.80, [2]=1.20, [3]=0.50}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=2}, + }, + groups = {tools=1}, }) minetest.register_tool("default:shovel_steel", { - description = "Steel Shovel", - inventory_image = "default_tool_steelshovel.png", - wield_image = "default_tool_steelshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.1, - max_drop_level=1, - groupcaps={ - crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=30, maxlevel=2}, - }, - damage_groups = {fleshy=3}, - }, - groups = {tools=1}, + description = "Steel Shovel", + inventory_image = "default_tool_steelshovel.png", + wield_image = "default_tool_steelshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.1, + max_drop_level=1, + groupcaps={ + crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=3}, + }, + groups = {tools=1}, }) minetest.register_tool("default:shovel_gold", { - description = "Gold Shovel", - inventory_image = "default_tool_goldshovel.png", - wield_image = "default_tool_goldshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.4, - max_drop_level=0, - groupcaps={ - crumbly = {times={[1]=1.80, [2]=1.20, [3]=0.50}, uses=20, maxlevel=1}, - }, - damage_groups = {fleshy=2}, - }, - groups = {tools=1}, + description = "Gold Shovel", + inventory_image = "default_tool_goldshovel.png", + wield_image = "default_tool_goldshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.4, + max_drop_level=0, + groupcaps={ + crumbly = {times={[1]=1.80, [2]=1.20, [3]=0.50}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=2}, + }, + groups = {tools=1}, }) minetest.register_tool("default:shovel_diamond", { - description = "Diamond Shovel", - inventory_image = "default_tool_diamondshovel.png", - wield_image = "default_tool_diamondshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=1, - groupcaps={ - crumbly = {times={[1]=1.10, [2]=0.50, [3]=0.30}, uses=30, maxlevel=3}, - }, - damage_groups = {fleshy=5}, - }, - groups = {tools=1}, + description = "Diamond Shovel", + inventory_image = "default_tool_diamondshovel.png", + wield_image = "default_tool_diamondshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + crumbly = {times={[1]=1.10, [2]=0.50, [3]=0.30}, uses=30, maxlevel=3}, + }, + damage_groups = {fleshy=5}, + }, + groups = {tools=1}, }) -- Axes minetest.register_tool("default:axe_wood", { - description = "Wooden Axe", - inventory_image = "default_tool_woodaxe.png", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=0, - groupcaps={ - choppy = {times={[2]=3.00, [3]=2.00}, uses=10, maxlevel=1}, - }, - damage_groups = {fleshy=1}, - }, - groups = {tools=1}, + description = "Wooden Axe", + inventory_image = "default_tool_woodaxe.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + choppy = {times={[2]=3.00, [3]=2.00}, uses=10, maxlevel=1}, + }, + damage_groups = {fleshy=1}, + }, + groups = {tools=1}, }) minetest.register_tool("default:axe_stone", { - description = "Stone Axe", - inventory_image = "default_tool_stoneaxe.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - choppy = {times={[1]=3.00, [2]=2.00, [3]=1.50}, uses=20, maxlevel=1}, - }, - damage_groups = {fleshy=3}, - }, - groups = {tools=1}, + description = "Stone Axe", + inventory_image = "default_tool_stoneaxe.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + choppy = {times={[1]=3.00, [2]=2.00, [3]=1.50}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=3}, + }, + groups = {tools=1}, }) minetest.register_tool("default:axe_steel", { - description = "Steel Axe", - inventory_image = "default_tool_steelaxe.png", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=1, - groupcaps={ - choppy = {times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=20, maxlevel=2}, - }, - damage_groups = {fleshy=5}, - }, - groups = {tools=1}, + description = "Steel Axe", + inventory_image = "default_tool_steelaxe.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + choppy = {times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=20, maxlevel=2}, + }, + damage_groups = {fleshy=5}, + }, + groups = {tools=1}, }) minetest.register_tool("default:axe_gold", { - description = "Gold Axe", - inventory_image = "default_tool_goldaxe.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - choppy = {times={[1]=3.00, [2]=2.00, [3]=1.50}, uses=20, maxlevel=1}, - }, - damage_groups = {fleshy=3}, - }, - groups = {tools=1}, + description = "Gold Axe", + inventory_image = "default_tool_goldaxe.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + choppy = {times={[1]=3.00, [2]=2.00, [3]=1.50}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=3}, + }, + groups = {tools=1}, }) minetest.register_tool("default:axe_diamond", { - description = "Diamond Axe", - inventory_image = "default_tool_diamondaxe.png", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level=1, - groupcaps={ - choppy = {times={[1]=2.10, [2]=0.90, [3]=0.50}, uses=30, maxlevel=2}, - }, - damage_groups = {fleshy=6}, - }, - groups = {tools=1}, + description = "Diamond Axe", + inventory_image = "default_tool_diamondaxe.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=1, + groupcaps={ + choppy = {times={[1]=2.10, [2]=0.90, [3]=0.50}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=6}, + }, + groups = {tools=1}, }) -- Swords minetest.register_tool("default:sword_wood", { - description = "Wooden Sword", - inventory_image = "default_tool_woodsword.png", - tool_capabilities = { - full_punch_interval = 1, - max_drop_level=0, - groupcaps={ - snappy = {times={[2]=1.6, [3]=0.40}, uses=10, maxlevel=1}, - }, - damage_groups = {fleshy=2}, - }, - groups = {combat=1}, + description = "Wooden Sword", + inventory_image = "default_tool_woodsword.png", + tool_capabilities = { + full_punch_interval = 1, + max_drop_level=0, + groupcaps={ + snappy = {times={[2]=1.6, [3]=0.40}, uses=10, maxlevel=1}, + }, + damage_groups = {fleshy=2}, + }, }) minetest.register_tool("default:sword_stone", { - description = "Stone Sword", - inventory_image = "default_tool_stonesword.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - snappy = {times={[2]=1.4, [3]=0.40}, uses=20, maxlevel=1}, - }, - damage_groups = {fleshy=4}, - }, - groups = {combat=1}, + description = "Stone Sword", + inventory_image = "default_tool_stonesword.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + snappy = {times={[2]=1.4, [3]=0.40}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=4}, + }, }) minetest.register_tool("default:sword_steel", { - description = "Steel Sword", - inventory_image = "default_tool_steelsword.png", - tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level=1, - groupcaps={ - snappy = {times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=30, maxlevel=2}, - }, - damage_groups = {fleshy=6}, - }, - groups = {combat=1}, + description = "Steel Sword", + inventory_image = "default_tool_steelsword.png", + tool_capabilities = { + full_punch_interval = 0.8, + max_drop_level=1, + groupcaps={ + snappy = {times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=6}, + }, }) minetest.register_tool("default:sword_gold", { - description = "Gold Sword", - inventory_image = "default_tool_goldsword.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - snappy = {times={[2]=1.4, [3]=0.40}, uses=20, maxlevel=1}, - }, - damage_groups = {fleshy=4}, - }, - groups = {combat=1}, + description = "Gold Sword", + inventory_image = "default_tool_goldsword.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=0, + groupcaps={ + snappy = {times={[2]=1.4, [3]=0.40}, uses=20, maxlevel=1}, + }, + damage_groups = {fleshy=4}, + }, }) minetest.register_tool("default:sword_diamond", { - description = "Diamond Sword", - inventory_image = "default_tool_diamondsword.png", - tool_capabilities = { - full_punch_interval = 0.7, - max_drop_level=1, - groupcaps={ - snappy = {times={[1]=1.90, [2]=0.90, [3]=0.30}, uses=40, maxlevel=3}, - }, - damage_groups = {fleshy=7}, - }, - groups = {combat=1}, + description = "Diamond Sword", + inventory_image = "default_tool_diamondsword.png", + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level=1, + groupcaps={ + snappy = {times={[1]=1.90, [2]=0.90, [3]=0.30}, uses=40, maxlevel=3}, + }, + damage_groups = {fleshy=7}, + }, }) -- Fishing Pole minetest.register_tool("default:pole", { - description = "Fishing Rod", - groups = {}, - inventory_image = "default_tool_fishing_pole.png", - stack_max = 1, - groups = {tools=1}, - liquids_pointable = true, - on_use = function (itemstack, user, pointed_thing) - if pointed_thing and pointed_thing.under then - local node = minetest.get_node(pointed_thing.under) - if string.find(node.name, "default:water") then - if math.random(1, 100) > 50 then - local inv = user:get_inventory() - if inv:room_for_item("main", {name="default:fish_raw", count=1, wear=0, metadata=""}) then - inv:add_item("main", {name="default:fish_raw", count=1, wear=0, metadata=""}) - end - end - itemstack:add_wear(66000/65) -- 65 uses - return itemstack - end - end - return nil - end, + description = "Fishing Rod", + groups = {}, + inventory_image = "default_tool_fishing_pole.png", + stack_max = 1, + groups = {tools=1}, + liquids_pointable = true, + on_use = function (itemstack, user, pointed_thing) + if pointed_thing and pointed_thing.under then + local node = minetest.get_node(pointed_thing.under) + if string.find(node.name, "default:water") then + if math.random(1, 100) > 50 then + local inv = user:get_inventory() + if inv:room_for_item("main", {name="default:fish_raw", count=1, wear=0, metadata=""}) then + inv:add_item("main", {name="default:fish_raw", count=1, wear=0, metadata=""}) + end + end + itemstack:add_wear(66000/65) -- 65 uses + return itemstack + end + end + return nil + end, }) diff --git a/games/default/files/doors/init.lua b/games/default/files/doors/init.lua index b985eee72..87412456b 100644 --- a/games/default/files/doors/init.lua +++ b/games/default/files/doors/init.lua @@ -244,9 +244,9 @@ function doors:register_door(name, def) if check_player_priv(pos, clicker) then on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2}) if is_right(pos, clicker) then - minetest.sound_play("doors_door_open", {gain = 0.3, max_hear_distance = 10}) + minetest.sound_play("doors_door_open", {pos = pos, gain = 0.3, max_hear_distance = 10}) else - minetest.sound_play("doors_door_close", {gain = 0.3, max_hear_distance = 10}) + minetest.sound_play("doors_door_close", {pos = pos, gain = 0.3, max_hear_distance = 10}) end end end, diff --git a/games/default/files/doors/textures/door_birch_b.png b/games/default/files/doors/textures/door_birch_b.png index 68d7c2f0d..8b7438141 100644 Binary files a/games/default/files/doors/textures/door_birch_b.png and b/games/default/files/doors/textures/door_birch_b.png differ diff --git a/games/default/files/drops/init.lua b/games/default/files/drops/init.lua index 9e4a803a8..9476b78d0 100644 --- a/games/default/files/drops/init.lua +++ b/games/default/files/drops/init.lua @@ -1,6 +1,6 @@ -local age = 1 --How old an item has to be before collecting -local radius_magnet = 2 --Radius of item magnet -local player_collect_height = 1.3 --Added to their pos y value +local age = 1 --How old an item has to be before collecting +local radius_magnet = 2 --Radius of item magnet +local player_collect_height = 1.3 --Added to their pos y value --Item collection minetest.register_globalstep(function(dtime) diff --git a/games/default/files/dye/README.txt b/games/default/files/dye/README.txt index d99cb42f5..1a1baedce 100644 --- a/games/default/files/dye/README.txt +++ b/games/default/files/dye/README.txt @@ -1,4 +1,4 @@ -MultiCraft mod: dye +MultiCraft game mod: dye ====================== See license.txt for license information. See init.lua for documentation. diff --git a/games/default/files/dye/init.lua b/games/default/files/dye/init.lua index 05cafa846..dd03e5d67 100644 --- a/games/default/files/dye/init.lua +++ b/games/default/files/dye/init.lua @@ -3,21 +3,21 @@ dye = {} -- Make dye names and descriptions available globally dye.dyes = { - {"white", "White"}, - {"grey", "Grey"}, - {"dark_grey", "Dark grey"}, - {"black", "Black"}, - {"violet", "Violet"}, - {"blue", "Blue"}, - {"cyan", "Cyan"}, - {"dark_green", "Dark green"}, - {"green", "Green"}, - {"yellow", "Yellow"}, - {"brown", "Brown"}, - {"orange", "Orange"}, - {"red", "Red"}, - {"magenta", "Magenta"}, - {"pink", "Pink"}, + {"white", "White"}, + {"grey", "Grey"}, + {"dark_grey", "Dark grey"}, + {"black", "Black"}, + {"violet", "Violet"}, + {"blue", "Blue"}, + {"cyan", "Cyan"}, + {"dark_green", "Dark green"}, + {"green", "Green"}, + {"yellow", "Yellow"}, + {"brown", "Brown"}, + {"orange", "Orange"}, + {"red", "Red"}, + {"magenta", "Magenta"}, + {"pink", "Pink"}, } -- Define items diff --git a/games/default/files/farming/hoes.lua b/games/default/files/farming/hoes.lua index 06451883b..b8be6d051 100644 --- a/games/default/files/farming/hoes.lua +++ b/games/default/files/farming/hoes.lua @@ -20,7 +20,7 @@ farming.register_hoe(":farming:hoe_steel", { material = "default:steel_ingot" }) -farming.register_hoe(":farming:gold_mese", { +farming.register_hoe(":farming:hoe_gold", { description = "Gold Hoe", inventory_image = "farming_tool_goldhoe.png", max_uses = 350, @@ -32,5 +32,4 @@ farming.register_hoe(":farming:hoe_diamond", { inventory_image = "farming_tool_diamondhoe.png", max_uses = 1000, material = "default:diamond" - }) diff --git a/games/default/files/fences/textures/fences_fence.png b/games/default/files/fences/textures/fences_fence.png index 60ae29602..77b559880 100644 Binary files a/games/default/files/fences/textures/fences_fence.png and b/games/default/files/fences/textures/fences_fence.png differ diff --git a/games/default/files/fences/textures/fences_fencegate.png b/games/default/files/fences/textures/fences_fencegate.png index ae9523083..193ecb3b7 100644 Binary files a/games/default/files/fences/textures/fences_fencegate.png and b/games/default/files/fences/textures/fences_fencegate.png differ diff --git a/games/default/files/flowers/README.txt b/games/default/files/flowers/README.txt index e3ceacdcf..a067caf24 100644 --- a/games/default/files/flowers/README.txt +++ b/games/default/files/flowers/README.txt @@ -5,4 +5,9 @@ See license.txt for license information. Authors of source code ---------------------- Originally by Ironzorg (MIT) and VanessaE (MIT) -Various Minetest developers and contributors (MIT) \ No newline at end of file +Various Minetest developers and contributors (MIT) + +---------------------- +3dmushrooms based on old version of VanessaE mod plantlife_modpack +https://gitlab.com/VanessaE/plantlife_modpack/tree/f11fa6e6fe12bde9c964c20e0e87906f8149485d/3dmushrooms +License for media and all other assets: WTFPL \ No newline at end of file diff --git a/games/default/files/flowers/init.lua b/games/default/files/flowers/init.lua index ae76d5980..ae81fbec7 100644 --- a/games/default/files/flowers/init.lua +++ b/games/default/files/flowers/init.lua @@ -1,4 +1,4 @@ --- MultiCraft mod: default +-- MultiCraft game mod: default -- See README.txt for licensing and other information. @@ -173,10 +173,10 @@ minetest.register_abm({ minetest.register_node("flowers:mushroom_red", { description = "Red Mushroom", - tiles = {"flowers_mushroom_red.png"}, - inventory_image = "flowers_mushroom_red.png", - wield_image = "flowers_mushroom_red.png", - drawtype = "plantlike", + tiles = {"3dmushrooms_red.png"}, + inventory_image = "3dmushrooms_red_inv.png", + drawtype = "mesh", + mesh = "3dmushrooms.obj", paramtype = "light", sunlight_propagates = true, walkable = false, @@ -186,16 +186,16 @@ minetest.register_node("flowers:mushroom_red", { on_use = minetest.item_eat(-5), selection_box = { type = "fixed", - fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, -1 / 16, 4 / 16}, - } + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + }, }) minetest.register_node("flowers:mushroom_brown", { description = "Brown Mushroom", - tiles = {"flowers_mushroom_brown.png"}, - inventory_image = "flowers_mushroom_brown.png", - wield_image = "flowers_mushroom_brown.png", - drawtype = "plantlike", + tiles = {"3dmushrooms_brown.png"}, + inventory_image = "3dmushrooms_brown_inv.png", + drawtype = "mesh", + mesh = "3dmushrooms.obj", paramtype = "light", sunlight_propagates = true, walkable = false, @@ -205,8 +205,8 @@ minetest.register_node("flowers:mushroom_brown", { on_use = minetest.item_eat(1), selection_box = { type = "fixed", - fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, -2 / 16, 3 / 16}, - } + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + }, }) diff --git a/games/default/files/flowers/mapgen.lua b/games/default/files/flowers/mapgen.lua index 320671ea0..9851b6fa7 100644 --- a/games/default/files/flowers/mapgen.lua +++ b/games/default/files/flowers/mapgen.lua @@ -155,12 +155,12 @@ local function register_waterlily() end function flowers.register_decorations() - register_flower(436, "rose") - register_flower(19822, "tulip") + register_flower(436, "rose") + register_flower(19822, "tulip") register_flower(1220999, "dandelion_yellow") - register_flower(36662, "orchid") - register_flower(1133, "allium") - register_flower(73133, "dandelion_white") + register_flower(36662, "orchid") + register_flower(1133, "allium") + register_flower(73133, "dandelion_white") register_mushroom("mushroom_brown") register_mushroom("mushroom_red") diff --git a/games/default/files/flowers/models/3dmushrooms.obj b/games/default/files/flowers/models/3dmushrooms.obj new file mode 100644 index 000000000..bce1ed6e5 --- /dev/null +++ b/games/default/files/flowers/models/3dmushrooms.obj @@ -0,0 +1,329 @@ +# Blender v2.73 (sub 0) OBJ File: 'plantlife_mushroom.blend' +# www.blender.org +o Cylinder +v 0.261489 -0.177877 -0.000000 +v 0.165972 -0.203714 -0.000000 +v 0.210761 -0.224729 -0.000000 +v 0.258520 -0.211811 -0.000000 +v 0.185335 -0.171215 -0.184553 +v 0.116925 -0.199423 -0.118862 +v 0.148161 -0.219252 -0.151707 +v 0.182366 -0.205148 -0.184553 +v 0.001484 -0.155130 -0.260997 +v -0.001484 -0.189063 -0.168096 +v -0.002969 -0.206030 -0.214547 +v -0.001484 -0.189063 -0.260997 +v -0.182366 -0.139045 -0.184553 +v -0.119894 -0.178704 -0.118862 +v -0.154099 -0.192808 -0.151707 +v -0.185335 -0.172979 -0.184553 +v -0.258520 -0.132382 -0.000000 +v -0.168941 -0.174413 -0.000000 +v -0.216699 -0.187331 -0.000000 +v -0.261489 -0.166316 -0.000000 +v -0.182366 -0.139045 0.184553 +v -0.119894 -0.178704 0.118862 +v -0.154099 -0.192808 0.151707 +v -0.185335 -0.172979 0.184553 +v 0.001484 -0.155130 0.260997 +v -0.001484 -0.189063 0.168096 +v -0.002969 -0.206030 0.214547 +v -0.001484 -0.189063 0.260997 +v 0.185335 -0.171215 0.184553 +v 0.116925 -0.199423 0.118862 +v 0.148161 -0.219252 0.151708 +v 0.182366 -0.205148 0.184553 +v 0.059333 -0.075538 0.000000 +v 0.044915 -0.074277 -0.034942 +v 0.010106 -0.071232 -0.049416 +v -0.024704 -0.068186 -0.034942 +v -0.039122 -0.066925 0.000000 +v -0.024704 -0.068186 0.034942 +v 0.010106 -0.071232 0.049416 +v 0.044915 -0.074277 0.034942 +v 0.004580 -0.119744 -0.206430 +v 0.149993 -0.132466 -0.145968 +v 0.004580 -0.119744 0.206430 +v -0.140833 -0.107022 0.145968 +v 0.210225 -0.137736 -0.000000 +v 0.149993 -0.132466 0.145968 +v -0.201064 -0.101752 -0.000000 +v -0.140833 -0.107022 -0.145968 +v 0.033054 -0.500000 -0.079800 +v 0.025067 -0.177627 -0.060518 +v 0.079800 -0.500000 -0.033054 +v 0.060518 -0.177627 -0.025067 +v 0.079800 -0.500000 0.033054 +v 0.060518 -0.177627 0.025067 +v 0.033054 -0.500000 0.079800 +v 0.025067 -0.177627 0.060518 +v -0.033054 -0.500000 0.079800 +v -0.025067 -0.177627 0.060518 +v -0.079800 -0.500000 0.033054 +v -0.060518 -0.177627 0.025067 +v -0.079800 -0.500000 -0.033054 +v -0.060518 -0.177627 -0.025067 +v -0.033054 -0.500000 -0.079800 +v -0.025067 -0.177627 -0.060518 +v 0.014323 -0.253674 -0.065067 +v 0.012105 -0.382623 -0.072780 +v 0.052438 -0.253674 -0.026952 +v 0.054739 -0.382623 -0.030146 +v 0.052438 -0.253674 0.026952 +v 0.054739 -0.382623 0.030146 +v 0.014323 -0.253674 0.065067 +v 0.012105 -0.382623 0.072780 +v -0.039580 -0.253674 0.065067 +v -0.048187 -0.382623 0.072780 +v -0.077695 -0.253674 0.026952 +v -0.090820 -0.382623 0.030146 +v -0.077695 -0.253674 -0.026952 +v -0.090820 -0.382623 -0.030146 +v -0.039580 -0.253674 -0.065067 +v -0.048187 -0.382623 -0.072780 +vt 0.261010 0.917920 +vt 0.235559 0.983636 +vt 0.016350 0.764426 +vt 0.080814 0.737724 +vt 0.545568 0.235207 +vt 0.764778 0.454417 +vt 0.690996 0.484978 +vt 0.517617 0.311599 +vt 0.235559 0.235207 +vt 0.515845 0.302693 +vt 0.261010 0.302693 +vt 0.578125 0.234375 +vt 0.765625 0.234375 +vt 0.765625 0.312500 +vt 0.578125 0.312500 +vt 0.015625 0.234375 +vt 0.203125 0.234375 +vt 0.203125 0.312500 +vt 0.015625 0.312500 +vt 0.390625 0.312500 +vt 0.578125 0.390625 +vt 0.390625 0.390625 +vt 0.016350 0.454417 +vt 0.080814 0.482889 +vt 0.545569 0.983636 +vt 0.515845 0.917920 +vt 0.099043 0.730173 +vt 0.272422 0.903553 +vt 0.290733 0.368408 +vt 0.490395 0.368408 +vt 0.149550 0.709253 +vt 0.149550 0.509591 +vt 0.764778 0.764426 +vt 0.696041 0.737725 +vt 0.696041 0.482889 +vt 0.099043 0.484978 +vt 0.203125 0.390625 +vt 0.765625 0.390625 +vt 0.272422 0.311599 +vt 0.631577 0.509591 +vt 0.390625 0.234375 +vt 0.517617 0.903553 +vt 0.690996 0.730173 +vt 0.432320 0.675133 +vt 0.473823 0.633629 +vt 0.015625 0.390625 +vt 0.490395 0.850435 +vt 0.290733 0.850435 +vt 0.631577 0.709253 +vt 0.373624 0.533431 +vt 0.332121 0.574934 +vt 0.473823 0.574934 +vt 0.432320 0.533431 +vt 0.332121 0.633630 +vt 0.373624 0.675133 +vt 0.935126 0.767633 +vt 0.998032 0.830539 +vt 0.998032 0.919502 +vt 0.935126 0.982408 +vt 0.846164 0.982408 +vt 0.783257 0.919502 +vt 0.783258 0.830539 +vt 0.846164 0.767633 +vt 0.375000 0.187500 +vt 0.375000 0.031250 +vt 0.500000 0.031250 +vt 0.500000 0.187500 +vt 0.625000 0.031250 +vt 0.625000 0.187500 +vt 0.750000 0.031250 +vt 0.750000 0.187500 +vt 0.875000 0.031250 +vt 0.875000 0.187500 +vt 1.000000 0.031250 +vt 1.000000 0.187500 +vt 0.000000 0.031250 +vt 0.125000 0.031250 +vt 0.125000 0.187500 +vt 0.000000 0.187500 +vt 0.250000 0.031250 +vt 0.250000 0.187500 +vt 0.542224 0.015885 +vt 0.601585 0.075246 +vt 0.601585 0.159195 +vt 0.542224 0.218556 +vt 0.458275 0.218556 +vt 0.398914 0.159195 +vt 0.398914 0.075246 +vt 0.458275 0.015885 +vt 0.625000 0.125000 +vt 0.500000 0.125000 +vt 0.750000 0.125000 +vt 0.875000 0.125000 +vt 1.000000 0.125000 +vt 0.125000 0.125000 +vt 0.000000 0.125000 +vt 0.250000 0.125000 +vt 0.375000 0.125000 +vn -0.147000 -0.987300 0.060400 +vn -0.648700 -0.460200 0.606100 +vn -0.898800 -0.438400 0.000000 +vn -0.172000 -0.985100 0.000000 +vn 0.672500 0.376500 0.637100 +vn 0.935400 0.353500 0.000000 +vn 0.529200 0.848500 0.000000 +vn 0.396700 0.860200 0.320400 +vn -0.044900 -0.513100 -0.857100 +vn 0.558900 -0.565900 -0.606100 +vn -0.026600 -0.997800 -0.060400 +vn -0.086800 -0.992500 -0.085500 +vn -0.044900 -0.513100 0.857100 +vn 0.037800 0.432000 0.901100 +vn -0.596900 0.487600 0.637100 +vn -0.648700 -0.460200 -0.606100 +vn -0.596900 0.487600 -0.637100 +vn 0.037800 0.432000 -0.901100 +vn 0.809000 -0.587800 0.000000 +vn 0.672500 0.376500 -0.637100 +vn -0.147000 -0.987300 -0.060400 +vn -0.086800 -0.992500 0.085500 +vn -0.859800 0.510500 0.000000 +vn -0.372100 0.928200 0.000000 +vn -0.240600 0.916500 -0.319400 +vn -0.085100 -0.972600 0.216400 +vn -0.237500 -0.959200 0.153000 +vn 0.130500 -0.991400 0.000000 +vn 0.067400 -0.985900 0.153000 +vn 0.558900 -0.565900 0.606100 +vn -0.026600 -0.997800 0.060400 +vn -0.001700 -1.000000 0.000000 +vn -0.240600 0.916500 0.319400 +vn 0.077500 0.888400 0.452400 +vn -0.300700 -0.953700 0.000000 +vn 0.077500 0.888400 -0.452400 +vn 0.396700 0.860200 -0.320400 +vn 0.086200 0.978700 -0.186300 +vn 0.217800 0.967000 -0.132200 +vn -0.085100 -0.972600 -0.216400 +vn 0.067400 -0.985900 -0.153000 +vn -0.237500 -0.959200 -0.153000 +vn 0.086200 0.978700 0.186300 +vn -0.044600 0.990300 0.131300 +vn 0.272600 0.962100 0.000000 +vn 0.217800 0.967000 0.132200 +vn -0.098600 0.995100 0.000000 +vn -0.044600 0.990300 -0.131300 +vn -0.273500 -0.626100 -0.730200 +vn -0.402500 0.040600 -0.914500 +vn 0.360300 0.084000 -0.929000 +vn 0.335600 -0.581700 -0.740900 +vn 0.369900 0.027700 -0.928600 +vn 0.921100 -0.031200 -0.388000 +vn 0.913800 0.116800 -0.388800 +vn 0.921100 -0.031200 0.388000 +vn 0.913800 0.116800 0.388800 +vn 0.369900 0.027700 0.928600 +vn 0.360300 0.084000 0.929000 +vn -0.391600 0.105700 0.914000 +vn -0.402500 0.040600 0.914500 +vn -0.914200 0.156600 0.373800 +vn -0.927200 0.012400 0.374500 +vn -0.914200 0.156600 -0.373800 +vn -0.927200 0.012400 -0.374500 +vn -0.391600 0.105700 -0.914000 +vn 0.774400 -0.552100 -0.309000 +vn 0.774400 -0.552100 0.309000 +vn 0.335600 -0.581700 0.740900 +vn -0.273500 -0.626100 0.730200 +vn -0.690800 -0.658600 0.298100 +vn -0.690800 -0.658600 -0.298100 +vn 0.416700 -0.004500 -0.909100 +vn 0.925800 -0.089300 -0.367400 +vn 0.925800 -0.089300 0.367400 +vn 0.416700 -0.004500 0.909100 +vn -0.344300 0.121400 0.931000 +vn -0.896600 0.212200 0.388700 +vn -0.896600 0.212200 -0.388700 +vn -0.344300 0.121400 -0.931000 +s 1 +f 23/1/1 24/2/2 20/3/3 19/4/4 +f 29/5/5 1/6/6 45/7/7 46/8/8 +f 12/9/9 8/5/10 7/10/11 11/11/12 +f 24/12/2 28/13/13 25/14/14 21/15/15 +f 12/16/9 16/17/16 13/18/17 9/19/18 +f 4/20/19 8/15/10 5/21/20 1/22/6 +f 16/23/16 12/9/9 11/11/12 15/24/21 +f 28/25/13 24/2/2 23/1/1 27/26/22 +f 13/2/17 17/3/23 47/27/24 48/28/25 +f 10/29/26 11/11/12 7/10/11 6/30/27 +f 18/31/28 19/4/4 15/24/21 14/32/29 +f 4/6/19 32/33/30 31/34/31 3/35/32 +f 17/3/23 21/23/15 44/36/33 47/27/24 +f 32/18/30 4/20/19 1/22/6 29/37/5 +f 8/5/10 4/6/19 3/35/32 7/10/11 +f 8/15/10 12/14/9 9/38/18 5/21/20 +f 25/9/14 29/5/5 46/8/8 43/39/34 +f 6/30/27 7/10/11 3/35/32 2/40/35 +f 16/17/16 20/41/3 17/20/23 13/18/17 +f 31/34/31 32/33/30 28/25/13 27/26/22 +f 5/33/20 9/25/18 41/42/36 42/43/37 +f 41/42/36 35/44/38 34/45/39 42/43/37 +f 15/24/21 11/11/12 10/29/26 14/32/29 +f 20/41/3 24/12/2 21/15/15 17/20/23 +f 1/6/6 5/33/20 42/43/37 45/7/7 +f 19/4/4 20/3/3 16/23/16 15/24/21 +f 28/19/13 32/18/30 29/37/5 25/46/14 +f 26/47/40 27/26/22 23/1/1 22/48/41 +f 21/23/15 25/9/14 43/39/34 44/36/33 +f 9/25/18 13/2/17 48/28/25 41/42/36 +f 23/1/1 19/4/4 18/31/28 22/48/41 +f 2/40/35 3/35/32 31/34/31 30/49/42 +f 43/39/34 39/50/43 38/51/44 44/36/33 +f 45/7/7 33/52/45 40/53/46 46/8/8 +f 42/43/37 34/45/39 33/52/45 45/7/7 +f 46/8/8 40/53/46 39/50/43 43/39/34 +f 44/36/33 38/51/44 37/54/47 47/27/24 +f 47/27/24 37/54/47 36/55/48 48/28/25 +f 48/28/25 36/55/48 35/44/38 41/42/36 +f 35/44/38 36/55/48 37/54/47 38/51/44 39/50/43 40/53/46 33/52/45 34/45/39 +f 6/56/27 2/57/35 30/58/42 26/59/40 22/60/41 18/61/28 14/62/29 10/63/26 +f 63/64/49 80/65/50 66/66/51 49/67/52 +f 65/66/53 67/68/54 68/69/55 66/67/51 +f 67/68/54 69/70/56 70/71/57 68/69/55 +f 69/70/56 71/72/58 72/73/59 70/71/57 +f 71/72/58 73/74/60 74/75/61 72/73/59 +f 73/76/60 75/77/62 76/78/63 74/79/61 +f 75/77/62 77/80/64 78/81/65 76/78/63 +f 77/80/64 79/65/66 80/64/50 78/81/65 +f 49/82/52 51/83/67 53/84/68 55/85/69 57/86/70 59/87/71 61/88/72 63/89/49 +f 50/66/73 52/68/74 67/90/54 65/91/53 +f 52/68/74 54/70/75 69/92/56 67/90/54 +f 66/66/51 68/68/55 51/69/67 49/67/52 +f 54/70/75 56/72/76 71/93/58 69/92/56 +f 68/68/55 70/70/57 53/71/68 51/69/67 +f 56/72/76 58/74/77 73/94/60 71/93/58 +f 70/70/57 72/72/59 55/73/69 53/71/68 +f 58/76/77 60/77/78 75/95/62 73/96/60 +f 72/72/59 74/74/61 57/75/70 55/73/69 +f 60/77/78 62/80/79 77/97/64 75/95/62 +f 74/76/61 76/77/63 59/78/71 57/79/70 +f 62/80/79 64/65/80 79/98/66 77/97/64 +f 76/77/63 78/80/65 61/81/72 59/78/71 +f 31/34/31 27/26/22 26/47/40 30/49/42 +f 78/80/65 80/65/50 63/64/49 61/81/72 +f 79/98/66 64/65/80 50/66/73 65/91/53 +f 79/65/66 65/66/53 66/67/51 80/64/50 diff --git a/games/default/files/flowers/models/3dmushrooms_brown.png b/games/default/files/flowers/models/3dmushrooms_brown.png new file mode 100644 index 000000000..76f0dcb57 Binary files /dev/null and b/games/default/files/flowers/models/3dmushrooms_brown.png differ diff --git a/games/default/files/flowers/models/3dmushrooms_red.png b/games/default/files/flowers/models/3dmushrooms_red.png new file mode 100644 index 000000000..afd3b13e9 Binary files /dev/null and b/games/default/files/flowers/models/3dmushrooms_red.png differ diff --git a/games/default/files/flowers/textures/3dmushrooms_brown_inv.png b/games/default/files/flowers/textures/3dmushrooms_brown_inv.png new file mode 100644 index 000000000..3d8255c39 Binary files /dev/null and b/games/default/files/flowers/textures/3dmushrooms_brown_inv.png differ diff --git a/games/default/files/flowers/textures/3dmushrooms_red_inv.png b/games/default/files/flowers/textures/3dmushrooms_red_inv.png new file mode 100644 index 000000000..b03dbaa75 Binary files /dev/null and b/games/default/files/flowers/textures/3dmushrooms_red_inv.png differ diff --git a/games/default/files/flowers/textures/flowers_mushroom_brown.png b/games/default/files/flowers/textures/flowers_mushroom_brown.png deleted file mode 100644 index 8af4870d8..000000000 Binary files a/games/default/files/flowers/textures/flowers_mushroom_brown.png and /dev/null differ diff --git a/games/default/files/flowers/textures/flowers_mushroom_red.png b/games/default/files/flowers/textures/flowers_mushroom_red.png deleted file mode 100644 index 722d1e59c..000000000 Binary files a/games/default/files/flowers/textures/flowers_mushroom_red.png and /dev/null differ diff --git a/games/default/files/hardened_clay/init.lua b/games/default/files/hardened_clay/init.lua index d4cd35f04..3188d3815 100644 --- a/games/default/files/hardened_clay/init.lua +++ b/games/default/files/hardened_clay/init.lua @@ -1,4 +1,5 @@ local clay = {} + clay.dyes = { {"white", "White", "white"}, {"grey", "Grey", "dark_grey"}, @@ -19,40 +20,39 @@ clay.dyes = { } minetest.register_node("hardened_clay:hardened_clay", { - description = "Hardened Clay", - tiles = {"hardened_clay.png"}, - groups = {cracky = 3}, - legacy_mineral = true, - groups = {buliding = 1}, + description = "Hardened Clay", + tiles = {"hardened_clay.png"}, + groups = {cracky = 3}, + legacy_mineral = true, + groups = {buliding = 1}, }) minetest.register_craft({ - type = "cooking", - output = "hardened_clay:hardened_clay", - recipe = "default:clay", + type = "cooking", + output = "hardened_clay:hardened_clay", + recipe = "default:clay", }) for _, row in ipairs(clay.dyes) do - local name = row[1] - local desc = row[2] - local craft_color_group = row[3] - -- Node Definition - minetest.register_node("hardened_clay:"..name, { - description = desc.." Hardened Clay", - tiles = {"hardened_clay_stained_"..name..".png"}, - groups = {cracky = 3,hardened_clay=1, buliding = 1}, - sounds = default.node_sound_defaults(), - }) - if craft_color_group then - minetest.register_craft({ - output = 'hardened_clay:'..name..' 8', - recipe = { - {'hardened_clay:hardened_clay', 'hardened_clay:hardened_clay', 'hardened_clay:hardened_clay'}, - {'hardened_clay:hardened_clay', 'dye:'..craft_color_group, 'hardened_clay:hardened_clay'}, - {'hardened_clay:hardened_clay', 'hardened_clay:hardened_clay', 'hardened_clay:hardened_clay'}, - }, - }) - end + local name = row[1] + local desc = row[2] + local craft_color_group = row[3] + -- Node Definition + minetest.register_node("hardened_clay:"..name, { + description = desc.." Hardened Clay", + tiles = {"hardened_clay_stained_"..name..".png"}, + groups = {cracky = 3,hardened_clay=1, buliding = 1}, + sounds = default.node_sound_defaults(), + }) + if craft_color_group then + minetest.register_craft({ + output = 'hardened_clay:'..name..' 8', + recipe = { + {'hardened_clay:hardened_clay', 'hardened_clay:hardened_clay', 'hardened_clay:hardened_clay'}, + {'hardened_clay:hardened_clay', 'dye:'..craft_color_group, 'hardened_clay:hardened_clay'}, + {'hardened_clay:hardened_clay', 'hardened_clay:hardened_clay', 'hardened_clay:hardened_clay'}, + }, + }) + end end - diff --git a/games/default/files/hud/README.txt b/games/default/files/hud/README.txt index 647fa30a9..d913c4bc6 100644 --- a/games/default/files/hud/README.txt +++ b/games/default/files/hud/README.txt @@ -1,4 +1,4 @@ -Minetest mod "Better HUD" +MultiCraft game mod: Better HUD ========================= Version: 2.1.5 diff --git a/games/default/files/hunger/README.txt b/games/default/files/hunger/README.txt index 8de13ea7f..314c0265e 100644 --- a/games/default/files/hunger/README.txt +++ b/games/default/files/hunger/README.txt @@ -1,4 +1,4 @@ -Minetest mod "Hunger" +MultiCraft game mod: Hunger ===================== Version: 1.1.3 diff --git a/games/default/files/inventory/init.lua b/games/default/files/inventory/init.lua index a42fc9599..954bca78f 100644 --- a/games/default/files/inventory/init.lua +++ b/games/default/files/inventory/init.lua @@ -39,14 +39,15 @@ sfinv.override_page("sfinv:inventory", { title = "Inventory", get = function(self, player, context) local form = [[ - background[-0.19,-0.25;9.41,9.49;formspec_inventory.png] + background[-0.2,-0.26;9.41,9.49;formspec_inventory.png] + background[-0.2,-0.26;9.41,9.49;formspec_inventory_inventory.png] + image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;] listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF] list[current_player;craft;4,1;2,1;1] list[current_player;craft;4,2;2,1;4] - list[current_player;craftpreview;7.05,1.54;1,1;] - list[detached:split;main;7.99,3.15;1,1;] + list[current_player;craftpreview;7.05,1.53;1,1;] + list[detached:split;main;8,3.14;1,1;] image[1.5,0;2,4;default_player2d.png] - image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true] ]] if show_armor then local player_name = player:get_player_name() diff --git a/games/default/files/inventory/textures/formspec_inventory.png b/games/default/files/inventory/textures/formspec_inventory.png deleted file mode 100644 index 5a861b8ca..000000000 Binary files a/games/default/files/inventory/textures/formspec_inventory.png and /dev/null differ diff --git a/games/default/files/inventory/textures/formspec_inventory_inventory.png b/games/default/files/inventory/textures/formspec_inventory_inventory.png new file mode 100644 index 000000000..57b1fa255 Binary files /dev/null and b/games/default/files/inventory/textures/formspec_inventory_inventory.png differ diff --git a/games/default/files/itemframes/init.lua b/games/default/files/itemframes/init.lua index bc76da564..df6af8ecc 100644 --- a/games/default/files/itemframes/init.lua +++ b/games/default/files/itemframes/init.lua @@ -2,37 +2,37 @@ local tmp = {} minetest.register_entity("itemframes:item",{ - hp_max = 1, - visual="wielditem", - visual_size={x=.33,y=.33}, - collisionbox = {0,0,0,0,0,0}, - physical=false, - textures={"air"}, - on_activate = function(self, staticdata) - if tmp.nodename ~= nil and tmp.texture ~= nil then - self.nodename = tmp.nodename - tmp.nodename = nil - self.texture = tmp.texture - tmp.texture = nil - else - if staticdata ~= nil and staticdata ~= "" then - local data = staticdata:split(';') - if data and data[1] and data[2] then - self.nodename = data[1] - self.texture = data[2] - end - end - end - if self.texture ~= nil then - self.object:set_properties({textures={self.texture}}) - end - end, - get_staticdata = function(self) - if self.nodename ~= nil and self.texture ~= nil then - return self.nodename .. ';' .. self.texture - end - return "" - end, + hp_max = 1, + visual="wielditem", + visual_size={x=.33,y=.33}, + collisionbox = {0,0,0,0,0,0}, + physical=false, + textures={"air"}, + on_activate = function(self, staticdata) + if tmp.nodename ~= nil and tmp.texture ~= nil then + self.nodename = tmp.nodename + tmp.nodename = nil + self.texture = tmp.texture + tmp.texture = nil + else + if staticdata ~= nil and staticdata ~= "" then + local data = staticdata:split(';') + if data and data[1] and data[2] then + self.nodename = data[1] + self.texture = data[2] + end + end + end + if self.texture ~= nil then + self.object:set_properties({textures={self.texture}}) + end + end, + get_staticdata = function(self) + if self.nodename ~= nil and self.texture ~= nil then + return self.nodename .. ';' .. self.texture + end + return "" + end, }) @@ -43,99 +43,99 @@ facedir[2] = {x=0,y=0,z=-1} facedir[3] = {x=-1,y=0,z=0} local remove_item = function(pos, node) - local objs = nil - if node.name == "itemframes:frame" then - objs = minetest.get_objects_inside_radius(pos, .5) - end - if objs then - for _, obj in ipairs(objs) do - if obj and obj:get_luaentity() and obj:get_luaentity().name == "itemframes:item" then - obj:remove() - end - end - end + local objs = nil + if node.name == "itemframes:frame" then + objs = minetest.get_objects_inside_radius(pos, .5) + end + if objs then + for _, obj in ipairs(objs) do + if obj and obj:get_luaentity() and obj:get_luaentity().name == "itemframes:item" then + obj:remove() + end + end + end end local update_item = function(pos, node) - remove_item(pos, node) - local meta = minetest.get_meta(pos) - if meta:get_string("item") ~= "" then - if node.name == "itemframes:frame" then - local posad = facedir[node.param2] - pos.x = pos.x + posad.x*6.5/16 - pos.y = pos.y + posad.y*6.5/16 - pos.z = pos.z + posad.z*6.5/16 - end - tmp.nodename = node.name - tmp.texture = ItemStack(meta:get_string("item")):get_name() - local e = minetest.add_entity(pos,"itemframes:item") - if node.name == "itemframes:frame" then - local yaw = math.pi*2 - node.param2 * math.pi/2 - e:setyaw(yaw) - end - end + remove_item(pos, node) + local meta = minetest.get_meta(pos) + if meta:get_string("item") ~= "" then + if node.name == "itemframes:frame" then + local posad = facedir[node.param2] + pos.x = pos.x + posad.x*6.5/16 + pos.y = pos.y + posad.y*6.5/16 + pos.z = pos.z + posad.z*6.5/16 + end + tmp.nodename = node.name + tmp.texture = ItemStack(meta:get_string("item")):get_name() + local e = minetest.add_entity(pos,"itemframes:item") + if node.name == "itemframes:frame" then + local yaw = math.pi*2 - node.param2 * math.pi/2 + e:setyaw(yaw) + end + end end local drop_item = function(pos, node) - local meta = minetest.get_meta(pos) - if meta:get_string("item") ~= "" then - if node.name == "itemframes:frame" then - minetest.add_item(pos, meta:get_string("item")) - end - meta:set_string("item","") - end - remove_item(pos, node) + local meta = minetest.get_meta(pos) + if meta:get_string("item") ~= "" then + if node.name == "itemframes:frame" then + minetest.add_item(pos, meta:get_string("item")) + end + meta:set_string("item","") + end + remove_item(pos, node) end minetest.register_node("itemframes:frame",{ - description = "Item frame", - drawtype = "nodebox", - node_box = { type = "fixed", fixed = {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5} }, - selection_box = { type = "fixed", fixed = {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5} }, - inventory_image = "itemframes_frame.png", - tiles = {"itemframe_background.png"}, - inventory_image = "itemframes_frame.png", - wield_image = "itemframes_frame.png", - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - groups = { choppy = 2,dig_immediate=2, decorative = 1 }, - legacy_wallmounted = true, - sounds = default.node_sound_defaults(), - after_place_node = function(pos, placer, itemstack) - local meta = minetest.get_meta(pos) - meta:set_string("owner",placer:get_player_name()) - meta:set_string("infotext","Item frame (owned by "..placer:get_player_name()..")") - end, - on_rightclick = function(pos, node, clicker, itemstack) - if not itemstack then return end - local meta = minetest.get_meta(pos) - if clicker:get_player_name() == meta:get_string("owner") then - drop_item(pos,node) - local s = itemstack:take_item() - meta:set_string("item",s:to_string()) - update_item(pos,node) - end - return itemstack - end, - on_punch = function(pos,node,puncher) - local meta = minetest.get_meta(pos) - if puncher:get_player_name() == meta:get_string("owner") then - drop_item(pos, node) - end - end, - can_dig = function(pos,player) + description = "Item frame", + drawtype = "nodebox", + node_box = { type = "fixed", fixed = {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5} }, + selection_box = { type = "fixed", fixed = {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5} }, + inventory_image = "itemframes_frame.png", + tiles = {"itemframe_background.png"}, + inventory_image = "itemframes_frame.png", + wield_image = "itemframes_frame.png", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + groups = { choppy = 2,dig_immediate=2, decorative = 1 }, + legacy_wallmounted = true, + sounds = default.node_sound_defaults(), + after_place_node = function(pos, placer, itemstack) + local meta = minetest.get_meta(pos) + meta:set_string("owner",placer:get_player_name()) + meta:set_string("infotext","Item frame (owned by "..placer:get_player_name()..")") + end, + on_rightclick = function(pos, node, clicker, itemstack) + if not itemstack then return end + local meta = minetest.get_meta(pos) + if clicker:get_player_name() == meta:get_string("owner") then + drop_item(pos,node) + local s = itemstack:take_item() + meta:set_string("item",s:to_string()) + update_item(pos,node) + end + return itemstack + end, + on_punch = function(pos,node,puncher) + local meta = minetest.get_meta(pos) + if puncher:get_player_name() == meta:get_string("owner") then + drop_item(pos, node) + end + end, + can_dig = function(pos,player) - local meta = minetest.get_meta(pos) - return player:get_player_name() == meta:get_string("owner") - end, + local meta = minetest.get_meta(pos) + return player:get_player_name() == meta:get_string("owner") + end, }) minetest.register_craft({ - output = 'itemframes:frame', - recipe = { - {'default:stick', 'default:stick', 'default:stick'}, - {'default:stick', 'default:paper', 'default:stick'}, - {'default:stick', 'default:stick', 'default:stick'}, - } + output = 'itemframes:frame', + recipe = { + {'default:stick', 'default:stick', 'default:stick'}, + {'default:stick', 'default:paper', 'default:stick'}, + {'default:stick', 'default:stick', 'default:stick'}, + } }) diff --git a/games/default/files/mobs_animal/bunny.lua b/games/default/files/mobs_animal/bunny.lua index 74a3baeb8..1adf8c612 100644 --- a/games/default/files/mobs_animal/bunny.lua +++ b/games/default/files/mobs_animal/bunny.lua @@ -22,6 +22,7 @@ mobs:register_mob("mobs_animal:bunny", { walk_velocity = 1, run_velocity = 2, runaway = true, + runaway_from = {"mobs_animal:pumba", "player"}, jump = true, jump_height = 6, drops = { diff --git a/games/default/files/mobs_animal/cow.lua b/games/default/files/mobs_animal/cow.lua index 3cfcc9fd8..88e3bb2e7 100644 --- a/games/default/files/mobs_animal/cow.lua +++ b/games/default/files/mobs_animal/cow.lua @@ -25,11 +25,11 @@ mobs:register_mob("mobs_animal:cow", { jump_height = 6, pushable = true, drops = { - {name = "mobs:meat_raw", chance = 1, min = 1, max = 1}, - {name = "mobs:meat_raw", chance = 2, min = 1, max = 1}, - {name = "mobs:meat_raw", chance = 2, min = 1, max = 1}, - {name = "mobs:leather", chance = 2, min = 1, max = 1}, - {name = "mobs:leather", chance = 2, min = 1, max = 1} + {name = "mobs:meat_raw", chance = 1}, + {name = "mobs:meat_raw", chance = 2}, + {name = "mobs:meat_raw", chance = 2}, + {name = "mobs:leather", chance = 2}, + {name = "mobs:leather", chance = 2} }, water_damage = 0, lava_damage = 5, diff --git a/games/default/files/mobs_animal/sheep.lua b/games/default/files/mobs_animal/sheep.lua index 00f9aa8ea..f44769df5 100644 --- a/games/default/files/mobs_animal/sheep.lua +++ b/games/default/files/mobs_animal/sheep.lua @@ -19,9 +19,10 @@ local all_colours = { -- Sheep by PilzAdam -for _, col in pairs(all_colours) do +for _, col in ipairs(all_colours) do mobs:register_mob("mobs_animal:sheep_"..col[1], { + stay_near = {"farming:straw", 10}, stepheight = 0.6, type = "animal", passive = true, diff --git a/games/default/files/mobs_animal/textures/mobs_kitten_striped.png b/games/default/files/mobs_animal/textures/mobs_kitten_striped.png index 624a50f9d..cdb66820e 100644 Binary files a/games/default/files/mobs_animal/textures/mobs_kitten_striped.png and b/games/default/files/mobs_animal/textures/mobs_kitten_striped.png differ diff --git a/games/default/files/mobs_animal/textures/mobs_sheep_blue.png b/games/default/files/mobs_animal/textures/mobs_sheep_blue.png index 74556f104..ad4e24ce4 100644 Binary files a/games/default/files/mobs_animal/textures/mobs_sheep_blue.png and b/games/default/files/mobs_animal/textures/mobs_sheep_blue.png differ diff --git a/games/default/files/mobs_animal/textures/mobs_sheep_cyan.png b/games/default/files/mobs_animal/textures/mobs_sheep_cyan.png index 0855f0daf..bffb0cd73 100644 Binary files a/games/default/files/mobs_animal/textures/mobs_sheep_cyan.png and b/games/default/files/mobs_animal/textures/mobs_sheep_cyan.png differ diff --git a/games/default/files/mobs_animal/textures/mobs_sheep_green.png b/games/default/files/mobs_animal/textures/mobs_sheep_green.png index 6c565b31a..994ec1003 100644 Binary files a/games/default/files/mobs_animal/textures/mobs_sheep_green.png and b/games/default/files/mobs_animal/textures/mobs_sheep_green.png differ diff --git a/games/default/files/mobs_animal/textures/mobs_sheep_shaved.png b/games/default/files/mobs_animal/textures/mobs_sheep_shaved.png index 6281d412c..b844059ae 100644 Binary files a/games/default/files/mobs_animal/textures/mobs_sheep_shaved.png and b/games/default/files/mobs_animal/textures/mobs_sheep_shaved.png differ diff --git a/games/default/files/mobs_monster/spider.lua b/games/default/files/mobs_monster/spider.lua index 4bb89551f..b59902469 100644 --- a/games/default/files/mobs_monster/spider.lua +++ b/games/default/files/mobs_monster/spider.lua @@ -69,7 +69,7 @@ mobs:spawn({ max_height = 31000, }) -mobs:register_egg("mobs_monster:spider", "Spider", "mobs_cobweb.png", 1) +mobs:register_egg("mobs_monster:spider", "Spider", "mobs_chicken_egg.png^mobs_cobweb.png", 1) mobs:alias_mob("mobs:spider", "mobs_monster:spider") -- compatibility diff --git a/games/default/files/mobs_redo/api.lua b/games/default/files/mobs_redo/api.lua index a437d9c8a..6c1089ef6 100644 --- a/games/default/files/mobs_redo/api.lua +++ b/games/default/files/mobs_redo/api.lua @@ -5,7 +5,7 @@ local use_cmi = minetest.global_exists("cmi") mobs = { mod = "redo", - version = "20190402", + version = "20190513", invis = minetest.global_exists("invisibility") and invisibility or {}, } @@ -104,6 +104,7 @@ local mob_class = { jump = true, knock_back = true, walk_chance = 50, + stand_chance = 30, attack_chance = 5, passive = false, blood_amount = 5, @@ -275,15 +276,15 @@ end -- set defined animation -function mob_class:set_animation(anim) +function mob_class:set_animation(anim, force) if not self.animation or not anim then return end self.animation.current = self.animation.current or "" - -- only set different animation for attacks when setting to same set - if anim ~= "punch" and anim ~= "shoot" + -- only set different animation for attacks when using same set + if force ~= true and anim ~= "punch" and anim ~= "shoot" and string.find(self.animation.current, anim) then return end @@ -327,7 +328,7 @@ end -- check line of sight (BrunoMine) -function mob_class:line_of_sight(pos1, pos2, stepsize) +local line_of_sight = function(self, pos1, pos2, stepsize) stepsize = stepsize or 1 @@ -398,7 +399,7 @@ end -- check line of sight (by BrunoMine, tweaked by Astrobe) -function mob_class:NEW_line_of_sight(pos1, pos2, stepsize) +local new_line_of_sight = function(self, pos1, pos2, stepsize) if not pos1 or not pos2 then return end @@ -444,12 +445,49 @@ function mob_class:NEW_line_of_sight(pos1, pos2, stepsize) return false end +-- check line of sight using raycasting (thanks Astrobe) +local ray_line_of_sight = function(self, pos1, pos2) + + local ray = minetest.raycast(pos1, pos2, true, false) + local thing = ray:next() + + while thing do + + if thing.type == "object" + and thing.ref ~= self.object + and not thing.ref:is_player() then return false end + + if thing.type == "node" then + + local name = minetest.get_node(thing.under).name + + if minetest.registered_items[name].walkable then return false end + end + + thing = ray:next() + end + + return true +end + +-- detect if using minetest 5.0 by searching for permafrost node +local is_50 = minetest.registered_nodes["default:permafrost"] + +function mob_class:line_of_sight(pos1, pos2, stepsize) + + if is_50 then -- only use if minetest 5.0 is detected + return ray_line_of_sight(self, pos1, pos2) + end + + return line_of_sight(self, pos1, pos2, stepsize) +end + -- global function function mobs:line_of_sight(entity, pos1, pos2, stepsize) - - return mob_class.line_of_sight(entity, pos1, pos2, stepsize) + return entity:line_of_sight(pos1, pos2, stepsize) end + function mob_class:attempt_flight_correction() if self:flight_check() then return true end @@ -464,8 +502,8 @@ function mob_class:attempt_flight_correction() end local flyable_nodes = minetest.find_nodes_in_area( - {x = pos.x - r, y = pos.y - r, z = pos.z - r}, - {x = pos.x + r, y = pos.y + r, z = pos.z + r}, + {x = pos.x - 1, y = pos.y - 1, z = pos.z - 1}, + {x = pos.x + 1, y = pos.y + 1, z = pos.z + 1}, searchnodes) if #flyable_nodes < 1 then @@ -481,6 +519,7 @@ function mob_class:attempt_flight_correction() return true end + -- are we flying in what we are suppose to? (taikedz) function mob_class:flight_check() @@ -1573,7 +1612,7 @@ function mob_class:smart_mobs(s, p, dist, dtime) self.path.stuck_timer = stuck_timeout - 2 -- frustration! cant find the damn path :( - self:mob_sound(self.sounds.random) + --self:mob_sound(self.sounds.random) else -- yay i found path self:mob_sound(self.sounds.war_cry) @@ -2068,11 +2107,11 @@ function mob_class:do_states(dtime) if self.facing_fence == true or temp_is_cliff - or random(1, 100) <= 30 then + or random(1, 100) <= self.stand_chance then self:set_velocity(0) self.state = "stand" - self:set_animation("stand") + self:set_animation("stand", true) else self:set_velocity(self.walk_velocity) @@ -2231,7 +2270,7 @@ function mob_class:do_states(dtime) minetest.sound_play(self.sounds.explode, { pos = pos, gain = 1.0, - max_hear_distance = self.sounds.distance or 16 + max_hear_distance = self.sounds.distance or 32 }) entity_physics(pos, entity_damage_radius) @@ -3272,11 +3311,12 @@ minetest.register_entity(name, setmetatable({ follow = def.follow, jump = def.jump, walk_chance = def.walk_chance, + stand_chance = def.stand_chance, attack_chance = def.attack_chance, passive = def.passive, knock_back = def.knock_back, - blood_amount = def.blood_amount or 5, - blood_texture = def.blood_texture or "mobs_blood.png", + blood_amount = def.blood_amount, + blood_texture = def.blood_texture, shoot_offset = def.shoot_offset, floats = def.floats, replace_rate = def.replace_rate, @@ -3728,14 +3768,14 @@ function mobs:register_egg(mob, desc, background, addegg, no_creative) local invimg = background if addegg == 1 then - invimg = "mobs_chicken_egg.png^(" .. invimg .. - "^[mask:mobs_chicken_egg_overlay.png)" + invimg = "(" .. invimg .. + "^[mask:mobs_egg_overlay.png)" end -- register new spawn egg containing mob information minetest.register_craftitem(mob .. "_set", { - description = "@1 (Tamed)", desc, + description = desc.." (Tamed)", inventory_image = invimg, groups = {spawn_egg = 2, not_in_creative_inventory = 1}, stack_max = 1, @@ -3905,7 +3945,7 @@ function mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso, if self.owner ~= name and force_take == false then - minetest.chat_send_player(name, "@1 is owner!", self.owner) + minetest.chat_send_player(name, self.owner.." is owner!") return false end @@ -4063,8 +4103,8 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame) if self.htimer < 1 then minetest.chat_send_player(clicker:get_player_name(), - "@1 at full health (@2)", - self.name:split(":")[2], tostring(self.health)) + self.name:split(":")[2] + .. " at full health (" .. tostring(self.health) .. ")") self.htimer = 5 end @@ -4097,8 +4137,8 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame) if self.tamed == false then minetest.chat_send_player(clicker:get_player_name(), - "@1 has been tamed!", - self.name:split(":")[2]) + self.name:split(":")[2] + .. " has been tamed!") end self.tamed = true @@ -4132,7 +4172,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame) minetest.show_formspec(name, "mobs_nametag", "size[8,4]" .. "field[0.5,1;7.5,0;name;" .. minetest.formspec_escape("Enter name:") .. ";" .. tag .. "]" -.. "button_exit[2.5,3.5;3,1;mob_rename;" + .. "button_exit[2.5,3.5;3,1;mob_rename;" .. minetest.formspec_escape("Rename") .. "]") end diff --git a/games/default/files/mobs_redo/textures/mobs_chicken_egg_overlay.png b/games/default/files/mobs_redo/textures/mobs_chicken_egg_overlay.png deleted file mode 100644 index 6eb812248..000000000 Binary files a/games/default/files/mobs_redo/textures/mobs_chicken_egg_overlay.png and /dev/null differ diff --git a/games/default/files/mobs_redo/textures/mobs_egg_overlay.png b/games/default/files/mobs_redo/textures/mobs_egg_overlay.png new file mode 100644 index 000000000..73b964c3f Binary files /dev/null and b/games/default/files/mobs_redo/textures/mobs_egg_overlay.png differ diff --git a/games/default/files/player_api/api.lua b/games/default/files/player_api/api.lua index 185502784..15242711b 100644 --- a/games/default/files/player_api/api.lua +++ b/games/default/files/player_api/api.lua @@ -1,4 +1,4 @@ --- MultiCraft mod: player +-- MultiCraft game mod: player -- See README.txt for licensing and other information. player_api = {} diff --git a/games/default/files/playerplus/README.md b/games/default/files/playerplus/README.md index 49739f7a4..2d97c5c1a 100644 --- a/games/default/files/playerplus/README.md +++ b/games/default/files/playerplus/README.md @@ -1,7 +1,9 @@ -PlayerPlus mod for minetest +MultiCraft game mod: PlayerPlus +Removed POVA, monoids support, knock-back, glitch. This mod lets the player move faster when walking on ice, slows down the player -when walking on snow or in water, and makes touching a cactus hurt... enjoy! +when walking on snow, makes touching a cactus hurt and suffocates player when +their head is inside a solid node... enjoy! https://forum.minetest.net/viewtopic.php?t=10090&p=153667 @@ -12,7 +14,12 @@ https://forum.minetest.net/viewtopic.php?t=10090&p=153667 - 0.5 - Slow down when walking in water - 0.6 - Code tidy and tweak, increased damage by cactus and suffocation - 0.7 - Added global 'playerplus' table to hold node names gathered around player - +- 0.8 - Player knock-back added +- 0.9 - 'on_walk_over' function support added for nodes +- 1.0 - Update to newer functions, requires Minetest 0.4.16 and above to run +- 1.1 - Added support for player_monoids mod (thanks tacotexmex) +- 1.2 - Added POVA support, tweaked code slightly +- 1.3 - Add setting under Advances to enable older sneak glitch movement API: diff --git a/games/default/files/playerplus/init.lua b/games/default/files/playerplus/init.lua index 034937812..5592cc12a 100644 --- a/games/default/files/playerplus/init.lua +++ b/games/default/files/playerplus/init.lua @@ -2,7 +2,7 @@ walking on ice makes player walk faster, stepping through snow or water slows player down, touching a cactus hurts player, - and if head stuck inside a solid node suffocates player. + and suffocation when head is inside solid node,. PlayerPlus by TenPlus1 ]] @@ -25,7 +25,7 @@ end local armor_mod = minetest.get_modpath("3d_armor") -local def = {} +--local def = {} local time = 0 @@ -82,20 +82,44 @@ minetest.register_globalstep(function(dtime) end -- are we standing on any nodes that speed player up? - --nfast = nil + nfast = nil if playerplus[name].nod_stand == "default:ice" then - def.speed = def.speed + 0.4 + nfast = true end -- are we standing on any nodes that slow player down? - --nslow = nil + nslow = nil if playerplus[name].nod_stand == "default:snow" or playerplus[name].nod_stand == "default:snowblock" - -- wading in water? if so walk slower + -- The probable cause of the bug when swimming under water on the server! or minetest.registered_nodes[ playerplus[name].nod_feet ].groups.water then - def.speed = def.speed - 0.4 + nslow = true end + -- apply speed changes + if nfast and not playerplus[name].nfast then + def.speed = def.speed + 0.4 + + playerplus[name].nfast = true + + elseif not nfast and playerplus[name].nfast then + def.speed = def.speed - 0.4 + + playerplus[name].nfast = nil + end + + -- apply slowdown changes + if nslow and not playerplus[name].nslow then + def.speed = def.speed - 0.3 + + playerplus[name].nslow = true + + elseif not nslow and playerplus[name].nslow then + def.speed = def.speed + 0.3 + + playerplus[name].nslow = nil + end + -- set player physics player:set_physics_override(def.speed, def.jump, def.gravity) --[[ diff --git a/games/default/files/sfinv/api.lua b/games/default/files/sfinv/api.lua index a35261c7a..72643b59b 100644 --- a/games/default/files/sfinv/api.lua +++ b/games/default/files/sfinv/api.lua @@ -4,6 +4,7 @@ sfinv = { contexts = {}, enabled = true, gui_bg = "bgcolor[#08080880;true]", + listcolors = "listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]", gui_bg_img = "", gui_slots = "", } diff --git a/games/default/files/signs/init.lua b/games/default/files/signs/init.lua index 5c82df0df..2e985c23a 100644 --- a/games/default/files/signs/init.lua +++ b/games/default/files/signs/init.lua @@ -75,12 +75,12 @@ local function check_text(pos, wall) if text and text ~= "" then local found = false for _, obj in pairs(minetest.get_objects_inside_radius(pos, 0.5)) do - local ent = obj:get_luaentity() - if ent and ent.name == "signs:sign_text" then - found = true - break - end - end + local ent = obj:get_luaentity() + if ent and ent.name == "signs:sign_text" then + found = true + break + end + end if not found then local p2 = minetest.get_node(pos).param2 if not p2 or p2 > 3 or p2 < 0 then return end @@ -104,21 +104,21 @@ local function check_text(pos, wall) end minetest.register_lbm({ - label = "Check for sign text", - name = "signs:sign_text", - nodenames = {"signs:sign"}, - run_at_every_load = true, - action = function(pos, node) - check_text(pos, false) - end, + label = "Check for sign text", + name = "signs:sign_text", + nodenames = {"signs:sign"}, + run_at_every_load = true, + action = function(pos, node) + check_text(pos, false) + end, }) minetest.register_lbm({ - label = "Check for sign text (Wall)", - name = "signs:wall_sign_text", - nodenames = {"signs:wall_sign"}, - run_at_every_load = true, - action = function(pos, node) + label = "Check for sign text (Wall)", + name = "signs:wall_sign_text", + nodenames = {"signs:wall_sign"}, + run_at_every_load = true, + action = function(pos, node) check_text(pos, true) end, }) @@ -213,7 +213,7 @@ minetest.register_node("signs:wall_sign", { paramtype2 = "wallmounted", node_box = { type = "wallmounted", - wall_top = {-0.4375, 0.4375, -0.3125, 0.4375, 0.5, 0.3125}, + wall_top = {-0.4375, 0.4375, -0.3125, 0.4375, 0.5, 0.3125}, wall_bottom = {-0.4375, -0.5, -0.3125, 0.4375, -0.4375, 0.3125}, wall_side = {-0.5, -0.3125, -0.4375, -0.4375, 0.3125, 0.4375}, }, @@ -232,8 +232,8 @@ minetest.register_node("signs:wall_sign", { end end, on_punch = function(pos) - check_text(pos, true) - end, + check_text(pos, true) + end, on_receive_fields = function(pos, formname, fields, sender) if not fields.text then return diff --git a/games/default/files/stairs/init.lua b/games/default/files/stairs/init.lua index a23648756..666512a89 100644 --- a/games/default/files/stairs/init.lua +++ b/games/default/files/stairs/init.lua @@ -487,7 +487,8 @@ stairs.register_all("steelblock", "default:steelblock", {cracky = 1, level = 2}, {"default_steel_block.png"}, "Steel", - stairs.stone) + stairs.metal) + minetest.register_alias("stairs:steel", "stairs:steelblock") @@ -498,6 +499,7 @@ stairs.register_all("goldblock", "default:goldblock", stairs.metal) minetest.register_alias("stairs:gold", "stairs:goldblock") +minetest.register_alias("stairs:corner_gold", "stairs:goldblock") stairs.register_all("diamondblock", "default:diamondblock", {cracky = 1, level=3}, @@ -541,12 +543,6 @@ stairs.register_all("ice", "default:ice", default.node_sound_glass_defaults()) -stairs.register_all("glass", "default:glass", - {cracky = 3, oddly_breakable_by_hand = 3}, - {"default_glass.png"}, - "Glass", - stairs.glass) - local colours = { {"black", "Black", "#000000b0"}, {"blue", "Blue", "#015dbb70"}, diff --git a/games/default/files/throwing/README.txt b/games/default/files/throwing/README.txt index 11f48ec59..d5adff2dc 100644 --- a/games/default/files/throwing/README.txt +++ b/games/default/files/throwing/README.txt @@ -1,23 +1,16 @@ -=== THROWING-MOD for multicraft-C55 === +MultiCraft game mod: throwing by PilzAdam Inroduction: -This mod adds bows and arrows to minetest. +This mod adds bows and arrows to Minetest. + -How to install: -Unzip the archive an place it in multicraft-base-directory/mods/multicraft/ -if you have a windows client or a linux run-in-place client. If you have -a linux system-wide instalation place it in ~/.multicraft/mods/multicraft/. -If you want to install this mod only in one world create the folder -worldmods/ in your worlddirectory. -For further information or help see: -http://wiki.minetest.com/wiki/Installing_Mods How to use the mod: Craft a bow with the strings from the farming mod: - wood string -wood string - wood string + stick string +stick string + stick string Craft arrows with: flint stick diff --git a/games/default/files/throwing/arrow.lua b/games/default/files/throwing/arrow.lua index fe83bf21b..e4b464875 100644 --- a/games/default/files/throwing/arrow.lua +++ b/games/default/files/throwing/arrow.lua @@ -1,7 +1,6 @@ minetest.register_craftitem("throwing:arrow", { description = "Arrow", inventory_image = "throwing_arrow_inv.png", - groups = {combat = 1}, }) minetest.register_node("throwing:arrow_box", { @@ -34,9 +33,8 @@ local THROWING_ARROW_ENTITY={ physical = false, timer=0, visual = "wielditem", - visual_size = {x=0.4, y=0.4}, - --textures = {"throwing:arrow_box"}, - textures = {"throwing_arrow_back.png"}, + visual_size = {x=0.3, y=0.3}, + textures = {"throwing:arrow_box"}, lastpos={}, collisionbox = {0,0,0,0,0,0}, } diff --git a/games/default/files/throwing/init.lua b/games/default/files/throwing/init.lua index c55e3e193..2d474c409 100644 --- a/games/default/files/throwing/init.lua +++ b/games/default/files/throwing/init.lua @@ -1,15 +1,15 @@ - - -dofile(minetest.get_modpath("throwing").."/arrow.lua") - arrows = { {"throwing:arrow", "throwing:arrow_entity"}, } +local creative = minetest.settings:get_bool("creative_mode") + local throwing_shoot_arrow = function(itemstack, player) for _,arrow in ipairs(arrows) do if player:get_inventory():get_stack("main", player:get_wield_index()+1):get_name() == arrow[1] then + if not creative then player:get_inventory():remove_item("main", arrow[1]) + end local playerpos = player:get_pos() local obj = minetest.add_entity({x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, arrow[2]) local dir = player:get_look_dir() @@ -31,7 +31,6 @@ minetest.register_tool("throwing:bow", { description = "Bow", inventory_image = "throwing_bow.png", stack_max = 1, - groups = {combat = 1}, on_place = function(itemstack, placer, pointed_thing) wear = itemstack:get_wear() itemstack:replace("throwing:bow_0") @@ -42,7 +41,7 @@ minetest.register_tool("throwing:bow", { wear = itemstack:get_wear() itemstack:add_wear(wear) if throwing_shoot_arrow(itemstack, user, pointed_thing) then - if not minetest.setting_getbool("creative_mode") then + if not creative then itemstack:add_wear(65535/385) end end @@ -65,7 +64,7 @@ minetest.register_tool("throwing:bow_0", { wear = itemstack:get_wear() itemstack:add_wear(wear) if throwing_shoot_arrow(itemstack, user, pointed_thing) then - if not minetest.setting_getbool("creative_mode") then + if not creative then itemstack:add_wear(65535/385) end end @@ -88,7 +87,7 @@ minetest.register_tool("throwing:bow_1", { wear = itemstack:get_wear() itemstack:add_wear(wear) if throwing_shoot_arrow(itemstack, user, pointed_thing) then - if not minetest.setting_getbool("creative_mode") then + if not creative then itemstack:add_wear(65535/385) end end @@ -106,7 +105,7 @@ minetest.register_tool("throwing:bow_2", { itemstack:replace("throwing:bow") itemstack:add_wear(wear) if throwing_shoot_arrow(itemstack, user, pointed_thing) then - if not minetest.setting_getbool("creative_mode") then + if not creative then itemstack:add_wear(65535/385) end end @@ -123,3 +122,4 @@ minetest.register_craft({ } }) +dofile(minetest.get_modpath("throwing").."/arrow.lua") diff --git a/games/default/files/throwing/models/arrow.x b/games/default/files/throwing/models/arrow.x deleted file mode 100644 index 2d0b3767b..000000000 --- a/games/default/files/throwing/models/arrow.x +++ /dev/null @@ -1,359 +0,0 @@ -xof 0303txt 0032 - -Frame Root { - FrameTransformMatrix { - 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000,-0.000000, 1.000000, 0.000000, - 0.000000, 1.000000, 0.000000, 0.000000, - 0.000000, 0.000000, 0.000000, 1.000000;; - } - Frame Cube { - FrameTransformMatrix { - 0.056399, 0.000000, 0.000000, 0.000000, - 0.000000, 0.056399, 0.000000, 0.000000, - 0.000000, 0.000000, 0.056399, 0.000000, - 0.000000, 0.000000, 0.000000, 1.000000;; - } - Mesh { // Cube mesh - 104; - -1.000000; 0.314103;-1.000000;, - -1.000000;-0.314103;-1.000000;, - -1.000000;-0.242418;-0.242418;, - -1.000000; 0.242418;-0.242418;, - -1.000000;-0.242418; 0.242418;, - -1.000000; 0.242418; 0.242418;, - -16.233685; 0.242418; 0.242418;, - -16.233686;-0.242418; 0.242418;, - -1.000000; 0.314103; 1.000000;, - -1.000000; 0.314103;-1.000000;, - -1.000000; 0.242418;-0.242418;, - -1.000000; 0.242418; 0.242418;, - -1.000000;-0.314103; 1.000000;, - -1.000000; 0.314103; 1.000000;, - -1.000000; 0.242418; 0.242418;, - -1.000000;-0.242418; 0.242418;, - -1.000000;-0.314103;-1.000000;, - -1.000000;-0.314103; 1.000000;, - -1.000000;-0.242418; 0.242418;, - -1.000000;-0.242418;-0.242418;, - -16.233685; 0.242418;-0.242418;, - -16.233685;-0.242418;-0.242418;, - -16.233685;-0.289522;-0.521628;, - -16.233685; 0.289522;-0.521628;, - -1.000000; 0.242418; 0.242418;, - -1.000000; 0.242418;-0.242418;, - -16.233685; 0.242418;-0.242418;, - -16.233685; 0.242418; 0.242418;, - -1.000000;-0.242418;-0.242418;, - -1.000000;-0.242418; 0.242418;, - -16.233686;-0.242418; 0.242418;, - -16.233685;-0.242418;-0.242418;, - -1.000000; 0.242418;-0.242418;, - -1.000000;-0.242418;-0.242418;, - -16.233685;-0.242418;-0.242418;, - -16.233685; 0.242418;-0.242418;, - -16.233686;-0.242418; 0.242418;, - -16.233685; 0.242418; 0.242418;, - -16.233685; 0.289522; 0.521628;, - -16.233688;-0.289522; 0.521628;, - -16.233685; 0.242418; 0.242418;, - -16.233685; 0.242418;-0.242418;, - -16.233685; 0.289522;-0.521628;, - -16.233685; 0.289522; 0.521628;, - -16.233685;-0.242418;-0.242418;, - -16.233686;-0.242418; 0.242418;, - -16.233688;-0.289522; 0.521628;, - -16.233685;-0.289522;-0.521628;, - -16.233685; 0.289522; 0.521628;, - -16.233685; 0.289522;-0.521628;, - -17.729048; 0.000000;-0.768652;, - -17.729050; 0.000000; 0.768652;, - -16.233685;-0.289522;-0.521628;, - -16.233688;-0.289522; 0.521628;, - -17.729050; 0.000000; 0.768652;, - -17.729048; 0.000000;-0.768652;, - -16.233688;-0.289522; 0.521628;, - -16.233685; 0.289522; 0.521628;, - -17.729050; 0.000000; 0.768652;, - -16.233685; 0.289522;-0.521628;, - -16.233685;-0.289522;-0.521628;, - -17.729048; 0.000000;-0.768652;, - -16.233685; 0.242418; 0.242418;, - -16.233685; 0.242418;-0.242418;, - -16.233685; 0.521628;-0.289522;, - -16.233685; 0.521628; 0.289522;, - -16.233686;-0.242418;-0.242418;, - -16.233685;-0.242418; 0.242418;, - -16.233685;-0.521628; 0.289522;, - -16.233688;-0.521628;-0.289522;, - -16.233685;-0.242418; 0.242418;, - -16.233685; 0.242418; 0.242418;, - -16.233685; 0.521628; 0.289522;, - -16.233685;-0.521628; 0.289522;, - -16.233685; 0.242418;-0.242418;, - -16.233686;-0.242418;-0.242418;, - -16.233688;-0.521628;-0.289522;, - -16.233685; 0.521628;-0.289522;, - -16.233685;-0.521628; 0.289522;, - -16.233685; 0.521628; 0.289522;, - -17.729048; 0.768652; 0.000000;, - -17.729050;-0.768652;-0.000000;, - -16.233685; 0.521628;-0.289522;, - -16.233688;-0.521628;-0.289522;, - -17.729050;-0.768652;-0.000000;, - -17.729048; 0.768652; 0.000000;, - -16.233688;-0.521628;-0.289522;, - -16.233685;-0.521628; 0.289522;, - -17.729050;-0.768652;-0.000000;, - -16.233685; 0.521628; 0.289522;, - -16.233685; 0.521628;-0.289522;, - -17.729048; 0.768652; 0.000000;, - 1.000000;-0.000000; 0.000000;, - -1.000000;-0.314103;-1.000000;, - -1.000000; 0.314103;-1.000000;, - 1.000000;-0.000000; 0.000000;, - -1.000000; 0.314103; 1.000000;, - -1.000000;-0.314103; 1.000000;, - 1.000000;-0.000000; 0.000000;, - -1.000000;-0.314103; 1.000000;, - -1.000000;-0.314103;-1.000000;, - 1.000000;-0.000000; 0.000000;, - -1.000000; 0.314103;-1.000000;, - -1.000000; 0.314103; 1.000000;; - 28; - 4;3,2,1,0;, - 4;7,6,5,4;, - 4;11,10,9,8;, - 4;15,14,13,12;, - 4;19,18,17,16;, - 4;23,22,21,20;, - 4;27,26,25,24;, - 4;31,30,29,28;, - 4;35,34,33,32;, - 4;39,38,37,36;, - 4;43,42,41,40;, - 4;47,46,45,44;, - 4;51,50,49,48;, - 4;55,54,53,52;, - 3;58,57,56;, - 3;61,60,59;, - 4;65,64,63,62;, - 4;69,68,67,66;, - 4;73,72,71,70;, - 4;77,76,75,74;, - 4;81,80,79,78;, - 4;85,84,83,82;, - 3;88,87,86;, - 3;91,90,89;, - 3;94,93,92;, - 3;97,96,95;, - 3;100,99,98;, - 3;103,102,101;; - MeshNormals { // Cube normals - 28; - -1.000000; 0.000001;-0.000000;, - -0.000000; 0.000000; 1.000000;, - -1.000000; 0.000002;-0.000000;, - -1.000000; 0.000000;-0.000000;, - -1.000000; 0.000002;-0.000000;, - 1.000000; 0.000000;-0.000000;, - 0.000000; 1.000000; 0.000000;, - 0.000000;-1.000000; 0.000000;, - 0.000000; 0.000000;-1.000000;, - 1.000000;-0.000005; 0.000003;, - 1.000000; 0.000000; 0.000000;, - 1.000000;-0.000020; 0.000004;, - -0.190083; 0.981768;-0.000000;, - -0.190083;-0.981768;-0.000000;, - 0.162984;-0.000001; 0.986629;, - 0.162984; 0.000000;-0.986629;, - 1.000000; 0.000000; 0.000000;, - 1.000000;-0.000003;-0.000005;, - 1.000000; 0.000000; 0.000000;, - 1.000000;-0.000004;-0.000020;, - -0.190083; 0.000000; 0.981768;, - -0.190083; 0.000000;-0.981768;, - 0.162984;-0.986629;-0.000001;, - 0.162984; 0.986629; 0.000000;, - 0.447214;-0.000000;-0.894427;, - 0.447214;-0.000000; 0.894427;, - 0.155150;-0.987891; 0.000000;, - 0.155150; 0.987891; 0.000000;; - 28; - 4;0,0,0,0;, - 4;1,1,1,1;, - 4;2,2,2,2;, - 4;3,3,3,3;, - 4;4,4,4,4;, - 4;5,5,5,5;, - 4;6,6,6,6;, - 4;7,7,7,7;, - 4;8,8,8,8;, - 4;9,9,9,9;, - 4;10,10,10,10;, - 4;11,11,11,11;, - 4;12,12,12,12;, - 4;13,13,13,13;, - 3;14,14,14;, - 3;15,15,15;, - 4;16,16,16,16;, - 4;17,17,17,17;, - 4;18,18,18,18;, - 4;19,19,19,19;, - 4;20,20,20,20;, - 4;21,21,21,21;, - 3;22,22,22;, - 3;23,23,23;, - 3;24,24,24;, - 3;25,25,25;, - 3;26,26,26;, - 3;27,27,27;; - } // End of Cube normals - MeshTextureCoords { // Cube UV coordinates - 104; - 0.369363; 0.189428;, - 0.319790; 0.189428;, - 0.325447; 0.129647;, - 0.363706; 0.129647;, - 1.000000; 0.531250;, - 1.000000; 0.500000;, - 0.000000; 0.500000;, - 0.000000; 0.531250;, - 0.369363; 0.031606;, - 0.369363; 0.189428;, - 0.363706; 0.129647;, - 0.363706; 0.091387;, - 0.319790; 0.031606;, - 0.369363; 0.031606;, - 0.363706; 0.091387;, - 0.325447; 0.091387;, - 0.319790; 0.189428;, - 0.319790; 0.031606;, - 0.325447; 0.091387;, - 0.325447; 0.129647;, - 0.129567; 0.130972;, - 0.087434; 0.130972;, - 0.083340; 0.155236;, - 0.133660; 0.155236;, - 1.000000; 0.531250;, - 1.000000; 0.500000;, - 0.000000; 0.500000;, - 0.000000; 0.531250;, - 1.000000; 0.500000;, - 1.000000; 0.468750;, - 0.000000; 0.468750;, - 0.000000; 0.500000;, - 1.000000; 0.500000;, - 1.000000; 0.531250;, - 0.000000; 0.531250;, - 0.000000; 0.500000;, - 0.087434; 0.088839;, - 0.129567; 0.088839;, - 0.133660; 0.064576;, - 0.083340; 0.064576;, - 0.129567; 0.088839;, - 0.129567; 0.130972;, - 0.133660; 0.155236;, - 0.133660; 0.064576;, - 0.087434; 0.130972;, - 0.087434; 0.088839;, - 0.083340; 0.064576;, - 0.083340; 0.155236;, - 0.133660; 0.064576;, - 0.133660; 0.155236;, - 0.108500; 0.176703;, - 0.108500; 0.043109;, - 0.083340; 0.155236;, - 0.083340; 0.064576;, - 0.108500; 0.043109;, - 0.108500; 0.176703;, - 0.083340; 0.064576;, - 0.133660; 0.064576;, - 0.108500; 0.043109;, - 0.133660; 0.155236;, - 0.083340; 0.155236;, - 0.108500; 0.176703;, - 0.129567; 0.088839;, - 0.129567; 0.130972;, - 0.153830; 0.135065;, - 0.153830; 0.084746;, - 0.087434; 0.130972;, - 0.087434; 0.088839;, - 0.063170; 0.084746;, - 0.063170; 0.135065;, - 0.087434; 0.088839;, - 0.129567; 0.088839;, - 0.153830; 0.084746;, - 0.063170; 0.084746;, - 0.129567; 0.130972;, - 0.087434; 0.130972;, - 0.063170; 0.135065;, - 0.153830; 0.135065;, - 0.063170; 0.084746;, - 0.153830; 0.084746;, - 0.175297; 0.109906;, - 0.041704; 0.109906;, - 0.153830; 0.135065;, - 0.063170; 0.135065;, - 0.041704; 0.109906;, - 0.175297; 0.109906;, - 0.063170; 0.135065;, - 0.063170; 0.084746;, - 0.041704; 0.109906;, - 0.153830; 0.084746;, - 0.153830; 0.135065;, - 0.175297; 0.109906;, - 0.490842; 0.110144;, - 0.317628; 0.180029;, - 0.317709; 0.182778;, - 0.490842; 0.110144;, - 0.316335; 0.034761;, - 0.314880; 0.036135;, - 0.495482; 0.109968;, - 0.312500; 0.031250;, - 0.312500; 0.187500;, - 0.495482; 0.109968;, - 0.312500; 0.187500;, - 0.312500; 0.031250;; - } // End of Cube UV coordinates - MeshMaterialList { // Cube material list - 1; - 28; - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0;; - Material Material { - 0.640000; 0.640000; 0.640000; 1.000000;; - 96.078431; - 0.500000; 0.500000; 0.500000;; - 0.000000; 0.000000; 0.000000;; - } - } // End of Cube material list - } // End of Cube mesh - } // End of Cube -} // End of Root diff --git a/games/default/files/throwing/textures/throwing_arrow_tnt.png b/games/default/files/throwing/textures/throwing_arrow_tnt.png deleted file mode 100644 index 48014d721..000000000 Binary files a/games/default/files/throwing/textures/throwing_arrow_tnt.png and /dev/null differ diff --git a/games/default/files/wool/README.txt b/games/default/files/wool/README.txt index 3750c3851..ee550837e 100644 --- a/games/default/files/wool/README.txt +++ b/games/default/files/wool/README.txt @@ -1,4 +1,4 @@ -MultiCraft mod: wool +MultiCraft game mod: wool ======================= See license.txt for license information. Authors of source code diff --git a/games/default/files/workbench/init.lua b/games/default/files/workbench/init.lua index 48012a3ec..cccb996c8 100644 --- a/games/default/files/workbench/init.lua +++ b/games/default/files/workbench/init.lua @@ -124,19 +124,19 @@ local formspecs = { image[0,1.52;1,1;workbench_anvil.png] list[context;tool;1.195,1.505;1,1;] image[4.04,1.55;1,1;hammer_layout.png] - list[context;hammer;4.065,1.505;1,1;] ]], + list[context;hammer;4.06,1.50;1,1;] ]], } local split_inv = minetest.create_detached_inventory("split", { - allow_move = function(_, _, _, _, _, count, _) - return count - end, - allow_put = function(_, _, _, stack, _) - return stack:get_count() / 2 - end, - allow_take = function(_, _, _, stack, _) - return stack:get_count() - end, + allow_move = function(_, _, _, _, _, count, _) + return count + end, + allow_put = function(_, _, _, stack, _) + return stack:get_count() / 2 + end, + allow_take = function(_, _, _, stack, _) + return stack:get_count() + end, }) split_inv:set_size("main", 1) @@ -170,10 +170,10 @@ end function workbench:set_formspec(meta, id) meta:set_string("formspec", "size[9,8.75;]".. - "bgcolor[#08080880;true]" .. - "background[-0.2,-0.26;9.41,9.49;formspec_workbench.png]" .. + "background[-0.2,-0.26;9.41,9.49;formspec_inventory.png]" .. + sfinv.gui_bg.. + sfinv.listcolors.. "image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]" .. - "listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]" .. "list[detached:split;main;8,3.14;1,1;]".. "list[current_player;main;0.01,4.51;9,3;9]".. "list[current_player;main;0.01,7.75;9,1;]".. diff --git a/games/default/files/xpanes/textures/xpanes_pane_half_glass_brown.png b/games/default/files/xpanes/textures/xpanes_pane_half_glass_brown.png index bf4e0ecc0..cf0034f5f 100644 Binary files a/games/default/files/xpanes/textures/xpanes_pane_half_glass_brown.png and b/games/default/files/xpanes/textures/xpanes_pane_half_glass_brown.png differ diff --git a/games/default/files/xpanes/textures/xpanes_pane_half_glass_purple.png b/games/default/files/xpanes/textures/xpanes_pane_half_glass_purple.png index 891b9718b..83214f5bb 100644 Binary files a/games/default/files/xpanes/textures/xpanes_pane_half_glass_purple.png and b/games/default/files/xpanes/textures/xpanes_pane_half_glass_purple.png differ