Compare commits

..

No commits in common. "master" and "nalc-1.0" have entirely different histories.

47 changed files with 389 additions and 853 deletions

View File

@ -1,13 +0,0 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.{lua,luacheckrc}]
indent_style = tab
indent_size = 4

View File

@ -1,22 +0,0 @@
name: build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- run: |
sudo apt-get update -qq
sudo apt-get install -qqq luarocks
- name: Install LuaCheck and pre-commit
run: |
pip3 install pre-commit
luarocks install --local luacheck
- name: Run LuaCheck using pre-commit
run: |
export PATH="$HOME/.luarocks/bin:$PATH"
pre-commit run --all-files

View File

@ -1,34 +0,0 @@
std = "lua51+minetest"
unused_args = false
allow_defined_top = true
max_line_length = 90
stds.minetest = {
read_globals = {
"DIR_DELIM",
"minetest",
"core",
"dump",
"vector",
"nodeupdate",
"VoxelManip",
"VoxelArea",
"PseudoRandom",
"ItemStack",
"default",
table = {
fields = {
"copy",
},
},
}
}
read_globals = {
"carts",
"farming",
"frame",
"mg",
"toolranks",
"mcl_sounds"
}

View File

@ -1,15 +0,0 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
hooks:
- id: fix-byte-order-marker
- id: end-of-file-fixer
- id: trailing-whitespace
- id: mixed-line-ending
args: [--fix=lf]
- repo: https://github.com/Calinou/pre-commit-luacheck
rev: v1.0.0
hooks:
- id: luacheck

View File

