1 Commits

Author SHA1 Message Date
c37ba9dc56 Merge branch 'master' into nalc-1.2 2019-06-02 19:13:10 +02:00
49 changed files with 319 additions and 703 deletions

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

@ -25,10 +25,7 @@ stds.minetest = {
}
read_globals = {
"carts",
"farming",
"frame",
"intllib",
"mg",
"toolranks",
"mcl_sounds"
}

View File

@ -1,8 +1,7 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
rev: v2.1.0
hooks:
- id: fix-byte-order-marker
- id: end-of-file-fixer
- id: trailing-whitespace

16
.travis.yml Normal file
View File

@ -0,0 +1,16 @@
language: generic
addons:
apt:
packages:
- luarocks
install:
- pyenv global 3.6.3
- pip3 install --user pre-commit
- luarocks install --local luacheck
script:
# All linters are run with pre-commit hooks
- export PATH="$HOME/.luarocks/bin:$PATH"
- $HOME/.local/bin/pre-commit run --all-files

View File

@ -7,41 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [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
- More Ores tools now have [`toolranks`](https://github.com/lisacvuk/minetest-toolranks) support.
- 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
@ -80,7 +47,5 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Initial versioned release.
[Unreleased]: https://github.com/minetest-mods/moreores/compare/v2.1.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
[Unreleased]: https://github.com/minetest-mods/moreores/compare/v1.1.0...HEAD
[1.1.0]: https://github.com/minetest-mods/moreores/compare/v1.0.0...v1.1.0

View File

@ -1,6 +1,6 @@
# zlib license
Copyright © 2011-2020 Hugo Locurcio and contributors
Copyright © 2011-2019 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.**

View File

@ -18,7 +18,9 @@ git clone https://github.com/minetest-mods/moreores.git
You can also
[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** required, as the mod won't work otherwise.
### Enable the mod
@ -58,13 +60,13 @@ on that line.
## Version compatibility
More Ores is currently primarily tested with Minetest 5.1.0.
More Ores is currently primarily tested with Minetest 0.4.17.
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.17 will generally not be fixed.
## License
Copyright © 2011-2020 Hugo Locurcio and contributors
Copyright © 2011-2019 Hugo Locurcio and contributors
- More Ores code is licensed under the zlib license, see
[`LICENSE.md`](LICENSE.md) for details.

View File

@ -7,94 +7,21 @@
------------------------------------------------------------------------------
-- Chunk sizes for ore generation (bigger = ore deposits are more scattered around)
-- Tin
moreores.tin_chunk_size_high = 10
moreores.tin_chunk_size = 13
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
moreores.tin_chunk_size = 7
moreores.silver_chunk_size = 11
moreores.mithril_chunk_size = 11
-- Amount of ore per chunk (higher = bigger ore deposits)
-- Tin
moreores.tin_ore_per_chunk_high = 5
moreores.tin_ore_per_chunk = 4
moreores.tin_ore_per_chunk_deep = 5
moreores.tin_ore_per_chunk = 3
moreores.silver_ore_per_chunk = 4
moreores.mithril_ore_per_chunk = 1
-- Silver
moreores.silver_ore_per_chunk_high = 4
moreores.silver_ore_per_chunk = 2
moreores.silver_ore_per_chunk_deep = 4
-- Minimal depths of ore generation (Y coordinate, 0 being sea level by default)
moreores.tin_min_depth = -31000
moreores.silver_min_depth = -31000
moreores.mithril_min_depth = -31000
-- Mithril
moreores.mithril_ore_per_chunk_high = 3
moreores.mithril_ore_per_chunk = 2
moreores.mithril_ore_per_chunk_deep = 4
-- 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
-- Maximal depths of ore generation (Y coordinate, 0 being sea level by default)
moreores.tin_max_depth = 8
moreores.silver_max_depth = -2
moreores.mithril_max_depth = -512

333
init.lua
View File

@ -3,7 +3,7 @@
** More Ores **
By Calinou, with the help of Nore.
Copyright © 2011-2020 Hugo Locurcio and contributors.
Copyright © 2011-2019 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
=====================================================================
--]]
@ -12,8 +12,9 @@ moreores = {}
local modpath = minetest.get_modpath("moreores")
local S = minetest.get_translator("moreores")
local S, NS = dofile(modpath .. "/intllib.lua")
moreores.S = S
moreores.NS = NS
dofile(modpath .. "/_config.txt")
@ -22,35 +23,11 @@ if minetest.get_modpath("mg") then
dofile(modpath .. "/mg.lua")
end
-- `frame` support
local use_frame = minetest.get_modpath("frame")
local is_mcl_core_present = minetest.get_modpath("mcl_core") ~= nil
local is_mcl_sounds_present = minetest.get_modpath("mcl_sounds") ~= nil
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 =
is_mcl_core_present and "mcl_copper:copper_ingot" or 'default:copper_ingot'
local default_stone_sounds
local default_metal_sounds
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
local default_stone_sounds = default.node_sound_stone_defaults()
local default_metal_sounds = default.node_sound_metal_defaults()
-- 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
if item == "sword" then
return {
{material},
@ -95,12 +72,7 @@ local function get_recipe(material, item)
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
end
local function add_ore(modname, description, mineral_name, oredef)
local img_base = modname .. "_" .. mineral_name
local toolimg_base = modname .. "_tool_"..mineral_name
local tool_base = modname .. ":"
@ -109,47 +81,22 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
local ingot = item_base .. "_ingot"
local lump_item = item_base .. "_lump"
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
local node_def_tbl = {
description = S("@1 Ore", S(description)),
tiles = {"default_stone.png^" .. modname .. "_mineral_" .. mineral_name ..
".png"},
minetest.register_node(modname .. ":mineral_" .. mineral_name, {
description = S("%s Ore"):format(S(description)),
tiles = {"default_stone.png^" .. modname .. "_mineral_" .. mineral_name .. ".png"},
groups = {cracky = 2},
sounds = default_stone_sounds,
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
if oredef.makes.block then
local block_item = item_base .. "_block"
minetest.register_node(block_item, {
description = S("@1 Block", S(description)),
description = S("%s Block"):format(S(description)),
tiles = {img_base .. "_block.png"},
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
is_ground_content = false,
sounds = default_metal_sounds,
})
minetest.register_alias(mineral_name.."_block", block_item)
@ -165,14 +112,11 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
}
})
end
if use_frame then
frame.register(block_item)
end
end
if oredef.makes.lump then
minetest.register_craftitem(lump_item, {
description = S("@1 Lump", S(description)),
description = S("%s Lump"):format(S(description)),
inventory_image = img_base .. "_lump.png",
})
minetest.register_alias(mineral_name .. "_lump", lump_item)
@ -183,24 +127,17 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
recipe = lump_item,
})
end
if use_frame then
frame.register(lump_item)
end
end
if oredef.makes.ingot then
minetest.register_craftitem(ingot, {
description = S("@1 Ingot", S(description)),
description = S("%s Ingot"):format(S(description)),
inventory_image = img_base .. "_ingot.png",
})
minetest.register_alias(mineral_name .. "_ingot", ingot)
if use_frame then
frame.register(ingot)
end
end
if oredef.makes.chest then
if not is_mcl_core_present then
minetest.register_craft( {
output = "default:chest_locked",
recipe = {
@ -208,29 +145,17 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
{"default:chest"},
}
})
minetest.register_craft( {
output = "default:chest_locked",
recipe = get_recipe(ingot, "lockedchest")
})
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 = 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_deep)
for tool_name, tooldef in pairs(oredef.tools) do
local tdef = {
@ -238,68 +163,38 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
inventory_image = toolimg_base .. tool_name .. ".png",
tool_capabilities = {
max_drop_level = 3,
groupcaps = tooldef.groupcaps,
damage_groups = tooldef.damage_groups,
full_punch_interval = oredef.full_punch_interval,
groupcaps = tooldef,
},
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
tdef.description = S("@1 Sword", S(description))
if tdef.groups then
tdef.groups = merge_tables(tdef.groups, {sword = 1})
else
tdef.groups = {sword = 1}
end
tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
tdef.tool_capabilities.damage_groups = oredef.damage_groups
tdef.description = S("%s Sword"):format(S(description))
end
if tool_name == "pick" then
tdef.description = S("@1 Pickaxe", S(description))
if tdef.groups then
tdef.groups = merge_tables(tdef.groups, {pickaxe = 1, tool=1})
else
tdef.groups = {pickaxe = 1, tool=1}
end
tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
tdef.tool_capabilities.damage_groups = oredef.damage_groups
tdef.description = S("%s Pickaxe"):format(S(description))
end
if tool_name == "axe" then
tdef.description = S("@1 Axe", S(description))
if tdef.groups then
tdef.groups = merge_tables(tdef.groups, {axe = 1, tool=1})
else
tdef.groups = {axe = 1, tool=1}
end
tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
tdef.tool_capabilities.damage_groups = oredef.damage_groups
tdef.description = S("%s Axe"):format(S(description))
end
if tool_name == "shovel" then
tdef.description = S("@1 Shovel", S(description))
if tdef.groups then
tdef.groups = merge_tables(tdef.groups, {shovel = 1, tool=1})
else
tdef.groups = {shovel = 1, tool=1}
end
tdef.full_punch_interval = oredef.full_punch_interval
tdef.tool_capabilities.damage_groups = oredef.damage_groups
tdef.description = S("%s Shovel"):format(S(description))
tdef.wield_image = toolimg_base .. tool_name .. ".png^[transformR90"
end
local fulltool_name = tool_base .. tool_name .. tool_post
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
@ -308,20 +203,8 @@ local function add_ore(modname, description, mineral_name, oredef, extra_node_de
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)
if use_frame then
frame.register(fulltool_name)
end
end
end
@ -329,162 +212,62 @@ local oredefs = {
silver = {
description = "Silver",
makes = {ore = true, block = true, lump = true, ingot = true, chest = true},
oredef_high= {
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_size = moreores.silver_clust_size,
clust_size = moreores.silver_chunk_size,
y_min = moreores.silver_min_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 = {
pick = {
groupcaps = {
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 = {
max_uses = 150,
},
shovel = {
groupcaps = {
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 = {
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},
},
damage_groups = {fleshy = 5},
groups = {dig_speed_class=4, enchantability=14},
_mcl_diggroups = {
axey = { speed = 6, level = 4, uses = 126 }
},
fleshy = {times = {[2] = 1.10, [3] = 0.60}, uses = 100, maxlevel = 1}
},
sword = {
groupcaps = {
fleshy = {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},
snappy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel = 1},
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,
extra_node_def = {
_mcl_blast_resistance = 3,
_mcl_hardness = 4,
_mcl_silk_touch_drop = true,
groups = {pickaxey = 4}
}
damage_groups = {fleshy = 6},
},
mithril = {
description = "Mithril",
makes = {ore = true, block = true, lump = true, ingot = true, chest = false},
oredef_high = {
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_size = moreores.mithril_clust_size,
clust_size = moreores.mithril_chunk_size,
y_min = moreores.mithril_min_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 = {
pick = {
groupcaps = {
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 = {
max_uses = 2000,
cracky = {times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel = 2}
},
shovel = {
groupcaps = {
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 }
},
crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel = 2},
},
axe = {
groupcaps = {
choppy = {times = {[1] = 2.50, [2] = 0.80, [3] = 0.50}, uses = 3126, maxlevel = 3},
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 }
},
choppy = {times = {[1] = 1.75, [2] = 0.45, [3] = 0.45}, uses = 200, maxlevel = 2},
fleshy = {times = {[2] = 0.95, [3] = 0.30}, uses = 200, maxlevel = 1}
},
sword = {
groupcaps = {
fleshy = {times = {[2] = 0.70, [3] = 0.30}, uses = 3126, maxlevel = 3},
snappy = {times = {[1] = 1.70, [2] = 0.70, [3] = 0.30}, uses = 3126, maxlevel = 3},
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 }
},
fleshy = {times = {[2] = 0.65, [3] = 0.25}, uses = 200, maxlevel = 2},
snappy = {times = {[2] = 0.70, [3] = 0.25}, uses = 200, maxlevel = 2},
choppy = {times = {[3] = 0.65}, uses = 200, maxlevel = 0},
},
},
full_punch_interval = 0.45,
extra_node_def = {
_mcl_blast_resistance = 3,
_mcl_hardness = 5,
_mcl_silk_touch_drop = true,
groups = {pickaxey = 5}
},
damage_groups = {fleshy = 9},
}
}
@ -505,34 +288,14 @@ else
oredefs.tin = {
description = "Tin",
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,
clust_size = moreores.tin_chunk_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
@ -541,8 +304,8 @@ else
output = "default:bronze_ingot 3",
recipe = {
"moreores:tin_ingot",
copper_ingredient,
copper_ingredient,
"default:copper_ingot",
"default:copper_ingot",
},
})
end
@ -564,15 +327,15 @@ if minetest.get_modpath("carts") then
end
minetest.register_craft({
output = "moreores:copper_rail 18",
output = "moreores:copper_rail 24",
recipe = {
{copper_ingredient, "", copper_ingredient},
{copper_ingredient, "group:stick", copper_ingredient},
{copper_ingredient, "", copper_ingredient},
{"default:copper_ingot", "", "default:copper_ingot"},
{"default:copper_ingot", "group:stick", "default:copper_ingot"},
{"default:copper_ingot", "", "default:copper_ingot"},
},
})
for orename, def in pairs(oredefs) do
-- Register everything
add_ore("moreores", def.description, orename, def, def.extra_node_def)
add_ore("moreores", def.description, orename, def)
end

44
intllib.lua Normal file
View File

@ -0,0 +1,44 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

21
locale/de.txt Normal file
View File

@ -0,0 +1,21 @@
# 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
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 Łopata
@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,19 +0,0 @@
# textdomain: moreores
@1 Ore=Руда @1
@1 Lump=Кусок @1
@1 Ingot=Слиток @1
@1 Block=Блок @1
@1 Pickaxe=Кирка из @1
@1 Shovel=Лопата из @1
@1 Axe=Топор из @1
@1 Sword=Меч из @1
@1 Hoe=Мотыга из @1
Copper=меди
Tin=олова
Bronze=бронзы
Silver=серебра
Gold=золота
Mithril=мифрила
Copper Rail=медные рельсы

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

View File

@ -1,22 +0,0 @@
# textdomain: moreores
More Ores=Більше Руд
Adds new ore types.=Додає нові типи руд.
@1 Ore=Руда @1
@1 Lump=Шматок @1
@1 Ingot=Злиток @1
@1 Block=Блок @1
@1 Pickaxe=Кайло з @1
@1 Shovel=Лопата з @1
@1 Axe=Сокира з @1
@1 Sword=Меч з @1
@1 Hoe=Мотика з @1
Copper=міді
Tin=олова
Bronze=бронзи
Silver=срібла
Gold=золота
Mithril=міфрілу
Copper Rail=Мідні рейки

19
locale/nl.txt Normal file
View File

@ -0,0 +1,19 @@
[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
Copper = Koper
Tin = Tin
Bronze = Brons
Silver = Silver
Gold = Goud
Mithril = Mithril
Copper Rail = Koperen Spoor

21
locale/pl.txt Normal file
View File

@ -0,0 +1,21 @@
# Translation by mat9117
[moreores] loaded. = [moreores] załadowano.
%s Ore = %Ruda
%s Lump = %Bryłka
%s Ingot = %Sztabka
%s Block = %sBlok
%s Pickaxe = %sKilof
%s Shovel = %sŁopatka
%s Axe = %sSiekiera
%s Sword = %sMiecz
Copper = Miedź
Tin = Cyna
Bronze = Brąz
Silver = Srebro
Gold = Złoto
Mithril = Mithril
Copper Rail = Miedziany tor

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
Copyright © 2011-2020 Hugo Locurcio and contributors.
Copyright © 2011-2019 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
--]]

View File

@ -1,5 +1,4 @@
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
depends = default
optional_depends = carts,farming,intllib,mg

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: 246 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: 306 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: 261 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: 200 B