pax_global_header00006660000000000000000000000064121676063670014530gustar00rootroot0000000000000052 comment=0977bbc809151e507f78b176993339aa883308ca moreores-0977bbc809151e507f78b176993339aa883308ca/000077500000000000000000000000001216760636700200305ustar00rootroot00000000000000moreores-0977bbc809151e507f78b176993339aa883308ca/LICENSE.txt000066400000000000000000000013031216760636700216500ustar00rootroot00000000000000+---- GNU GPL v3 ----+ More Ores -- a Minetest mod that adds ores. Copyright (C) 2013 Calinou This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . moreores-0977bbc809151e507f78b176993339aa883308ca/README.txt000066400000000000000000000015701216760636700215310ustar00rootroot00000000000000Calinou's Minetest Mods ===================== Calinou's Mods for Minetest [http://minetest.net], a free and opensource Minecraft-like game. This Git repository is mostly made for servers; it allows easy updating. To install, just clone this repository somewhere, then copy the "calinou_mods" folder in the "mods/minetest" folder of Minetest's installation folder. Misc stuff ===================== All these mods' source codes, except More Ores are under the zlib/libpng license. More Ores is under the GNU GPLv3; the mods' textures are under the CC BY-SA 3.0 Unported. Mods' forum threads: More Blocks: http://minetest.net/forum/viewtopic.php?id=509 More Ores: http://minetest.net/forum/viewtopic.php?id=549 Map Tools: http://minetest.net/forum/viewtopic.php?id=1882 Doors+: http://minetest.net/forum/viewtopic.php?id=2059 Stairs+: http://minetest.net/forum/viewtopic.php?id=2092 moreores-0977bbc809151e507f78b176993339aa883308ca/_config.txt000066400000000000000000000026231216760636700222000ustar00rootroot00000000000000------------------------------------------------------------------------------ ------------------------------ CONFIGURATION --------------------------------- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -------- Change settings by changing the values after the "=". --------------- ------------------------------------------------------------------------------ -- Chunk sizes for ore generation (bigger = ore deposits are more scattered around) moreores_copper_chunk_size = 8 moreores_tin_chunk_size = 7 moreores_silver_chunk_size = 11 moreores_gold_chunk_size = 14 moreores_mithril_chunk_size = 11 -- Amount of ore per chunk (higher = bigger ore deposits) moreores_copper_ore_per_chunk = 8 moreores_tin_ore_per_chunk = 3 moreores_silver_ore_per_chunk = 4 moreores_gold_ore_per_chunk = 4 moreores_mithril_ore_per_chunk = 1 -- Minimal depths of ore generation (Y coordinate, 0 being sea level by default) moreores_copper_min_depth = -31000 moreores_tin_min_depth = -31000 moreores_silver_min_depth = -31000 moreores_gold_min_depth = -31000 moreores_mithril_min_depth = -31000 -- Maximal depths of ore generation (Y coordinate, 0 being sea level by default) moreores_copper_max_depth = 64 moreores_tin_max_depth = 8 moreores_silver_max_depth = -2 moreores_gold_max_depth = -64 moreores_mithril_max_depth = -512 moreores-0977bbc809151e507f78b176993339aa883308ca/depends.txt000066400000000000000000000000071216760636700222100ustar00rootroot00000000000000defaultmoreores-0977bbc809151e507f78b176993339aa883308ca/init.lua000066400000000000000000000247021216760636700215030ustar00rootroot00000000000000-- Load translation library if intllib is installed local S if (minetest.get_modpath("intllib")) then dofile(minetest.get_modpath("intllib").."/intllib.lua") S = intllib.Getter(minetest.get_current_modname()) else S = function ( s ) return s end end dofile(minetest.get_modpath("moreores").."/_config.txt") --[[ **** More Ores by Calinou with the help of MarkTraceur, GloopMaster and Kotolegokot Licensed under GPLv3+ for code and CC BY-SA for textures, see: http://www.gnu.org/licenses/gpl-3.0.html **** --]] -- Utility functions local default_stone_sounds = default.node_sound_stone_defaults() local stick = "default:stick" local recipes = { sword = {{"m"}, {"m"}, {stick}}, shovel = {{"m"}, {stick}, {stick}}, axe = {{"m", "m"}, {"m", stick}, {"" , stick}}, pick = {{"m", "m", "m"}, {"", stick, ""}, {"", stick, ""}} } local function get_tool_recipe(craftitem, toolname) local orig = recipes[toolname] local complete = {} for i, row in ipairs(orig) do local thisrow = {} for j, col in ipairs(row) do if col == "m" then table.insert(thisrow, craftitem) else table.insert(thisrow, col) end end table.insert(complete, thisrow) end return complete end local function add_ore(modname, mineral_name, oredef) local firstlet = string.upper(string.sub(mineral_name, 1, 1)) local description = firstlet .. string.sub(mineral_name, 2) local img_base = modname .. "_" .. mineral_name local toolimg_base = modname .. "_tool_"..mineral_name local tool_base = modname .. ":" local tool_post = "_" .. mineral_name local item_base = tool_base .. mineral_name local ingot = item_base .. "_ingot" local lumpitem = item_base .. "_lump" local ingotcraft = ingot if oredef.makes.ore then local mineral_img_base = modname .. "_mineral_"..mineral_name minetest.register_node(modname .. ":mineral_"..mineral_name, { description = S("%s Ore"):format(S(description)), tiles = {"default_stone.png^"..mineral_img_base..".png"}, groups = {cracky=3}, sounds = default_stone_sounds, drop = item_base .. "_lump 1" }) end if oredef.makes.block then local blockitem = item_base .. "_block" minetest.register_node(blockitem, { description = S("%s Block"):format(S(description)), tiles = { img_base .. "_block.png" }, groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, sounds = default_stone_sounds }) minetest.register_alias(mineral_name.."_block", blockitem) local ingotrow = {ingot, ingot, ingot} local nodeblockitem = "node " .. blockitem .. "" minetest.register_craft( { output = nodeblockitem, recipe = {ingotrow, ingotrow, ingotrow} }) minetest.register_craft( { output = "craft " .. ingot .. " 9", recipe = { { nodeblockitem } } }) end if oredef.makes.lump then minetest.register_craftitem(lumpitem, { description = S("%s Lump"):format(S(description)), inventory_image = img_base .. "_lump.png", on_place_on_ground = minetest.craftitem_place_item }) minetest.register_alias(mineral_name .. "_lump", lumpitem) if oredef.makes.ingot then minetest.register_craft({ type = "cooking", output = ingot, recipe = lumpitem }) end end if oredef.makes.ingot then minetest.register_craftitem(ingot, { description = S("%s Ingot"):format(S(description)), inventory_image = img_base .. "_ingot.png", on_place_on_ground = minetest.craftitem_place_item }) minetest.register_alias(mineral_name .. "_ingot", ingot) if oredef.makes.chest then minetest.register_craft( { output = "node default:chest_locked 1", recipe = { { ingotcraft }, { "node default:chest" } } }) wood = "node default:wood" woodrow = {wood,wood,wood} minetest.register_craft( { output = "node default:chest_locked 1", recipe = { woodrow, {wood, ingotcraft, wood}, woodrow } }) end end for toolname, tooldef in pairs(oredef.tools) do local tflet = string.upper(string.sub(toolname, 0, 1)) local tool_description = tflet..string.sub(toolname, 2) local tdef = { description = "", inventory_image = toolimg_base .. toolname .. ".png", tool_capabilities = { max_drop_level=3, groupcaps=tooldef } } if toolname == "sword" then tdef.full_punch_interval = oredef.punchint tdef.description = S("%s Sword"):format(S(description)) end if toolname == "pick" then tdef.description = S("%s Pickaxe"):format(S(description)) end if toolname == "axe" then tdef.description = S("%s Axe"):format(S(description)) end if toolname == "shovel" then tdef.description = S("%s Shovel"):format(S(description)) end local fulltoolname = tool_base .. toolname .. tool_post minetest.register_tool(fulltoolname, tdef) minetest.register_alias(toolname .. tool_post, fulltoolname) if oredef.makes.ingot then minetest.register_craft({ output = "craft " .. fulltoolname .. " 1", recipe = get_tool_recipe(item_base .. "_ingot", toolname) }) end end end -- Add everything (compact(ish)!) local modname = "moreores" local oredefs = { silver = { makes = {ore=true, block=true, lump=true, ingot=true, chest=true}, tools = { pick = { cracky={times={[1]=2.60, [2]=1.00, [3]=0.60}, uses=100, maxlevel=1} }, shovel = { crumbly={times={[1]=1.10, [2]=0.40, [3]=0.25}, uses=100, maxlevel=1} }, axe = { choppy={times={[1]=2.50, [2]=0.80, [3]=0.50}, uses=100, maxlevel=1}, fleshy={times={[2]=1.10, [3]=0.60}, uses=100, maxlevel=1} }, sword = { fleshy={times={[2]=0.70, [3]=0.30}, uses=100, maxlevel=1}, snappy={times={[2]=0.70, [3]=0.30}, uses=100, maxlevel=1}, choppy={times={[3]=0.80}, uses=100, maxlevel=0} } }, punchint = 1.0 }, tin = { makes = {ore=true, block=true, lump=true, ingot=true, chest=false}, tools = {} }, mithril = { makes = {ore=true, block=true, lump=true, ingot=true, chest=false}, tools = { pick = { cracky={times={[1]=2.25, [2]=0.55, [3]=0.35}, uses=200, maxlevel=1} }, shovel = { crumbly={times={[1]=0.70, [2]=0.35, [3]=0.20}, uses=200, maxlevel=1} }, axe = { choppy={times={[1]=1.75, [2]=0.45, [3]=0.45}, uses=200, maxlevel=1}, fleshy={times={[2]=0.95, [3]=0.30}, uses=200, maxlevel=1} }, sword = { fleshy={times={[2]=0.65, [3]=0.25}, uses=200, maxlevel=1}, snappy={times={[2]=0.70, [3]=0.25}, uses=200, maxlevel=1}, choppy={times={[3]=0.65}, uses=200, maxlevel=0} } }, punchint = 0.45 } } for orename,def in pairs(oredefs) do add_ore(modname, orename, def) end -- Copper rail (special node) minetest.register_craft({ output = "moreores:copper_rail 16", recipe = { {"moreores:copper_ingot", "", "moreores:copper_ingot"}, {"moreores:copper_ingot", "default:stick", "moreores:copper_ingot"}, {"moreores:copper_ingot", "", "moreores:copper_ingot"} } }) -- Bronze has some special cases, because it is made from copper and tin minetest.register_craft( { type = "shapeless", output = "moreores:bronze_ingot 3", recipe = { "moreores:tin_ingot", "moreores:copper_ingot", "moreores:copper_ingot", } }) -- Unique node minetest.register_node("moreores:copper_rail", { description = S("Copper Rail"), drawtype = "raillike", tiles = {"moreores_copper_rail.png", "moreores_copper_rail_curved.png", "moreores_copper_rail_t_junction.png", "moreores_copper_rail_crossing.png"}, inventory_image = "moreores_copper_rail.png", wield_image = "moreores_copper_rail.png", paramtype = "light", sunlight_propagates = true, walkable = false, selection_box = { type = "fixed", fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, }, groups = {bendy=2,snappy=1,dig_immediate=2,rail=1,connect_to_raillike=1}, mesecons = { effector = { action_on = function(pos, node) minetest.env:get_meta(pos):set_string("cart_acceleration", "0.5") end, action_off = function(pos, node) minetest.env:get_meta(pos):set_string("cart_acceleration", "0") end, }, }, }) local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, ore_per_chunk, height_min, height_max) if maxp.y < height_min or minp.y > height_max then return end local y_min = math.max(minp.y, height_min) local y_max = math.min(maxp.y, height_max) local volume = (maxp.x - minp.x + 1) * (y_max - y_min + 1) * (maxp.z - minp.z + 1) local pr = PseudoRandom(seed) local num_chunks = math.floor(chunks_per_volume * volume) local chunk_size = 3 if ore_per_chunk <= 4 then chunk_size = 2 end local inverse_chance = math.floor(chunk_size * chunk_size * chunk_size / ore_per_chunk) -- print(generate_ore num_chunks: ..dump(num_chunks)) for i=1,num_chunks do if (y_max-chunk_size+1 <= y_min) then return end local y0 = pr:next(y_min, y_max-chunk_size+1) if y0 >= height_min and y0 <= height_max then local x0 = pr:next(minp.x, maxp.x-chunk_size+1) local z0 = pr:next(minp.z, maxp.z-chunk_size+1) local p0 = {x=x0, y=y0, z=z0} for x1=0,chunk_size-1 do for y1=0,chunk_size-1 do for z1=0,chunk_size-1 do if pr:next(1,inverse_chance) == 1 then local x2 = x0+x1 local y2 = y0+y1 local z2 = z0+z1 local p2 = {x=x2, y=y2, z=z2} if minetest.env:get_node(p2).name == wherein then minetest.env:set_node(p2, {name=name}) end end end end end end end -- print(generate_ore done) end minetest.register_ore({ ore_type = "scatter", ore = "moreores:mineral_tin", wherein = "default:stone", clust_scarcity = moreores_tin_chunk_size * moreores_tin_chunk_size * moreores_tin_chunk_size, clust_num_ores = moreores_tin_ore_per_chunk, clust_size = moreores_tin_chunk_size, height_min = moreores_tin_min_depth, height_max = moreores_tin_max_depth }) minetest.register_ore({ ore_type = "scatter", ore = "moreores:mineral_silver", wherein = "default:stone", clust_scarcity = moreores_silver_chunk_size * moreores_silver_chunk_size * moreores_silver_chunk_size, clust_num_ores = moreores_silver_ore_per_chunk, clust_size = moreores_silver_chunk_size, height_min = moreores_silver_min_depth, height_max = moreores_silver_max_depth }) minetest.register_ore({ ore_type = "scatter", ore = "moreores:mineral_mithril", wherein = "default:stone", clust_scarcity = moreores_mithril_chunk_size * moreores_mithril_chunk_size * moreores_mithril_chunk_size, clust_num_ores = moreores_mithril_ore_per_chunk, clust_size = moreores_mithril_chunk_size, height_min = moreores_mithril_min_depth, height_max = moreores_mithril_max_depth }) print(S("[moreores] loaded.")) moreores-0977bbc809151e507f78b176993339aa883308ca/locale/000077500000000000000000000000001216760636700212675ustar00rootroot00000000000000moreores-0977bbc809151e507f78b176993339aa883308ca/locale/es.txt000066400000000000000000000005641216760636700224440ustar00rootroot00000000000000# Translation by kaeza [moreores] loaded. = [moreores] cargado. %s Ore = Mineral de %s %s Lump = Pepita de %s %s Ingot = Lingote de %s %s Block = Bloque de %s %s Pickaxe = Pico de %s %s Shovel = Pala de %s %s Axe = Hacha de %s %s Sword = Espada de %s Copper = cobre Tin = estaño Bronze = bronce Silver = plata Gold = oro Mithril = mitrilo Copper Rail = Riel de Cobre moreores-0977bbc809151e507f78b176993339aa883308ca/locale/fr.txt000066400000000000000000000005761216760636700224470ustar00rootroot00000000000000# Translation by Calinou [moreores] loaded. = [moreores] a été chargé. %s Ore = Minerai en %s %s Lump = Roche en %s %s Ingot = Lingot en %s %s Block = Bloc en %s %s Pickaxe = Pioche en %s %s Shovel = Pelle en %s %s Axe = Hache en %s %s Sword = Épée en %s Copper = cuivre Tin = étain Bronze = bronze Silver = argent Gold = or Mithril = mithril Copper Rail = Rail en cuivre moreores-0977bbc809151e507f78b176993339aa883308ca/old_init.lua000066400000000000000000000515071216760636700223440ustar00rootroot00000000000000--[[ **** More Ores by Calinou Old and "inefficient" version; use if the new version does not work for some reason. Outdated. Licensed under the zlib/libpng license, see LICENSE.txt for info. **** --]] -- Blocks minetest.register_node( "moreores:mineral_gold", { description = "Gold Ore", tile_images = { "default_stone.png^moreores_mineral_gold.png" }, is_ground_content = true, groups = {cracky=3}, sounds = default.node_sound_stone_defaults(), drop = 'craft "moreores:gold_lump" 1', }) minetest.register_node( "moreores:gold_block", { description = "Gold Block", tile_images = { "moreores_gold_block.png" }, is_ground_content = true, groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node( "moreores:mineral_silver", { description = "Silver Ore", tile_images = { "default_stone.png^moreores_mineral_silver.png" }, is_ground_content = true, groups = {cracky=3}, sounds = default.node_sound_stone_defaults(), drop = 'craft "moreores:silver_lump" 1', }) minetest.register_node( "moreores:silver_block", { description = "Silver Block", tile_images = { "moreores_silver_block.png" }, is_ground_content = true, groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node( "moreores:mineral_copper", { description = "Copper Ore", tile_images = { "default_stone.png^moreores_mineral_copper.png" }, is_ground_content = true, groups = {cracky=3}, sounds = default.node_sound_stone_defaults(), drop = 'craft "moreores:copper_lump" 1', }) minetest.register_node( "moreores:mineral_tin", { description = "Tin Ore", tile_images = { "default_stone.png^moreores_mineral_tin.png" }, is_ground_content = true, groups = {cracky=3}, sounds = default.node_sound_stone_defaults(), drop = 'craft "moreores:tin_lump" 1', }) minetest.register_node( "moreores:bronze_block", { description = "Bronze Block", tile_images = { "moreores_bronze_block.png" }, is_ground_content = true, groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node( "moreores:mineral_mithril", { description = "Mithril Ore", tile_images = { "default_stone.png^moreores_mineral_mithril.png" }, is_ground_content = true, groups = {cracky=3}, sounds = default.node_sound_stone_defaults(), drop = 'craft "moreores:mithril_lump" 1', }) minetest.register_node( "moreores:mithril_block", { description = "Mithril Block", tile_images = { "moreores_mithril_block.png" }, is_ground_content = true, groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("moreores:copper_rail", { description = "Copper Rail", drawtype = "raillike", tile_images = {"moreores_copper_rail.png", "moreores_copper_rail_curved.png", "moreores_copper_rail_t_junction.png", "moreores_copper_rail_crossing.png"}, inventory_image = "moreores_copper_rail.png", wield_image = "moreores_copper_rail.png", paramtype = "light", is_ground_content = true, walkable = false, selection_box = { type = "fixed", --fixed = }, groups = {bendy=2,snappy=1,dig_immediate=2}, }) -- Items minetest.register_craftitem( "moreores:gold_lump", { description = "Gold Lump", inventory_image = "moreores_gold_lump.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem( "moreores:gold_ingot", { description = "Gold Ingot", inventory_image = "moreores_gold_ingot.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem( "moreores:silver_lump", { description = "Silver Lump", inventory_image = "moreores_silver_lump.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem( "moreores:silver_ingot", { description = "Silver Ingot", inventory_image = "moreores_silver_ingot.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem( "moreores:copper_lump", { description = "Copper Lump", inventory_image = "moreores_copper_lump.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem( "moreores:copper_ingot", { description = "Copper Ingot", inventory_image = "moreores_copper_ingot.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem( "moreores:tin_lump", { description = "Tin Lump", inventory_image = "moreores_tin_lump.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem( "moreores:tin_ingot", { description = "Tin Ingot", inventory_image = "moreores_tin_ingot.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem( "moreores:bronze_ingot", { description = "Bronze Ingot", inventory_image = "moreores_bronze_ingot.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem( "moreores:mithril_lump", { description = "Mithril Lump", inventory_image = "moreores_mithril_lump.png", on_place_on_ground = minetest.craftitem_place_item, on_use = minetest.item_eat(2), }) minetest.register_craftitem( "moreores:mithril_ingot", { description = "Mithril Ingot", inventory_image = "moreores_mithril_ingot.png", on_place_on_ground = minetest.craftitem_place_item, }) -- Tools minetest.register_tool("moreores:pick_bronze", { description = "Bronze Pickaxe", inventory_image = "moreores_tool_bronzepick.png", tool_capabilities = { max_drop_level=3, groupcaps={ cracky={times={[1]=3.00, [2]=1.20, [3]=0.80}, uses=160, maxlevel=1} } }, }) minetest.register_tool("moreores:shovel_bronze", { description = "Bronze Shovel", inventory_image = "moreores_tool_bronzeshovel.png", tool_capabilities = { max_drop_level=3, groupcaps={ crumbly={times={[1]=1.50, [2]=0.50, [3]=0.30}, uses=160, maxlevel=1} } }, }) minetest.register_tool("moreores:axe_bronze", { description = "Bronze Axe", inventory_image = "moreores_tool_bronzeaxe.png", tool_capabilities = { max_drop_level=3, groupcaps={ choppy={times={[1]=3.00, [2]=1.00, [3]=0.60}, uses=160, maxlevel=1}, fleshy={times={[2]=1.30, [3]=0.70}, uses=160, maxlevel=1} } }, }) minetest.register_tool("moreores:sword_bronze", { description = "Bronze Sword", inventory_image = "moreores_tool_bronzesword.png", tool_capabilities = { full_punch_interval = 1.0, max_drop_level=3, groupcaps={ fleshy={times={[2]=0.80, [3]=0.40}, uses=160, maxlevel=1}, snappy={times={[2]=0.80, [3]=0.40}, uses=160, maxlevel=1}, choppy={times={[3]=0.90}, uses=160, maxlevel=0} } } }) minetest.register_tool("moreores:pick_silver", { description = "Silver Pickaxe", inventory_image = "moreores_tool_silverpick.png", tool_capabilities = { max_drop_level=3, groupcaps={ cracky={times={[1]=2.60, [2]=1.00, [3]=0.60}, uses=100, maxlevel=1} } }, }) minetest.register_tool("moreores:shovel_silver", { description = "Silver Shovel", inventory_image = "moreores_tool_silvershovel.png", tool_capabilities = { max_drop_level=3, groupcaps={ crumbly={times={[1]=1.10, [2]=0.40, [3]=0.25}, uses=100, maxlevel=1} } }, }) minetest.register_tool("moreores:axe_silver", { description = "Silver Axe", inventory_image = "moreores_tool_silveraxe.png", tool_capabilities = { max_drop_level=3, groupcaps={ choppy={times={[1]=2.50, [2]=0.80, [3]=0.50}, uses=100, maxlevel=1}, fleshy={times={[2]=1.10, [3]=0.60}, uses=100, maxlevel=1} } }, }) minetest.register_tool("moreores:sword_silver", { description = "Silver Sword", inventory_image = "moreores_tool_silversword.png", tool_capabilities = { full_punch_interval = 1.0, max_drop_level=3, groupcaps={ fleshy={times={[2]=0.70, [3]=0.30}, uses=100, maxlevel=1}, snappy={times={[2]=0.70, [3]=0.30}, uses=100, maxlevel=1}, choppy={times={[3]=0.80}, uses=100, maxlevel=0} } } }) minetest.register_tool("moreores:pick_gold", { description = "Golden Pickaxe", inventory_image = "moreores_tool_goldpick.png", tool_capabilities = { max_drop_level=3, groupcaps={ cracky={times={[1]=2.00, [2]=0.50, [3]=0.30}, uses=70, maxlevel=1} } }, }) minetest.register_tool("moreores:shovel_gold", { description = "Golden Shovel", inventory_image = "moreores_tool_goldshovel.png", tool_capabilities = { max_drop_level=3, groupcaps={ crumbly={times={[1]=0.60, [2]=0.25, [3]=0.15}, uses=70, maxlevel=1} } }, }) minetest.register_tool("moreores:axe_gold", { description = "Golden Axe", inventory_image = "moreores_tool_goldaxe.png", tool_capabilities = { max_drop_level=3, groupcaps={ choppy={times={[1]=1.70, [2]=0.40, [3]=0.35}, uses=70, maxlevel=1}, fleshy={times={[2]=0.90, [3]=0.30}, uses=70, maxlevel=1} } }, }) minetest.register_tool("moreores:sword_gold", { description = "Golden Sword", inventory_image = "moreores_tool_goldsword.png", tool_capabilities = { full_punch_interval = 0.85, max_drop_level=3, groupcaps={ fleshy={times={[2]=0.60, [3]=0.20}, uses=70, maxlevel=1}, snappy={times={[2]=0.60, [3]=0.20}, uses=70, maxlevel=1}, choppy={times={[3]=0.65}, uses=70, maxlevel=0} } } }) minetest.register_tool("moreores:pick_mithril", { description = "Mithril Pickaxe", inventory_image = "moreores_tool_mithrilpick.png", tool_capabilities = { max_drop_level=3, groupcaps={ cracky={times={[1]=2.25, [2]=0.55, [3]=0.35}, uses=200, maxlevel=1} } }, }) minetest.register_tool("moreores:shovel_mithril", { description = "Mithril Shovel", inventory_image = "moreores_tool_mithrilshovel.png", tool_capabilities = { max_drop_level=3, groupcaps={ crumbly={times={[1]=0.70, [2]=0.35, [3]=0.20}, uses=200, maxlevel=1} } }, }) minetest.register_tool("moreores:axe_mithril", { description = "Mithril Axe", inventory_image = "moreores_tool_mithrilaxe.png", tool_capabilities = { max_drop_level=3, groupcaps={ choppy={times={[1]=1.75, [2]=0.45, [3]=0.45}, uses=200, maxlevel=1}, fleshy={times={[2]=0.95, [3]=0.30}, uses=200, maxlevel=1} } }, }) minetest.register_tool("moreores:sword_mithril", { description = "Mithril Sword", inventory_image = "moreores_tool_mithrilsword.png", tool_capabilities = { full_punch_interval = 0.45, max_drop_level=3, groupcaps={ fleshy={times={[2]=0.65, [3]=0.25}, uses=200, maxlevel=1}, snappy={times={[2]=0.70, [3]=0.25}, uses=200, maxlevel=1}, choppy={times={[3]=0.65}, uses=200, maxlevel=0} } } }) -- Crafting minetest.register_craft({ output = 'moreores:copper_rail 15', recipe = { {'moreores:copper_ingot', '', 'moreores:copper_ingot'}, {'moreores:copper_ingot', 'default:stick', 'moreores:copper_ingot'}, {'moreores:copper_ingot', '', 'moreores:copper_ingot'}, } }) minetest.register_craft( { output = 'craft "moreores:pick_bronze" 1', recipe = { { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"' }, { '', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:shovel_bronze" 1', recipe = { { '', 'craft "moreores:bronze_ingot"', '' }, { '', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:axe_bronze" 1', recipe = { { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', '' }, { 'craft "moreores:bronze_ingot"', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:sword_bronze" 1', recipe = { { '', 'craft "moreores:bronze_ingot"', '' }, { '', 'craft "moreores:bronze_ingot"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:pick_silver" 1', recipe = { { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"' }, { '', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:shovel_silver" 1', recipe = { { '', 'craft "moreores:silver_ingot"', '' }, { '', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:axe_silver" 1', recipe = { { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', '' }, { 'craft "moreores:silver_ingot"', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:sword_silver" 1', recipe = { { '', 'craft "moreores:silver_ingot"', '' }, { '', 'craft "moreores:silver_ingot"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:pick_gold" 1', recipe = { { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"' }, { '', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:shovel_gold" 1', recipe = { { '', 'craft "moreores:gold_ingot"', '' }, { '', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:axe_gold" 1', recipe = { { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', '' }, { 'craft "moreores:gold_ingot"', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:sword_gold" 1', recipe = { { '', 'craft "moreores:gold_ingot"', '' }, { '', 'craft "moreores:gold_ingot"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:pick_mithril" 1', recipe = { { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"' }, { '', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:shovel_mithril" 1', recipe = { { '', 'craft "moreores:mithril_ingot"', '' }, { '', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:axe_mithril" 1', recipe = { { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', '' }, { 'craft "moreores:mithril_ingot"', 'craft "Stick"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:sword_mithril" 1', recipe = { { '', 'craft "moreores:mithril_ingot"', '' }, { '', 'craft "moreores:mithril_ingot"', '' }, { '', 'craft "Stick"', '' }, } }) minetest.register_craft( { output = 'craft "moreores:bronze_ingot"', recipe = { { 'craft "moreores:tin_ingot"'}, { 'craft "moreores:copper_ingot"'}, } }) minetest.register_craft( { output = 'craft "moreores:bronze_ingot"', recipe = { { 'craft "moreores:copper_ingot"'}, { 'craft "moreores:tin_ingot"'}, } }) minetest.register_craft( { output = 'node "moreores:gold_block" 1', recipe = { { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"' }, { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"' }, { 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"', 'craft "moreores:gold_ingot"' }, } }) minetest.register_craft( { output = 'craft "moreores:gold_ingot" 9', recipe = { { 'node "moreores:gold_block"' }, } }) minetest.register_craft( { output = 'node "moreores:silver_block" 1', recipe = { { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"' }, { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"' }, { 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"', 'craft "moreores:silver_ingot"' }, } }) minetest.register_craft( { output = 'craft "moreores:silver_ingot" 9', recipe = { { 'node "moreores:silver_block"' }, } }) minetest.register_craft( { output = 'node "moreores:bronze_block" 1', recipe = { { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"' }, { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"' }, { 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"', 'craft "moreores:bronze_ingot"' }, } }) minetest.register_craft( { output = 'craft "moreores:bronze_ingot" 9', recipe = { { 'node "moreores:bronze_block"' }, } }) minetest.register_craft( { output = 'node "moreores:mithril_block" 1', recipe = { { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"' }, { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"' }, { 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"', 'craft "moreores:mithril_ingot"' }, } }) minetest.register_craft( { output = 'craft "moreores:mithril_ingot" 9', recipe = { { 'node "moreores:mithril_block"' }, } }) -- Smelting minetest.register_craft({ type = "cooking", output = "moreores:gold_ingot", recipe = "moreores:gold_lump", }) minetest.register_craft({ type = "cooking", output = "moreores:silver_ingot", recipe = "moreores:silver_lump", }) minetest.register_craft({ type = "cooking", output = "moreores:tin_ingot", recipe = "moreores:tin_lump", }) minetest.register_craft({ type = "cooking", output = "moreores:copper_ingot", recipe = "moreores:copper_lump", }) minetest.register_craft({ type = "cooking", output = "moreores:mithril_ingot", recipe = "moreores:mithril_lump", }) minetest.register_craft( { output = 'node "default:chest_locked" 1', recipe = { { 'craft "moreores:bronze_ingot"' }, { 'node "default:chest"' }, } }) minetest.register_craft( { output = 'node "default:chest_locked" 1', recipe = { { 'craft "moreores:silver_ingot"' }, { 'node "default:chest"' }, } }) minetest.register_craft( { output = 'node "default:chest_locked" 1', recipe = { { 'craft "moreores:gold_ingot"' }, { 'node "default:chest"' }, } }) minetest.register_craft( { output = 'node "default:chest_locked" 1', recipe = { { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, { 'node "default:wood"', 'craft "moreores:bronze_ingot"', 'node "default:wood"' }, { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, } }) minetest.register_craft( { output = 'node "default:chest_locked" 1', recipe = { { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, { 'node "default:wood"', 'craft "moreores:bronze_ingot"', 'node "default:wood"' }, { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, } }) minetest.register_craft( { output = 'node "default:chest_locked" 1', recipe = { { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, { 'node "default:wood"', 'craft "moreores:silver_ingot"', 'node "default:wood"' }, { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, } }) minetest.register_craft( { output = 'node "default:chest_locked" 1', recipe = { { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, { 'node "default:wood"', 'craft "moreores:gold_ingot"', 'node "default:wood"' }, { 'node "default:wood"', 'node "default:wood"', 'node "default:wood"' }, } }) -- Ore generation local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, ore_per_chunk, height_min, height_max) if maxp.y < height_min or minp.y > height_max then return end local y_min = math.max(minp.y, height_min) local y_max = math.min(maxp.y, height_max) local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) local pr = PseudoRandom(seed) local num_chunks = math.floor(chunks_per_volume * volume) local chunk_size = 3 if ore_per_chunk <= 4 then chunk_size = 2 end local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk) --print("generate_ore num_chunks: "..dump(num_chunks)) for i=1,num_chunks do if (y_max-chunk_size+1 <= y_min) then return end local y0 = pr:next(y_min, y_max-chunk_size+1) if y0 >= height_min and y0 <= height_max then local x0 = pr:next(minp.x, maxp.x-chunk_size+1) local z0 = pr:next(minp.z, maxp.z-chunk_size+1) local p0 = {x=x0, y=y0, z=z0} for x1=0,chunk_size-1 do for y1=0,chunk_size-1 do for z1=0,chunk_size-1 do if pr:next(1,inverse_chance) == 1 then local x2 = x0+x1 local y2 = y0+y1 local z2 = z0+z1 local p2 = {x=x2, y=y2, z=z2} if minetest.env:get_node(p2).name == wherein then minetest.env:set_node(p2, {name=name}) end end end end end end end --print("generate_ore done") end minetest.register_on_generated(function(minp, maxp, seed) generate_ore("moreores:mineral_copper", "default:stone", minp, maxp, seed+16, 1/11/11/11, 8, -31000, 64) generate_ore("moreores:mineral_tin", "default:stone", minp, maxp, seed+17, 1/8/8/8, 2, -31000, 8) generate_ore("moreores:mineral_silver", "default:stone", minp, maxp, seed+18, 1/10/10/10, 5, -31000, 2) generate_ore("moreores:mineral_gold", "default:stone", minp, maxp, seed+19, 1/12/12/12, 5, -31000, -64) generate_ore("moreores:mineral_mithril", "default:stone", minp, maxp, seed+20, 1/6/6/6, 1, -31000, -512) end)moreores-0977bbc809151e507f78b176993339aa883308ca/textures/000077500000000000000000000000001216760636700217135ustar00rootroot00000000000000moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_bronze_block.png000066400000000000000000000004251216760636700270060ustar00rootroot00000000000000PNG  IHDRabKGD pHYs+tIME IDAT8˥R1 t-dW ޥVYŐ8'|7j)C}?XGM1e&??)"J;Δ`$} F`<3/@@B,лo4b1/ qD5}1eFNϢbzWPmU*IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_bronze_ingot.png000066400000000000000000000005251216760636700270350ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME'Z)IDAT8呿JP[Ci6K]:H&羅C&C(:ـh/F kly[I\IOG ֫oq$ْeզdKHƿm|pQH+p[Lܛϩr G60noK- %hf7EfC?gX;" IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_copper_block.png000066400000000000000000000003711216760636700267770ustar00rootroot00000000000000PNG  IHDRabKGD pHYs+tIME9$"IDAT8cq| oRŇ "v.>a M qijbm'h! =H/a"]7N52ٌdiLd&EQ E[$IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_copper_ingot.png000066400000000000000000000005521216760636700270260ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME0-rlIDAT8呿NPIYY Lp7`vwbe *ىh%jkxs.LuU>k=Yo= CN.E`]/"\*q08IowD>>5Djp4F ǍS?"2hcoy0~V"WD[kp4@ TUDm5eOw?[0oAn).7x_ecAIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_copper_lump.png000066400000000000000000000005761216760636700266710ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME  IDAT8ݒ;N@?'~4i '@HPPRC4TTq I$WBڻY"Jf_?_"д]?q~epuz`/_tƧ-:fҙ,b(6z_O}IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_copper_rail_crossing.png000066400000000000000000000011051216760636700305370ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs  tIME "+oIDAT8˥KSq?, .2++!Z! / 4$Bcu1@$JX+%E|C#blg]̾X yؚtJzf7*s~;C21еe6Wj&x?43j'w4\9s@&otp ,'_?)m!K15% Ek8/xLr\ w˅;9e|Zp.RE<|^nzDǎ!Կp:HdDRoV[km}&ZkUGcR,{%¡ %m=<%ɷ*_tDžK+XA6?7 5}YZii=UbcoQ+'pݎ-~9(_^_ͧq5uP{s5A|[fG{$s(XK`&wN%vY0m*RatCC`ls\Gp+.~Ï|!̢}tIhf$:O5 W"{FlFc_s}XrSIAzδ1<~ fqbIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_copper_rail_t_junction.png000066400000000000000000000011011216760636700310600ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs  tIME "RB#IDAT8˕kSaoK*vtPYA@:%jt!84ZApsBnj[zs?{k޶}9{/a)guPH1igBb룀@@B@\8ZtXJ?* 7fi4ӳ[6il'4pR;f/";BVޱ]UzQB+jU}r`6z;Ζ:RpyHĢȁ *;zlS!cNؘ?gyx9-rTy'׏ ,=TV1HD ΨղWiqC$Hw{/Lun߹*ImΤwa>ɄA%==?6*q-Ɍ>BӻT&՚U~?11l`?:ðZ*'IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_gold_block.png000066400000000000000000000004251216760636700264340ustar00rootroot00000000000000PNG  IHDRabKGD pHYs+tIME"C!IDAT8c?כ _#J1j%p>T6EP4].ERA8]blNg(% M3z3_n ?_o6n b"6 @ .dltÁBC3U+12~BQv U" IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_gold_ingot.png000066400000000000000000000005461216760636700264660ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIMEcIDAT8ѡnPfElrAaH'@05 dTh `-{;9/nj Y*/h1A\(sxUkEGnrJʄT:n>aztU)=8ҁ`Q(&Wмhݜ@&菜 V4^a|2`PNf/C_%V~q;I ds׭S,QIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_gold_lump.png000066400000000000000000000005541216760636700263220ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME IDAT8ݒ=N@?/)F@HM8܁ '. 4Q$L.XVJnf3{x{<]L`rmN,'0u 狎^dB*X>gVej̐fN2ZO>>*K0_<(@$%e? KڒfF+q}xwu>u֠wrYm μJ]7S3q?IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_mineral_copper.png000066400000000000000000000004021216760636700273270ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME;9IDAT8c`6vBHO_+12000l k} Ȋ"9tŁT~{ïۻ{ΏnE`|XX `0Cۏ?ԍf#WpQIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_mineral_gold.png000066400000000000000000000003361216760636700267720ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIMEyX kIDAT8c`6~} 7s SAX Bu<,%o rBg@?~ 7t #>Caa;UA e0Q:IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_mineral_mithril.png000066400000000000000000000003561216760636700275170ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs  tIME0-nIDAT8c`:nϠn2pN?ÿ5 KX`:`bE#_u;Q  #Vǂv\1È7ԍf#ک9.Q6IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_mineral_silver.png000066400000000000000000000004031216760636700273440ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME 2DIDAT8c`68tu,4~Мz͇w(` ^@\(o?~SWaH`|X8tXTb5W Eo?~P7)NHVԚ\d IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_mineral_tin.png000066400000000000000000000003761216760636700266430ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs  tIME  F ~IDAT8c`6w}w4r3Xɛ32000{x??Q @&9tŽG {x X 0bs>z,{?a`ǟԍf#zE1v"IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_mithril_block.png000066400000000000000000000011461216760636700271600ustar00rootroot00000000000000PNG  IHDRh6 pHYs  tIME 7IDAT(=MnA_xl'$&[p' ?ČX®}Os~@$5UZsc64(\]}yz2O1^W"261^r`9K9vp^s S!v{֤1zսDHϯf#!)iWd"!w;’UlVDD$1^|*QjMZJ߶`" ᔈ>sӶax`mlTJy! FߊD)`6j)Ȭ0<݉XPSzK9tcHiS m;KEfjǀxܚ !8>HtWf[I`1+`!I{"gF+ɓmG"isB$oy2U;LrPJ9Lyu)YSX4X+¬'$8TdD<>eJ8 !,CX4.3L6_IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_mithril_ingot.png000066400000000000000000000005321216760636700272040ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME"IDAT81 @EQ(X+z -JXQ\IZh$_{; Y"<n'_"W`Y[Z,2E" &DcuOS#0M8>R0J-(v>hDCb1}DzB37y^3 RK\w,bK4͡T.0\kE), ߨ)B&AM)/ j`ӯ^[Tz&EVr9=lw^_ yU%<IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_silver_ingot.png000066400000000000000000000005361216760636700270440ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME'wIDAT81j0? QsY|,H 8K h1ƛ:u|{x?1n`:XQ9EC!\Yxkjmӳ0UNjIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tin_ingot.png000066400000000000000000000005511216760636700263270ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIMEIDAT8呱jP D8tN\}'(|.nWC*:Ր S/4<@sJ60/ <*X*eiM&AkޓH8`5(@N,۽Y|nEE+XH z4˘E`L'{ A*wYR϶V0C  l8 phg~IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tin_lump.png000066400000000000000000000005511216760636700261640ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIMEIDAT8ݒN0`e˳uE*{:tʌT־L"&ĵ6J,瑜#k(j4]Қx\4ZJ4=%ىjoڮ]JR((fq! \vbbB`@[r9o4yzp P14m[^S9OerL&| }òJIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_bronzeaxe.png000066400000000000000000000003401216760636700273630ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs  tIME /Z`IDAT8c`I|L4!4,L=F ````WɊb36CzA7G*8ofOfoT3=5S 75IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_bronzepick.png000066400000000000000000000004361216760636700275420ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs+tIME .IDAT8c`0'iG̻H0U?Qᔀl6: tCk򟁁VC Oٿ>Bc"dӧO(^k1&3Lj&ڪwRO(f``"f$f\dٌ( WIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_bronzeshovel.png000066400000000000000000000003751216760636700301160ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs+tIME  0l<}IDAT8c`0p;aB#= 9E~ Ȁ0"kfQ&ހX[ȚEsv *83000(BL2M&2xRpoFz:y}QIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_goldaxe.png000066400000000000000000000003411216760636700270120ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs  tIME } gywEO>ew;C @ӝ8c pa"d3) 讀y\(q5Sd3H32UϷ+XIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_goldshovel.png000066400000000000000000000004001216760636700275310ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs+tIME -?IDAT8c`0pV5;x}pOw r5BDfo!~)d\xW1X[0M蚉*83000|CL2qy])IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_goldsword.png000066400000000000000000000004231216760636700273740ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs+tIME IDAT8c`0!΃?h<Wn0H#.@W%p#%0V忓k&jfJ0G-IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_mithrilpick.png000066400000000000000000000004271216760636700277130ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs+tIME\XIDAT8c`0YSȜa$mKamiCAn! U}VC O"8?1ӧ }gdR5Ƙ 0C\DfbA'%c &mF Llƕ>HL" hMIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_mithrilshovel.png000066400000000000000000000003621216760636700302630ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs+tIME`rIDAT8c`0R:?t-#iHgc``e`"v,H0"kf%ހX[(Dgv*8!NORh&j2(23IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_mithrilsword.png000066400000000000000000000004501216760636700301170ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs+tIMEk;\IDAT8c`0C?<#ɚBL$k /k~yF 4c ь=SՌ "Nd`f.pRfpX&JP3~/]y -- 1b'%*Q( 3aO^"&;Rn?IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_silveraxe.png000066400000000000000000000003321216760636700273710ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs  tIME  t%ZIDAT8c`K3[0  zD]1.#Gϐ*8OZ9?ٚɊQL)ř<0IENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_silverpick.png000066400000000000000000000004421216760636700275440ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs+tIME 8"nIDAT8c`0o],aH0̱ |DSbp 43 B7*b5z)9&B?}a߽NXc01!Ȯ`"V3 V忓B16&Q6J$kf @f(X9pIENDB`moreores-0977bbc809151e507f78b176993339aa883308ca/textures/moreores_tool_silvershovel.png000066400000000000000000000003761216760636700301240ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs+tIME "!~IDAT8c`0vF9$jgt7e`x##9IŽ#D$T5sA&tDX[NJ.ݾ(BL2|eRk55EXIyˎm fd7捔 DIENDB`