@ -7,72 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [Unreleased] ## [Unreleased]
### Changed
- [Tweaked ore generation to better fit Minetest's new defaults.](https://github.com/minetest-mods/moreores/pull/45)
- Three layers (two underground and one high air/space) are now used instead of just one layer.
- Chunk size is no longer used as clust size anymore. Clust sizes are usually
just 3 nodes and not the whole area ("chunk"), where the ores are generated.
- Adjusted several default values.
- Mithril is now generated *below* diamond. Note that there was a change
in Minetest 5.0.0 where most ore generation was shifted to much lower
altitude (shifting diamond generation altitude below mithril generation altitude).
- The mithril ores are now also grouped together and not just found as a
single node in one chunk.
- The same overall ore density is retained in the deep layer.
- Switch to GitHub Actions.
- Benefits include faster responses, easier management, and more.
## [2.1.0] - 2021-06-28
### Added ### Added
- More Ores tools now have [`toolranks`](https://github.com/lisacvuk/minetest-toolranks) support. - Brazilian translation.
- Hungarian translation.
### Changed
- Migrated translations to the
[Minetest translation file format](https://rubenwardy.com/minetest_modding_book/lua_api.html#translation-file-format).
## [2.0.0] - 2019-11-25
### Added
- More Ores nodes/items/tools can now be placed in item frames
from the [`frame`](https://github.com/minetest-mods/frame) mod.
- Polish translation.
### Changed
- The minimum supported Minetest version is now 5.0.0.
- Copper rails are now registered using functions from the `carts` mod,
making them interoperate seamlessly with default rails.
- Copper rails can no longer be placed in the air.
## [1.1.0] - 2019-03-23
### Added
- Brazilian and Dutch translations.
### Changed
- Ores are now slower to mine and cannot be mined using wooden tools anymore.
- Updated intllib support to avoid using deprecated functions.
### Deprecated
- Deprecated hoes to follow Minetest Game's deprecation of hoes
made of "rare" materials.
- Hoes are still available in existing worlds, but they
cannot be crafted anymore.
### Fixed ### Fixed
- Hoes now use the `farming` mod's handling function and can no longer
turn desert sand into dirt.
- Handle tin which is now included in [Minetest Game](https://github.com/minetest/minetest_game). - Handle tin which is now included in [Minetest Game](https://github.com/minetest/minetest_game).
If it is detected, then the tin nodes and items from More Ores won't be registered. If it is detected, then the tin nodes and items from More Ores won't be registered.
@ -80,7 +20,4 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Initial versioned release. - Initial versioned release.
[Unreleased]: https://github.com/minetest-mods/moreores/compare/v2.1.0...HEAD [Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v1.0.0...HEAD
[2.1.0]: https://github.com/minetest-mods/moreores/compare/v2.0.0...v2.1.0
[2.0.0]: https://github.com/minetest-mods/moreores/compare/v1.1.0...v2.0.0
[1.1.0]: https://github.com/minetest-mods/moreores/compare/v1.0.0...v1.1.0

View File

@ -1,6 +1,6 @@
# zlib license # zlib license
Copyright © 2011-2020 Hugo Locurcio and contributors Copyright (c) 2011-2017 Hugo Locurcio and contributors
**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.** **This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.**

View File

@ -12,13 +12,15 @@ world block sandbox game.
To install More Ores, clone this Git repository into your Minetest's `mods/` To install More Ores, clone this Git repository into your Minetest's `mods/`
directory: directory:
```bash ```
git clone https://github.com/minetest-mods/moreores.git git clone https://github.com/minetest-mods/moreores.git
``` ```
You can also You can also
[download a ZIP archive](https://github.com/minetest-mods/moreores/archive/master.zip) [download a ZIP archive](https://github.com/minetest-mods/moreores/archive/master.zip)
of More Ores. of More Ores. If you do so, you will need to extract the archive, then rename
the resulting folder from `moreores-master` to `moreores` this is
**absolutely** necessary to do, else, it won't work!
### Enable the mod ### Enable the mod
@ -41,30 +43,29 @@ This is the easiest way to enable More Ores when playing in singleplayer
This is the recommended way to enable the mod on a server without using a GUI. This is the recommended way to enable the mod on a server without using a GUI.
1. Make sure Minetest is not currently running (otherwise, it will overwrite 1. Make sure Minetest is not currently running (else, it will overwrite
the changes when exiting). the changes when exiting).
2. Open the world's `world.mt` file using a text editor. 2. Open the world's `world.mt` file using a text editor.
3. Add the following line at the end of the file: 3. Add the following line at the end of the file:
```text ```
load_mod_moreores = true load_mod_moreores = true
``` ```
If the line is already present in the file, then replace `false` with `true` If the line is already present in the file, then replace `false` with `true` on that line.
on that line.
4. Save the file, then start a game on the world you enabled More Ores on. 4. Save the file, then start a game on the world you enabled More Ores on.
5. More Ores should now be running on your world. 5. More Ores should now be running on your world.
## Version compatibility ## Version compatibility
More Ores is currently primarily tested with Minetest 5.1.0. More Ores is currently primarily tested with Minetest 0.4.16.
It may or may not work with newer or older versions. Issues arising in older It may or may not work with newer or older versions. Issues arising in older
versions than 5.0.0 will generally not be fixed. versions than 0.4.16 will generally not be fixed.
## License ## License
Copyright © 2011-2020 Hugo Locurcio and contributors Copyright © 2011-2017 Hugo Locurcio and contributors
- More Ores code is licensed under the zlib license, see - More Ores code is licensed under the zlib license, see
[`LICENSE.md`](LICENSE.md) for details. [`LICENSE.md`](LICENSE.md) for details.

View File

@ -7,94 +7,21 @@
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
-- Chunk sizes for ore generation (bigger = ore deposits are more scattered around) -- Chunk sizes for ore generation (bigger = ore deposits are more scattered around)
-- Tin moreores.tin_chunk_size = 7
moreores.tin_chunk_size_high = 10 moreores.silver_chunk_size = 11
moreores.tin_chunk_size = 13 moreores.mithril_chunk_size = 11
moreores.tin_chunk_size_deep = 10
-- Silver
moreores.silver_chunk_size_high = 11
moreores.silver_chunk_size = 13
moreores.silver_chunk_size_deep = 11
-- Mithril
moreores.mithril_chunk_size_high = 19
moreores.mithril_chunk_size = 21
moreores.mithril_chunk_size_deep = 19
-- Amount of ore per chunk (higher = bigger ore deposits) -- Amount of ore per chunk (higher = bigger ore deposits)
-- Tin moreores.tin_ore_per_chunk = 3
moreores.tin_ore_per_chunk_high = 5 moreores.silver_ore_per_chunk = 4
moreores.tin_ore_per_chunk = 4 moreores.mithril_ore_per_chunk = 1
moreores.tin_ore_per_chunk_deep = 5
-- Silver -- Minimal depths of ore generation (Y coordinate, 0 being sea level by default)
moreores.silver_ore_per_chunk_high = 4 moreores.tin_min_depth = -31000
moreores.silver_ore_per_chunk = 2 moreores.silver_min_depth = -31000
moreores.silver_ore_per_chunk_deep = 4 moreores.mithril_min_depth = -31000
-- Mithril -- Maximal depths of ore generation (Y coordinate, 0 being sea level by default)
moreores.mithril_ore_per_chunk_high = 3 moreores.tin_max_depth = 8
moreores.mithril_ore_per_chunk = 2 moreores.silver_max_depth = -2
moreores.mithril_ore_per_chunk_deep = 4 moreores.mithril_max_depth = -512
-- Clust sizes for ore generation (bigger = ores in ore deposits are less bound together)
-- Tin
moreores.tin_clust_size_high = 3
moreores.tin_clust_size = 3
moreores.tin_clust_size_deep = 3
-- Silver
moreores.silver_clust_size_high = 3
moreores.silver_clust_size = 3
moreores.silver_clust_size_deep = 3
-- Mithril
moreores.mithril_clust_size_high = 3
moreores.mithril_clust_size = 3
moreores.mithril_clust_size_deep = 3
if minetest.get_modpath("mcl_core") then
-- Example adjustments for MineClone2
moreores.tin_max_depth_high = 0
moreores.tin_min_depth_high = -10
moreores.tin_max_depth = -11
moreores.tin_min_depth = -57
-- Similar adjustments for silver and mithril
moreores.silver_max_depth_high = 0
moreores.silver_min_depth_high = -10
moreores.silver_max_depth = -11
moreores.silver_min_depth = -57
moreores.mithril_max_depth_high = 0
moreores.mithril_min_depth_high = -20
moreores.mithril_max_depth = -21
moreores.mithril_min_depth = -57
else
-- Maximal and minimal depths of ore generation (Y coordinate, 0 being sea level by default)
-- Tin
moreores.tin_max_depth_high = 31000
moreores.tin_min_depth_high = 1025
moreores.tin_max_depth = -64 -- For v6 mapgen, -32 fits better
moreores.tin_min_depth = -127
moreores.tin_max_depth_deep = -128
moreores.tin_min_depth_deep = -31000
-- Silver
moreores.silver_max_depth_high = 31000
moreores.silver_min_depth_high = 1025
moreores.silver_max_depth = -64 -- For v6 mapgen, -32 fits better
moreores.silver_min_depth = -127 -- For v6 mapgen, -63 fits better
moreores.silver_max_depth_deep = -128 -- For v6 mapgen, -64 fits better
moreores.silver_min_depth_deep = -31000
-- Mithril
moreores.mithril_max_depth_high = 31000
moreores.mithril_min_depth_high = 2049
moreores.mithril_max_depth = -2048 -- For v6 mapgen, -256 fits better
moreores.mithril_min_depth = -4095 -- For v6 mapgen, -511 fits better
moreores.mithril_max_depth_deep = -4096 -- For v6 mapgen, -512 fits better
moreores.mithril_min_depth_deep = -31000
end

2
depends.txt Normal file
View File

@ -0,0 +1,2 @@
default
mg?

1
description.txt Normal file
View File

@ -0,0 +1 @@
Adds new Ore types.

606
init.lua
View File

@ -3,104 +3,96 @@
** More Ores ** ** More Ores **
By Calinou, with the help of Nore. By Calinou, with the help of Nore.
Copyright © 2011-2020 Hugo Locurcio and contributors. Copyright (c) 2011-2017 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
===================================================================== =====================================================================
--]] --]]
moreores = {} moreores = {}
local modpath = minetest.get_modpath("moreores") local default_tin = false
if minetest.registered_items["default:tin_ingot"] then
default_tin = true
end
local S = minetest.get_translator("moreores") local S
moreores.S = S if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
local modpath = minetest.get_modpath("moreores")
dofile(modpath .. "/_config.txt") dofile(modpath .. "/_config.txt")
-- `mg` mapgen support -- `mg` support:
if minetest.get_modpath("mg") then if minetest.get_modpath("mg") then
dofile(modpath .. "/mg.lua") dofile(modpath .. "/mg.lua")
end end
-- `frame` support -- Utility functions
local use_frame = minetest.get_modpath("frame") -- =================
local is_mcl_core_present = minetest.get_modpath("mcl_core") ~= nil local default_stone_sounds = default.node_sound_stone_defaults()
local is_mcl_sounds_present = minetest.get_modpath("mcl_sounds") ~= nil local default_metal_sounds = default.node_sound_metal_defaults()
local is_mcl_copper_present = minetest.registered_items["mcl_copper:copper_ingot"] ~= nil
local stone_ingredient = is_mcl_core_present and "mcl_core:stone" or "default:stone"
local copper_ingredient = local function hoe_on_use(itemstack, user, pointed_thing, uses)
is_mcl_core_present and "mcl_copper:copper_ingot" or 'default:copper_ingot' local pt = pointed_thing
-- Check if pointing at a node:
local default_stone_sounds if not pt then
local default_metal_sounds return
if is_mcl_sounds_present then
default_stone_sounds = mcl_sounds.node_sound_stone_defaults()
default_metal_sounds = mcl_sounds.node_sound_metal_defaults()
else
default_stone_sounds = default.node_sound_stone_defaults()
default_metal_sounds = default.node_sound_metal_defaults()
end
-- Returns the crafting recipe table for a given material and item.
local function get_recipe(material, item)
if is_mcl_core_present then
material = material:gsub("default:", "mcl_core:")
end end
if pt.type ~= "node" then
if item == "sword" then
return {
{material},
{material},
{"group:stick"},
}
end
if item == "shovel" then
return {
{material},
{"group:stick"},
{"group:stick"},
}
end
if item == "axe" then
return {
{material, material},
{material, "group:stick"},
{"", "group:stick"},
}
end
if item == "pick" then
return {
{material, material, material},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
end
if item == "block" then
return {
{material, material, material},
{material, material, material},
{material, material, material},
}
end
if item == "lockedchest" then
return {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", material, "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
end
end
local function add_ore(modname, description, mineral_name, oredef, extra_node_def)
if mineral_name == "copper" and is_mcl_copper_present then
return return
end end
local under = minetest.get_node(pt.under)
local pos = {x = pt.under.x, y = pt.under.y + 1, z = pt.under.z}
local above = minetest.get_node(pos)
-- Return if any of the nodes is not registered:
if not minetest.registered_nodes[under.name] then return end
if not minetest.registered_nodes[above.name] then return end
-- Check if the node above the pointed thing is air:
if above.name ~= "air" then return end
-- Check if pointing at dirt:
if minetest.get_item_group(under.name, "soil") ~= 1 then return end
-- Turn the node into soil, wear out item and play sound:
minetest.set_node(pt.under, {name ="farming:soil"})
minetest.sound_play("default_dig_crumbly", {pos = pt.under, gain = 0.5})
itemstack:add_wear(65535 / (uses - 1))
return itemstack
end
local function get_recipe(c, name)
if name == "sword" then
return {{c}, {c}, {"group:stick"}}
end
if name == "shovel" then
return {{c}, {"group:stick"}, {"group:stick"}}
end
if name == "axe" then
return {{c, c}, {c, "group:stick"}, {"", "group:stick"}}
end
if name == "pick" then
return {{c, c, c}, {"", "group:stick", ""}, {"", "group:stick", ""}}
end
if name == "hoe" then
return {{c, c}, {"", "group:stick"}, {"", "group:stick"}}
end
if name == "block" then
return {{c, c, c}, {c, c, c}, {c, c, c}}
end
if name == "lockedchest" then
return {{"group:wood", "group:wood", "group:wood"}, {"group:wood", c, "group:wood"}, {"group:wood", "group:wood", "group:wood"}}
end
end
local function add_ore(modname, description, mineral_name, oredef)
local img_base = modname .. "_" .. mineral_name local img_base = modname .. "_" .. mineral_name
local toolimg_base = modname .. "_tool_"..mineral_name local toolimg_base = modname .. "_tool_"..mineral_name
local tool_base = modname .. ":" local tool_base = modname .. ":"
@ -108,48 +100,24 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
local item_base = tool_base .. mineral_name local item_base = tool_base .. mineral_name
local ingot = item_base .. "_ingot" local ingot = item_base .. "_ingot"
local lump_item = item_base .. "_lump" local lump_item = item_base .. "_lump"
local ingotcraft = ingot
local function merge_tables(t1, t2)
for k, v in pairs(t2) do
if type(v) == "table" and type(t1[k]) == "table" then
-- If both t1[k] and v are tables, merge them recursively
merge_tables(t1[k], v)
else
-- Otherwise, simply set the value
t1[k] = v
end
end
return t1
end
if oredef.makes.ore then if oredef.makes.ore then
local node_def_tbl = { minetest.register_node(modname .. ":mineral_" .. mineral_name, {
description = S("@1 Ore", S(description)), description = S("%s Ore"):format(S(description)),
tiles = {"default_stone.png^" .. modname .. "_mineral_" .. mineral_name .. tiles = {"default_stone.png^" .. modname .. "_mineral_" .. mineral_name .. ".png"},
".png"}, groups = {cracky = 3},
groups = {cracky = 2}, sounds = default_stone_sounds,
sounds = default_stone_sounds, drop = lump_item
drop = lump_item, })
}
if extra_node_def then
node_def_tbl = merge_tables(node_def_tbl, extra_node_def)
end
minetest.register_node(modname .. ":mineral_" .. mineral_name, node_def_tbl)
if use_frame then
frame.register(modname .. ":mineral_" .. mineral_name)
end
end end
if oredef.makes.block then if oredef.makes.block then
local block_item = item_base .. "_block" local block_item = item_base .. "_block"
minetest.register_node(block_item, { minetest.register_node(block_item, {
description = S("@1 Block", S(description)), description = S("%s Block"):format(S(description)),
tiles = {img_base .. "_block.png"}, tiles = { img_base .. "_block.png" },
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2}, groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level= 2},
is_ground_content = false,
sounds = default_metal_sounds, sounds = default_metal_sounds,
}) })
minetest.register_alias(mineral_name.."_block", block_item) minetest.register_alias(mineral_name.."_block", block_item)
@ -161,18 +129,15 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
minetest.register_craft( { minetest.register_craft( {
output = ingot .. " 9", output = ingot .. " 9",
recipe = { recipe = {
{block_item}, { block_item }
} }
}) })
end end
if use_frame then
frame.register(block_item)
end
end end
if oredef.makes.lump then if oredef.makes.lump then
minetest.register_craftitem(lump_item, { minetest.register_craftitem(lump_item, {
description = S("@1 Lump", S(description)), description = S("%s Lump"):format(S(description)),
inventory_image = img_base .. "_lump.png", inventory_image = img_base .. "_lump.png",
}) })
minetest.register_alias(mineral_name .. "_lump", lump_item) minetest.register_alias(mineral_name .. "_lump", lump_item)
@ -180,57 +145,38 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = ingot, output = ingot,
recipe = lump_item, recipe = lump_item
}) })
end end
if use_frame then
frame.register(lump_item)
end
end end
if oredef.makes.ingot then if oredef.makes.ingot then
minetest.register_craftitem(ingot, { minetest.register_craftitem(ingot, {
description = S("@1 Ingot", S(description)), description = S("%s Ingot"):format(S(description)),
inventory_image = img_base .. "_ingot.png", inventory_image = img_base .. "_ingot.png",
}) })
minetest.register_alias(mineral_name .. "_ingot", ingot) minetest.register_alias(mineral_name .. "_ingot", ingot)
if use_frame then
frame.register(ingot)
end
end end
if oredef.makes.chest then if oredef.makes.chest then
if not is_mcl_core_present then
minetest.register_craft( { minetest.register_craft( {
output = "default:chest_locked", output = "default:chest_locked",
recipe = { recipe = {
{ingot}, {ingot},
{"default:chest"}, {"default:chest"}
} }
}) })
minetest.register_craft( { minetest.register_craft( {
output = "default:chest_locked", output = "default:chest_locked",
recipe = get_recipe(ingot, "lockedchest") recipe = get_recipe(ingot, "lockedchest")
}) })
end end
end
oredef.oredef_high.ore_type = "scatter"
oredef.oredef_high.ore = modname .. ":mineral_" .. mineral_name
oredef.oredef_high.wherein = stone_ingredient
oredef.oredef.ore_type = "scatter" oredef.oredef.ore_type = "scatter"
oredef.oredef.ore = modname .. ":mineral_" .. mineral_name oredef.oredef.ore = modname .. ":mineral_" .. mineral_name
oredef.oredef.wherein = stone_ingredient oredef.oredef.wherein = "default:stone"
oredef.oredef_deep.ore_type = "scatter"
oredef.oredef_deep.ore = modname .. ":mineral_" .. mineral_name
oredef.oredef_deep.wherein = stone_ingredient
minetest.register_ore(oredef.oredef_high)
minetest.register_ore(oredef.oredef) minetest.register_ore(oredef.oredef)
minetest.register_ore(oredef.oredef_deep)
for tool_name, tooldef in pairs(oredef.tools) do for tool_name, tooldef in pairs(oredef.tools) do
local tdef = { local tdef = {
@ -238,341 +184,203 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
inventory_image = toolimg_base .. tool_name .. ".png", inventory_image = toolimg_base .. tool_name .. ".png",
tool_capabilities = { tool_capabilities = {
max_drop_level = 3, max_drop_level = 3,
groupcaps = tooldef.groupcaps, groupcaps = tooldef
damage_groups = tooldef.damage_groups,
full_punch_interval = oredef.full_punch_interval,
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
_repair_material = ingot,
_mcl_toollike_wield = true,
mcl_diggroups = tooldef._mcl_diggroups,
groups = tooldef.groups,
} }
if tool_name == "sword" then if tool_name == "sword" then
tdef.description = S("@1 Sword", S(description)) tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
if tdef.groups then tdef.tool_capabilities.damage_groups = oredef.damage_groups
tdef.groups = merge_tables(tdef.groups, {sword = 1}) tdef.description = S("%s Sword"):format(S(description))
else
tdef.groups = {sword = 1}
end
end end
if tool_name == "pick" then if tool_name == "pick" then
tdef.description = S("@1 Pickaxe", S(description)) tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
if tdef.groups then tdef.tool_capabilities.damage_groups = oredef.damage_groups
tdef.groups = merge_tables(tdef.groups, {pickaxe = 1, tool=1}) tdef.description = S("%s Pickaxe"):format(S(description))
else
tdef.groups = {pickaxe = 1, tool=1}
end
end end
if tool_name == "axe" then if tool_name == "axe" then
tdef.description = S("@1 Axe", S(description)) tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
if tdef.groups then tdef.tool_capabilities.damage_groups = oredef.damage_groups
tdef.groups = merge_tables(tdef.groups, {axe = 1, tool=1}) tdef.description = S("%s Axe"):format(S(description))
else
tdef.groups = {axe = 1, tool=1}
end
end end
if tool_name == "shovel" then if tool_name == "shovel" then
tdef.description = S("@1 Shovel", S(description)) tdef.full_punch_interval = oredef.full_punch_interval
if tdef.groups then tdef.tool_capabilities.damage_groups = oredef.damage_groups
tdef.groups = merge_tables(tdef.groups, {shovel = 1, tool=1}) tdef.description = S("%s Shovel"):format(S(description))
else tdef.wield_image = toolimg_base .. tool_name .. ".png^[transformR90"
tdef.groups = {shovel = 1, tool=1} end
if tool_name == "hoe" then
tdef.description = S("%s Hoe"):format(S(description))
local uses = tooldef.uses
tooldef.uses = nil
tdef.on_use = function(itemstack, user, pointed_thing)
return hoe_on_use(itemstack, user, pointed_thing, uses)
end end
tdef.wield_image = toolimg_base .. tool_name .. ".png^[transformR90"
end end
local fulltool_name = tool_base .. tool_name .. tool_post local fulltool_name = tool_base .. tool_name .. tool_post
minetest.register_tool(fulltool_name, tdef)
if tool_name == "hoe" and minetest.get_modpath("farming") then
tdef.max_uses = tooldef.max_uses
tdef.material = ingot
tdef.description = S("@1 Hoe", S(description))
farming.register_hoe(fulltool_name, tdef)
end
-- Hoe registration is handled above.
-- There are no crafting recipes for hoes, as they have been
-- deprecated from Minetest Game:
-- https://github.com/minetest/minetest_game/commit/9c459e77a
if tool_name ~= "hoe" then
minetest.register_tool(fulltool_name, tdef)
if oredef.makes.ingot then
minetest.register_craft({
output = fulltool_name,
recipe = get_recipe(ingot, tool_name)
})
end
end
-- Toolranks support
if minetest.get_modpath("toolranks") then
minetest.override_item(fulltool_name, {
original_description = tdef.description,
description = toolranks.create_description(tdef.description, 0, 1),
after_use = toolranks.new_afteruse})
end
minetest.register_alias(tool_name .. tool_post, fulltool_name) minetest.register_alias(tool_name .. tool_post, fulltool_name)
if use_frame then if oredef.makes.ingot then
frame.register(fulltool_name) minetest.register_craft({
output = fulltool_name,
recipe = get_recipe(ingot, tool_name)
})
end end
end end
end end
-- Add everything:
local modname = "moreores"
local oredefs = { local oredefs = {
silver = { silver = {
description = "Silver", description = "Silver",
makes = {ore = true, block = true, lump = true, ingot = true, chest = true}, makes = {ore = true, block = true, lump = true, ingot = true, chest = true},
oredef_high= { oredef = {clust_scarcity = moreores.silver_chunk_size * moreores.silver_chunk_size * moreores.silver_chunk_size,
clust_scarcity = moreores.silver_chunk_size_high ^ 3,
clust_num_ores = moreores.silver_ore_per_chunk_high,
clust_size = moreores.silver_clust_size_high,
y_min = moreores.silver_min_depth_high,
y_max = moreores.silver_max_depth_high,
},
oredef = {
clust_scarcity = moreores.silver_chunk_size ^ 3,
clust_num_ores = moreores.silver_ore_per_chunk, clust_num_ores = moreores.silver_ore_per_chunk,
clust_size = moreores.silver_clust_size, clust_size = moreores.silver_chunk_size,
y_min = moreores.silver_min_depth, y_min = moreores.silver_min_depth,
y_max = moreores.silver_max_depth, y_max = moreores.silver_max_depth
}, },
oredef_deep = {
clust_scarcity = moreores.silver_chunk_size_deep ^ 3,
clust_num_ores = moreores.silver_ore_per_chunk_deep,
clust_size = moreores.silver_clust_size_deep,
y_min = moreores.silver_min_depth_deep,
y_max = moreores.silver_max_depth_deep,
},
tools = { tools = {
pick = { pick = {
groupcaps = { cracky = {times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 100, maxlevel= 1}
cracky = {times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 100, maxlevel = 1},
},
damage_groups = {fleshy = 4},
groups = {dig_speed_class=4, enchantability=14},
_mcl_diggroups = {
pickaxey = { speed = 6, level = 4, uses = 126 }
},
}, },
hoe = { hoe = {
max_uses = 150, uses = 300
}, },
shovel = { shovel = {
groupcaps = { crumbly = {times = {[1] = 1.10, [2] = 0.40, [3] = 0.25}, uses = 100, maxlevel= 1}
crumbly = {times = {[1] = 1.10, [2] = 0.40, [3] = 0.25}, uses = 100, maxlevel = 1},
},
damage_groups = {fleshy = 3},
groups = {dig_speed_class=4, enchantability=14},
_mcl_diggroups = {
shovely = { speed = 6, level = 4, uses = 126 }
},
}, },
axe = { axe = {
groupcaps = { choppy = {times = {[1] = 2.50, [2] = 0.80, [3] = 0.50}, uses = 100, maxlevel= 1},
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}
fleshy = {times = {[2] = 1.10, [3] = 0.60}, uses = 100, maxlevel = 1},
},
damage_groups = {fleshy = 5},
groups = {dig_speed_class=4, enchantability=14},
_mcl_diggroups = {
axey = { speed = 6, level = 4, uses = 126 }
},
}, },
sword = { sword = {
groupcaps = { fleshy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel= 1},
fleshy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel = 1}, snappy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel= 1},
snappy = {times = {[1] = 1.70, [2] = 0.70, [3] = 0.30}, uses = 100, maxlevel = 1}, choppy = {times = {[3] = 0.80}, uses = 100, maxlevel= 0}
choppy = {times = {[3] = 0.80}, uses = 100, maxlevel = 0},
},
damage_groups = {fleshy = 6},
_mcl_diggroups = {
swordy = { speed = 6, level = 4, uses = 126 },
swordy_cobweb = { speed = 6, level = 4, uses = 126 }
},
}, },
}, },
full_punch_interval = 1.0, full_punch_interval = 1.0,
extra_node_def = { damage_groups = {fleshy = 6},
_mcl_blast_resistance = 3,
_mcl_hardness = 4,
_mcl_silk_touch_drop = true,
groups = {pickaxey = 4}
}
}, },
mithril = { mithril = {
description = "Mithril", description = "Mithril",
makes = {ore = true, block = true, lump = true, ingot = true, chest = false}, makes = {ore = true, block = true, lump = true, ingot = true, chest = false},
oredef_high = { oredef = {clust_scarcity = moreores.mithril_chunk_size * moreores.mithril_chunk_size * moreores.mithril_chunk_size,
clust_scarcity = moreores.mithril_chunk_size_high ^ 3,
clust_num_ores = moreores.mithril_ore_per_chunk_high,
clust_size = moreores.mithril_clust_size_high,
y_min = moreores.mithril_min_depth_high,
y_max = moreores.mithril_max_depth_high,
},
oredef = {
clust_scarcity = moreores.mithril_chunk_size ^ 3,
clust_num_ores = moreores.mithril_ore_per_chunk, clust_num_ores = moreores.mithril_ore_per_chunk,
clust_size = moreores.mithril_clust_size, clust_size = moreores.mithril_chunk_size,
y_min = moreores.mithril_min_depth, y_min = moreores.mithril_min_depth,
y_max = moreores.mithril_max_depth, y_max = moreores.mithril_max_depth
}, },
oredef_deep = {
clust_scarcity = moreores.mithril_chunk_size_deep ^ 3,
clust_num_ores = moreores.mithril_ore_per_chunk_deep,
clust_size = moreores.mithril_clust_size_deep,
y_min = moreores.mithril_min_depth_deep,
y_max = moreores.mithril_max_depth_deep,
},
tools = { tools = {
pick = { pick = {
groupcaps = { cracky = {times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel= 2}
cracky = {times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 3126, maxlevel = 3},
},
damage_groups = {fleshy = 6},
groups = {dig_speed_class=5, enchantability=10},
_mcl_diggroups = {
pickaxey = { speed = 8, level = 5, uses = 3126 }
},
}, },
hoe = { hoe = {
max_uses = 2000, uses = 1000
}, },
shovel = { shovel = {
groupcaps = { crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel= 2}
crumbly = {times = {[1] = 1.10, [2] = 0.40, [3] = 0.25}, uses = 3126, maxlevel = 3},
},
damage_groups = {fleshy = 6},
groups = {dig_speed_class=5, enchantability=10},
_mcl_diggroups = {
shovely = { speed = 8, level = 5, uses = 3126 }
},
}, },
axe = { axe = {
groupcaps = { choppy = {times = {[1] = 1.75, [2] = 0.45, [3] = 0.45}, uses = 200, maxlevel= 2},
choppy = {times = {[1] = 2.50, [2] = 0.80, [3] = 0.50}, uses = 3126, maxlevel = 3}, fleshy = {times = {[2] = 0.95, [3] = 0.30}, uses = 200, maxlevel= 1}
fleshy = {times = {[2] = 1.10, [3] = 0.60}, uses = 3126, maxlevel = 3},
},
damage_groups = {fleshy = 10},
groups = {dig_speed_class=5, enchantability=10},
_mcl_diggroups = {
axey = { speed = 8, level = 5, uses = 3126 }
},
}, },
sword = { sword = {
groupcaps = { fleshy = {times = {[2] = 0.65, [3] = 0.25}, uses = 200, maxlevel= 2},
fleshy = {times = {[2] = 0.70, [3] = 0.30}, uses = 3126, maxlevel = 3}, snappy = {times = {[2] = 0.70, [3] = 0.25}, uses = 200, maxlevel= 2},
snappy = {times = {[1] = 1.70, [2] = 0.70, [3] = 0.30}, uses = 3126, maxlevel = 3}, choppy = {times = {[3] = 0.65}, uses = 200, maxlevel= 0}
choppy = {times = {[3] = 0.80}, uses = 3126, maxlevel = 0}, }
},
damage_groups = {fleshy = 7},
_mcl_diggroups = {
swordy = { speed = 8, level = 5, uses = 3126 },
swordy_cobweb = { speed = 8, level = 5, uses = 3126 }
},
},
}, },
full_punch_interval = 0.45, full_punch_interval = 0.45,
extra_node_def = { damage_groups = {fleshy = 9},
_mcl_blast_resistance = 3,
_mcl_hardness = 5,
_mcl_silk_touch_drop = true,
groups = {pickaxey = 5}
},
} }
} }
-- If tin is available in the `default` mod, don't register More Ores' variant of tin if not default_tin then
local default_tin oredefs.tin = {
if minetest.registered_items["default:tin_ingot"] then description = "Tin",
default_tin = true makes = {ore = true, block = true, lump = true, ingot = true, chest = false},
else oredef = {clust_scarcity = moreores.tin_chunk_size * moreores.tin_chunk_size * moreores.tin_chunk_size,
default_tin = false clust_num_ores = moreores.tin_ore_per_chunk,
clust_size = moreores.tin_chunk_size,
y_min = moreores.tin_min_depth,
y_max = moreores.tin_max_depth
},
tools = {},
}
end end
for orename,def in pairs(oredefs) do
add_ore(modname, def.description, orename, def)
end
-- Copper rail (special node):
minetest.register_craft({
output = "moreores:copper_rail 24",
recipe = {
{"default:copper_ingot", "", "default:copper_ingot"},
{"default:copper_ingot", "group:stick", "default:copper_ingot"},
{"default:copper_ingot", "", "default:copper_ingot"}
}
})
if default_tin then if default_tin then
minetest.register_alias("moreores:mineral_tin", "default:stone_with_tin") minetest.register_alias("moreores:mineral_tin", "default:stone_with_tin")
minetest.register_alias("moreores:tin_lump", "default:tin_lump") minetest.register_alias("moreores:tin_lump", "default:tin_lump")
minetest.register_alias("moreores:tin_ingot", "default:tin_ingot") minetest.register_alias("moreores:tin_ingot", "default:tin_ingot")
minetest.register_alias("moreores:tin_block", "default:tinblock") minetest.register_alias("moreores:tin_block", "default:tinblock")
else else
oredefs.tin = { -- Bronze has some special cases, because it is made from copper and tin:
description = "Tin", minetest.register_craft( {
makes = {ore = true, block = true, lump = true, ingot = true, chest = false},
oredef_high = {
clust_scarcity = moreores.tin_chunk_size_high ^ 3,
clust_num_ores = moreores.tin_ore_per_chunk_high,
clust_size = moreores.tin_clust_size_high,
y_min = moreores.tin_min_depth_high,
y_max = moreores.tin_max_depth_high,
},
oredef = {
clust_scarcity = moreores.tin_chunk_size ^ 3,
clust_num_ores = moreores.tin_ore_per_chunk,
clust_size = moreores.tin_clust_size,
y_min = moreores.tin_min_depth,
y_max = moreores.tin_max_depth,
},
oredef_deep = {
clust_scarcity = moreores.tin_chunk_size_deep ^ 3,
clust_num_ores = moreores.tin_ore_per_chunk_deep,
clust_size = moreores.tin_clust_size_deep,
y_min = moreores.tin_min_depth_deep,
y_max = moreores.tin_max_depth_deep,
},
tools = {},
extra_node_def = {
_mcl_blast_resistance = 3,
_mcl_hardness = 3,
_mcl_silk_touch_drop = true,
groups = {pickaxey = 3}
},
}
-- Bronze has some special cases, because it is made from copper and tin
minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "default:bronze_ingot 3", output = "default:bronze_ingot 3",
recipe = { recipe = {
"moreores:tin_ingot", "moreores:tin_ingot",
copper_ingredient, "default:copper_ingot",
copper_ingredient, "default:copper_ingot",
}, }
}) })
end end
-- Copper rail (unique node) -- Unique node:
if minetest.get_modpath("carts") then minetest.register_node("moreores:copper_rail", {
carts:register_rail("moreores:copper_rail", { description = S("Copper Rail"),
description = S("Copper Rail"), drawtype = "raillike",
tiles = { tiles = {"moreores_copper_rail.png", "moreores_copper_rail_curved.png", "moreores_copper_rail_t_junction.png", "moreores_copper_rail_crossing.png"},
"moreores_copper_rail.png", inventory_image = "moreores_copper_rail.png",
"moreores_copper_rail_curved.png", wield_image = "moreores_copper_rail.png",
"moreores_copper_rail_t_junction.png", paramtype = "light",
"moreores_copper_rail_crossing.png", sunlight_propagates = true,
}, walkable = false,
inventory_image = "moreores_copper_rail.png", selection_box = {
wield_image = "moreores_copper_rail.png", type = "fixed",
groups = carts:get_rail_groups(), fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
}, {}) },
end sounds = default_metal_sounds,
groups = {bendy = 2,snappy = 1,dig_immediate = 2,rail= 1, connect_to_raillike = 1},
mesecons = {
effector = {
action_on = function(pos, node)
minetest.get_meta(pos):set_string("cart_acceleration", "0.5")
end,
minetest.register_craft({ action_off = function(pos, node)
output = "moreores:copper_rail 18", minetest.get_meta(pos):set_string("cart_acceleration", "0")
recipe = { end,
{copper_ingredient, "", copper_ingredient}, },
{copper_ingredient, "group:stick", copper_ingredient},
{copper_ingredient, "", copper_ingredient},
}, },
}) })
for orename, def in pairs(oredefs) do
-- Register everything if minetest.settings:get_bool("log_mods") then
add_ore("moreores", def.description, orename, def, def.extra_node_def) minetest.log("action", S("[moreores] loaded."))
end end

