forked from minetest-mods/moreores
Compare commits
12 Commits
nalc-1.2.0
...
8043b9d711
Author | SHA1 | Date | |
---|---|---|---|
8043b9d711 | |||
fb2d58d8c8 | |||
972352fecd | |||
cad7278522 | |||
a9bd9dc84a | |||
2f495340ca | |||
0b6f669df4 | |||
dec888aee9 | |||
3fe0ba8fcb | |||
b4b42adb6e | |||
734f927f37 | |||
8cb3486791 |
@ -28,7 +28,6 @@ read_globals = {
|
||||
"carts",
|
||||
"farming",
|
||||
"frame",
|
||||
"intllib",
|
||||
"mg",
|
||||
"toolranks",
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v2.3.0
|
||||
rev: v3.3.0
|
||||
hooks:
|
||||
- id: fix-byte-order-marker
|
||||
- id: end-of-file-fixer
|
||||
- id: trailing-whitespace
|
||||
|
||||
|
19
CHANGELOG.md
19
CHANGELOG.md
@ -7,6 +7,22 @@ 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.
|
||||
|
||||
## [2.1.0] - 2021-06-28
|
||||
|
||||
### Added
|
||||
|
||||
- More Ores tools now have [`toolranks`](https://github.com/lisacvuk/minetest-toolranks) support.
|
||||
@ -61,6 +77,7 @@ 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.0.0...HEAD
|
||||
[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
|
||||
[1.1.0]: https://github.com/minetest-mods/moreores/compare/v1.0.0...v1.1.0
|
||||
|
81
_config.txt
81
_config.txt
@ -7,21 +7,74 @@
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
-- Chunk sizes for ore generation (bigger = ore deposits are more scattered around)
|
||||
moreores.tin_chunk_size = 7
|
||||
moreores.silver_chunk_size = 11
|
||||
moreores.mithril_chunk_size = 11
|
||||
-- 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
|
||||
|
||||
-- Amount of ore per chunk (higher = bigger ore deposits)
|
||||
moreores.tin_ore_per_chunk = 3
|
||||
moreores.silver_ore_per_chunk = 4
|
||||
moreores.mithril_ore_per_chunk = 1
|
||||
-- Tin
|
||||
moreores.tin_ore_per_chunk_high = 5
|
||||
moreores.tin_ore_per_chunk = 4
|
||||
moreores.tin_ore_per_chunk_deep = 5
|
||||
|
||||
-- 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
|
||||
-- Silver
|
||||
moreores.silver_ore_per_chunk_high = 4
|
||||
moreores.silver_ore_per_chunk = 2
|
||||
moreores.silver_ore_per_chunk_deep = 4
|
||||
|
||||
-- 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
|
||||
-- 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
|
||||
|
||||
-- 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
|
||||
|
132
init.lua
132
init.lua
@ -166,11 +166,21 @@ local function add_ore(modname, description, mineral_name, oredef)
|
||||
})
|
||||
end
|
||||
|
||||
oredef.oredef_high.ore_type = "scatter"
|
||||
oredef.oredef_high.ore = modname .. ":mineral_" .. mineral_name
|
||||
oredef.oredef_high.wherein = "default:stone"
|
||||
|
||||
oredef.oredef.ore_type = "scatter"
|
||||
oredef.oredef.ore = modname .. ":mineral_" .. mineral_name
|
||||
oredef.oredef.wherein = "default:stone"
|
||||
|
||||
oredef.oredef_deep.ore_type = "scatter"
|
||||
oredef.oredef_deep.ore = modname .. ":mineral_" .. mineral_name
|
||||
oredef.oredef_deep.wherein = "default:stone"
|
||||
|
||||
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 = {
|
||||
@ -178,32 +188,26 @@ 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.groupcaps,
|
||||
damage_groups = tooldef.damage_groups,
|
||||
full_punch_interval = oredef.full_punch_interval,
|
||||
},
|
||||
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("@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("@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("@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("@1 Shovel", S(description))
|
||||
tdef.wield_image = toolimg_base .. tool_name .. ".png^[transformR90"
|
||||
end
|
||||
@ -211,7 +215,7 @@ local function add_ore(modname, description, mineral_name, oredef)
|
||||
local fulltool_name = tool_base .. tool_name .. tool_post
|
||||
|
||||
if tool_name == "hoe" and minetest.get_modpath("farming") then
|
||||
tdef.max_uses = tooldef.uses
|
||||
tdef.max_uses = tooldef.max_uses
|
||||
tdef.description = S("@1 Hoe", S(description))
|
||||
farming.register_hoe(fulltool_name, tdef)
|
||||
end
|
||||
@ -250,62 +254,118 @@ 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_chunk_size,
|
||||
clust_size = moreores.silver_clust_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 = {
|
||||
cracky = {times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 100, maxlevel = 1},
|
||||
groupcaps = {
|
||||
cracky = {times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 100, maxlevel = 1},
|
||||
},
|
||||
damage_groups = {fleshy = 4},
|
||||
},
|
||||
hoe = {
|
||||
max_uses = 300,
|
||||
},
|
||||
shovel = {
|
||||
crumbly = {times = {[1] = 1.10, [2] = 0.40, [3] = 0.25}, uses = 100, maxlevel = 1},
|
||||
groupcaps = {
|
||||
crumbly = {times = {[1] = 1.10, [2] = 0.40, [3] = 0.25}, uses = 100, maxlevel = 1},
|
||||
},
|
||||
damage_groups = {fleshy = 3},
|
||||
},
|
||||
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}
|
||||
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},
|
||||
},
|
||||
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},
|
||||
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},
|
||||
choppy = {times = {[3] = 0.80}, uses = 100, maxlevel = 0},
|
||||
},
|
||||
damage_groups = {fleshy = 6},
|
||||
},
|
||||
},
|
||||
full_punch_interval = 1.0,
|
||||
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_chunk_size,
|
||||
clust_size = moreores.mithril_clust_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 = {
|
||||
cracky = {times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel = 2}
|
||||
groupcaps = {
|
||||
cracky = {times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel = 3},
|
||||
},
|
||||
damage_groups = {fleshy = 6},
|
||||
},
|
||||
hoe = {
|
||||
max_uses = 1000,
|
||||
},
|
||||
shovel = {
|
||||
crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel = 2},
|
||||
groupcaps = {
|
||||
crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel = 3},
|
||||
},
|
||||
damage_groups = {fleshy = 5},
|
||||
},
|
||||
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}
|
||||
groupcaps = {
|
||||
choppy = {times = {[1] = 1.75, [2] = 0.45, [3] = 0.45}, uses = 200, maxlevel = 3},
|
||||
fleshy = {times = {[2] = 0.95, [3] = 0.30}, uses = 200, maxlevel = 2},
|
||||
},
|
||||
damage_groups = {fleshy = 8},
|
||||
},
|
||||
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},
|
||||
groupcaps = {
|
||||
fleshy = {times = {[2] = 0.65, [3] = 0.25}, uses = 200, maxlevel = 2},
|
||||
snappy = {times = {[1] = 1.70, [2] = 0.70, [3] = 0.25}, uses = 200, maxlevel = 3},
|
||||
choppy = {times = {[3] = 0.65}, uses = 200, maxlevel = 0},
|
||||
},
|
||||
damage_groups = {fleshy = 10},
|
||||
},
|
||||
},
|
||||
full_punch_interval = 0.45,
|
||||
damage_groups = {fleshy = 9},
|
||||
}
|
||||
}
|
||||
|
||||
@ -326,13 +386,27 @@ 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_chunk_size,
|
||||
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 = {},
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user