diff --git a/crafting.lua b/crafting.lua index 0ced14c..64bc4b3 100644 --- a/crafting.lua +++ b/crafting.lua @@ -679,6 +679,15 @@ minetest.register_craft({ } }) -- Morion Quartz +minetest.register_craft({ + output = "too_many_stones:morion_quartz", + recipe = { + {"too_many_stones:morion_quartz_shards", "too_many_stones:morion_quartz_shards", "too_many_stones:morion_quartz_shards"}, + {"too_many_stones:morion_quartz_shards", "too_many_stones:morion_quartz_shards", "too_many_stones:morion_quartz_shards"}, + {"too_many_stones:morion_quartz_shards", "too_many_stones:morion_quartz_shards", "too_many_stones:morion_quartz_shards"}, + } +}) + minetest.register_craft({ output = "too_many_stones:morion_quartz_brick 4", recipe = { diff --git a/geodes.lua b/geodes.lua index 50ab08b..d38d0b6 100644 --- a/geodes.lua +++ b/geodes.lua @@ -46,4 +46,6 @@ geodes.register_geode("too_many_stones:pumice", "too_many_stones:calcite", "too_ geodes.register_geode("too_many_stones:limestone_white", "too_many_stones:calcite", "too_many_stones:prasiolite", "too_many_stones:prasiolite_crystal") +geodes.register_geode("too_many_stones:travertine_yellow", "too_many_stones:calcite", "too_many_stones:morion_quartz", "too_many_stones:morion_quartz_crystal") + end diff --git a/geodes_lib.lua b/geodes_lib.lua index 36dfd44..e566f00 100644 --- a/geodes_lib.lua +++ b/geodes_lib.lua @@ -302,4 +302,17 @@ geodes_lib:register_geode({ radius_max = 10, }) +geodes_lib:register_geode({ + wherein = "mapgen_stone", + y_min = -31000, + y_max = -10, + scarcity = 80, + core = "too_many_stones:morion_quartz", + core_alt = "too_many_stones:morion_quartz_budding", + core_alt_chance = 100, + shell = {"too_many_stones:travertine_yellow", "too_many_stones:calcite"}, + radius_min = 2, + radius_max = 10, +}) + end diff --git a/nodes_crystal.lua b/nodes_crystal.lua index 2ce604f..7029c39 100644 --- a/nodes_crystal.lua +++ b/nodes_crystal.lua @@ -569,6 +569,62 @@ minetest.register_craftitem("too_many_stones:prasiolite_shards", { inventory_image = "tms_prasiolite_shards.png", }) +-- Morion Quartz + +minetest.register_abm({ + label = "TMS Morion Quartz Crystal growth", + nodenames = "too_many_stones:morion_quartz_budding", + interval = 10, + chance = 1, + action = function(pos) + local check_pos = vector.add(all_directions[math.random(1, #all_directions)], pos) + local check_node = minetest.get_node(check_pos) + local check_node_name = check_node.name + local param2 = minetest.dir_to_wallmounted(vector.subtract(pos, check_pos)) + local new_node + if check_node_name == "air" then + new_node = "too_many_stones:morion_quartz_crystal" + else return end + minetest.swap_node(check_pos, {name = new_node, param2 = param2}) + end, +}) + +minetest.register_node("too_many_stones:morion_quartz_crystal", { + description = "Morion Quartz Crystal", + use_texture_alpha = "blend", + tiles = {"tms_morion_quartz_crystal.png"}, + drawtype = "plantlike", + sunlight_propagates = true, + light_source = 6, + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-5/16, -8/16, -5/16, 5/16, 4/16, 5/16}, + }, + groups = {cracky = 3, attached_node = 1}, + drop = "too_many_stones:morion_quartz_shards", + sounds = too_many_stones.node_sound_glass_defaults(), +}) + +minetest.register_node("too_many_stones:morion_quartz_budding", { + description = S("Budding Morion Quartz"), + use_texture_alpha = "blend", + drawtype = "glasslike", + tiles = {"tms_morion_quartz_budding.png"}, + sunlight_propagates = true, + is_ground_content = false, + groups = {cracky = 3, stone = 1}, + sounds = too_many_stones.node_sound_glass_defaults(), + paramtype = "light", +}) + +minetest.register_craftitem("too_many_stones:morion_quartz_shards", { + description = "Morion Quartz Shards", + inventory_image = "tms_morion_quartz_shards.png", +}) + -- Quartz minetest.register_abm({