22
locale/de.txt Normal file
View File

@ -0,0 +1,22 @@
# Translation by Xanthin
[moreores] loaded. = [moreores] geladen.
%s Ore = %serz
%s Lump = %sklumpen
%s Ingot = %sbarren
%s Block = %sblock
%s Pickaxe = %sspitzhacke
%s Shovel = %sschaufel
%s Axe = %saxt
%s Sword = %sschwert
%s Hoe = %shacke
Copper = Kupfer
Tin = Zinn
Bronze = Bronze
Silver = Silber
Gold = Gold
Mithril = Mithril
Copper Rail = Kupferschiene

21
locale/es.txt Normal file
View File

@ -0,0 +1,21 @@
# 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

21
locale/fr.txt Normal file
View File

@ -0,0 +1,21 @@
# 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

21
locale/it.txt Normal file
View File

@ -0,0 +1,21 @@
# Translation by Pagliaccio
[moreores] loaded. = [moreores] caricato.
%s Ore = Minerale di %s
%s Lump = %s grezzo
%s Ingot = Lingotto di %s
%s Block = Blocco di %s
%s Pickaxe = Piccone di %s
%s Shovel = Badile di %s
%s Axe = Ascia di %s
%s Sword = Spada di %s
Copper = Rame
Tin = Stagno
Bronze = Bronzo
Silver = Argento
Gold = Oro
Mithril = Mithril
Copper Rail = Binario di rame

