47 Commits

Author SHA1 Message Date
66347e148c Merge remote-tracking branch 'upstream/master' into nalc-1.2-dev 2020-06-20 15:48:20 +02:00
3f62fd3cf1 Declare the minimum supported Minetest version to 5.0.0
This information can be used by ContentDB.
2020-06-03 18:54:47 +02:00
f42e7883b4 Corrige crash au démarrage
À cause du merge précédent mal fait.
2020-02-29 19:31:06 +01:00
20b0c60227 Merge remote-tracking branch 'upstream/master' into nalc-1.2-dev 2020-02-29 18:17:01 +01:00
e3d8f88e9c Update the changelog to mention the new Hungarian translation 2020-02-13 23:51:24 +01:00
c7ff323f90 Add hu translation 2020-02-13 23:50:59 +01:00
69d5a7626c Update the changelog to mention translations now using the .tr format 2020-02-04 22:07:50 +01:00
d2933894e6 Migrate translations to the Minetest localization format (#38)
* Translation using MT5 translation api

Fix #36

* Add hoe to french translation
2020-02-04 22:05:38 +01:00
2554d1303a Modifie le craft des rails de cuivre 2020-01-04 18:59:12 +01:00
96ff162f51 Remove obsolete notice about renaming the extracted mod folder
This is no longer required thanks to `mod.conf`.
2020-01-01 17:55:17 +01:00
9fc5974497 Update copyright statements to 2020 2020-01-01 04:09:59 +01:00
3c44a9be58 Add toolranks support (#37)
* Add toolranks support

* Update the changelog for `toolranks` support
2019-12-30 12:29:25 +01:00
dd63bfa1f6 Supprime la dépendance vers farming 2019-12-22 16:41:39 +01:00
319a694c74 Merge branch 'master' of yunohost.local:minetest-mods/moreores into nalc-1.2-dev 2019-12-22 14:10:01 +01:00
7ea70d5595 Bump to version 2.0.0 2019-11-25 13:49:42 +01:00
4d5fe50dfd Update the changelog to mention the frame mod support 2019-10-13 14:25:56 +02:00
308c6732a8 Polish translation fix 2019-10-13 13:49:24 +02:00
d7ac127d24 Add compatibility with mod frame
- [mod frame](https://github.com/minetest-mods/frame)
2019-10-13 13:47:22 +02:00
8aa3cbd191 Update pre-commit hooks to 2.3.0 2019-09-25 23:18:34 +02:00
a1f6897e52 Document the Minetest 5.0.0 version requirement 2019-09-08 22:56:57 +02:00
f7a757c716 Travis CI: Use the bionic distribution 2019-07-29 00:52:36 +02:00
42c4c7ab04 Optimize PNG images losslessly
Commands used:

- `parallel optipng -o7 -zm1-9 -strip all ::: **/*.png`
- `parallel advpng -z4 -i5000 ::: **/*.png`
2019-06-19 21:20:50 +02:00
d0a1798b0b Use carts mod functions to register copper rails
This makes them behave similarly to default rails.
2019-05-22 11:32:17 +02:00
336d16373e Supprime la dépendance de farming devenue obsolète et problématique
- Moreores est devenue une dépendance de farming afin de définir les
  hoes en argent et mythril. Les hoes définies par moreores sont donc
  devenues redondantes. De plus, cela a créé une dépendance circulaire
  entre les mods farming -> toolranks -> moreores -> farming
2019-05-10 10:16:44 +02:00
564cb11ba6 Add description and dependencies to mod.conf
The legacy `depends.txt` and `description.txt` files are no longer
needed since Minetest 5.0.0 or later will read everything from
`mod.conf`.

This raises the minimum supported Minetest version to 5.0.0.
2019-04-23 21:54:14 +02:00
34d096832c Remove the optional mod loading message 2019-04-03 00:19:05 +02:00
8cd2d3de89 Travis CI: Add Luacheck to the PATH 2019-04-01 11:46:29 +02:00
cea44dce57 Use Luacheck as a pre-commit hook 2019-04-01 11:02:31 +02:00
1075b4678f Update the changelog for the new Polish translation 2019-04-01 11:01:32 +02:00
ead1f1d82d Polish translation (#32) 2019-04-01 10:59:22 +02:00
7ed6ffe7a7 Add intllib as an optional dependency
This addresses #9.
2019-03-30 00:56:06 +01:00
5010a148a7 Bump to version 1.1.0 2019-03-23 15:19:05 +01:00
19e060c31e Set up Travis CI 2019-03-06 10:28:32 +01:00
3da5fbdc6d Fix duplicated section in the changelog 2019-03-03 23:22:11 +01:00
09e69ec0b6 Update intllib support to avoid using deprecated functions 2019-03-03 20:11:18 +01:00
2fe764ba79 Improve wording in README 2019-03-02 18:17:31 +01:00
222a6d47c5 Enforce LF line endings in pre-commit
- Update pre-commit hooks to 2.1.0
2019-03-01 15:29:22 +01:00
d6e2b237c7 Update copyright statements to 2019 2019-02-25 12:15:01 +01:00
54e52ce1ce Improve code style and clarify some parts of the code 2019-02-24 22:49:19 +01:00
b851252996 Make ores slower to mine and non-minable with wooden tools
This closes #30.
2019-02-24 16:34:16 +01:00
77dcac7895 Update the changelog to mention a fixed bug in hoe handling 2019-02-24 16:29:32 +01:00
4db884e00c Deprecate hoes to follow changes in Minetest Game
Hoes crafted from "rare" materials were deprecated in
9c459e77ac.

Hoes are still available in existing worlds, but they cannot
be crafted anymore.

This closes #29.
2019-02-24 16:25:10 +01:00
2831c806f1 Set EditorConfig to use tabs in .luacheckrc 2019-02-22 00:49:04 +01:00
9dc3378f65 Add an EditorConfig file
See https://editorconfig.org/ for more information.
2019-02-21 23:13:10 +01:00
87be9a6a59 Add pre-commit hooks
See https://pre-commit.com/ for more information.
2019-02-21 23:10:26 +01:00
876630c70d Add a Luacheck configuration file and tweak code style 2019-02-20 23:47:35 +01:00
fe7d656235 Optimize all images using oxipng -Zs 2019-02-20 19:52:31 +01:00
46 changed files with 542 additions and 356 deletions

13
.editorconfig Normal file
View File

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

34
.luacheckrc Normal file
View File

@ -0,0 +1,34 @@
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",
"intllib",
"mg",
"toolranks",
}

14
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,14 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- 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

16
.travis.yml Normal file
View File

@ -0,0 +1,16 @@
dist: bionic
language: python
python:
- 3.7.1
install:
- sudo apt-get update -qq
- sudo apt-get install -qqq luarocks
- pip3 install pre-commit
- luarocks install --local luacheck
script:
# All linters are run with pre-commit hooks
- export PATH="$HOME/.luarocks/bin:$PATH"
- pre-commit run --all-files

View File

@ -9,10 +9,51 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Added
- Brazilian translation.
- 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
- 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
- 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).
If it is detected, then the tin nodes and items from More Ores won't be registered.
@ -20,4 +61,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Initial versioned release.
[Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v1.0.0...HEAD
[Unreleased]: https://github.com/minetest-mods/moreores/compare/v2.0.0...HEAD
[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
Copyright (c) 2011-2017 Hugo Locurcio and contributors
Copyright © 2011-2020 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

@ -12,15 +12,13 @@ world block sandbox game.
To install More Ores, clone this Git repository into your Minetest's `mods/`
directory:
```
```bash
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. 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!
of More Ores.
### Enable the mod
@ -43,29 +41,30 @@ 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.
1. Make sure Minetest is not currently running (else, it will overwrite
1. Make sure Minetest is not currently running (otherwise, it will overwrite
the changes when exiting).
2. Open the world's `world.mt` file using a text editor.
3. Add the following line at the end of the file:
```
```text
load_mod_moreores = true
```
If the line is already present in the file, then replace `false` with `true` on that line.
If the line is already present in the file, then replace `false` with `true`
on that line.
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.
## Version compatibility
More Ores is currently primarily tested with Minetest 0.4.16.
More Ores is currently primarily tested with Minetest 5.1.0.
It may or may not work with newer or older versions. Issues arising in older
versions than 0.4.16 will generally not be fixed.
versions than 5.0.0 will generally not be fixed.
## License
Copyright © 2011-2017 Hugo Locurcio and contributors
Copyright © 2011-2020 Hugo Locurcio and contributors
- More Ores code is licensed under the zlib license, see
[`LICENSE.md`](LICENSE.md) for details.

View File

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

View File

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

369
init.lua
View File

@ -3,92 +3,74 @@
** More Ores **
By Calinou, with the help of Nore.
Copyright (c) 2011-2017 Hugo Locurcio and contributors.
Copyright © 2011-2020 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
=====================================================================
--]]
moreores = {}
local default_tin = false
if minetest.registered_items["default:tin_ingot"] then
default_tin = true
end
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
local modpath = minetest.get_modpath("moreores")
local S = minetest.get_translator("moreores")
moreores.S = S
dofile(modpath .. "/_config.txt")
-- `mg` support:
-- `mg` mapgen support
if minetest.get_modpath("mg") then
dofile(modpath .. "/mg.lua")
end
-- Utility functions
-- =================
-- `frame` support
local use_frame = minetest.get_modpath("frame")
local default_stone_sounds = default.node_sound_stone_defaults()
local default_metal_sounds = default.node_sound_metal_defaults()
local function hoe_on_use(itemstack, user, pointed_thing, uses)
local pt = pointed_thing
-- Check if pointing at a node:
if not pt then
return
-- Returns the crafting recipe table for a given material and item.
local function get_recipe(material, item)
if item == "sword" then
return {
{material},
{material},
{"group:stick"},
}
end
if pt.type ~= "node" then
return
if item == "shovel" then
return {
{material},
{"group:stick"},
{"group:stick"},
}
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"}}
if item == "axe" then
return {
{material, material},
{material, "group:stick"},
{"", "group:stick"},
}
end
if name == "shovel" then
return {{c}, {"group:stick"}, {"group:stick"}}
if item == "pick" then
return {
{material, material, material},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
end
if name == "axe" then
return {{c, c}, {c, "group:stick"}, {"", "group:stick"}}
if item == "block" then
return {
{material, material, material},
{material, material, material},
{material, material, material},
}
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"}}
if item == "lockedchest" then
return {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", material, "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
end
end
@ -100,24 +82,27 @@ local function add_ore(modname, description, mineral_name, oredef)
local item_base = tool_base .. mineral_name
local ingot = item_base .. "_ingot"
local lump_item = item_base .. "_lump"
local ingotcraft = ingot
if oredef.makes.ore then
minetest.register_node(modname .. ":mineral_" .. mineral_name, {
description = S("%s Ore"):format(S(description)),
description = S("@1 Ore", S(description)),
tiles = {"default_stone.png^" .. modname .. "_mineral_" .. mineral_name .. ".png"},
groups = {cracky = 3},
groups = {cracky = 2},
sounds = default_stone_sounds,
drop = lump_item
drop = lump_item,
})
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("%s Block"):format(S(description)),
tiles = { img_base .. "_block.png" },
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level= 2},
description = S("@1 Block", S(description)),
tiles = {img_base .. "_block.png"},
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
sounds = default_metal_sounds,
})
minetest.register_alias(mineral_name.."_block", block_item)
@ -129,15 +114,18 @@ local function add_ore(modname, description, mineral_name, oredef)
minetest.register_craft( {
output = ingot .. " 9",
recipe = {
{ block_item }
{block_item},
}
})
end
if use_frame then
frame.register(block_item)
end
end
if oredef.makes.lump then
minetest.register_craftitem(lump_item, {
description = S("%s Lump"):format(S(description)),
description = S("@1 Lump", S(description)),
inventory_image = img_base .. "_lump.png",
})
minetest.register_alias(mineral_name .. "_lump", lump_item)
@ -145,17 +133,23 @@ local function add_ore(modname, description, mineral_name, oredef)
minetest.register_craft({
type = "cooking",
output = ingot,
recipe = lump_item
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("%s Ingot"):format(S(description)),
description = S("@1 Ingot", 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
@ -163,7 +157,7 @@ local function add_ore(modname, description, mineral_name, oredef)
output = "default:chest_locked",
recipe = {
{ingot},
{"default:chest"}
{"default:chest"},
}
})
minetest.register_craft( {
@ -184,88 +178,100 @@ local function add_ore(modname, description, mineral_name, oredef)
inventory_image = toolimg_base .. tool_name .. ".png",
tool_capabilities = {
max_drop_level = 3,
groupcaps = tooldef
groupcaps = tooldef,
},
sound = {breaks = "default_tool_breaks"},
sound = {breaks = "default_tool_breaks"},
}
if tool_name == "sword" then
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))
tdef.description = S("@1 Sword", S(description))
end
if tool_name == "pick" then
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))
tdef.description = S("@1 Pickaxe", S(description))
end
if tool_name == "axe" then
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))
tdef.description = S("@1 Axe", S(description))
end
if tool_name == "shovel" then
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
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
tdef.description = S("@1 Shovel", S(description))
tdef.wield_image = toolimg_base .. tool_name .. ".png^[transformR90"
end
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.uses
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)
if oredef.makes.ingot then
minetest.register_craft({
output = fulltool_name,
recipe = get_recipe(ingot, tool_name)
})
if use_frame then
frame.register(fulltool_name)
end
end
end
-- Add everything:
local modname = "moreores"
local oredefs = {
silver = {
description = "Silver",
makes = {ore = true, block = true, lump = true, ingot = true, chest = true},
oredef = {clust_scarcity = moreores.silver_chunk_size * moreores.silver_chunk_size * moreores.silver_chunk_size,
oredef = {
clust_scarcity = moreores.silver_chunk_size ^ 3,
clust_num_ores = moreores.silver_ore_per_chunk,
clust_size = moreores.silver_chunk_size,
y_min = moreores.silver_min_depth,
y_max = moreores.silver_max_depth
},
clust_size = moreores.silver_chunk_size,
y_min = moreores.silver_min_depth,
y_max = moreores.silver_max_depth,
},
tools = {
pick = {
cracky = {times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 100, maxlevel= 1}
},
hoe = {
uses = 300
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}
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}
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}
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},
},
},
full_punch_interval = 1.0,
@ -274,113 +280,100 @@ local oredefs = {
mithril = {
description = "Mithril",
makes = {ore = true, block = true, lump = true, ingot = true, chest = false},
oredef = {clust_scarcity = moreores.mithril_chunk_size * moreores.mithril_chunk_size * moreores.mithril_chunk_size,
oredef = {
clust_scarcity = moreores.mithril_chunk_size ^ 3,
clust_num_ores = moreores.mithril_ore_per_chunk,
clust_size = moreores.mithril_chunk_size,
y_min = moreores.mithril_min_depth,
y_max = moreores.mithril_max_depth
},
clust_size = moreores.mithril_chunk_size,
y_min = moreores.mithril_min_depth,
y_max = moreores.mithril_max_depth,
},
tools = {
pick = {
cracky = {times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel= 2}
},
hoe = {
uses = 1000
cracky = {times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel = 2}
},
shovel = {
crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel= 2}
crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel = 2},
},
axe = {
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}
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 = {
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}
}
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,
damage_groups = {fleshy = 9},
}
}
if not default_tin then
oredefs.tin = {
description = "Tin",
makes = {ore = true, block = true, lump = true, ingot = true, chest = false},
oredef = {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,
y_min = moreores.tin_min_depth,
y_max = moreores.tin_max_depth
},
tools = {},
}
-- If tin is available in the `default` mod, don't register More Ores' variant of tin
local default_tin
if minetest.registered_items["default:tin_ingot"] then
default_tin = true
else
default_tin = false
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
minetest.register_alias("moreores:mineral_tin", "default:stone_with_tin")
minetest.register_alias("moreores:tin_lump", "default:tin_lump")
minetest.register_alias("moreores:tin_ingot", "default:tin_ingot")
minetest.register_alias("moreores:tin_block", "default:tinblock")
else
-- Bronze has some special cases, because it is made from copper and tin:
minetest.register_craft( {
oredefs.tin = {
description = "Tin",
makes = {ore = true, block = true, lump = true, ingot = true, chest = false},
oredef = {
clust_scarcity = moreores.tin_chunk_size ^ 3,
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 = {},
}
-- Bronze has some special cases, because it is made from copper and tin
minetest.register_craft({
type = "shapeless",
output = "default:bronze_ingot 3",
recipe = {
"moreores:tin_ingot",
"default:copper_ingot",
"default:copper_ingot",
}
},
})
end
-- 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},
},
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,
action_off = function(pos, node)
minetest.get_meta(pos):set_string("cart_acceleration", "0")
end,
-- Copper rail (unique node)
if minetest.get_modpath("carts") then
carts:register_rail("moreores:copper_rail", {
description = S("Copper Rail"),
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",
groups = carts:get_rail_groups(),
}, {})
end
minetest.register_craft({
output = "moreores:copper_rail 18",
recipe = {
{"default:copper_ingot", "group:wood", "default:copper_ingot"},
{"default:copper_ingot", "", "default:copper_ingot"},
{"default:copper_ingot", "group:wood", "default:copper_ingot"},
},
})
if minetest.settings:get_bool("log_mods") then
minetest.log("action", S("[moreores] loaded."))
for orename, def in pairs(oredefs) do
-- Register everything
add_ore("moreores", def.description, orename, def)
end

View File

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

View File

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

View File

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

View File

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

22
locale/moreores.de.tr Normal file
View File

@ -0,0 +1,22 @@
# textdomain: moreores
# Translation by Xanthin
[moreores] loaded.=[moreores] geladen.
@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

21
locale/moreores.en.tr Normal file
View File

@ -0,0 +1,21 @@
# textdomain: moreores
[moreores] loaded.=[moreores] loaded.
@1 Ore=@1 Ore
@1 Lump=@1 Lump
@1 Ingot=@1 Ingot
@1 Block=@1 Block
@1 Pickaxe=@1 Pickaxe
@1 Shovel=@1 Shovel
@1 Axe=@1 Axe
@1 Sword=@1 Sword
@1 Hoe=@1 Hoe
Copper=Copper
Tin=Tin
Bronze=Bronze
Silver=Silver
Gold=Gold
Mithril=Mithril
Copper Rail=Copper Rail

22
locale/moreores.es.tr Normal file
View File

@ -0,0 +1,22 @@
# textdomain: moreores
# Translation by kaeza
[moreores] loaded.=[moreores] cargado.
@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

23
locale/moreores.fr.tr Normal file
View File

@ -0,0 +1,23 @@
# textdomain: moreores
# Translation by Calinou
[moreores] loaded.=[moreores] a été chargé.
@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

22
locale/moreores.hu.tr Normal file
View File

@ -0,0 +1,22 @@
# textdomain: moreores
# Translation by An0n3m0us
[moreores] loaded.=[moreores] betöltve.
@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

22
locale/moreores.it.tr Normal file
View File

@ -0,0 +1,22 @@
# textdomain: moreores
# Translation by Pagliaccio
[moreores] loaded.=[moreores] caricato.
@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

19
locale/moreores.nl.tr Normal file
View File

@ -0,0 +1,19 @@
# textdomain: moreores
[moreores] loaded.=[moreores] geladen.
@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

22
locale/moreores.pl.tr Normal file
View File

@ -0,0 +1,22 @@
# textdomain: moreores
# Translation by mat9117
[moreores] loaded.=[moreores] załadowano.
@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

23
locale/moreores.pt_br.txt Normal file
View File

@ -0,0 +1,23 @@
# textdomain: moreores
# Translation by github.com/caiorrs
[moreores] loaded.=[moreores] carregado.
@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

28
locale/moreores.tr.tr Normal file
View File

@ -0,0 +1,28 @@
# textdomain: moreores
# Translation by Mahmutelmas06
# mahmutelmas06@hotmail.com
# Türkçe Çeviri
# Turkish translation
# Language 2 letter iso code is "tr"
[moreores] loaded.=[moreores] yüklendi.
@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,20 +0,0 @@
[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

View File

@ -1,21 +0,0 @@
# 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,25 +0,0 @@
# 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 (c) 2011-2017 Hugo Locurcio and contributors.
Copyright © 2011-2020 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
--]]

View File

@ -1 +1,5 @@
name = moreores
description = Adds new ore types.
depends = default
optional_depends = carts,farming,frame,mg,toolranks
min_minetest_version = 5.0.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 245 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: 333 B

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

After

Width:  |  Height:  |  Size: 149 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: 225 B

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 B

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 266 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: 199 B

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

After

Width:  |  Height:  |  Size: 194 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: 196 B

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

After

Width:  |  Height:  |  Size: 199 B