forked from minetest-mods/moreores
		
	Compare commits
	
		
			28 Commits
		
	
	
		
			nalc-1.2.0
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3c00ff13b7 | |||
|  | 73c8696c82 | ||
|  | 31e9d09355 | ||
|  | 473abca716 | ||
| 75927e6d3a | |||
|  | bf02115f31 | ||
|  | 0d1e32ce72 | ||
|  | c9e25aca43 | ||
|  | 4f7ec3b3ae | ||
| 73566f0f75 | |||
|  | b20cc8d102 | ||
|  | c5195f4ecd | ||
| 8ff33bb8e4 | |||
|  | 041abf66a5 | ||
|  | 5be4ccb23f | ||
|  | c142b47539 | ||
| 8043b9d711 | |||
|  | fb2d58d8c8 | ||
| 972352fecd | |||
|  | cad7278522 | ||
|  | a9bd9dc84a | ||
| 2f495340ca | |||
|  | 0b6f669df4 | ||
| dec888aee9 | |||
|  | 3fe0ba8fcb | ||
| b4b42adb6e | |||
|  | 734f927f37 | ||
|  | 8cb3486791 | 
							
								
								
									
										22
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| 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 | ||||
| @@ -28,7 +28,7 @@ read_globals = { | ||||
| 	"carts", | ||||
| 	"farming", | ||||
| 	"frame", | ||||
| 	"intllib", | ||||
| 	"mg", | ||||
| 	"toolranks", | ||||
| 	"mcl_sounds" | ||||
| } | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
							
								
								
									
										16
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								.travis.yml
									
									
									
									
									
								
							| @@ -1,16 +0,0 @@ | ||||
| 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 | ||||
							
								
								
									
										22
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -7,6 +7,25 @@ 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. | ||||
| @@ -61,6 +80,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 | ||||
|   | ||||
							
								
								
									
										101
									
								
								_config.txt
									
									
									
									
									
								
							
							
						
						
									
										101
									
								
								_config.txt
									
									
									
									
									
								
							| @@ -7,21 +7,94 @@ | ||||
| ------------------------------------------------------------------------------ | ||||
|  | ||||
| -- 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 | ||||
|  | ||||
|  | ||||
| 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 | ||||
|   | ||||
							
								
								
									
										291
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										291
									
								
								init.lua
									
									
									
									
									
								
							| @@ -25,11 +25,32 @@ end | ||||