View File

@ -1,20 +0,0 @@
# textdomain: moreores
# Translation by Xanthin
@1 Ore=@1erz
@1 Lump=@1klumpen
@1 Ingot=@1barren
@1 Block=@1block
@1 Pickaxe=@1spitzhacke
@1 Shovel=@1schaufel
@1 Axe=@1axt
@1 Sword=@1schwert
Copper=Kupfer
Tin=Zinn
Bronze=Bronze
Silver=Silber
Gold=Gold
Mithril=Mithril
Copper Rail=Kupferschiene

View File

@ -1,20 +0,0 @@
# textdomain: moreores
# Translation by kaeza
@1 Ore=Mineral de @1
@1 Lump=Pepita de @1
@1 Ingot=Lingote de @1
@1 Block=Bloque de @1
@1 Pickaxe=Pico de @1
@1 Shovel=Pala de @1
@1 Axe=Hacha de @1
@1 Sword=Espada de @1
Copper=Cobre
Tin=Estaño
Bronze=Bronce
Silver=Plata
Gold=Oro
Mithril=Mitrilo
Copper Rail=Riel de Cobre

View File

@ -1,21 +0,0 @@
# textdomain: moreores
# Translation by Calinou
@1 Ore=Minerai en @1
@1 Lump=Roche en @1
@1 Ingot=Lingot en @1
@1 Block=Bloc en @1
@1 Pickaxe=Pioche en @1
@1 Shovel=Pelle en @1
@1 Axe=Hache en @1
@1 Sword=Épée en @1
@1 Hoe=Houe en @1
Copper=cuivre
Tin=étain
Bronze=bronze
Silver=argent
Gold=or
Mithril=mithril
Copper Rail=Rail en cuivre

