Compare commits
	
		
			2 Commits
		
	
	
		
			b85e99ded0
			...
			user_error
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 19c690d7e9 | ||
|  | 7dfea8748a | 
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,3 @@ | ||||
| [submodule "sound_api_core"] | ||||
| 	path = sound_api_core | ||||
| 	url = https://github.com/mt-mods/sound_api_core.git | ||||
| @@ -1,7 +1,7 @@ | ||||
| globals = { | ||||
|     "minetest", "basic_materials", "crafting", | ||||
|     "minetest", "basic_materials", | ||||
| } | ||||
|  | ||||
| read_globals = { | ||||
|     "default", "xcompat", | ||||
|     "default", | ||||
| } | ||||
| @@ -20,4 +20,11 @@ mod that adds basic material nodes and items | ||||
| ### Option 3: use git | ||||
|  | ||||
| * `git clone https://github.com/mt-mods/basic_materials.git` | ||||
| * `cd basic_materials` | ||||
| * `cd basic_materials` | ||||
| * `git submodule init` | ||||
| * `git submodule update` | ||||
|  | ||||
| to update please use the following commands starting inside the mod directory | ||||
|  | ||||
| * `git submodule sync` | ||||
| * `git submodule update` | ||||
| @@ -85,18 +85,6 @@ minetest.register_craftitem("basic_materials:gold_wire", { | ||||
| 	inventory_image = "basic_materials_gold_wire.png" | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:stainless_steel_wire", { | ||||
| 	description = S("Spool of stainless steel wire"), | ||||
| 	groups = { wire = 1 }, | ||||
| 	inventory_image = "basic_materials_stainless_steel_wire.png" | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:aluminum_wire", { | ||||
| 	description = S("Spool of aluminum wire"), | ||||
| 	groups = { wire = 1 }, | ||||
| 	inventory_image = "basic_materials_aluminum_wire.png" | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:steel_strip", { | ||||
| 	description = S("Steel Strip"), | ||||
| 	groups = { strip = 1 }, | ||||
| @@ -109,50 +97,11 @@ minetest.register_craftitem("basic_materials:copper_strip", { | ||||
| 	inventory_image = "basic_materials_copper_strip.png" | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:lead_strip", { | ||||
| 	description = S("Lead Strip"), | ||||
| 	groups = { strip = 1 }, | ||||
| 	inventory_image = "basic_materials_lead_strip.png" | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:gold_strip", { | ||||
| 	description = S("Gold Strip"), | ||||
| 	groups = { strip = 1 }, | ||||
| 	inventory_image = "basic_materials_gold_strip.png" | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:stainless_steel_strip", { | ||||
| 	description = S("Stainless Steel Strip"), | ||||
| 	groups = { strip = 1 }, | ||||
| 	inventory_image = "basic_materials_stainless_steel_strip.png" | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:aluminum_strip", { | ||||
| 	description = S("Aluminum Strip"), | ||||
| 	groups = { strip = 1 }, | ||||
| 	inventory_image = "basic_materials_aluminum_strip.png" | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:steel_bar", { | ||||
| 	description = S("Steel Bar"), | ||||
| 	inventory_image = "basic_materials_steel_bar.png", | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:carbon_steel_bar", { | ||||
| 	description = S("Carbon Steel Bar"), | ||||
| 	inventory_image = "basic_materials_carbon_steel_bar.png", | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:stainless_steel_bar", { | ||||
| 	description = S("Stainless Steel Bar"), | ||||
| 	inventory_image = "basic_materials_stainless_steel_bar.png", | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:aluminum_bar", { | ||||
| 	description = S("Aluminum Bar"), | ||||
| 	inventory_image = "basic_materials_aluminum_bar.png", | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("basic_materials:chainlink_brass", { | ||||
| 	description = S("Chainlinks (brass)"), | ||||
| 	groups = { chainlinks = 1 }, | ||||
| @@ -178,11 +127,4 @@ minetest.register_craftitem("basic_materials:gear_steel", { | ||||
| minetest.register_craftitem("basic_materials:padlock", { | ||||
| 	description = S("Padlock"), | ||||
| 	inventory_image = "basic_materials_padlock.png" | ||||
| }) | ||||
|  | ||||
| if minetest.get_modpath("hades_materials") then | ||||
| 	minetest.register_alias_force("basic_materials:plastic_sheet", "hades_materials:plastic_sheeting") | ||||
| 	minetest.register_alias_force("basic_materials:paraffin", "hades_materials:plastic_base") | ||||
| 	minetest.register_alias_force("basic_materials:silicon", "hades_materials:silicon") | ||||
| end | ||||
|  | ||||
| }) | ||||
							
								
								
									
										562
									
								
								crafts.lua
									
									
									
									
									
								
							
							
						
						| @@ -1,55 +1,15 @@ | ||||
| local materials = xcompat.materials | ||||
|  | ||||
| local have_hades_materials = minetest.get_modpath("hades_materials") | ||||
|  | ||||
| local function compress_craft(input) | ||||
| 	local buffer = {} | ||||
| 	for _, item in pairs(input) do | ||||
| 		if type(item)=="table" then | ||||
| 			for _, inneritem in pairs(item) do | ||||
| 				buffer[inneritem] = (buffer[inneritem] or 0) + 1 | ||||
| 			end | ||||
| 		elseif item ~= "" then | ||||
| 			buffer[item] = (buffer[item] or 0) + 1 | ||||
| 		end | ||||
| 	end | ||||
|  | ||||
| 	local output = {} | ||||
| 	for item, count in pairs(buffer) do | ||||
| 		output[#output + 1] = item .. " " .. count | ||||
| 	end | ||||
| 	return output | ||||
| end | ||||
|  | ||||
| local function register_craft(input) | ||||
| 	if minetest.get_modpath("rp_crafting") then | ||||
| 		local rp_craft = compress_craft(input.recipe) | ||||
| 		if #rp_craft > crafting.MAX_INPUTS then | ||||
| 			minetest.log("error", "[basic_materials] unable to register craft for " .. input.output) | ||||
| 			return | ||||
| 		end | ||||
|  | ||||
| 		crafting.register_craft({ | ||||
| 			output = input.output, | ||||
| 			items = rp_craft | ||||
| 		}) | ||||
| 	else | ||||
| 		minetest.register_craft(input) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| -- Craft recipes | ||||
| register_craft({ | ||||
| --craft recipes | ||||
| minetest.register_craft({ | ||||
| 	output = "basic_materials:chainlink_brass 12", | ||||
| 	recipe = { | ||||
| 		{"", "basic_materials:brass_ingot", "basic_materials:brass_ingot"}, | ||||
| 		{"basic_materials:brass_ingot", "", "basic_materials:brass_ingot"}, | ||||
| 		{"basic_materials:brass_ingot", "basic_materials:brass_ingot", ""}, | ||||
| 		{ "basic_materials:brass_ingot", "", "basic_materials:brass_ingot" }, | ||||
| 		{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "" }, | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| register_craft({ | ||||
| 	output = "basic_materials:chain_steel 2", | ||||
| minetest.register_craft({ | ||||
| 	output = 'basic_materials:chain_steel 2', | ||||
| 	recipe = { | ||||
| 		{"basic_materials:chainlink_steel"}, | ||||
| 		{"basic_materials:chainlink_steel"}, | ||||
| @@ -57,8 +17,8 @@ register_craft({ | ||||
| 	} | ||||
| }) | ||||
|  | ||||
| register_craft({ | ||||
| 	output = "basic_materials:chain_brass 2", | ||||
| minetest.register_craft({ | ||||
| 	output = 'basic_materials:chain_brass 2', | ||||
| 	recipe = { | ||||
| 		{"basic_materials:chainlink_brass"}, | ||||
| 		{"basic_materials:chainlink_brass"}, | ||||
| @@ -66,58 +26,49 @@ register_craft({ | ||||
| 	} | ||||
| }) | ||||
|  | ||||
| register_craft( { | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
| 	output = "basic_materials:brass_ingot 9", | ||||
| 	recipe = {"basic_materials:brass_block"}, | ||||
| 	recipe = { "basic_materials:brass_block" }, | ||||
| }) | ||||
|  | ||||
| register_craft( { | ||||
| minetest.register_craft( { | ||||
| 	output = "basic_materials:brass_block", | ||||
| 	recipe = { | ||||
| 		{"basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot"}, | ||||
| 		{"basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot"}, | ||||
| 		{"basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot"}, | ||||
| 		{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }, | ||||
| 		{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }, | ||||
| 		{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }, | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:plastic_strip 9", | ||||
| 	recipe = { | ||||
| 		{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"} | ||||
| 	}, | ||||
| minetest.register_craft( { | ||||
|     output = "basic_materials:plastic_strip 9", | ||||
|     recipe = { | ||||
| 		{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } | ||||
|     }, | ||||
| }) | ||||
|  | ||||
| register_craft( { | ||||
| minetest.register_craft( { | ||||
| 	output = "basic_materials:empty_spool 3", | ||||
| 	recipe = { | ||||
| 		{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"}, | ||||
| 		{"", "basic_materials:plastic_sheet", ""}, | ||||
| 		{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"} | ||||
| 		{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, | ||||
| 		{ "", "basic_materials:plastic_sheet", "" }, | ||||
| 		{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| if have_hades_materials then | ||||
| 	minetest.clear_craft({ | ||||
| 		type = "shapeless", | ||||
| 		recipe = {"group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves"} | ||||
| 	}) | ||||
| end | ||||
|  | ||||
| register_craft({ | ||||
| minetest.register_craft({ | ||||
| 	type = "shapeless", | ||||
| 	output = "basic_materials:oil_extract 2", | ||||
| 	recipe = {"group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves"} | ||||
| }) | ||||
|  | ||||
| -- Cooking recipes | ||||
| if not have_hades_materials then | ||||
| 	minetest.register_craft({ | ||||
| 		type = "cooking", | ||||
| 		output = "basic_materials:plastic_sheet", | ||||
| 		recipe = "basic_materials:paraffin", | ||||
| 	}) | ||||
| end | ||||
| --cooking recipes | ||||
| minetest.register_craft({ | ||||
| 	type = "cooking", | ||||
| 	output = "basic_materials:plastic_sheet", | ||||
| 	recipe = "basic_materials:paraffin", | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 	type = "cooking", | ||||
| @@ -132,7 +83,7 @@ minetest.register_craft({ | ||||
| 	cooktime = 8 | ||||
| }) | ||||
|  | ||||
| -- Fuel recipes | ||||
| --fuel recipes | ||||
| minetest.register_craft({ | ||||
| 	type = "fuel", | ||||
| 	recipe = "basic_materials:plastic_sheet", | ||||
| @@ -151,291 +102,202 @@ minetest.register_craft({ | ||||
| 	burntime = 30, | ||||
| }) | ||||
|  | ||||
| register_craft({ | ||||
| 	output = "basic_materials:concrete_block 6", | ||||
| 	recipe = { | ||||
| 		{"group:sand", "basic_materials:wet_cement", materials.gravel}, | ||||
| 		{"basic_materials:steel_bar", "basic_materials:wet_cement", "basic_materials:steel_bar"}, | ||||
| 		{materials.gravel, "basic_materials:wet_cement", "group:sand"}, | ||||
| 	} | ||||
| }) | ||||
| if minetest.get_modpath("default") then | ||||
|     minetest.register_craft({ | ||||
|         output = 'basic_materials:concrete_block 6', | ||||
|         recipe = { | ||||
|             {'group:sand',                'basic_materials:wet_cement', 'default:gravel'}, | ||||
|             {'basic_materials:steel_bar', 'basic_materials:wet_cement', 'basic_materials:steel_bar'}, | ||||
|             {'default:gravel',            'basic_materials:wet_cement', 'group:sand'}, | ||||
|         } | ||||
|     }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:motor 2", | ||||
| 	recipe = { | ||||
| 		{materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet"}, | ||||
| 		{materials.copper_ingot, materials.steel_ingot, materials.steel_ingot}, | ||||
| 		{materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet"} | ||||
| 	}, | ||||
| 	replacements = { | ||||
| 		{"basic_materials:copper_wire", "basic_materials:empty_spool"}, | ||||
| 		{"basic_materials:copper_wire", "basic_materials:empty_spool"}, | ||||
| 	} | ||||
| }) | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:motor 2", | ||||
|         recipe = { | ||||
|             { "default:mese_crystal_fragment", "basic_materials:copper_wire", "basic_materials:plastic_sheet" }, | ||||
|             { "default:copper_ingot",          "default:steel_ingot",         "default:steel_ingot" }, | ||||
|             { "default:mese_crystal_fragment", "basic_materials:copper_wire", "basic_materials:plastic_sheet" } | ||||
|         }, | ||||
|         replacements = { | ||||
|             { "basic_materials:copper_wire", "basic_materials:empty_spool" }, | ||||
|             { "basic_materials:copper_wire", "basic_materials:empty_spool" }, | ||||
|         } | ||||
|     }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:heating_element 2", | ||||
| 	recipe = { | ||||
| 		{materials.copper_ingot, materials.mese_crystal_fragment, materials.copper_ingot} | ||||
| 	}, | ||||
| }) | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:heating_element 2", | ||||
|         recipe = { | ||||
|             { "default:copper_ingot", "default:mese_crystal_fragment", "default:copper_ingot" } | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| register_craft({ | ||||
| 	--type = "shapeless", | ||||
| 	output = "basic_materials:energy_crystal_simple 2", | ||||
| 	recipe = { | ||||
| 		{materials.mese_crystal_fragment, materials.torch, materials.mese_crystal_fragment}, | ||||
| 		{materials.diamond, materials.gold_ingot, materials.diamond} | ||||
| 	}, | ||||
| }) | ||||
|     minetest.register_craft({ | ||||
|         --type = "shapeless", | ||||
|         output = "basic_materials:energy_crystal_simple 2", | ||||
|         recipe = { | ||||
|             { "default:mese_crystal_fragment", "default:torch", "default:mese_crystal_fragment" }, | ||||
|             { "default:diamond", "default:gold_ingot", "default:diamond" } | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:copper_wire 2", | ||||
| 	type = "shapeless", | ||||
| 	recipe = { | ||||
| 		materials.copper_ingot, | ||||
| 		"basic_materials:empty_spool", | ||||
| 		"basic_materials:empty_spool", | ||||
| 	}, | ||||
| }) | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:copper_wire 2", | ||||
|         type = "shapeless", | ||||
|         recipe = { | ||||
|             "default:copper_ingot", | ||||
|             "basic_materials:empty_spool", | ||||
|             "basic_materials:empty_spool", | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:gold_wire 2", | ||||
| 	type = "shapeless", | ||||
| 	recipe = { | ||||
| 		materials.gold_ingot, | ||||
| 		"basic_materials:empty_spool", | ||||
| 		"basic_materials:empty_spool", | ||||
| 	}, | ||||
| }) | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:gold_wire 2", | ||||
|         type = "shapeless", | ||||
|         recipe = { | ||||
|             "default:gold_ingot", | ||||
|             "basic_materials:empty_spool", | ||||
|             "basic_materials:empty_spool", | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:steel_wire 2", | ||||
| 	type = "shapeless", | ||||
| 	recipe = { | ||||
| 		materials.steel_ingot, | ||||
| 		"basic_materials:empty_spool", | ||||
| 		"basic_materials:empty_spool", | ||||
| 	}, | ||||
| }) | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:steel_wire 2", | ||||
|         type = "shapeless", | ||||
|         recipe = { | ||||
|             "default:steel_ingot", | ||||
|             "basic_materials:empty_spool", | ||||
|             "basic_materials:empty_spool", | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| if materials.stainless_steel_ingot then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:stainless_steel_wire 2", | ||||
| 		type = "shapeless", | ||||
| 		recipe = { | ||||
| 			materials.stainless_steel_ingot, | ||||
| 			"basic_materials:empty_spool", | ||||
| 			"basic_materials:empty_spool", | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:steel_strip 12", | ||||
|         recipe = { | ||||
|             { "", "default:steel_ingot", "" }, | ||||
|             { "default:steel_ingot", "", "" }, | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| if materials.aluminum_ingot then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:aluminum_wire 2", | ||||
| 		type = "shapeless", | ||||
| 		recipe = { | ||||
| 			materials.aluminum_ingot, | ||||
| 			"basic_materials:empty_spool", | ||||
| 			"basic_materials:empty_spool", | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:copper_strip 12", | ||||
|         recipe = { | ||||
|             { "", "default:copper_ingot", "" }, | ||||
|             { "default:copper_ingot", "", "" }, | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:steel_strip 12", | ||||
| 	recipe = { | ||||
| 		{"", materials.steel_ingot, ""}, | ||||
| 		{materials.steel_ingot, "", ""}, | ||||
| 	}, | ||||
| }) | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:steel_bar 6", | ||||
|         recipe = { | ||||
|             { "", "", "default:steel_ingot" }, | ||||
|             { "", "default:steel_ingot", "" }, | ||||
|             { "default:steel_ingot", "", "" }, | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:copper_strip 12", | ||||
| 	recipe = { | ||||
| 		{"", materials.copper_ingot, ""}, | ||||
| 		{materials.copper_ingot, "", ""}, | ||||
| 	}, | ||||
| }) | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:padlock 2", | ||||
|         recipe = { | ||||
|             { "basic_materials:steel_bar" }, | ||||
|             { "default:steel_ingot" }, | ||||
|             { "default:steel_ingot" }, | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:gold_strip 12", | ||||
| 	recipe = { | ||||
| 		{"", materials.gold_ingot, ""}, | ||||
| 		{materials.gold_ingot, "", ""}, | ||||
| 	}, | ||||
| }) | ||||
|     minetest.register_craft({ | ||||
|         output = "basic_materials:chainlink_steel 12", | ||||
|         recipe = { | ||||
|             {"", "default:steel_ingot", "default:steel_ingot"}, | ||||
|             { "default:steel_ingot", "", "default:steel_ingot" }, | ||||
|             { "default:steel_ingot", "default:steel_ingot", "" }, | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| if materials.lead_ingot then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:lead_strip 12", | ||||
| 		recipe = { | ||||
| 			{"", materials.lead_ingot, ""}, | ||||
| 			{materials.lead_ingot, "", ""}, | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|     minetest.register_craft( { | ||||
|         output = "basic_materials:gear_steel 6", | ||||
|         recipe = { | ||||
|             { "", "default:steel_ingot", "" }, | ||||
|             { "default:steel_ingot","basic_materials:chainlink_steel", "default:steel_ingot" }, | ||||
|             { "", "default:steel_ingot", "" } | ||||
|         }, | ||||
|     }) | ||||
|  | ||||
| if materials.stainless_steel_ingot then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:stainless_steel_strip 12", | ||||
| 		recipe = { | ||||
| 			{"", materials.stainless_steel_ingot, ""}, | ||||
| 			{materials.stainless_steel_ingot, "", ""}, | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|     if minetest.get_modpath("bucket") then | ||||
|         minetest.register_craft( { | ||||
|             type = "shapeless", | ||||
|             output = "basic_materials:terracotta_base 8", | ||||
|             recipe = { | ||||
|                 "bucket:bucket_water", | ||||
|                 "default:clay_lump", | ||||
|                 "default:gravel", | ||||
|             }, | ||||
|             replacements = { {"bucket:bucket_water", "bucket:bucket_empty"}, }, | ||||
|         }) | ||||
|  | ||||
| if materials.aluminum_ingot then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:aluminum_strip 12", | ||||
| 		recipe = { | ||||
| 			{"", materials.aluminum_ingot, ""}, | ||||
| 			{materials.aluminum_ingot, "", ""}, | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|         if minetest.get_modpath("dye") then | ||||
|             minetest.register_craft({ | ||||
|                 type = "shapeless", | ||||
|                 output = "basic_materials:wet_cement 3", | ||||
|                 recipe = { | ||||
|                     "default:dirt", | ||||
|                     "dye:dark_grey", | ||||
|                     "dye:dark_grey", | ||||
|                     "dye:dark_grey", | ||||
|                     "bucket:bucket_water" | ||||
|                 }, | ||||
|                 replacements = {{'bucket:bucket_water', 'bucket:bucket_empty'},}, | ||||
|             }) | ||||
|         end | ||||
|     end | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:steel_bar 6", | ||||
| 	recipe = { | ||||
| 		{"", "", materials.steel_ingot}, | ||||
| 		{"", materials.steel_ingot, ""}, | ||||
| 		{materials.steel_ingot, "", ""}, | ||||
| 	}, | ||||
| }) | ||||
|     if minetest.get_modpath("mesecons_materials") then | ||||
|         minetest.register_craft( { | ||||
|             output = "mesecons_materials:silicon 4", | ||||
|             recipe = { | ||||
|                 { "default:sand", "default:sand" }, | ||||
|                 { "default:sand", "default:steel_ingot" }, | ||||
|             }, | ||||
|         }) | ||||
|  | ||||
| if materials.carbon_steel_ingot then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:carbon_steel_bar 6", | ||||
| 		recipe = { | ||||
| 			{"", "", materials.carbon_steel_ingot}, | ||||
| 			{"", materials.carbon_steel_ingot, ""}, | ||||
| 			{materials.carbon_steel_ingot, "", ""}, | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|         minetest.register_craft( { | ||||
|             output = "basic_materials:ic 4", | ||||
|             recipe = { | ||||
|                 { "mesecons_materials:silicon", "mesecons_materials:silicon" }, | ||||
|                 { "mesecons_materials:silicon", "default:copper_ingot" }, | ||||
|             }, | ||||
|         }) | ||||
|     end | ||||
|  | ||||
| if materials.stainless_steel_ingot then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:stainless_steel_bar 6", | ||||
| 		recipe = { | ||||
| 			{"", "", materials.stainless_steel_ingot}, | ||||
| 			{"", materials.stainless_steel_ingot, ""}, | ||||
| 			{materials.stainless_steel_ingot, "", ""}, | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|     if not minetest.get_modpath("moreores") then | ||||
|         -- Without moreores, there still should be a way to create brass. | ||||
|         minetest.register_craft( { | ||||
|             output = "basic_materials:brass_ingot 9", | ||||
|             recipe = { | ||||
|             {"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"}, | ||||
|             {"default:gold_ingot", "default:copper_ingot", "default:gold_ingot"}, | ||||
|             {"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"}, | ||||
|             }, | ||||
|         }) | ||||
|     elseif minetest.get_modpath("moreores") then | ||||
|         minetest.register_craft( { | ||||
|             output = "basic_materials:silver_wire 2", | ||||
|             type = "shapeless", | ||||
|             recipe = { | ||||
|                 "moreores:silver_ingot", | ||||
|                 "basic_materials:empty_spool", | ||||
|                 "basic_materials:empty_spool", | ||||
|             }, | ||||
|         }) | ||||
|  | ||||
| if materials.aluminum_ingot then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:aluminum_bar 6", | ||||
| 		recipe = { | ||||
| 			{"", "", materials.aluminum_ingot}, | ||||
| 			{"", materials.aluminum_ingot, ""}, | ||||
| 			{materials.aluminum_ingot, "", ""}, | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:padlock 2", | ||||
| 	recipe = { | ||||
| 		{"basic_materials:steel_bar"}, | ||||
| 		{materials.steel_ingot}, | ||||
| 		{materials.steel_ingot}, | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| register_craft({ | ||||
| 	output = "basic_materials:chainlink_steel 12", | ||||
| 	recipe = { | ||||
| 		{"", materials.steel_ingot, materials.steel_ingot}, | ||||
| 		{materials.steel_ingot, "", materials.steel_ingot}, | ||||
| 		{materials.steel_ingot, materials.steel_ingot, ""}, | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:gear_steel 6", | ||||
| 	recipe = { | ||||
| 		{"", materials.steel_ingot, ""}, | ||||
| 		{materials.steel_ingot,"basic_materials:chainlink_steel", materials.steel_ingot}, | ||||
| 		{"", materials.steel_ingot, ""} | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| register_craft( { | ||||
| 	type = "shapeless", | ||||
| 	output = "basic_materials:terracotta_base 8", | ||||
| 	recipe = { | ||||
| 		materials.water_bucket, | ||||
| 		materials.clay_lump, | ||||
| 		materials.gravel, | ||||
| 	}, | ||||
| 	replacements = {{materials.water_bucket, materials.empty_bucket}}, | ||||
| }) | ||||
|  | ||||
| register_craft({ | ||||
| 	type = "shapeless", | ||||
| 	output = "basic_materials:wet_cement 3", | ||||
| 	recipe = { | ||||
| 		materials.dirt, | ||||
| 		materials.dye_dark_grey, | ||||
| 		materials.dye_dark_grey, | ||||
| 		materials.dye_dark_grey, | ||||
| 		materials.water_bucket | ||||
| 	}, | ||||
| 	replacements = {{materials.water_bucket, materials.empty_bucket}}, | ||||
| }) | ||||
|  | ||||
| if not have_hades_materials then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:silicon 4", | ||||
| 		recipe = { | ||||
| 			{materials.sand, materials.sand}, | ||||
| 			{materials.sand, materials.steel_ingot}, | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|  | ||||
| register_craft( { | ||||
| 	output = "basic_materials:ic 4", | ||||
| 	recipe = { | ||||
| 		{"basic_materials:silicon", "basic_materials:silicon"}, | ||||
| 		{"basic_materials:silicon", materials.copper_ingot}, | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| -- Without moreores, there still should be a way to create brass. | ||||
| register_craft( { | ||||
| 	output = "basic_materials:brass_ingot 9", | ||||
| 	recipe = { | ||||
| 		{materials.copper_ingot, materials.tin_ingot, materials.copper_ingot}, | ||||
| 		{materials.gold_ingot, materials.copper_ingot, materials.tin_ingot}, | ||||
| 		{materials.copper_ingot, materials.tin_ingot, materials.copper_ingot}, | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| if materials.silver_ingot then | ||||
| 	register_craft( { | ||||
| 		output = "basic_materials:silver_wire 2", | ||||
| 		type = "shapeless", | ||||
| 		recipe = { | ||||
| 			materials.silver_ingot, | ||||
| 			"basic_materials:empty_spool", | ||||
| 			"basic_materials:empty_spool", | ||||
| 		}, | ||||
| 	}) | ||||
|  | ||||
| 	register_craft( { | ||||
| 		type = "shapeless", | ||||
| 		output = "basic_materials:brass_ingot 3", | ||||
| 		recipe = { | ||||
| 			materials.copper_ingot, | ||||
| 			materials.copper_ingot, | ||||
| 			materials.silver_ingot, | ||||
| 		}, | ||||
| 	}) | ||||
| end | ||||
|         minetest.register_craft( { | ||||
|             type = "shapeless", | ||||
|             output = "basic_materials:brass_ingot 3", | ||||
|             recipe = { | ||||
|                 "default:copper_ingot", | ||||
|                 "default:copper_ingot", | ||||
|                 "moreores:silver_ingot", | ||||
|             }, | ||||
|         }) | ||||
|     end | ||||
| end | ||||
| @@ -1,48 +0,0 @@ | ||||
| # textdomain: basic_materials | ||||
|  | ||||
| Basic Materials and items=Базові матеріали та предмети | ||||
| Provides a small selection of "basic" materials and items that other mods should use when possible -- things like steel bars and chains, wire, plastic strips and sheets, and more.=Пропонує обмежений набір "основних" матеріалів та виробів, які іншим модам рекомендується використовувати, де це доречно — наприклад, сталеві бруски та ланцюги, дріт, пластикові стрічки та листи, тощо. | ||||
|  | ||||
| Silicon lump=Шмат Кремнію | ||||
| Simple Integrated Circuit=Мікросхема | ||||
| Simple Motor=Двигун | ||||
| Heating element=Нагрівальний елемент | ||||
| Simple energy crystal=Енергетичний кристал | ||||
|  | ||||
| Gold Strip=Золота смужка | ||||
| Lead Strip=Свинцева смужка | ||||
| Aluminum Strip=Алюмінієва смужка | ||||
|  | ||||
| Aluminum Bar=Алюмінієвий брусок | ||||
| Spool of aluminum wire=Котушка алюмінієвого дроту | ||||
| Carbon Steel Bar=Брусок вуглецевої сталі | ||||
| Stainless Steel Bar=Брусок нержавіючої сталі | ||||
| Spool of stainless steel wire=Котушка дроту з нержавіючої сталі | ||||
| Stainless Steel Strip=Смужка з нержавіючої сталі | ||||
|  | ||||
| Spool of steel wire=Катушка сталевої проволки | ||||
| Spool of copper wire=Катушка мідної проволки | ||||
| Spool of silver wire=Катушка срібної проволки | ||||
| Spool of gold wire=Катушка золотої проволки | ||||
| Steel Strip=Сталева стрічка | ||||
| Copper Strip=Мідна стрічка | ||||
| Steel Bar=Сталевий Прут | ||||
| Chainlinks (brass)=Латунний ланцюг | ||||
| Chainlinks (steel)=Сталевий ланцюг | ||||
| Brass Ingot=Латунний злиток | ||||
| Steel gear=Сталева шестерня | ||||
| Padlock=Навісний замок | ||||
| Chain (steel, hanging)=Ланцюг (сталевий, підвісний) | ||||
| Chain (brass, hanging)=Ланцюг (латунь, підвісна) | ||||
| Brass Block=Латунний блок | ||||
|  | ||||
| Oil extract=Олійний екстракт | ||||
| Unprocessed paraffin=Необроблений парафін | ||||
| Uncooked Terracotta Base=Сира теракотова основа | ||||
| Wet Cement=Мокрий цемент | ||||
| Cement=Цемент | ||||
| Concrete Block=Бетонний блок | ||||
|  | ||||
| Plastic sheet=Лист пластику | ||||
| Plastic strips=Стрічка пластику | ||||
| Empty wire spool=Порожня катушка | ||||
							
								
								
									
										3
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						| @@ -1,4 +1,3 @@ | ||||
| name = basic_materials | ||||
| depends = xcompat | ||||
| optional_depends = moreores, default, mesecons_materials, dye, bucket, fl_stone, fl_trees, mcl_sounds, hades_core, hades_sounds, hades_materials, hades_dye, hades_bucket, hades_extraores, hades_mesecons_materials, aloz, rp_crafting, mcl_core, mcl_copper | ||||
| optional_depends = moreores, default, mesecons_materials, dye, bucket, fl_stone, fl_trees, mcl_sounds | ||||
| min_minetest_version = 5.2.0 | ||||
|   | ||||
							
								
								
									
										42
									
								
								nodes.lua
									
									
									
									
									
								
							
							
						
						| @@ -1,22 +1,39 @@ | ||||
| local S = minetest.get_translator("basic_materials") | ||||
| local sound_api = xcompat.sounds | ||||
| local chains_sbox = {type = "fixed",fixed = { -0.1, -0.5, -0.1, 0.1, 0.5, 0.1 }} | ||||
|  | ||||
| local sound_api = loadfile(basic_materials.modpath .. "/sound_api_core/init.lua") | ||||
| if not sound_api then | ||||
| 	sound_api = {} | ||||
| 	local metatable = { | ||||
| 		__index = function(_, _) | ||||
| 			return function(input) | ||||
| 				minetest.log( | ||||
| 					"warning", | ||||
| 					"[basic_materials]: " .. | ||||
| 					"The sound api submodule for game agnostic sound loading could not be found at " .. | ||||
| 					basic_materials.modpath .. "/sound_api_core. " .. | ||||
| 					"documentation for using submodules can be found at https://git-scm.com/docs/git-submodule." .. | ||||
| 					"defaulting back to mod provided input or nil." | ||||
| 				) | ||||
| 				if input then return input else return nil end | ||||
| 			end | ||||
| 		end, | ||||
| 	} | ||||
| 	setmetatable(sound_api, metatable) | ||||
| end | ||||
|  | ||||
| minetest.register_node("basic_materials:cement_block", { | ||||
| 	description = S("Cement"), | ||||
| 	tiles = {"basic_materials_cement_block.png"}, | ||||
| 	is_ground_content = false, | ||||
| 	groups = {cracky=2, dig_stone = 1, pickaxey=5}, | ||||
| 	_mcl_hardness=1.6, | ||||
| 	is_ground_content = true, | ||||
| 	groups = {cracky=2, dig_stone = 1}, | ||||
| 	sounds = sound_api.node_sound_stone_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("basic_materials:concrete_block", { | ||||
| 	description = S("Concrete Block"), | ||||
| 	tiles = {"basic_materials_concrete_block.png",}, | ||||
| 	is_ground_content = false, | ||||
| 	groups = {cracky=1, concrete=1, dig_stone = 1, pickaxey=5}, | ||||
| 	_mcl_hardness=1.6, | ||||
| 	groups = {cracky=1, concrete=1, dig_stone = 1}, | ||||
| 	sounds = sound_api.node_sound_stone_defaults(), | ||||
| }) | ||||
|  | ||||
| @@ -30,9 +47,7 @@ minetest.register_node("basic_materials:chain_steel", { | ||||
| 	sunlight_propagates = true, | ||||
| 	paramtype = "light", | ||||
| 	inventory_image = "basic_materials_chain_steel_inv.png", | ||||
| 	is_ground_content = false, | ||||
| 	groups = {cracky=3, dig_stone = 1, pickaxey=5}, | ||||
| 	_mcl_hardness=1.6, | ||||
| 	groups = {cracky=3, dig_stone = 1}, | ||||
| 	selection_box = chains_sbox, | ||||
| }) | ||||
|  | ||||
| @@ -46,9 +61,7 @@ minetest.register_node("basic_materials:chain_brass", { | ||||
| 	sunlight_propagates = true, | ||||
| 	paramtype = "light", | ||||
| 	inventory_image = "basic_materials_chain_brass_inv.png", | ||||
| 	is_ground_content = false, | ||||
| 	groups = {cracky=3, dig_stone = 1, pickaxey=5}, | ||||
| 	_mcl_hardness=1.6, | ||||
| 	groups = {cracky=3, dig_stone = 1}, | ||||
| 	selection_box = chains_sbox, | ||||
| }) | ||||
|  | ||||
| @@ -56,7 +69,6 @@ minetest.register_node("basic_materials:brass_block", { | ||||
| 	description = S("Brass Block"), | ||||
| 	tiles = { "basic_materials_brass_block.png" }, | ||||
| 	is_ground_content = false, | ||||
| 	groups = {cracky=1, dig_stone = 1, pickaxey=5}, | ||||
| 	_mcl_hardness=1.6, | ||||
| 	groups = {cracky=1, dig_stone = 1}, | ||||
| 	sounds = sound_api.node_sound_metal_defaults() | ||||
| }) | ||||
|   | ||||
							
								
								
									
										1
									
								
								sound_api_core
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						| Before Width: | Height: | Size: 337 B | 
| Before Width: | Height: | Size: 383 B | 
| Before Width: | Height: | Size: 258 B | 
| Before Width: | Height: | Size: 292 B | 
| Before Width: | Height: | Size: 358 B | 
| Before Width: | Height: | Size: 366 B | 
| Before Width: | Height: | Size: 336 B | 
| Before Width: | Height: | Size: 382 B | 
| Before Width: | Height: | Size: 280 B |