diff --git a/mods/default/README.txt b/mods/default/README.txt
index fc6def98..3c104a00 100644
--- a/mods/default/README.txt
+++ b/mods/default/README.txt
@@ -53,6 +53,10 @@ Calinou (CC BY-SA 3.0):
   default_papyrus.png
   default_mineral_copper.png
   default_glass_detail.png
+  default_mineral_tin.png
+  default_tin_block.png
+  default_tin_ingot.png
+  default_tin_lump.png
 
 MirceaKitsune (CC BY-SA 3.0):
   character.x
diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua
index 721f4132..50ffb1ae 100644
--- a/mods/default/crafting.lua
+++ b/mods/default/crafting.lua
@@ -392,12 +392,6 @@ minetest.register_craft({
 	}
 })
 
-minetest.register_craft({
-	type = "shapeless",
-	output = "default:bronze_ingot",
-	recipe = {"default:steel_ingot", "default:copper_ingot"},
-})
-
 minetest.register_craft({
 	output = 'default:coalblock',
 	recipe = {
@@ -446,6 +440,31 @@ minetest.register_craft({
 	}
 })
 
+minetest.register_craft({
+	output = "default:tinblock",
+	recipe = {
+		{"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"},
+		{"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"},
+		{"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"},
+	}
+})
+
+minetest.register_craft({
+	output = "default:tin_ingot 9",
+	recipe = {
+		{"default:tinblock"},
+	}
+})
+
+minetest.register_craft({
+	output = "default:bronze_ingot 9",
+	recipe = {
+		{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
+		{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"},
+		{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
+	}
+})
+
 minetest.register_craft({
 	output = 'default:bronzeblock',
 	recipe = {
@@ -849,6 +868,12 @@ minetest.register_craft({
 	recipe = "default:copper_lump",
 })
 
+minetest.register_craft({
+	type = "cooking",
+	output = "default:tin_ingot",
+	recipe = "default:tin_lump",
+})
+
 minetest.register_craft({
 	type = "cooking",
 	output = "default:gold_ingot",
diff --git a/mods/default/craftitems.lua b/mods/default/craftitems.lua
index a0db6554..0c42fc37 100644
--- a/mods/default/craftitems.lua
+++ b/mods/default/craftitems.lua
@@ -258,6 +258,11 @@ minetest.register_craftitem("default:copper_lump", {
 	inventory_image = "default_copper_lump.png",
 })
 
+minetest.register_craftitem("default:tin_lump", {
+	description = "Tin Lump",
+	inventory_image = "default_tin_lump.png",
+})
+
 minetest.register_craftitem("default:mese_crystal", {
 	description = "Mese Crystal",
 	inventory_image = "default_mese_crystal.png",
@@ -288,6 +293,11 @@ minetest.register_craftitem("default:copper_ingot", {
 	inventory_image = "default_copper_ingot.png",
 })
 
+minetest.register_craftitem("default:tin_ingot", {
+	description = "Tin Ingot",
+	inventory_image = "default_tin_ingot.png",
+})
+
 minetest.register_craftitem("default:bronze_ingot", {
 	description = "Bronze Ingot",
 	inventory_image = "default_bronze_ingot.png",
diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua
index 9e359a33..fff889fa 100644
--- a/mods/default/mapgen.lua
+++ b/mods/default/mapgen.lua
@@ -357,6 +357,41 @@ function default.register_ores()
 		y_max          = -64,
 	})
 
+	-- Tin
+
+	minetest.register_ore({
+		ore_type       = "scatter",
+		ore            = "default:stone_with_tin",
+		wherein        = "default:stone",
+		clust_scarcity = 10 * 10 * 10,
+		clust_num_ores = 9,
+		clust_size     = 3,
+		y_min          = 1025,
+		y_max          = 31000,
+	})
+
+	minetest.register_ore({
+		ore_type       = "scatter",
+		ore            = "default:stone_with_tin",
+		wherein        = "default:stone",
+		clust_scarcity = 13 * 13 * 13,
+		clust_num_ores = 7,
+		clust_size     = 3,
+		y_min          = -31000,
+		y_max          = -32,
+	})
+
+	minetest.register_ore({
+		ore_type       = "scatter",
+		ore            = "default:stone_with_tin",
+		wherein        = "default:stone",
+		clust_scarcity = 10 * 10 * 10,
+		clust_num_ores = 9,
+		clust_size     = 3,
+		y_min          = -31000,
+		y_max          = -128,
+	})
+
 	-- Gold
 
 	minetest.register_ore({
diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua
index b7309e12..facb28e0 100644
--- a/mods/default/nodes.lua
+++ b/mods/default/nodes.lua
@@ -107,6 +107,10 @@ default:steelblock
 
 default:stone_with_copper
 default:copperblock
+
+default:stone_with_tin
+default:tinblock
+
 default:bronzeblock
 
 default:stone_with_gold
@@ -1046,6 +1050,24 @@ minetest.register_node("default:copperblock", {
 	sounds = default.node_sound_metal_defaults(),
 })
 
+
+minetest.register_node("default:stone_with_tin", {
+	description = "Tin Ore",
+	tiles = {"default_stone.png^default_mineral_tin.png"},
+	groups = {cracky = 2},
+	drop = "default:tin_lump",
+	sounds = default.node_sound_stone_defaults(),
+})
+
+minetest.register_node("default:tinblock", {
+	description = "Tin Block",
+	tiles = {"default_tin_block.png"},
+	is_ground_content = false,
+	groups = {cracky = 1, level = 2},
+	sounds = default.node_sound_metal_defaults(),
+})
+
+
 minetest.register_node("default:bronzeblock", {
 	description = "Bronze Block",
 	tiles = {"default_bronze_block.png"},
diff --git a/mods/default/textures/default_mineral_tin.png b/mods/default/textures/default_mineral_tin.png
new file mode 100644
index 00000000..232d4b53
Binary files /dev/null and b/mods/default/textures/default_mineral_tin.png differ
diff --git a/mods/default/textures/default_tin_block.png b/mods/default/textures/default_tin_block.png
new file mode 100644
index 00000000..72759b04
Binary files /dev/null and b/mods/default/textures/default_tin_block.png differ
diff --git a/mods/default/textures/default_tin_ingot.png b/mods/default/textures/default_tin_ingot.png
new file mode 100644
index 00000000..eed53610
Binary files /dev/null and b/mods/default/textures/default_tin_ingot.png differ
diff --git a/mods/default/textures/default_tin_lump.png b/mods/default/textures/default_tin_lump.png
new file mode 100644
index 00000000..72bd339b
Binary files /dev/null and b/mods/default/textures/default_tin_lump.png differ