View File

@ -1,20 +0,0 @@
# textdomain: moreores
# Translation by An0n3m0us
@1 Ore=@1 érc
@1 Lump=@1 rög
@1 Ingot=@1 öntvény
@1 Block=@1 blokk
@1 Pickaxe=@1 csákány
@1 Shovel=@1 ásó
@1 Axe=@1 fejsze
@1 Sword=@1 kard
Copper=Réz
Tin=Ón
Bronze=Bronz
Silver=Ezüst
Gold=Arany
Mithril=Mithril
Copper Rail=Réz sín

View File

@ -1,20 +0,0 @@
# textdomain: moreores
# Translation by Pagliaccio
@1 Ore=Minerale di @1
@1 Lump=@1 grezzo
@1 Ingot=Lingotto di @1
@1 Block=Blocco di @1
@1 Pickaxe=Piccone di @1
@1 Shovel=Badile di @1
@1 Axe=Ascia di @1
@1 Sword=Spada di @1
Copper=Rame
Tin=Stagno
Bronze=Bronzo
Silver=Argento
Gold=Oro
Mithril=Mithril
Copper Rail=Binario di rame

View File

@ -1,17 +0,0 @@
# textdomain: moreores
@1 Ore=@1 Erts
@1 Lump=@1 Klomp
@1 Ingot=@1 Staaf
@1 Block=@1 Blok
@1 Pickaxe=@1 Pikhouweel
@1 Shovel=@1 Schep
@1 Axe=@1 Bijl
@1 Sword=@1 Zwaard
Copper=Koper
Tin=Tin
Bronze=Brons
Silver=Silver
Gold=Goud
Mithril=Mithril