| -- `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 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 | ||||
|  | ||||
|  | ||||
| -- 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}, | ||||
| @@ -74,7 +95,12 @@ local function get_recipe(material, item) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| local function add_ore(modname, description, mineral_name, oredef) | ||||
| 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 img_base = modname .. "_" .. mineral_name | ||||
| 	local toolimg_base = modname .. "_tool_"..mineral_name | ||||
| 	local tool_base = modname .. ":" | ||||
| @@ -83,14 +109,34 @@ local function add_ore(modname, description, mineral_name, oredef) | ||||
| 	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 | ||||
| 		minetest.register_node(modname .. ":mineral_" .. mineral_name, { | ||||
| 			description = S("@1 Ore", S(description)), | ||||
| 			tiles = {"default_stone.png^" .. modname .. "_mineral_" .. mineral_name .. ".png"}, | ||||
| 			groups = {cracky = 2}, | ||||
| 			sounds = default_stone_sounds, | ||||
| 			drop = lump_item, | ||||
| 		}) | ||||
|         local node_def_tbl = { | ||||
|             description = S("@1 Ore", 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) | ||||
| @@ -103,6 +149,7 @@ local function add_ore(modname, description, mineral_name, oredef) | ||||
| 			description = S("@1 Block", 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) | ||||
| @@ -153,6 +200,7 @@ local function add_ore(modname, description, mineral_name, oredef) | ||||
| 	end | ||||
|  | ||||
| 	if oredef.makes.chest then | ||||
| 		if not is_mcl_core_present then | ||||
| 		minetest.register_craft( { | ||||
| 			output = "default:chest_locked", | ||||
| 			recipe = { | ||||
| @@ -160,17 +208,29 @@ local function add_ore(modname, description, mineral_name, oredef) | ||||
| 				{"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 = "default:stone" | ||||
| 	oredef.oredef.wherein = stone_ingredient | ||||
|  | ||||
| 	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 = { | ||||
| @@ -178,40 +238,59 @@ 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"}, | ||||
| 			_repair_material = ingot, | ||||
| 			_mcl_toollike_wield = true, | ||||
|       mcl_diggroups = tooldef._mcl_diggroups, | ||||
| 			groups = tooldef.groups, | ||||
| 		} | ||||
|  | ||||
| 		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)) | ||||
| 			if tdef.groups then | ||||
| 				tdef.groups = merge_tables(tdef.groups, {sword = 1}) | ||||
| 			else | ||||
| 				tdef.groups = {sword = 1} | ||||
| 			end | ||||
| 		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)) | ||||
| 			if tdef.groups then | ||||
| 				tdef.groups = merge_tables(tdef.groups, {pickaxe = 1, tool=1}) | ||||
| 			else | ||||
| 				tdef.groups = {pickaxe = 1, tool=1} | ||||
| 			end | ||||
| 		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)) | ||||
| 			if tdef.groups then | ||||
| 				tdef.groups = merge_tables(tdef.groups, {axe = 1, tool=1}) | ||||
| 			else | ||||
| 				tdef.groups = {axe = 1, tool=1} | ||||
| 			end | ||||
| 		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)) | ||||
| 			if tdef.groups then | ||||
| 				tdef.groups = merge_tables(tdef.groups, {shovel = 1, tool=1}) | ||||
| 			else | ||||
| 				tdef.groups = {shovel = 1, tool=1} | ||||
| 			end | ||||
| 			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.uses | ||||
| 			tdef.max_uses = tooldef.max_uses | ||||
| 			tdef.material = ingot | ||||
| 			tdef.description = S("@1 Hoe", S(description)) | ||||
| 			farming.register_hoe(fulltool_name, tdef) | ||||
| 		end | ||||
| @@ -250,62 +329,162 @@ 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}, | ||||
| 				groups = {dig_speed_class=4, enchantability=14}, | ||||
| 				_mcl_diggroups = { | ||||
| 					pickaxey = { speed = 6, level = 4, uses = 126 } | ||||
| 			}, | ||||
| 			}, | ||||
| 			hoe = { | ||||
| 				max_uses = 150, | ||||
| 			}, | ||||
| 			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}, | ||||
| 				groups = {dig_speed_class=4, enchantability=14}, | ||||
| 				_mcl_diggroups = { | ||||
| 					shovely = { speed = 6, level = 4, uses = 126 } | ||||
| 			}, | ||||
| 			}, | ||||
| 			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}, | ||||
| 				groups = {dig_speed_class=4, enchantability=14}, | ||||
| 				_mcl_diggroups = { | ||||
| 					axey = { speed = 6, level = 4, uses = 126 } | ||||
| 			}, | ||||
| 			}, | ||||
| 			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}, | ||||
| 				_mcl_diggroups = { | ||||
| 					swordy = { speed = 6, level = 4, uses = 126 }, | ||||
| 					swordy_cobweb = { speed = 6, level = 4, uses = 126 } | ||||
| 			}, | ||||
| 			}, | ||||
| 		}, | ||||
| 		full_punch_interval = 1.0, | ||||
| 		damage_groups = {fleshy = 6}, | ||||
| 		extra_node_def = { | ||||
| 			_mcl_blast_resistance =  3, | ||||
| 			_mcl_hardness =  4, | ||||
| 			_mcl_silk_touch_drop = true, | ||||
| 			groups = {pickaxey = 4} | ||||
| 		} | ||||
| 	}, | ||||
| 	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.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, | ||||
| 			}, | ||||
| 			shovel = { | ||||
| 				crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel = 2}, | ||||
| 				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 } | ||||
| 				}, | ||||
| 			}, | ||||
| 			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] = 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 } | ||||
| 				}, | ||||
| 			}, | ||||
| 			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.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 } | ||||
| 				}, | ||||
| 			}, | ||||
| 		}, | ||||
| 		full_punch_interval = 0.45, | ||||
| 		damage_groups = {fleshy = 9}, | ||||
| 		extra_node_def = { | ||||
| 			_mcl_blast_resistance =  3, | ||||
| 			_mcl_hardness =  5, | ||||
| 			_mcl_silk_touch_drop = true, | ||||
| 			groups = {pickaxey = 5} | ||||
| 		}, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -326,14 +505,34 @@ 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 = {}, | ||||
| 		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 | ||||
| @@ -342,8 +541,8 @@ else | ||||
| 		output = "default:bronze_ingot 3", | ||||
| 		recipe = { | ||||
| 			"moreores:tin_ingot", | ||||
| 			"default:copper_ingot", | ||||
| 			"default:copper_ingot", | ||||
| 			copper_ingredient, | ||||
| 			copper_ingredient, | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
| @@ -367,13 +566,13 @@ 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"}, | ||||
| 		{copper_ingredient, "", copper_ingredient}, | ||||
| 		{copper_ingredient, "group:stick", copper_ingredient}, | ||||
| 		{copper_ingredient, "", copper_ingredient}, | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| for orename, def in pairs(oredefs) do | ||||
| 	-- Register everything | ||||
| 	add_ore("moreores", def.description, orename, def) | ||||
| 	add_ore("moreores", def.description, orename, def, def.extra_node_def) | ||||
| end | ||||
|   | ||||
| @@ -2,8 +2,6 @@ | ||||
|  | ||||
| # Translation by Xanthin | ||||
|  | ||||
| [moreores] loaded.=[moreores] geladen. | ||||
|  | ||||
| @1 Ore=@1erz | ||||
| @1 Lump=@1klumpen | ||||
| @1 Ingot=@1barren | ||||
|   | ||||
| @@ -1,21 +0,0 @@ | ||||
| # 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 | ||||
| @@ -2,8 +2,6 @@ | ||||
|  | ||||
| # Translation by kaeza | ||||
|  | ||||
| [moreores] loaded.=[moreores] cargado. | ||||
|  | ||||
| @1 Ore=Mineral de @1 | ||||
| @1 Lump=Pepita de @1 | ||||
| @1 Ingot=Lingote de @1 | ||||
| @@ -13,10 +11,10 @@ | ||||
| @1 Axe=Hacha de @1 | ||||
| @1 Sword=Espada de @1 | ||||
|  | ||||
| Copper=cobre | ||||
| Tin=estaño | ||||
| Bronze=bronce | ||||
| Silver=plata | ||||
| Gold=oro | ||||
| Mithril=mitrilo | ||||
| Copper=Cobre | ||||
| Tin=Estaño | ||||
| Bronze=Bronce | ||||
| Silver=Plata | ||||
| Gold=Oro | ||||
| Mithril=Mitrilo | ||||
| Copper Rail=Riel de Cobre | ||||
|   | ||||
| @@ -2,8 +2,6 @@ | ||||
|  | ||||
| # Translation by Calinou | ||||
|  | ||||
| [moreores] loaded.=[moreores] a été chargé. | ||||
|  | ||||
| @1 Ore=Minerai en @1 | ||||
| @1 Lump=Roche en @1 | ||||
| @1 Ingot=Lingot en @1 | ||||
|   | ||||
| @@ -2,8 +2,6 @@ | ||||
|  | ||||
| # Translation by An0n3m0us | ||||
|  | ||||
| [moreores] loaded.=[moreores] betöltve. | ||||
|  | ||||
| @1 Ore=@1 érc | ||||
| @1 Lump=@1 rög | ||||
| @1 Ingot=@1 öntvény | ||||
|   | ||||
| @@ -2,8 +2,6 @@ | ||||
|  | ||||
| # Translation by Pagliaccio | ||||
|  | ||||
| [moreores] loaded.=[moreores] caricato. | ||||
|  | ||||
| @1 Ore=Minerale di @1 | ||||
| @1 Lump=@1 grezzo | ||||
| @1 Ingot=Lingotto di @1 | ||||
|   | ||||
| @@ -1,7 +1,5 @@ | ||||
| # textdomain: moreores | ||||
|  | ||||
| [moreores] loaded.=[moreores] geladen. | ||||
|  | ||||
| @1 Ore=@1 Erts | ||||
| @1 Lump=@1 Klomp | ||||
| @1 Ingot=@1 Staaf | ||||
|   | ||||
| @@ -2,14 +2,12 @@ | ||||
|  | ||||
| # 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 Shovel=@1 Łopata | ||||
| @1 Axe=@1 Siekiera | ||||
| @1 Sword=@1 Miecz | ||||
|  | ||||
| @@ -19,4 +17,4 @@ Bronze=Brąz | ||||
| Silver=Srebro | ||||
| Gold=Złoto | ||||
| Mithril=Mithril | ||||
| Copper Rail=Miedziany tor | ||||
| Copper Rail=Miedziany Tor | ||||
|   | ||||
| @@ -2,8 +2,6 @@ | ||||
| 
 | ||||
| # 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 | ||||
							
								
								
									
										19
									
								
								locale/moreores.ru.tr
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										19
									
								
								locale/moreores.ru.tr
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| # 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=медные рельсы | ||||
| @@ -7,8 +7,6 @@ | ||||
| # 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 | ||||
|   | ||||
							
								
								
									
										22
									
								
								locale/moreores.uk.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								locale/moreores.uk.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| # 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=Мідні рейки | ||||
							
								
								
									
										18
									
								
								locale/template.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								locale/template.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| # 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= | ||||
							
								
								
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| name = moreores | ||||
| description = Adds new ore types. | ||||
| depends = default | ||||
| optional_depends = carts,farming,frame,mg,toolranks | ||||
| optional_depends = carts,farming,frame,mg,toolranks,mcl_core,mcl_sounds | ||||
| min_minetest_version = 5.0.0 | ||||
| supported_games = mineclone2,mineclonia,minetest_game | ||||
|   | ||||
		Reference in New Issue
	
	Block a user