View File

@ -1,20 +0,0 @@
# textdomain: moreores
# Translation by mat9117
@1 Ore=@1 Ruda
@1 Lump=@1 Bryłka
@1 Ingot=@1 Sztabka
@1 Block=@1 Blok
@1 Pickaxe=@1 Kilof
@1 Shovel=@1 Łopatka
@1 Axe=@1 Siekiera
@1 Sword=@1 Miecz
Copper=Miedź
Tin=Cyna
Bronze=Brąz
Silver=Srebro
Gold=Złoto
Mithril=Mithril
Copper Rail=Miedziany tor

View File

@ -1,21 +0,0 @@
# textdomain: moreores
# Translation by github.com/caiorrs
@1 Ore=Minério de @1
@1 Lump=Pepita de @1
@1 Ingot=Lingote de @1
@1 Block=Bloco de @1
@1 Pickaxe=Picareta de @1
@1 Shovel=Pá de @1
@1 Axe=Machado de @1
@1 Sword=Espada de @1
Copper=Cobre
Tin=Estanho
Bronze=Bronze
Silver=Prata
Gold=Ouro
Mithril=Mitrilo
Copper Rail=Trilho de Cobre

View File

@ -1,26 +0,0 @@
# textdomain: moreores
# Translation by Mahmutelmas06
# mahmutelmas06@hotmail.com
# Türkçe Çeviri
# Turkish translation
# Language 2 letter iso code is "tr"
@1 Ore=@1 madeni
@1 Lump=@1 yığını
@1 Ingot=@1 külçesi
@1 Block=@1 blok
@1 Pickaxe=@1 kazma
@1 Shovel=@1 kürek
@1 Axe=@1 balta
@1 Sword=@1 kılıç
Copper=Bakır
Tin=Kalay
Bronze=Bronz
Silver=Gümüş
Gold=Altın
Mithril=Mithril
Copper Rail=Bakır ray

20
locale/nl.txt Normal file
View File

@ -0,0 +1,20 @@
[moreores] loaded. = [moreores] geladen.
%s Ore = %s Erts
%s Lump = %s Klomp
%s Ingot = %s Staaf
%s Block = %s Blok
%s Pickaxe = %s Pikhouweel
%s Shovel = %s Schep
%s Axe = %s Bijl
%s Sword = %s Zwaard
%s Hoe = %s Schoffel
Copper = Koper
Tin = Tin
Bronze = Brons
Silver = Silver
Gold = Goud
Mithril = Mithril
Copper Rail = Koperen Spoor

21
locale/pt_br.txt Normal file
View File

@ -0,0 +1,21 @@
# Translation by github.com/caiorrs
[moreores] loaded. = [moreores] carregado.
%s Ore = Minério de %s
%s Lump = Pepita de %s
%s Ingot = Lingote de %s
%s Block = Bloco de %s
%s Pickaxe = Picareta de %s
%s Shovel = Pá de %s
%s Axe = Machado de %s
%s Sword = Espada de %s
Copper = Cobre
Tin = Estanho
Bronze = Bronze
Silver = Prata
Gold = Ouro
Mithril = Mitrilo
Copper Rail = Trilho de Cobre

View File

@ -1,18 +0,0 @@
# textdomain: moreores
@1 Ore=
@1 Lump=
@1 Ingot=
@1 Block=
@1 Pickaxe=
@1 Shovel=
@1 Axe=
@1 Sword=
Copper=
Tin=
Bronze=
Silver=
Gold=
Mithril=
Copper Rail=

25
locale/tr.txt Normal file
View File

@ -0,0 +1,25 @@
# Translation by Mahmutelmas06
# mahmutelmas06@hotmail.com
# Türkçe Çeviri
# Turkish translation
# Language 2 letter iso code is "tr"
[moreores] loaded. = [moreores] yüklendi.
%s Ore = %s madeni
%s Lump = %s yığını
%s Ingot = %s külçesi
%s Block = %s blok
%s Pickaxe = %s kazma
%s Shovel = %s kürek
%s Axe = %s balta
%s Sword = %s kılıç
Copper = Bakır
Tin = Kalay
Bronze = Bronz
Silver = Gümüş
Gold = Altın
Mithril = Mithril
Copper Rail = Bakır ray

2
mg.lua
View File

@ -1,7 +1,7 @@
--[[ --[[
More Ores: `mg` mod support More Ores: `mg` mod support
Copyright © 2011-2020 Hugo Locurcio and contributors. Copyright (c) 2011-2017 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]

View File

@ -1,5 +1 @@
name = moreores name = moreores
description = Adds new ore types.
optional_depends = carts,farming,frame,mg,toolranks,mcl_core,mcl_sounds
min_minetest_version = 5.0.0
supported_games = mineclone2,mineclonia,minetest_game

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 B

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 B

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 B

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 B

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 B

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 B

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 B

After

Width:  |  Height:  |  Size: 201 B