mirror of
				https://github.com/ShadMOrdre/lib_materials.git
				synced 2025-11-04 09:55:36 +01:00 
			
		
		
		
	Add files via upload
This commit is contained in:
		@@ -1,2 +1,2 @@
 | 
			
		||||
default?
 | 
			
		||||
carpathian_mapgen?
 | 
			
		||||
stairs?
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								init.lua
									
									
									
									
									
								
							@@ -8,18 +8,18 @@ local S = lib_materials.gettext
 | 
			
		||||
local NS = lib_materials.ngettext
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
dofile(lib_materials.path.."/lib_materials_utils.lua")
 | 
			
		||||
 | 
			
		||||
dofile(lib_materials.path.."/lib_materials_water.lua")
 | 
			
		||||
 | 
			
		||||
dofile(lib_materials.path.."/type_dirt.lua")
 | 
			
		||||
 | 
			
		||||
dofile(lib_materials.path.."/type_sand.lua")
 | 
			
		||||
 | 
			
		||||
dofile(lib_materials.path.."/type_ore.lua")
 | 
			
		||||
 | 
			
		||||
dofile(lib_materials.path.."/lib_materials_fluids.lua")
 | 
			
		||||
dofile(lib_materials.path.."/type_stone.lua")
 | 
			
		||||
 | 
			
		||||
dofile(lib_materials.path.."/type_stone_deco.lua")
 | 
			
		||||
dofile(lib_materials.path.."/type_dirt.lua")
 | 
			
		||||
dofile(lib_materials.path.."/type_sand.lua")
 | 
			
		||||
dofile(lib_materials.path.."/type_ore.lua")
 | 
			
		||||
dofile(lib_materials.path.."/lib_materials_ore_defs.lua")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										781
									
								
								lib_materials_fluids.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										781
									
								
								lib_materials_fluids.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,781 @@
 | 
			
		||||
 | 
			
		||||
local S = lib_materials.gettext
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--TO BE REVIEWED _MGS-20180220
 | 
			
		||||
if minetest.get_modpath("default") then
 | 
			
		||||
	
 | 
			
		||||
	local waterflow = 3
 | 
			
		||||
	minetest.override_item("default:river_water_source", {liquid_range = waterflow})
 | 
			
		||||
	minetest.override_item("default:river_water_flowing", {liquid_range = waterflow})
 | 
			
		||||
	minetest.override_item("default:river_water_source", {is_ground_content = true})
 | 
			
		||||
	minetest.override_item("default:river_water_flowing", {is_ground_content = true})
 | 
			
		||||
	minetest.override_item("default:water_source", {is_ground_content = true})
 | 
			
		||||
	minetest.override_item("default:water_flowing", {is_ground_content = true})
 | 
			
		||||
 | 
			
		||||
	if false then
 | 
			
		||||
		minetest.override_item("default:river_water_source", {light_source = 14})
 | 
			
		||||
		minetest.override_item("default:river_water_flowing", {light_source = 14})
 | 
			
		||||
		minetest.override_item("default:water_source", {light_source = 14})
 | 
			
		||||
		minetest.override_item("default:water_flowing", {light_source = 14})
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	if false then
 | 
			
		||||
		local newnode = lib_materials.clone_node("default:water_source")
 | 
			
		||||
		newnode.description = "Water"
 | 
			
		||||
		newnode.alpha = 0
 | 
			
		||||
		newnode.liquid_alternative_source = "lib_materials:water_source"
 | 
			
		||||
		newnode.liquid_alternative_flowing = "lib_materials:water_flowing"
 | 
			
		||||
		minetest.register_node("lib_materials:water_source", newnode)
 | 
			
		||||
 | 
			
		||||
		newnode = lib_materials.clone_node("default:water_flowing")
 | 
			
		||||
		newnode.description = "Water"
 | 
			
		||||
		newnode.alpha = 0
 | 
			
		||||
		newnode.liquid_alternative_source = "lib_materials:water_source"
 | 
			
		||||
		newnode.liquid_alternative_flowing = "lib_materials:water_flowing"
 | 
			
		||||
		minetest.register_node("lib_materials:water_flowing", newnode)
 | 
			
		||||
	end
 | 
			
		||||
	
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Liquids
 | 
			
		||||
--
 | 
			
		||||
 | 
			
		||||
--Water
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:murky_water_source", {
 | 
			
		||||
	description = "Murky Water Source",
 | 
			
		||||
	drawtype = "liquid",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_water_source_animated.png^[colorize:#1F1F00:alpha",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		-- New-style water source material (mostly unused)
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_water_source_animated.png^[colorize:#1F1F00:alpha",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "source",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:murky_water_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:murky_water_source",
 | 
			
		||||
	liquid_viscosity = 1,
 | 
			
		||||
	post_effect_color = {a = 103, r = 30, g = 60, b = 90},
 | 
			
		||||
	groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:murky_water_flowing", {
 | 
			
		||||
	description = "Murky Flowing Water",
 | 
			
		||||
	drawtype = "flowingliquid",
 | 
			
		||||
	tiles = {"default_water.png^[colorize:#1F1F00:alpha"},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_water_flowing_animated.png^[colorize:#1F1F00:alpha",
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 0.8,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_water_flowing_animated.png^[colorize:#1F1F00:alpha",
 | 
			
		||||
			backface_culling = true,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 0.8,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "flowingliquid",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "flowing",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:murky_water_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:murky_water_source",
 | 
			
		||||
	liquid_viscosity = 1,
 | 
			
		||||
	post_effect_color = {a = 103, r = 30, g = 60, b = 90},
 | 
			
		||||
	groups = {water = 3, liquid = 3, puts_out_fire = 1,
 | 
			
		||||
		not_in_creative_inventory = 1, cools_lava = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:muddy_river_water_source", {
 | 
			
		||||
	description = "Murky River Water Source",
 | 
			
		||||
	drawtype = "liquid",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "aus_muddy_river_water_flowing.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "aus_muddy_river_water_flowing.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "source",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:muddy_river_water_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:muddy_river_water_source",
 | 
			
		||||
	liquid_viscosity = 1,
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	liquid_range = 2,
 | 
			
		||||
	post_effect_color = {a = 103, r = 30, g = 76, b = 90},
 | 
			
		||||
	groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:muddy_river_water_flowing", {
 | 
			
		||||
	description = "Murky Flowing River Water",
 | 
			
		||||
	drawtype = "flowingliquid",
 | 
			
		||||
	tiles = {"aus_muddy_river_water_source.png"},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "aus_muddy_river_water_flowing.png",
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 0.8,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name = "aus_muddy_river_water_flowing.png",
 | 
			
		||||
			backface_culling = true,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 0.8,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "flowingliquid",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "flowing",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:muddy_river_water_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:muddy_river_water_source",
 | 
			
		||||
	liquid_viscosity = 1,
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	liquid_range = 2,
 | 
			
		||||
	post_effect_color = {a = 103, r = 30, g = 76, b = 90},
 | 
			
		||||
	groups = {water = 3, liquid = 3, puts_out_fire = 1,
 | 
			
		||||
		not_in_creative_inventory = 1, cools_lava = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:dirty_water_source", {
 | 
			
		||||
	description = "Dirty Water Source",
 | 
			
		||||
	drawtype = "liquid",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "mapgen_dirty_water_source_animated.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "mapgen_dirty_water_source_animated.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "source",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:dirty_water_flowing",
 | 
			
		||||
	liquid_alternative_source = ",lib_materials:dirty_water_source",
 | 
			
		||||
	liquid_viscosity = 2,
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	liquid_range = 2,
 | 
			
		||||
	post_effect_color = {a = 103, r = 30, g = 76, b = 90},
 | 
			
		||||
	groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:dirty_water_flowing", {
 | 
			
		||||
	description = "Flowing Dirty Water",
 | 
			
		||||
	drawtype = "flowingliquid",
 | 
			
		||||
	tiles = {"default_river_water.png^[colorize:green:100"},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "mapgen_dirty_water_flowing_animated.png",
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name = "mapgen_dirty_water_flowing_animated.png",
 | 
			
		||||
			backface_culling = true,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "flowingliquid",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "flowing",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:dirty_water_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:dirty_water_source",
 | 
			
		||||
	liquid_viscosity = 1,
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	liquid_range = 2,
 | 
			
		||||
	post_effect_color = {a = 103, r = 30, g = 76, b = 90},
 | 
			
		||||
	groups = {water = 3, liquid = 3, puts_out_fire = 1,
 | 
			
		||||
		not_in_creative_inventory = 1, cools_lava = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Dev Liquid
 | 
			
		||||
minetest.register_node("lib_materials:liquid_source", {
 | 
			
		||||
	description = "Liquid Source",
 | 
			
		||||
	drawtype = "liquid",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_water_source_animated.png^[colorize:#1F1F1F:alpha",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 3.0,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		-- New-style lava source material (mostly unused)
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_water_source_animated.png^[colorize:#1F1F1F:alpha",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 3.0,
 | 
			
		||||
			},
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	light_source = default.LIGHT_MAX - 1,
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "source",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:liquid_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:liquid_source",
 | 
			
		||||
	liquid_viscosity = 7,
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	damage_per_second = 4 * 2,
 | 
			
		||||
	post_effect_color = {a = 191, r = 255, g = 64, b = 0},
 | 
			
		||||
	groups = {oil = 3, liquid = 2},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:liquid_flowing", {
 | 
			
		||||
	description = "Flowing Liquid",
 | 
			
		||||
	drawtype = "flowingliquid",
 | 
			
		||||
	tiles = {"default_water.png^[colorize:#1F1F1F:alpha"},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_water_flowing_animated.png^[colorize:#1F1F1F:alpha",
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 3.3,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_water_flowing_animated.png^[colorize:#1F1F1F:alpha",
 | 
			
		||||
			backface_culling = true,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 3.3,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "flowingliquid",
 | 
			
		||||
	light_source = default.LIGHT_MAX - 1,
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "flowing",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:liquid_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:liquid_source",
 | 
			
		||||
	liquid_viscosity = 7,
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	damage_per_second = 4 * 2,
 | 
			
		||||
	post_effect_color = {a = 191, r = 255, g = 64, b = 0},
 | 
			
		||||
	groups = {oil = 3, liquid = 2, not_in_creative_inventory = 1},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Quicksand as fluid.  Will spread like lava
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:quicksand_source", {
 | 
			
		||||
	description = "Quicksand Source",
 | 
			
		||||
	drawtype = "liquid",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_quicksand.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 3.0,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		-- New-style lava source material (mostly unused)
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_quicksand.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 3.0,
 | 
			
		||||
			},
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	light_source = default.LIGHT_MAX - 1,
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "source",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:quicksand_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:quicksand_source",
 | 
			
		||||
	liquid_viscosity = 8,
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	damage_per_second = 3,
 | 
			
		||||
	post_effect_color = {a = 191, r = 255, g = 64, b = 0},
 | 
			
		||||
	groups = {quicksand = 3, liquid = 2},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:quicksand_flowing", {
 | 
			
		||||
	description = "Flowing Quicksand",
 | 
			
		||||
	drawtype = "flowingliquid",
 | 
			
		||||
	tiles = {"default_quicksand_source.png"},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_quicksand_flowing.png",
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 3.3,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name = "default_quicksand_flowing.png",
 | 
			
		||||
			backface_culling = true,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 3.3,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "flowingliquid",
 | 
			
		||||
	light_source = default.LIGHT_MAX - 1,
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "flowing",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:quicksand_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:quicksand_source",
 | 
			
		||||
	liquid_viscosity = 7,
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	damage_per_second = 4,
 | 
			
		||||
	post_effect_color = {a = 191, r = 255, g = 64, b = 0},
 | 
			
		||||
	groups = {quicksand = 3, liquid = 2, not_in_creative_inventory = 1},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Quicksand as node.  Player will sink, slow, and take drowning damage.
 | 
			
		||||
--(new style, sinking inside shows yellow effect with or without noclip, but old quicksand is shown as black until block placed nearby to update light)
 | 
			
		||||
minetest.register_node("lib_materials:quicksand", {
 | 
			
		||||
	description = S("Quicksand"),
 | 
			
		||||
	tiles = {"default_sand.png"},
 | 
			
		||||
	drawtype = "glasslike",
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	drop = "default:sand",
 | 
			
		||||
	liquid_viscosity = 15,
 | 
			
		||||
	liquidtype = "source",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:quicksand",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:quicksand",
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	liquid_range = 0,
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	climbable = false,
 | 
			
		||||
	post_effect_color = {r = 230, g = 210, b = 160, a = 245},
 | 
			
		||||
	groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
 | 
			
		||||
	sounds = default.node_sound_sand_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- craft quicksand
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:quicksand",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"group:sand", "group:sand", "group:sand"},
 | 
			
		||||
		{"group:sand", "group:water_bucket", "group:sand"},
 | 
			
		||||
		{"group:sand", "group:sand", "group:sand"},
 | 
			
		||||
	},
 | 
			
		||||
	replacements = {
 | 
			
		||||
		{"group:water_bucket", "bucket:bucket_empty"}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Mud as node.  Player will sink, slow, and take drowning damage.
 | 
			
		||||
-- Mud for swamps
 | 
			
		||||
minetest.register_node("lib_materials:mud_wet", {
 | 
			
		||||
	description = "Mud Wet",
 | 
			
		||||
	tiles = {"biomes_mud.png"},
 | 
			
		||||
	liquid_viscosity = 8,
 | 
			
		||||
	liquidtype = "source",
 | 
			
		||||
	liquid_renewable = false,
 | 
			
		||||
	liquid_alternative_source = "lib_materials:mud",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:mud",
 | 
			
		||||
	liquid_range = 0,
 | 
			
		||||
	post_effect_color = {r=115, g=61, b=31, a=255},
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	groups = {crumbly = 2},
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Grease and Oil
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:grease_source",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:coal_lump", "default:coal_lump", "default:coal_lump"},
 | 
			
		||||
		{"default:coal_lump", "bucket:bucket_water", "default:coal_lump"},
 | 
			
		||||
		{"default:coal_lump", "default:dirt",  "default:coal_lump"}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:grease_source", {
 | 
			
		||||
	description = "Grease Source",
 | 
			
		||||
	drawtype = "liquid",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "steampunk_grease_source_animated.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		-- New-style water source material (mostly unused)
 | 
			
		||||
		{
 | 
			
		||||
			name = "steampunk_grease_source_animated.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "source",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:grease_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:grease_source",
 | 
			
		||||
	liquid_viscosity = 1,
 | 
			
		||||
	post_effect_color = {a = 103, r = 107, g = 53, b = 18},
 | 
			
		||||
	groups = {oil = 3, liquid = 1, flammable = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:grease_flowing", {
 | 
			
		||||
	description = "Flowing Grease",
 | 
			
		||||
	drawtype = "flowingliquid",
 | 
			
		||||
	tiles = {"steampunk_grease.png"},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "steampunk_grease_flowing_animated.png",
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 0.8,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name = "steampunk_grease_flowing_animated.png",
 | 
			
		||||
			backface_culling = true,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 0.8,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "flowingliquid",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "flowing",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:grease_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:grease_source",
 | 
			
		||||
	liquid_viscosity = 1,
 | 
			
		||||
	post_effect_color = {a = 103, r = 45, g = 23, b = 7},
 | 
			
		||||
	groups = {oil = 3, liquid = 1, flammable = 1,
 | 
			
		||||
		not_in_creative_inventory = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:oil_source",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:coal_lump", "default:coal_lump", "default:coal_lump"},
 | 
			
		||||
		{"default:coal_lump", "bucket:bucket_water", "default:coal_lump"},
 | 
			
		||||
		{"default:coal_lump", "default:coal_lump",  "default:coal_lump"}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:oil_source", {
 | 
			
		||||
	description = "Oil Source",
 | 
			
		||||
	drawtype = "liquid",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "steampunk_oil_source_animated.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		-- New-style water source material (mostly unused)
 | 
			
		||||
		{
 | 
			
		||||
			name = "steampunk_oil_source_animated.png",
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 2.0,
 | 
			
		||||
			},
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "source",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:oil_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:oil_source",
 | 
			
		||||
	liquid_viscosity = 1,
 | 
			
		||||
	post_effect_color = {a = 103, r = 45, g = 23, b = 7},
 | 
			
		||||
	groups = {oil = 3, liquid = 1, flammable = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:oil_flowing", {
 | 
			
		||||
	description = "Flowing Oil",
 | 
			
		||||
	drawtype = "flowingliquid",
 | 
			
		||||
	tiles = {"steampunk_oil.png"},
 | 
			
		||||
	special_tiles = {
 | 
			
		||||
		{
 | 
			
		||||
			name = "steampunk_oil_flowing_animated.png",
 | 
			
		||||
			backface_culling = false,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 0.8,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name = "steampunk_oil_flowing_animated.png",
 | 
			
		||||
			backface_culling = true,
 | 
			
		||||
			animation = {
 | 
			
		||||
				type = "vertical_frames",
 | 
			
		||||
				aspect_w = 16,
 | 
			
		||||
				aspect_h = 16,
 | 
			
		||||
				length = 0.8,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	alpha = 160,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "flowingliquid",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	pointable = false,
 | 
			
		||||
	diggable = false,
 | 
			
		||||
	buildable_to = true,
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	drop = "",
 | 
			
		||||
	drowning = 1,
 | 
			
		||||
	liquidtype = "flowing",
 | 
			
		||||
	liquid_alternative_flowing = "lib_materials:oil_flowing",
 | 
			
		||||
	liquid_alternative_source = "lib_materials:oil_source",
 | 
			
		||||
	liquid_viscosity = 1,
 | 
			
		||||
	post_effect_color = {a = 150, r = 45, g = 23, b = 7},
 | 
			
		||||
	groups = {oil = 3, liquid = 1, flammable = 1,
 | 
			
		||||
		not_in_creative_inventory = 1},
 | 
			
		||||
	sounds = default.node_sound_water_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -1,17 +1,17 @@
 | 
			
		||||
 | 
			
		||||
-- Adds stone types(default types{desert_stone, sandstone, desert_sandstone, silver_sandstone}; lib_materials types{stone_brown, stone_sand}) as ores within default:stone
 | 
			
		||||
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="default:sandstone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="default:desert_sandstone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="default:silver_sandstone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="default:desert_stone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_brown", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_sand", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_sandstone", wherein="lib_materials:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_sandstone_desert", wherein="lib_materials:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_sandstone_silver", wherein="lib_materials:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_desert", wherein="lib_materials:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_brown", wherein="lib_materials:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_sand", wherein="lib_materials:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0})
 | 
			
		||||
 | 
			
		||||
-- Adds default desert_stone, desert_sandstone, and stone_brown to stone_sand
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "scatter",
 | 
			
		||||
	ore              = "default:desert_stone",
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "lib_materials:stone_desert",
 | 
			
		||||
	wherein          = {"lib_materials:stone_sand"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
	clust_num_ores = 8,
 | 
			
		||||
@@ -29,8 +29,8 @@ minetest.register_ore({
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "scatter",
 | 
			
		||||
	ore              = "default:desert_sandstone",
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "lib_materials:stone_sandstone_desert",
 | 
			
		||||
	wherein          = {"lib_materials:stone_sand"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
	clust_num_ores = 8,
 | 
			
		||||
@@ -48,7 +48,7 @@ minetest.register_ore({
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "scatter",
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "lib_materials:stone_brown",
 | 
			
		||||
	wherein          = {"lib_materials:stone_sand"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
@@ -66,36 +66,59 @@ minetest.register_ore({
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--[[
 | 
			
		||||
-- Adds Air as ore within default:stone
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "scatter",
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "air",
 | 
			
		||||
	wherein          = {"groups:stone"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
	clust_num_ores = 8,
 | 
			
		||||
	clust_size       = 6,
 | 
			
		||||
	wherein          = {"lib_materials:stone_limestone_01"},
 | 
			
		||||
	clust_scarcity   = 16*8*16,
 | 
			
		||||
	clust_num_ores = 16*16,
 | 
			
		||||
	clust_size       = 16,
 | 
			
		||||
	y_min            = -50,
 | 
			
		||||
	y_max            = -11,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.35,
 | 
			
		||||
		scale = 0.2,
 | 
			
		||||
		spread = {x = 5, y = 5, z = 5},
 | 
			
		||||
		seed = -316,
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persist = 0.5
 | 
			
		||||
		offset = 0,
 | 
			
		||||
		scale = 1,
 | 
			
		||||
		spread = {x = 256, y = 256, z = 256},
 | 
			
		||||
		seed = 4130293965,
 | 
			
		||||
		octaves = 3,
 | 
			
		||||
		persist = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--Adds default:water_source within default:stone
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "scatter",
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "default:river_water_source",
 | 
			
		||||
	wherein          = {"groups:stone"},
 | 
			
		||||
	wherein          = {"lib_materials:stone_limestone_01"},
 | 
			
		||||
	clust_scarcity   = 16*4*16,
 | 
			
		||||
	clust_num_ores = 16*16,
 | 
			
		||||
	clust_size       = 16,
 | 
			
		||||
	y_min            = -50,
 | 
			
		||||
	y_max            = -11,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0,
 | 
			
		||||
		scale = 1,
 | 
			
		||||
		spread = {x = 256, y = 256, z = 256},
 | 
			
		||||
		seed = 163281090,
 | 
			
		||||
		octaves = 3,
 | 
			
		||||
		persist = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
--]]
 | 
			
		||||
 | 
			
		||||
--lib_materials:Quicksand
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "lib_materials:quicksand",
 | 
			
		||||
	wherein          = {"default:sand"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
	clust_num_ores = 8,
 | 
			
		||||
	clust_size       = 6,
 | 
			
		||||
	y_min            = -30,
 | 
			
		||||
	y_max            = 0,
 | 
			
		||||
	y_min            = 4,
 | 
			
		||||
	y_max            = 30,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.35,
 | 
			
		||||
		scale = 0.2,
 | 
			
		||||
@@ -111,8 +134,8 @@ minetest.register_ore({
 | 
			
		||||
-- Baked Clay within Orange Clay
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "bakedclay:red",
 | 
			
		||||
	wherein          = {"bakedclay:orange"},
 | 
			
		||||
	ore              = "lib_materials:dirt_clayey",
 | 
			
		||||
	wherein          = {"default:dirt", "lib_materials:dirt"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
	clust_num_ores = 8,
 | 
			
		||||
	clust_size       = 6,
 | 
			
		||||
@@ -130,8 +153,8 @@ minetest.register_ore({
 | 
			
		||||
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "bakedclay:grey",
 | 
			
		||||
	wherein          = {"bakedclay:orange"},
 | 
			
		||||
	ore              = "lib_materials:dirt_sandy",
 | 
			
		||||
	wherein          = {"default:dirt", "lib_materials:dirt"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
	clust_num_ores = 8,
 | 
			
		||||
	clust_size       = 6,
 | 
			
		||||
@@ -147,6 +170,119 @@ minetest.register_ore({
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "lib_materials:dirt_silty",
 | 
			
		||||
	wherein          = {"default:dirt", "lib_materials:dirt"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
	clust_num_ores = 8,
 | 
			
		||||
	clust_size       = 6,
 | 
			
		||||
	y_min            = -10,
 | 
			
		||||
	y_max            = 71,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.35,
 | 
			
		||||
		scale = 0.2,
 | 
			
		||||
		spread = {x = 5, y = 5, z = 5},
 | 
			
		||||
		seed = -316,
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persist = 0.5
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "lib_materials:dirt_clay_red",
 | 
			
		||||
	wherein          = {"lib_materials:dirt_clayey"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
	clust_num_ores = 8,
 | 
			
		||||
	clust_size       = 6,
 | 
			
		||||
	y_min            = -10,
 | 
			
		||||
	y_max            = 71,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.35,
 | 
			
		||||
		scale = 0.2,
 | 
			
		||||
		spread = {x = 5, y = 5, z = 5},
 | 
			
		||||
		seed = -316,
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persist = 0.5
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type         = "blob",
 | 
			
		||||
	ore              = "lib_materials:dirt_silt_02",
 | 
			
		||||
	wherein          = {"lib_materials:dirt_silty"},
 | 
			
		||||
	clust_scarcity   = 4 * 4 * 4,
 | 
			
		||||
	clust_num_ores = 8,
 | 
			
		||||
	clust_size       = 6,
 | 
			
		||||
	y_min            = -10,
 | 
			
		||||
	y_max            = 71,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.35,
 | 
			
		||||
		scale = 0.2,
 | 
			
		||||
		spread = {x = 5, y = 5, z = 5},
 | 
			
		||||
		seed = -613,
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persist = 0.5
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Quartz
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
    ore            = "lib_materials:quartz_ore",
 | 
			
		||||
    wherein        = "default:stone",
 | 
			
		||||
    clust_scarcity = 5000,
 | 
			
		||||
    clust_num_ores = 10,
 | 
			
		||||
    clust_size     = 5,
 | 
			
		||||
    height_min     = -59,
 | 
			
		||||
    height_max     = -10,
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
    ore            = "lib_materials:quartz_ore",
 | 
			
		||||
    wherein        = "default:desert_stone",
 | 
			
		||||
    clust_scarcity = 5000,
 | 
			
		||||
    clust_num_ores = 10,
 | 
			
		||||
    clust_size     = 5,
 | 
			
		||||
    height_min     = -59,
 | 
			
		||||
    height_max     = -10,
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
    ore            = "lib_materials:quartz_ore",
 | 
			
		||||
    wherein        = "default:desert_sandstone",
 | 
			
		||||
    clust_scarcity = 5000,
 | 
			
		||||
    clust_num_ores = 10,
 | 
			
		||||
    clust_size     = 5,
 | 
			
		||||
    height_min     = -59,
 | 
			
		||||
    height_max     = -10,
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
    ore            = "lib_materials:quartz_ore",
 | 
			
		||||
    wherein        = "default:sandstone",
 | 
			
		||||
    clust_scarcity = 5000,
 | 
			
		||||
    clust_num_ores = 10,
 | 
			
		||||
    clust_size     = 5,
 | 
			
		||||
    height_min     = -59,
 | 
			
		||||
    height_max     = -10,
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
    ore            = "lib_materials:quartz_ore",
 | 
			
		||||
    wherein        = "lib_materials:stone_brown",
 | 
			
		||||
    clust_scarcity = 5000,
 | 
			
		||||
    clust_num_ores = 10,
 | 
			
		||||
    clust_size     = 5,
 | 
			
		||||
    height_min     = -59,
 | 
			
		||||
    height_max     = -10,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Adds default ores to desert_stone
 | 
			
		||||
@@ -165,33 +301,608 @@ local add_ore = function(a, b, c, d, e, f, g)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Coal
 | 
			
		||||
 | 
			
		||||
add_ore("default:stone_with_coal", "default:desert_stone", 24*24*24, 27, 6, -31000, -16)
 | 
			
		||||
 | 
			
		||||
-- Iron
 | 
			
		||||
 | 
			
		||||
add_ore("default:stone_with_iron", "default:desert_stone", 9*9*9, 5, 3, -63, -16)
 | 
			
		||||
add_ore("default:stone_with_iron", "default:desert_stone", 24*24*24, 27, 6, -31000, -64)
 | 
			
		||||
 | 
			
		||||
--Mese
 | 
			
		||||
 | 
			
		||||
add_ore("default:stone_with_mese", "default:desert_stone", 14*14*14, 5, 3, -31000, -256)
 | 
			
		||||
 | 
			
		||||
-- Gold
 | 
			
		||||
 | 
			
		||||
add_ore("default:stone_with_gold", "default:desert_stone", 15*15*15, 3, 2, -255, -64)
 | 
			
		||||
add_ore("default:stone_with_gold", "default:desert_stone", 13*13*13, 5, 3, -31000, -256)
 | 
			
		||||
 | 
			
		||||
-- Diamond
 | 
			
		||||
 | 
			
		||||
add_ore("default:stone_with_diamond", "default:desert_stone", 17*17*17, 4, 3, -255, -128)
 | 
			
		||||
add_ore("default:stone_with_diamond", "default:desert_stone", 15*15*15, 4, 3, -31000, -256)
 | 
			
		||||
 | 
			
		||||
-- Copper
 | 
			
		||||
 | 
			
		||||
add_ore("default:stone_with_copper", "default:desert_stone", 9*9*9, 5, 3, -31000, -64)
 | 
			
		||||
 | 
			
		||||
-- Coral Sand
 | 
			
		||||
add_ore("ethereal:sandy", "default:sand", 10*10*10, 24, 4, -100, -10)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- technic lead and moreores silver
 | 
			
		||||
add_ore("lib_materials:mineral_lead", "lib_materials:stone", 10*10*10, 24, 4, -100, -10)
 | 
			
		||||
add_ore("lib_materials:mineral_lead", "default:desert_stone", 10*10*10, 24, 4, -100, -10)
 | 
			
		||||
add_ore("lib_materials:mineral_lead", "lib_materials:stone_brown", 10*10*10, 24, 4, -100, -10)
 | 
			
		||||
add_ore("lib_materials:mineral_silver", "lib_materials:stone", 10*10*10, 24, 4, -100, -10)
 | 
			
		||||
add_ore("lib_materials:mineral_silver", "default:desert_stone", 10*10*10, 24, 4, -100, -10)
 | 
			
		||||
add_ore("lib_materials:mineral_silver", "lib_materials:stone_brown", 10*10*10, 24, 4, -100, -10)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Darkage Ores
 | 
			
		||||
 | 
			
		||||
--[[
 | 
			
		||||
-- Some local constants to use for mapgen
 | 
			
		||||
local c_air     = minetest.CONTENT_AIR
 | 
			
		||||
local c_ignore  = minetest.CONTENT_IGNORE
 | 
			
		||||
 | 
			
		||||
local c_stone   = minetest.get_content_id("default:stone")
 | 
			
		||||
local c_water	= minetest.get_content_id("default:water_source")
 | 
			
		||||
local c_sand 	= minetest.get_content_id("default:sand")
 | 
			
		||||
local c_dirt 	= minetest.get_content_id("default:dirt")
 | 
			
		||||
local c_lawn 	= minetest.get_content_id("default:dirt_with_grass")
 | 
			
		||||
 | 
			
		||||
local stone_and_air_assoc = {[c_stone]=true,[c_air]=true} --associative array
 | 
			
		||||
 | 
			
		||||
--Makes a stratus of rocks
 | 
			
		||||
--name of the rock to generate
 | 
			
		||||
--c_wherein id of node to replace, for example minetest.get_content_id("default:stone")
 | 
			
		||||
--ca_ceilin associative array
 | 
			
		||||
--minp, maxp the corners of the map to be generated
 | 
			
		||||
--seed random seed
 | 
			
		||||
--stratus_chance inverse probability in a given radius 1:2, 1:3 etc
 | 
			
		||||
--radius horizontal radius of the stratus
 | 
			
		||||
--radius_y vertical radius of the stratus
 | 
			
		||||
--deep how deep can be from the ground
 | 
			
		||||
local function generate_stratus(data, area, name, c_wherein, ca_ceilin, minp, maxp, seed, stratus_chance, radius, radius_y, deep, y_min, y_max)
 | 
			
		||||
	if maxp.y < y_min
 | 
			
		||||
	   or minp.y > y_max then
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local c_node = minetest.get_content_id(name)
 | 
			
		||||
 | 
			
		||||
	-- it will be only generate a stratus for every 100 m of area
 | 
			
		||||
	local stratus_per_volume=1
 | 
			
		||||
	local area_size = 45
 | 
			
		||||
	local y_min = math.max(minp.y, y_min)
 | 
			
		||||
	local y_max = math.min(maxp.y, y_max)
 | 
			
		||||
	local volume = ((maxp.x-minp.x+1)/area_size)*((y_max-y_min+1)/area_size)*((maxp.z-minp.z+1)/area_size)
 | 
			
		||||
	local pr = PseudoRandom(seed)
 | 
			
		||||
	local blocks = math.floor(stratus_per_volume*volume)
 | 
			
		||||
	minetest.log("info", "	<<"..name..">>");
 | 
			
		||||
	if blocks == 0 then
 | 
			
		||||
		blocks = 1
 | 
			
		||||
	end
 | 
			
		||||
	minetest.log("info", string.format("	blocks: %d in vol: %d (%d,%d,%d)",
 | 
			
		||||
									   blocks, volume, maxp.x-minp.x+1, y_max-y_min+1, maxp.z-minp.z+1))
 | 
			
		||||
	for i = 1,blocks do
 | 
			
		||||
		if pr:next(1,stratus_chance) == 1 then
 | 
			
		||||
			-- TODO deep
 | 
			
		||||
			local y0=y_max-radius_y+1
 | 
			
		||||
			if y0 < y_min then
 | 
			
		||||
				y0=y_min
 | 
			
		||||
			else
 | 
			
		||||
				y0=pr:next(y_min, y0)
 | 
			
		||||
			end
 | 
			
		||||
			local x0 = maxp.x-radius+1
 | 
			
		||||
			if x0 < minp.x then
 | 
			
		||||
				x0 = minp.x
 | 
			
		||||
			else
 | 
			
		||||
				x0 = pr:next(minp.x, x0)
 | 
			
		||||
			end
 | 
			
		||||
			local z0 = maxp.z-radius+1
 | 
			
		||||
			if z0 < minp.z then
 | 
			
		||||
				x0 = minp.z
 | 
			
		||||
			else
 | 
			
		||||
				z0 = pr:next(minp.z, z0)
 | 
			
		||||
			end
 | 
			
		||||
			local n = data[area:index(x0, y0, z0)]
 | 
			
		||||
			local i = 0
 | 
			
		||||
 | 
			
		||||
			if ca_ceilin[n] then
 | 
			
		||||
				-- search for the node to replace
 | 
			
		||||
				--print("	Searching nodes to replace from "..dump(y0-1).." to "..dump(y_min))
 | 
			
		||||
				local vi = area:index(x0, y0-1, z0)
 | 
			
		||||
				for y1 = y0-1,y_min,-1 do
 | 
			
		||||
					if data[vi] == c_wherein then
 | 
			
		||||
						y0 = math.max(y1-deep, y_min)
 | 
			
		||||
						break
 | 
			
		||||
					end
 | 
			
		||||
					vi = vi - area.ystride
 | 
			
		||||
				end
 | 
			
		||||
				local rx=pr:next(radius/2,radius)+1
 | 
			
		||||
				local rz=pr:next(radius/2,radius)+1
 | 
			
		||||
				local ry=pr:next(radius_y/2,radius_y)+1
 | 
			
		||||
				--print("	area of generation ("..dump(rx)..","..dump(rz)..","..dump(ry)..")")
 | 
			
		||||
				vi = area:index(x0, y0, z0)
 | 
			
		||||
				for x1=0,rx do
 | 
			
		||||
					local vi = vi + x1
 | 
			
		||||
					rz = math.max(rz + 3 - pr:next(1,6), 1)
 | 
			
		||||
					for z1=pr:next(1,3),rz do
 | 
			
		||||
						local vi = vi + z1 * area.zstride
 | 
			
		||||
						for y1 = pr:next(1,3), ry + pr:next(1,3) do
 | 
			
		||||
							local vi = vi + y1 * area.ystride
 | 
			
		||||
							if data[vi] == c_wherein then
 | 
			
		||||
								data[vi] = c_node
 | 
			
		||||
								i = i + 1
 | 
			
		||||
							end
 | 
			
		||||
						end
 | 
			
		||||
					end
 | 
			
		||||
				end
 | 
			
		||||
			end
 | 
			
		||||
			minetest.log("info", "	generated "..i.." blocks in ("..x0..","..y0..","..z0..")")
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
	--print("generate_ore done")
 | 
			
		||||
end
 | 
			
		||||
--]]
 | 
			
		||||
--[[
 | 
			
		||||
local function generate_claylike(data, varea, name, minp, maxp, seed, chance, minh, maxh, needs_dirt)
 | 
			
		||||
	if maxp.y >= maxh+1 and minp.y <= minh-1 then
 | 
			
		||||
		local c_ore = minetest.get_content_id(name)
 | 
			
		||||
		local pr = PseudoRandom(seed)
 | 
			
		||||
 | 
			
		||||
		local divlen = 4
 | 
			
		||||
		local divs = (maxp.x-minp.x)/divlen+1;
 | 
			
		||||
		for yy=minh,maxh do
 | 
			
		||||
			local x = pr:next(1,chance)
 | 
			
		||||
			if x == 1 then
 | 
			
		||||
				for divx=0+1,divs-1-1 do
 | 
			
		||||
					for divz=0+1,divs-1-1 do
 | 
			
		||||
						local cx = minp.x + math.floor((divx+0.5)*divlen)
 | 
			
		||||
						local cz = minp.z + math.floor((divz+0.5)*divlen)
 | 
			
		||||
						local up = data[varea:index(cx,yy,cz)]
 | 
			
		||||
						local down = data[varea:index(cx,yy-1,cz)]
 | 
			
		||||
						if ( up == c_water or up == c_air ) and ( down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn ))) then
 | 
			
		||||
							local num_water_around = 0
 | 
			
		||||
							if data[varea:index(cx-divlen*2,yy,cz)] == c_water then
 | 
			
		||||
								num_water_around = num_water_around + 1
 | 
			
		||||
							end
 | 
			
		||||
							if data[varea:index(cx+divlen*2,yy,cz)] == c_water then
 | 
			
		||||
								num_water_around = num_water_around + 1
 | 
			
		||||
							end
 | 
			
		||||
							if data[varea:index(cx,yy,cz-divlen*2)] == c_water then
 | 
			
		||||
								num_water_around = num_water_around + 1
 | 
			
		||||
							end
 | 
			
		||||
							if data[varea:index(cx,yy,cz+divlen*2)] == c_water then
 | 
			
		||||
								num_water_around = num_water_around + 1
 | 
			
		||||
							end
 | 
			
		||||
							if num_water_around < 3 then
 | 
			
		||||
								for x1=-divlen,divlen do
 | 
			
		||||
									for z1=-divlen,divlen do
 | 
			
		||||
										local i = varea:index(cx+x1,yy-1,cz+z1)
 | 
			
		||||
										local down = data[i]
 | 
			
		||||
										if down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn)) then
 | 
			
		||||
											data[i] = c_ore
 | 
			
		||||
										end
 | 
			
		||||
									end
 | 
			
		||||
								end
 | 
			
		||||
							end
 | 
			
		||||
						end
 | 
			
		||||
					end
 | 
			
		||||
				end
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
--]]
 | 
			
		||||
 | 
			
		||||
local mgparams = minetest.get_mapgen_params()
 | 
			
		||||
local seed = mgparams.seed
 | 
			
		||||
 | 
			
		||||
-- Generate desert stone with iron in derset.
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type       = "scatter",
 | 
			
		||||
	ore            = "lib_materials:desert_stone_with_iron",
 | 
			
		||||
	wherein        = "lib_materials:stone_desert",
 | 
			
		||||
	clust_scarcity = 12 * 12 * 12,
 | 
			
		||||
	clust_num_ores = 3,
 | 
			
		||||
	clust_size     = 2,
 | 
			
		||||
	y_min          = -1,
 | 
			
		||||
	y_max          = 200,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Generate chalk inside mountains
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_chalk",
 | 
			
		||||
	wherein         	= {"lib_materials:stone"},
 | 
			
		||||
	column_height_max = 30,
 | 
			
		||||
	column_height_min = 20,
 | 
			
		||||
	y_min            = -20,
 | 
			
		||||
	y_max            = 50,
 | 
			
		||||
	noise_threshold = 0.45,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.35,
 | 
			
		||||
		scale = 0.2,
 | 
			
		||||
		spread = {x = 30, y = 30, z = 30},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_tuff",
 | 
			
		||||
	wherein         	= {"lib_materials:stone",  "lib_materials:stone_gravel", },
 | 
			
		||||
	column_height_max = 20,
 | 
			
		||||
	column_height_min = 15,
 | 
			
		||||
	y_min            = -200,
 | 
			
		||||
	y_max            = 200,
 | 
			
		||||
	noise_threshold = 0.5,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.35,
 | 
			
		||||
		scale = 0.19,
 | 
			
		||||
		seed = seed+12,
 | 
			
		||||
		spread = {x = 45, y = 45, z = 45},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_rhyolitic_tuff",
 | 
			
		||||
	wherein         	= {"lib_materials:stone", "lib_materials:stone_gravel", },
 | 
			
		||||
	column_height_max = 20,
 | 
			
		||||
	column_height_min = 15,
 | 
			
		||||
	y_min            = -2000,
 | 
			
		||||
	y_max            = 200,
 | 
			
		||||
	noise_threshold = 0.53,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.35,
 | 
			
		||||
		scale = 0.2,
 | 
			
		||||
		seed = seed+13,
 | 
			
		||||
		spread = {x = 100, y = 100, z = 100},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--old red sandstone
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_sandstone_old_red",
 | 
			
		||||
	wherein         	= {"lib_materials:stone", "lib_materials:dirt", "lib_materials:stone_gravel", },
 | 
			
		||||
	column_height_max = 8,
 | 
			
		||||
	column_height_min = 6,
 | 
			
		||||
	y_min            = -200,
 | 
			
		||||
	y_max            = 500,
 | 
			
		||||
	noise_threshold = 0.49,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.28,
 | 
			
		||||
		scale = 0.3,
 | 
			
		||||
		seed = seed+4,
 | 
			
		||||
		spread = {x = 10, y = 10, z = 10},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--TO DOs  Gneiss, Marble_03, Schist, Serpentine, Shale, Slate_01, 					---ShadMOrdre
 | 
			
		||||
--[[
 | 
			
		||||
--]]
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_gneiss_01",
 | 
			
		||||
	wherein         	= {"lib_materials:stone", },
 | 
			
		||||
	column_height_max = 8,
 | 
			
		||||
	column_height_min = 6,
 | 
			
		||||
	y_min            = -200,
 | 
			
		||||
	y_max            = 500,
 | 
			
		||||
	noise_threshold = 0.49,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.28,
 | 
			
		||||
		scale = 0.3,
 | 
			
		||||
		seed = seed+4,
 | 
			
		||||
		spread = {x = 10, y = 10, z = 10},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_marble_03",
 | 
			
		||||
	wherein         	= {"lib_materials:stone", },
 | 
			
		||||
	column_height_max = 8,
 | 
			
		||||
	column_height_min = 6,
 | 
			
		||||
	y_min            = -200,
 | 
			
		||||
	y_max            = 500,
 | 
			
		||||
	noise_threshold = 0.49,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.28,
 | 
			
		||||
		scale = 0.3,
 | 
			
		||||
		seed = seed+4,
 | 
			
		||||
		spread = {x = 10, y = 10, z = 10},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_schist",
 | 
			
		||||
	wherein         	= {"lib_materials:stone", },
 | 
			
		||||
	column_height_max = 8,
 | 
			
		||||
	column_height_min = 6,
 | 
			
		||||
	y_min            = -200,
 | 
			
		||||
	y_max            = 500,
 | 
			
		||||
	noise_threshold = 0.49,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.28,
 | 
			
		||||
		scale = 0.3,
 | 
			
		||||
		seed = seed+4,
 | 
			
		||||
		spread = {x = 10, y = 10, z = 10},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_serpentine",
 | 
			
		||||
	wherein         	= {"lib_materials:stone", },
 | 
			
		||||
	column_height_max = 8,
 | 
			
		||||
	column_height_min = 6,
 | 
			
		||||
	y_min            = -200,
 | 
			
		||||
	y_max            = 500,
 | 
			
		||||
	noise_threshold = 0.49,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.28,
 | 
			
		||||
		scale = 0.3,
 | 
			
		||||
		seed = seed+4,
 | 
			
		||||
		spread = {x = 10, y = 10, z = 10},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_shale",
 | 
			
		||||
	wherein         	= {"lib_materials:stone", },
 | 
			
		||||
	column_height_max = 8,
 | 
			
		||||
	column_height_min = 6,
 | 
			
		||||
	y_min            = -200,
 | 
			
		||||
	y_max            = 500,
 | 
			
		||||
	noise_threshold = 0.49,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.28,
 | 
			
		||||
		scale = 0.3,
 | 
			
		||||
		seed = seed+4,
 | 
			
		||||
		spread = {x = 10, y = 10, z = 10},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
	ore_type        	= "sheet",
 | 
			
		||||
	ore             	= "lib_materials:stone_slate_01",
 | 
			
		||||
	wherein         	= {"lib_materials:stone", },
 | 
			
		||||
	column_height_max = 8,
 | 
			
		||||
	column_height_min = 6,
 | 
			
		||||
	y_min            = -200,
 | 
			
		||||
	y_max            = 500,
 | 
			
		||||
	noise_threshold = 0.49,
 | 
			
		||||
	noise_params     = {
 | 
			
		||||
		offset = 0.28,
 | 
			
		||||
		scale = 0.3,
 | 
			
		||||
		seed = seed+4,
 | 
			
		||||
		spread = {x = 10, y = 10, z = 10},
 | 
			
		||||
		octaves = 1,
 | 
			
		||||
		persistence = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--[[
 | 
			
		||||
-- Generate strati
 | 
			
		||||
local dbuf = {} --for mapgen
 | 
			
		||||
local function generate_strati(minp, maxp, seed)
 | 
			
		||||
 | 
			
		||||
	local t1 = os.clock()
 | 
			
		||||
 | 
			
		||||
	local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
 | 
			
		||||
	local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax})
 | 
			
		||||
	local data = vm:get_data(dbuf)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	generate_claylike(data, area, "lib_materials:mud_01", minp, maxp, seed+1, 4, 0, 2, false)
 | 
			
		||||
	generate_claylike(data, area, "lib_materials:silt_02", minp, maxp, seed+2, 4, -1, 1, true)
 | 
			
		||||
 | 
			
		||||
	-- TODO: Maybe realize the following stuff with register ore. somehow.
 | 
			
		||||
	generate_stratus(data, area, "lib_materials:shale",
 | 
			
		||||
					c_stone,
 | 
			
		||||
					stone_and_air_assoc,
 | 
			
		||||
					minp, maxp, seed+5, 4, 23, 7, 50, -50,  20)
 | 
			
		||||
 | 
			
		||||
	generate_stratus(data, area, "lib_materials:slate",
 | 
			
		||||
					c_stone,
 | 
			
		||||
					stone_and_air_assoc,
 | 
			
		||||
					minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
 | 
			
		||||
 | 
			
		||||
	generate_stratus(data, area, "lib_materials:schist",
 | 
			
		||||
					c_stone,
 | 
			
		||||
					stone_and_air_assoc,
 | 
			
		||||
					minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
 | 
			
		||||
 | 
			
		||||
	generate_stratus(data, area, "lib_materials:basalt",
 | 
			
		||||
					c_stone,
 | 
			
		||||
					stone_and_air_assoc,
 | 
			
		||||
					minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
 | 
			
		||||
 | 
			
		||||
	generate_stratus(data, area, "lib_materials:marble_03",
 | 
			
		||||
					c_stone,
 | 
			
		||||
					stone_and_air_assoc,
 | 
			
		||||
					minp, maxp, seed+9, 4, 25, 6, 50, -31000,  -75)
 | 
			
		||||
 | 
			
		||||
	generate_stratus(data, area, "lib_materials:serpentine",
 | 
			
		||||
					c_stone,
 | 
			
		||||
					stone_and_air_assoc,
 | 
			
		||||
					minp, maxp, seed+10, 4, 28, 8, 50, -31000,  -350)
 | 
			
		||||
 | 
			
		||||
	generate_stratus(data, area, "lib_materials:gneiss",
 | 
			
		||||
					c_stone,
 | 
			
		||||
					stone_and_air_assoc,
 | 
			
		||||
					minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250)
 | 
			
		||||
 | 
			
		||||
	vm:set_data(data)
 | 
			
		||||
	vm:write_to_map()
 | 
			
		||||
 | 
			
		||||
	minetest.log("info", string.format("[darkage] Generated Strati after %.2fs.", os.clock() - t1))
 | 
			
		||||
end
 | 
			
		||||
--]]
 | 
			
		||||
--[[
 | 
			
		||||
  minetest.register_on_generated(generate_strati)
 | 
			
		||||
--]]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--ROCKS/MINERALS stone and ore defs
 | 
			
		||||
-- ores have to be redefined for skarn background
 | 
			
		||||
-- Chalcopyrite/Malachyte skarn mix
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
 wherein="lib_materials:stone_skarn",
 | 
			
		||||
 ore="lib_materials:skarn_chalcopyrite",
 | 
			
		||||
 clust_size=3,
 | 
			
		||||
 clust_num_ores=12,
 | 
			
		||||
 clust_scarcity=4^3,
 | 
			
		||||
 noise_treshold=0.333,
 | 
			
		||||
 noise_params={
 | 
			
		||||
		offset = 0,
 | 
			
		||||
		scale = 1,
 | 
			
		||||
		spread = {x = 256, y = 256, z = 256},
 | 
			
		||||
		seed = 163281090,
 | 
			
		||||
		octaves = 5,
 | 
			
		||||
		persist = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
 wherein="lib_materials:stone_skarn",
 | 
			
		||||
 ore="lib_materials:skarn_malachyte",
 | 
			
		||||
 clust_size=3,
 | 
			
		||||
 clust_num_ores=11,
 | 
			
		||||
 clust_scarcity=4^3,
 | 
			
		||||
 noise_treshold=0.333,
 | 
			
		||||
 noise_params={
 | 
			
		||||
		offset = 0,
 | 
			
		||||
		scale = 1,
 | 
			
		||||
		spread = {x = 256, y = 256, z = 256},
 | 
			
		||||
		seed = 163281090,
 | 
			
		||||
		octaves = 5,
 | 
			
		||||
		persist = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Pb Zn skarn mix
 | 
			
		||||
   -- marble and hornfels, as well as unchanged limestone.
 | 
			
		||||
   -- { ore="rocks:marble", percent=10 },
 | 
			
		||||
   -- { ore="rocks:hornfels", percent=10 },
 | 
			
		||||
   -- { ore="rocks:skarn_galena", percent=25 },
 | 
			
		||||
   -- { ore="rocks:skarn_sphalerite", percent=25 },
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
 wherein="lib_materials:stone_skarn",
 | 
			
		||||
 ore="lib_materials:skarn_sphalerite",
 | 
			
		||||
 clust_size=3,
 | 
			
		||||
 clust_num_ores=9,
 | 
			
		||||
 clust_scarcity=4^3,
 | 
			
		||||
 noise_treshold=0.38,
 | 
			
		||||
 noise_params={
 | 
			
		||||
		offset = 0,
 | 
			
		||||
		scale = 1,
 | 
			
		||||
		spread = {x = 256, y = 256, z = 256},
 | 
			
		||||
		seed = 163281090,
 | 
			
		||||
		octaves = 5,
 | 
			
		||||
		persist = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
 wherein="lib_materials:stone_skarn",
 | 
			
		||||
 ore="lib_materials:skarn_galena",
 | 
			
		||||
 clust_size=3,
 | 
			
		||||
 clust_num_ores=10,
 | 
			
		||||
 clust_scarcity=4^3,
 | 
			
		||||
 noise_treshold=0.38,
 | 
			
		||||
 noise_params={
 | 
			
		||||
		offset = 0,
 | 
			
		||||
		scale = 1,
 | 
			
		||||
		spread = {x = 256, y = 256, z = 256},
 | 
			
		||||
		seed = 163281090,
 | 
			
		||||
		octaves = 5,
 | 
			
		||||
		persist = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Fe skarn mix
 | 
			
		||||
   -- marble and hornfels, as well as unchanged limestone.
 | 
			
		||||
   -- { ore="rocks:marble", percent=10 },
 | 
			
		||||
   -- { ore="rocks:hornfels", percent=10 },
 | 
			
		||||
   -- { ore="rocks:skarn_magnetite", percent=40 },
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
 wherein="lib_materials:stone_skarn",
 | 
			
		||||
 ore="lib_materials:skarn_magnetite",
 | 
			
		||||
 clust_size=3,
 | 
			
		||||
 clust_num_ores=13,
 | 
			
		||||
 clust_scarcity=4^3,
 | 
			
		||||
 noise_treshold=0.3,
 | 
			
		||||
 noise_params={
 | 
			
		||||
		offset = 0,
 | 
			
		||||
		scale = 1,
 | 
			
		||||
		spread = {x = 256, y = 256, z = 256},
 | 
			
		||||
		seed = 163281090,
 | 
			
		||||
		octaves = 5,
 | 
			
		||||
		persist = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- magnesite/vermiculite skarn mix
 | 
			
		||||
   -- marble and hornfels, as well as unchanged limestone.
 | 
			
		||||
   -- { ore="rocks:marble", percent=10 },
 | 
			
		||||
   -- { ore="rocks:hornfels", percent=10 },
 | 
			
		||||
   -- { ore="rocks:skarn_magnesite", percent=30 },
 | 
			
		||||
   -- { ore="rocks:vermiculite", percent=20 },
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- ores have to be redefined for pegmatite background
 | 
			
		||||
--   Ore/Mineral    Percent
 | 
			
		||||
-- Spodumene        7%
 | 
			
		||||
-- Muscovite (mica) 7%
 | 
			
		||||
-- Kyanite          5%
 | 
			
		||||
-- Lepidolite       2.5%
 | 
			
		||||
-- Tantalite        2%
 | 
			
		||||
-- Cassiterite      1.5%
 | 
			
		||||
-- Wolframite       1%
 | 
			
		||||
-- Pollucite        0.1%
 | 
			
		||||
minetest.register_ore({
 | 
			
		||||
    ore_type       = "scatter",
 | 
			
		||||
 wherein="lib_materials:stone_pegmatite",
 | 
			
		||||
 ore="lib_materials:pegmatite_cassiterite",
 | 
			
		||||
 clust_size=3,
 | 
			
		||||
 clust_num_ores=9,
 | 
			
		||||
 clust_scarcity=4^3,
 | 
			
		||||
 noise_treshold=-0.1,
 | 
			
		||||
 noise_params={
 | 
			
		||||
		offset = 0,
 | 
			
		||||
		scale = 1,
 | 
			
		||||
		spread = {x = 256, y = 256, z = 256},
 | 
			
		||||
		seed = 163281090,
 | 
			
		||||
		octaves = 5,
 | 
			
		||||
		persist = 0.6
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,3 +17,20 @@ function table.contains_substring(t, s)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function get_node_drops(fullRockNode, cobbleRockNode)
 | 
			
		||||
	return {
 | 
			
		||||
		max_items = 1,
 | 
			
		||||
		items = {
 | 
			
		||||
			{
 | 
			
		||||
				-- drop the cobble variant with 1/3 chance
 | 
			
		||||
				items = {cobbleRockNode},
 | 
			
		||||
				rarity = 3,
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				-- drop the full node with 2/3 chance
 | 
			
		||||
				items = {fullRockNode},
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										605
									
								
								type_dirt.lua
									
									
									
									
									
								
							
							
						
						
									
										605
									
								
								type_dirt.lua
									
									
									
									
									
								
							@@ -1,4 +1,607 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
local S = lib_materials.gettext
 | 
			
		||||
 | 
			
		||||
--Additional Dirts
 | 
			
		||||
 | 
			
		||||
local GRASS_PALETTE_1 = "#69e942:80"
 | 
			
		||||
local GRASS_PALETTE_2 = "#b1e436:80"
 | 
			
		||||
local GRASS_PALETTE_3 = "#dacf61:80"
 | 
			
		||||
local GRASS_PALETTE_4 = "#fcd953:80"
 | 
			
		||||
 | 
			
		||||
local GRASS_DRY_PALETTE_1 = "#ace943:80"
 | 
			
		||||
local GRASS_DRY_PALETTE_2 = "#e4d136:80"
 | 
			
		||||
local GRASS_DRY_PALETTE_3 = "#daa062:80"
 | 
			
		||||
local GRASS_DRY_PALETTE_4 = "#fc9754:80"
 | 
			
		||||
 | 
			
		||||
local GRASS_BROWN_PALETTE_1 = "#e9df43:80"
 | 
			
		||||
local GRASS_BROWN_PALETTE_2 = "#e48836:80"
 | 
			
		||||
local GRASS_BROWN_PALETTE_3 = "#da6e62:80"
 | 
			
		||||
local GRASS_BROWN_PALETTE_4 = "#fc5458:80"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
local GRASS_TEXTURE_TOP = "lib_materials_grass.png"
 | 
			
		||||
local GRASS_TEXTURE_SIDE = "lib_materials_grass_side.png"
 | 
			
		||||
local GRASS_BROWN_TEXTURE_TOP = "lib_materials_grass_brown.png"
 | 
			
		||||
local GRASS_BROWN_TEXTURE_SIDE = "lib_materials_grass_brown_side.png"
 | 
			
		||||
local GRASS_DRY_TEXTURE_TOP = "lib_materials_dry_grass.png"
 | 
			
		||||
local GRASS_DRY_TEXTURE_SIDE = "lib_materials_dry_grass_side.png"
 | 
			
		||||
local GRASS_JUNGLE_TEXTURE_TOP = "lib_materials_grass_jungle_01_top.png"
 | 
			
		||||
local GRASS_JUNGLE_TEXTURE_SIDE = "lib_materials_grass_jungle_01_side.png"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Default Dirt with Grass
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:dirt2", {
 | 
			
		||||
	description = "Dirt2 (lib_materials)",
 | 
			
		||||
	tiles = {"default_dirt.png"},
 | 
			
		||||
	groups = {crumbly = 3, soil = 1},
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults(),
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:dirt2_with_grass", {
 | 
			
		||||
	description = "Dirt2 with Grass (lib_materials)",
 | 
			
		||||
	tiles = {"default_grass.png", "default_dirt.png",
 | 
			
		||||
		{name = "default_dirt.png^default_grass_side.png",
 | 
			
		||||
			tileable_vertical = false}},
 | 
			
		||||
	groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
 | 
			
		||||
	drop = 'lib_materials:dirt2',
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.25},
 | 
			
		||||
	}),
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:dirt2_with_grass_footsteps", {
 | 
			
		||||
	description = "Dirt2 with Grass and Footsteps (lib_materials)",
 | 
			
		||||
	tiles = {"default_grass.png^default_footprint.png", "default_dirt.png",
 | 
			
		||||
		{name = "default_dirt.png^default_grass_side.png",
 | 
			
		||||
			tileable_vertical = false}},
 | 
			
		||||
	groups = {crumbly = 3, soil = 1, not_in_creative_inventory = 1},
 | 
			
		||||
	drop = 'lib_materials:dirt2',
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.25},
 | 
			
		||||
	}),
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:dirt2_with_dry_grass", {
 | 
			
		||||
	description = "Dirt2 with Dry Grass (lib_materials)",
 | 
			
		||||
	tiles = {"default_dry_grass.png",
 | 
			
		||||
		"default_dirt.png",
 | 
			
		||||
		{name = "default_dirt.png^default_dry_grass_side.png",
 | 
			
		||||
			tileable_vertical = false}},
 | 
			
		||||
	groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
 | 
			
		||||
	drop = 'lib_materials:dirt2',
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.4},
 | 
			
		||||
	}),
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:dirt2_with_snow", {
 | 
			
		||||
	description = "Dirt2 with Snow (lib_materials)",
 | 
			
		||||
	tiles = {"default_snow.png", "default_dirt.png",
 | 
			
		||||
		{name = "default_dirt.png^default_snow_side.png",
 | 
			
		||||
			tileable_vertical = false}},
 | 
			
		||||
	groups = {crumbly = 3, spreading_dirt_type = 1, snowy = 1},
 | 
			
		||||
	drop = 'lib_materials:dirt2',
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults({footstep = {name = "default_snow_footstep", gain = 0.15},
 | 
			
		||||
	}),
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:dirt2_with_rainforest_litter", {
 | 
			
		||||
	description = "Dirt2 with Rainforest Litter (lib_materials)",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		"default_rainforest_litter.png",
 | 
			
		||||
		"default_dirt.png",
 | 
			
		||||
		{name = "default_dirt.png^default_rainforest_litter_side.png",
 | 
			
		||||
			tileable_vertical = false}
 | 
			
		||||
	},
 | 
			
		||||
	groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
 | 
			
		||||
	drop = "lib_materials:dirt2",
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.4},
 | 
			
		||||
	}),
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:dirt2_with_coniferous_litter", {
 | 
			
		||||
	description = "Dirt2 with Coniferous Litter (lib_materials)",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		"default_coniferous_litter.png",
 | 
			
		||||
		"default_dirt.png",
 | 
			
		||||
		{name = "default_dirt.png^default_coniferous_litter_side.png",
 | 
			
		||||
			tileable_vertical = false}
 | 
			
		||||
	},
 | 
			
		||||
	groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
 | 
			
		||||
	drop = "lib_materials:dirt2",
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.4},
 | 
			
		||||
	}),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Baked Clay
 | 
			
		||||
minetest.register_node("lib_materials:clay_baked_grey", {
 | 
			
		||||
	description = S("Baked Clay - Grey"),
 | 
			
		||||
	tiles = {"lib_materials_clay_grey_baked.png"},
 | 
			
		||||
	groups = {cracky = 3},
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:clay_baked_orange", {
 | 
			
		||||
	description = S("Baked Clay - Orange"),
 | 
			
		||||
	tiles = {"lib_materials_clay_orange_baked.png"},
 | 
			
		||||
	groups = {cracky = 3},
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:clay_baked_red", {
 | 
			
		||||
	description = S("Baked Clay - Red"),
 | 
			
		||||
	tiles = {"lib_materials_clay_red_baked.png"},
 | 
			
		||||
	groups = {cracky = 3},
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Darkage darkdirt, mud 
 | 
			
		||||
minetest.register_node("lib_materials:mud_dried", {
 | 
			
		||||
	description = "Mud Dried",
 | 
			
		||||
	tiles = {"darkage_mud_up.png","darkage_mud.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {crumbly=3},
 | 
			
		||||
	drop = 'lib_materials:mud_lump 4',
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults({footstep = "",
 | 
			
		||||
	}),
 | 
			
		||||
})
 | 
			
		||||
minetest.register_craftitem("lib_materials:mud_lump", {
 | 
			
		||||
	description = "Mud Lump",
 | 
			
		||||
	inventory_image = "darkage_mud_lump.png",
 | 
			
		||||
})
 | 
			
		||||
minetest.register_craftitem("lib_materials:silt_lump", {
 | 
			
		||||
	description = "Silt Lump",
 | 
			
		||||
	inventory_image = "darkage_silt_lump.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Ethereal dirts
 | 
			
		||||
minetest.register_node("lib_materials:dirt_dried", {
 | 
			
		||||
	description = S("Dirt - Dried"),
 | 
			
		||||
	tiles = {"lib_materials_dirt_dried.png"},
 | 
			
		||||
	is_ground_content = lib_materials.cavedirt,
 | 
			
		||||
	groups = {crumbly = 3},
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults()
 | 
			
		||||
})
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "cooking",
 | 
			
		||||
	output = "lib_materials:dirt_dried",
 | 
			
		||||
	recipe = "default:dirt",
 | 
			
		||||
	cooktime = 3,
 | 
			
		||||
})
 | 
			
		||||
--[[ green dirt
 | 
			
		||||
-- -- minetest.register_node("lib_materials:green_dirt", {
 | 
			
		||||
	-- -- description = S("Green Dirt"),
 | 
			
		||||
	-- -- tiles = {
 | 
			
		||||
		-- -- "default_grass.png",
 | 
			
		||||
		-- -- "default_dirt.png",
 | 
			
		||||
		-- -- "default_dirt.png^default_grass_side.png"
 | 
			
		||||
	-- -- },
 | 
			
		||||
	-- -- is_ground_content = false,
 | 
			
		||||
	-- -- groups = {crumbly = 3, soil = 1, lib_ecology_grass = 1},
 | 
			
		||||
	-- -- soil = {
 | 
			
		||||
		-- -- base = "lib_materials:green_dirt",
 | 
			
		||||
		-- -- dry = "farming:soil",
 | 
			
		||||
		-- -- wet = "farming:soil_wet"
 | 
			
		||||
	-- -- },
 | 
			
		||||
	-- -- drop = "default:dirt",
 | 
			
		||||
	-- -- sounds = default.node_sound_dirt_defaults({
 | 
			
		||||
		-- -- footstep = {name = "default_grass_footstep", gain = 0.25},
 | 
			
		||||
	-- -- }),
 | 
			
		||||
-- -- })
 | 
			
		||||
--]]
 | 
			
		||||
local dirts = {
 | 
			
		||||
	"Bamboo", "Cold", "Crystal", "Fiery", "Gray", "Green",
 | 
			
		||||
	"Grove", "Jungle_01", "Mushroom", "Prairie"
 | 
			
		||||
}
 | 
			
		||||
for n = 1, #dirts do
 | 
			
		||||
 | 
			
		||||
	local desc = dirts[n]
 | 
			
		||||
	local name = desc:lower()
 | 
			
		||||
 | 
			
		||||
	minetest.register_node("lib_materials:dirt_with_grass_"..name, {
 | 
			
		||||
		description = S("Dirt with  Grass" .. desc),
 | 
			
		||||
		tiles = {
 | 
			
		||||
			"lib_materials_grass_"..name.."_top.png",
 | 
			
		||||
			"lib_materials_dirt.png",
 | 
			
		||||
			"lib_materials_dirt.png^lib_materials_grass_"..name.."_side.png"
 | 
			
		||||
		},
 | 
			
		||||
		is_ground_content = false,
 | 
			
		||||
		groups = {crumbly = 3, soil = 1, lib_ecology_grass = 1},
 | 
			
		||||
		soil = {
 | 
			
		||||
			base = "lib_materials:dirt_with_"..name.."_grass",
 | 
			
		||||
			dry = "farming:soil",
 | 
			
		||||
			wet = "farming:soil_wet"
 | 
			
		||||
		},
 | 
			
		||||
		drop = "lib_materials:dirt",
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
--Mapgen Dirts (farlands)
 | 
			
		||||
minetest.register_node("lib_materials:dirt_with_grass_fungi", {
 | 
			
		||||
	description = "Fungi Covered Grass",
 | 
			
		||||
	tiles = {"lib_materials_grass_fungi_top.png", "lib_materials_dirt.png", "lib_materials_grass_fungi_side.png"},
 | 
			
		||||
	groups = {crumbly = 1, oddly_breakable_by_hand = 1},
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults()
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:dirt_with_grass_jungle_02", {
 | 
			
		||||
	description = "Dirt with Jungle 02 Grass",
 | 
			
		||||
	tiles = {"lib_materials_grass_jungle_02_top.png", "lib_materials_dirt.png", "lib_materials_grass_jungle_02_side.png"},
 | 
			
		||||
	groups = {crumbly = 3,},
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults()
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:dirt_with_grass_leafy", {
 | 
			
		||||
	description = "Dirt With Leaf Covered Grass",
 | 
			
		||||
	tiles = {"lib_materials_grass_leafy_top.png", "lib_materials_dirt.png", "lib_materials_grass_leafy_side.png"},
 | 
			
		||||
	groups = {crumbly = 3,},
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults()
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:dirt_with_grass_swamp", {
 | 
			
		||||
	description = "Dirt With Swamp Grass",
 | 
			
		||||
	tiles = {"lib_materials_grass_swamp_top.png", "lib_materials_dirt.png", "lib_materials_grass_swamp_side.png"},
 | 
			
		||||
	groups = {crumbly = 3,},
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults()
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("lib_materials:stone_with_grass_sea", {
 | 
			
		||||
	description = "Stone With Sea Grass",
 | 
			
		||||
	tiles = {"lib_materials_grass_sea_top.png", "lib_materials_stone_default.png",
 | 
			
		||||
	{name = "lib_materials_grass_sea_side.png",
 | 
			
		||||
	tileable_vertical = false}},
 | 
			
		||||
	groups = {crumbly = 3,},
 | 
			
		||||
	drop = 'lib_ecology:seagrass_1',
 | 
			
		||||
	sounds = default.node_sound_stone_defaults()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--mg Dry Dirt
 | 
			
		||||
minetest.register_node("lib_materials:dirt_with_brown_grass", {
 | 
			
		||||
	description = "Dirt with Brown Grass",
 | 
			
		||||
	tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:#e8bb30:80", "lib_materials_dirt.png", "lib_materials_dirt.png^("..GRASS_TEXTURE_SIDE.."^[colorize:#e8bb30:80)"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {crumbly=3,soil=1},
 | 
			
		||||
	drop = 'lib_materials:dirt',
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Prehistoric Life Dirts
 | 
			
		||||
minetest.register_node("lib_materials:dirt_with_pete_moss", {
 | 
			
		||||
	description = "Dirt with Pete Moss",
 | 
			
		||||
	tiles = {"lib_materials_dirt_with_pete_moss_top.png", "lib_materials_dirt_with_pete_moss_side.png"},
 | 
			
		||||
	groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
 | 
			
		||||
	drop = 'default:dirt',
 | 
			
		||||
	sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.25},}),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.override_item("default:clay", {description = "White Clay"})
 | 
			
		||||
 | 
			
		||||
-- Add dirts
 | 
			
		||||
local function register_dirts(readname)
 | 
			
		||||
	local name = readname:lower()
 | 
			
		||||
	local itemstr_dirt = "lib_materials:" .. name
 | 
			
		||||
	local itemstr_lawn = itemstr_dirt .. "_with_grass"
 | 
			
		||||
	local itemstr_lawn2 = itemstr_dirt .. "_with_grass2"
 | 
			
		||||
	local itemstr_lawn3 = itemstr_dirt .. "_with_grass3"
 | 
			
		||||
	local itemstr_lawn4 = itemstr_dirt .. "_with_grass4"
 | 
			
		||||
	local itemstr_lawn5 = itemstr_dirt .. "_with_grass5"
 | 
			
		||||
	local itemstr_lawn6 = itemstr_dirt .. "_with_grass6"
 | 
			
		||||
	local itemstr_lawn7 = itemstr_dirt .. "_with_grass7"
 | 
			
		||||
	local itemstr_lawn8 = itemstr_dirt .. "_with_grass8"
 | 
			
		||||
	local itemstr_lawn9 = itemstr_dirt .. "_with_grass9"
 | 
			
		||||
	local itemstr_brown = itemstr_dirt .. "_with_brown_grass"
 | 
			
		||||
	local itemstr_brown2 = itemstr_dirt .. "_with_brown_grass2"
 | 
			
		||||
	local itemstr_brown3 = itemstr_dirt .. "_with_brown_grass3"
 | 
			
		||||
	local itemstr_brown4 = itemstr_dirt .. "_with_brown_grass4"
 | 
			
		||||
	local itemstr_brown5 = itemstr_dirt .. "_with_brown_grass5"
 | 
			
		||||
	local itemstr_brown6 = itemstr_dirt .. "_with_brown_grass6"
 | 
			
		||||
	local itemstr_brown7 = itemstr_dirt .. "_with_brown_grass7"
 | 
			
		||||
	local itemstr_brown8 = itemstr_dirt .. "_with_brown_grass8"
 | 
			
		||||
	local itemstr_brown9 = itemstr_dirt .. "_with_brown_grass9"
 | 
			
		||||
	local itemstr_dry = itemstr_dirt .. "_with_dry_grass"
 | 
			
		||||
	local itemstr_dry2 = itemstr_dirt .. "_with_dry_grass2"
 | 
			
		||||
	local itemstr_dry3 = itemstr_dirt .. "_with_dry_grass3"
 | 
			
		||||
	local itemstr_dry4 = itemstr_dirt .. "_with_dry_grass4"
 | 
			
		||||
	local itemstr_dry5 = itemstr_dirt .. "_with_dry_grass5"
 | 
			
		||||
	local itemstr_dry6 = itemstr_dirt .. "_with_dry_grass6"
 | 
			
		||||
	local itemstr_dry7 = itemstr_dirt .. "_with_dry_grass7"
 | 
			
		||||
	local itemstr_dry8 = itemstr_dirt .. "_with_dry_grass8"
 | 
			
		||||
	local itemstr_dry9 = itemstr_dirt .. "_with_dry_grass9"
 | 
			
		||||
	local itemstr_coniferous = itemstr_dirt .. "_with_coniferous_litter"
 | 
			
		||||
	local itemstr_rain = itemstr_dirt .. "_with_rainforest_litter"
 | 
			
		||||
	local itemstr_snow = itemstr_dirt .. "_with_snow"
 | 
			
		||||
	local tilestr = "lib_materials_" .. name .. ".png"
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dirt, {
 | 
			
		||||
		description = readname .. " Dirt",
 | 
			
		||||
		tiles = {tilestr},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults(),
 | 
			
		||||
		soil = {
 | 
			
		||||
			base = "lib_materials:"..name,
 | 
			
		||||
			dry = "farming:soil",
 | 
			
		||||
			wet = "farming:soil_wet"
 | 
			
		||||
		},
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_lawn, {
 | 
			
		||||
		description = readname .. " Dirt with Grass",
 | 
			
		||||
		tiles = {"default_grass.png", tilestr, tilestr .. "^default_grass_side.png"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_lawn2, {
 | 
			
		||||
		description = readname .. " Dirt with Grass2",
 | 
			
		||||
		tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_1..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_lawn3, {
 | 
			
		||||
		description = readname .. " Dirt with Grass3",
 | 
			
		||||
		tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_2..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_lawn4, {
 | 
			
		||||
		description = readname .. " Dirt with Grass4",
 | 
			
		||||
		tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_3..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_lawn5, {
 | 
			
		||||
		description = readname .. " Dirt with Grass5",
 | 
			
		||||
		tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_4..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_lawn6, {
 | 
			
		||||
		description = readname .. " Dirt with Grass6",
 | 
			
		||||
		tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_1..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_lawn7, {
 | 
			
		||||
		description = readname .. " Dirt with Grass7",
 | 
			
		||||
		tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_2..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_lawn8, {
 | 
			
		||||
		description = readname .. " Dirt with Grass8",
 | 
			
		||||
		tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_3..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_lawn9, {
 | 
			
		||||
		description = readname .. " Dirt with Grass9",
 | 
			
		||||
		tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_4..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dry, {
 | 
			
		||||
		description = readname .. " Dirt with Dry Grass",
 | 
			
		||||
		tiles = {"default_dry_grass.png", tilestr, tilestr .. "^default_dry_grass_side.png"},
 | 
			
		||||
		groups = {crumbly=3, soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dry2, {
 | 
			
		||||
		description = readname .. " Dirt with Dry Grass2",
 | 
			
		||||
		tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_1..")"},
 | 
			
		||||
		groups = {crumbly=3, soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dry3, {
 | 
			
		||||
		description = readname .. " Dirt with Dry Grass3",
 | 
			
		||||
		tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_2..")"},
 | 
			
		||||
		groups = {crumbly=3, soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dry4, {
 | 
			
		||||
		description = readname .. " Dirt with Dry Grass4",
 | 
			
		||||
		tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_3..")"},
 | 
			
		||||
		groups = {crumbly=3, soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dry5, {
 | 
			
		||||
		description = readname .. " Dirt with Dry Grass5",
 | 
			
		||||
		tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_4..")"},
 | 
			
		||||
		groups = {crumbly=3, soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dry6, {
 | 
			
		||||
		description = readname .. " Dirt with Dry Grass6",
 | 
			
		||||
		tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_1..")"},
 | 
			
		||||
		groups = {crumbly=3, soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dry7, {
 | 
			
		||||
		description = readname .. " Dirt with Dry Grass7",
 | 
			
		||||
		tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_2..")"},
 | 
			
		||||
		groups = {crumbly=3, soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dry8, {
 | 
			
		||||
		description = readname .. " Dirt with Dry Grass8",
 | 
			
		||||
		tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_3..")"},
 | 
			
		||||
		groups = {crumbly=3, soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_dry9, {
 | 
			
		||||
		description = readname .. " Dirt with Dry Grass9",
 | 
			
		||||
		tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_4..")"},
 | 
			
		||||
		groups = {crumbly=3, soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_brown, {
 | 
			
		||||
		description = readname .. " Dirt with Brown Grass",
 | 
			
		||||
		tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:#e8bb30:80", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:#e8bb30:80)"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_brown2, {
 | 
			
		||||
		description = readname .. " Dirt with Brown Grass2",
 | 
			
		||||
		tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_1..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_brown3, {
 | 
			
		||||
		description = readname .. " Dirt with Brown Grass3",
 | 
			
		||||
		tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_2..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_brown4, {
 | 
			
		||||
		description = readname .. " Dirt with Brown Grass4",
 | 
			
		||||
		tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_3..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_brown5, {
 | 
			
		||||
		description = readname .. " Dirt with Brown Grass5",
 | 
			
		||||
		tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_4..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_brown6, {
 | 
			
		||||
		description = readname .. " Dirt with Brown Grass6",
 | 
			
		||||
		tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_1..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_brown7, {
 | 
			
		||||
		description = readname .. " Dirt with Brown Grass7",
 | 
			
		||||
		tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_2..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_brown8, {
 | 
			
		||||
		description = readname .. " Dirt with Brown Grass8",
 | 
			
		||||
		tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_3..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_brown9, {
 | 
			
		||||
		description = readname .. " Dirt with Brown Grass9",
 | 
			
		||||
		tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_4..")"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_coniferous, {
 | 
			
		||||
		description = readname .. " Dirt with Coniferous Litter",
 | 
			
		||||
		tiles = {"default_coniferous_litter.png", tilestr, tilestr .. "^default_coniferous_litter_side.png"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_rain, {
 | 
			
		||||
		description = readname .. " Dirt with Rainforest Litter",
 | 
			
		||||
		tiles = {"default_rainforest_litter.png", tilestr, tilestr .. "^default_rainforest_litter_side.png"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_node(itemstr_snow, {
 | 
			
		||||
		description = readname .. " Dirt with Snow",
 | 
			
		||||
		tiles = {"default_snow.png", tilestr, tilestr .. "^default_snow_side.png"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=3,soil=1},
 | 
			
		||||
		drop = itemstr_dirt,
 | 
			
		||||
		sounds = default.node_sound_dirt_defaults({footstep = {name="default_snow_footstep", gain=0.25},}),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
register_dirts("Dirt")
 | 
			
		||||
register_dirts("Dirt_02")
 | 
			
		||||
register_dirts("Dirt_Black")
 | 
			
		||||
register_dirts("Dirt_Clay_Red")
 | 
			
		||||
register_dirts("Dirt_Clayey")
 | 
			
		||||
register_dirts("Dirt_Coarse")
 | 
			
		||||
register_dirts("Dirt_Dark")
 | 
			
		||||
register_dirts("Dirt_Dry")
 | 
			
		||||
register_dirts("Dirt_Mud_01")
 | 
			
		||||
register_dirts("Dirt_Sandy")
 | 
			
		||||
register_dirts("Dirt_Silt_01")
 | 
			
		||||
register_dirts("Dirt_Silt_02")
 | 
			
		||||
register_dirts("Dirt_Silty")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										259
									
								
								type_ore.lua
									
									
									
									
									
								
							
							
						
						
									
										259
									
								
								type_ore.lua
									
									
									
									
									
								
							@@ -1,6 +1,218 @@
 | 
			
		||||
 | 
			
		||||
local S = lib_materials.gettext
 | 
			
		||||
 | 
			
		||||
-- Columnia Rusty_Block
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:rusty_block", {
 | 
			
		||||
	description = "Rusty Block",
 | 
			
		||||
	tiles = {"columnia_rusty_block.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky=1,level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
		output = 'lib_materials:rusty_block 8',
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:steel_block", "default:steel_block", "default:steel_block"},
 | 
			
		||||
			{"default:steel_block", "default:water_source", "default:steel_block"},
 | 
			
		||||
			{"default:steel_block", "default:steel_block", "default:steel_block"},
 | 
			
		||||
		},
 | 
			
		||||
		replacements = {{"columnia:blueprint", "columnia:blueprint"}},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:rusty", {
 | 
			
		||||
	description = "Rusty",
 | 
			
		||||
	tiles = {"columnia_rusty.png"},
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	groups = {cracky=1,level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
		output = 'lib_materials:rusty 8',
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
 | 
			
		||||
			{"default:steel_ingot", "default:water_source", "default:steel_ingot"},
 | 
			
		||||
			{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
 | 
			
		||||
		},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--MINERALS
 | 
			
		||||
--
 | 
			
		||||
-- Skarn deposit
 | 
			
		||||
---- ~ Tomas Brod
 | 
			
		||||
 | 
			
		||||
-- Chalcopyrite
 | 
			
		||||
minetest.register_node( "lib_materials:skarn_chalcopyrite", {  
 | 
			
		||||
	description = S("Chalcopyrite"),
 | 
			
		||||
	tiles = { "lib_materials_stone_skarn.png^mineral_Chalcopyrite.png" },
 | 
			
		||||
	groups = {cracky=3}, 
 | 
			
		||||
	is_ground_content = true, sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
-- Malachyte
 | 
			
		||||
minetest.register_node( "lib_materials:skarn_malachyte", {  
 | 
			
		||||
	description = S("Malachyte"),
 | 
			
		||||
	tiles = { "lib_materials_stone_skarn.png^mineral_Chalcopyrite.png" },
 | 
			
		||||
	groups = {cracky=3}, 
 | 
			
		||||
	is_ground_content = true, sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
-- Sphalerite
 | 
			
		||||
minetest.register_node( "lib_materials:skarn_sphalerite", {  
 | 
			
		||||
	description = S("Sphalerite"),
 | 
			
		||||
	tiles = { "lib_materials_stone_skarn.png^mineral_sphalerite.png" },
 | 
			
		||||
	groups = {cracky=3}, 
 | 
			
		||||
	is_ground_content = true, sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
-- Galena
 | 
			
		||||
minetest.register_node( "lib_materials:skarn_galena", {  
 | 
			
		||||
	description = S("Galena"),
 | 
			
		||||
	tiles = { "lib_materials_stone_skarn.png^mineral_galena.png" },
 | 
			
		||||
	groups = {cracky=3}, 
 | 
			
		||||
	is_ground_content = true, sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
-- Magnetite
 | 
			
		||||
minetest.register_node( "lib_materials:skarn_magnetite", {  
 | 
			
		||||
	description = S("Magnetite"),
 | 
			
		||||
	tiles = { "lib_materials_stone_skarn.png^mineral_Magnetite.png" },
 | 
			
		||||
	groups = {cracky=3}, 
 | 
			
		||||
	is_ground_content = true, sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
-- Magnesite
 | 
			
		||||
minetest.register_node( "lib_materials:skarn_magnesite", {
 | 
			
		||||
	description = S("Magnesite"),
 | 
			
		||||
	tiles = { "lib_materials_stone_skarn.png^mineral_Magnesite.png" },
 | 
			
		||||
	groups = {cracky=3}, 
 | 
			
		||||
	is_ground_content = true, sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
-- Vermiculite (fixme: move to CommonRocks)
 | 
			
		||||
minetest.register_node( "lib_materials:vermiculite", {
 | 
			
		||||
	description = S("Vermiculite"),
 | 
			
		||||
	tiles = { "mineral_Vermiculite.png" },
 | 
			
		||||
	groups = {crumbly=3}, 
 | 
			
		||||
	is_ground_content = true, sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Pegmatite deposit
 | 
			
		||||
--
 | 
			
		||||
-- Cassiterite
 | 
			
		||||
minetest.register_node( "lib_materials:pegmatite_cassiterite", {
 | 
			
		||||
	description = S("Cassiterite"),
 | 
			
		||||
	tiles = { "lib_materials_stone_pegmatite.png^mineral_cassiterite.png" },
 | 
			
		||||
	groups = {cracky=3},
 | 
			
		||||
	is_ground_content = true, sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Quartz
 | 
			
		||||
 | 
			
		||||
--Quartz Crystal
 | 
			
		||||
minetest.register_craftitem("lib_materials:quartz_crystal", {
 | 
			
		||||
	description = "Quartz Crystal",
 | 
			
		||||
	inventory_image = "quartz_crystal_full.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--Ore
 | 
			
		||||
minetest.register_node("lib_materials:quartz_ore", {
 | 
			
		||||
    description = "Quartz Ore",
 | 
			
		||||
 	tiles = {"default_stone.png^quartz_ore.png"},
 | 
			
		||||
	groups = {cracky=3, stone=1},
 | 
			
		||||
	drop = 'lib_materials:quartz_crystal',
 | 
			
		||||
    sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
	 
 | 
			
		||||
--Quartz Block
 | 
			
		||||
minetest.register_node("lib_materials:quartz_block", {
 | 
			
		||||
	description = "Quartz Block",
 | 
			
		||||
	tiles = {"quartz_block_top.png", "quartz_block_bottom.png", "quartz_block_side.png"},
 | 
			
		||||
	groups = {snappy=1,bendy=2,cracky=1,level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--Chiseled Quartz
 | 
			
		||||
minetest.register_node("lib_materials:quartz_chiseled", {
 | 
			
		||||
	description = "Chiseled Quartz",
 | 
			
		||||
	tiles = {"quartz_chiseled_top.png", "quartz_chiseled_top.png", "quartz_chiseled_side.png"},
 | 
			
		||||
	groups = {snappy=1,bendy=2,cracky=1,level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--Quartz Pillar
 | 
			
		||||
minetest.register_node("lib_materials:quartz_pillar", {
 | 
			
		||||
	description = "Quartz Pillar",
 | 
			
		||||
	tiles = {"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"},
 | 
			
		||||
	groups = {snappy=1,bendy=2,cracky=1,level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
	on_place = minetest.rotate_node,
 | 
			
		||||
	paramtype2 = "facedir"
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Crafting
 | 
			
		||||
 | 
			
		||||
--Quartz Block
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'lib_materials:quartz_block',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'lib_materials:quartz_crystal', 'lib_materials:quartz_crystal'},
 | 
			
		||||
		{'lib_materials:quartz_crystal', 'lib_materials:quartz_crystal'},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
	
 | 
			
		||||
--Chiseled Quartz
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'lib_materials:quartz_chiseled 2',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'stairs:slab_quartzblock'},
 | 
			
		||||
		{'stairs:slab_quartzblock'},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--Quartz Pillar
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'lib_materials:quartz_pillar 2',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'lib_materials:quartz_block'},
 | 
			
		||||
		{'lib_materials:quartz_block'},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = 'lib_materials:quartz_pillar 2',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'lib_materials:pillar_horizontal'},
 | 
			
		||||
		{'lib_materials:pillar_horizontal'},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--Stairs & Slabs
 | 
			
		||||
stairs.register_stair_and_slab("quartzblock", "lib_materials:quartz_block",
 | 
			
		||||
	{snappy=1,bendy=2,cracky=1,level=2},
 | 
			
		||||
	{"quartz_block_top.png", "quartz_block_bottom.png", "quartz_block_side.png"},
 | 
			
		||||
	"Quartz stair",
 | 
			
		||||
	"Quartz slab",
 | 
			
		||||
	default.node_sound_stone_defaults()
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
stairs.register_slab("quartzstair", "lib_materials:quartz_pillar",
 | 
			
		||||
	{snappy=1,bendy=2,cracky=1,level=2},
 | 
			
		||||
	{"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"},
 | 
			
		||||
	"Quartz Pillar stair",
 | 
			
		||||
	"Quartz Pillar slab",
 | 
			
		||||
	default.node_sound_stone_defaults()
 | 
			
		||||
)		
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--Add Technic granite, marble, and ore node definitions and craftitems
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:brass_block", {
 | 
			
		||||
@@ -8,7 +220,7 @@ minetest.register_node("lib_materials:brass_block", {
 | 
			
		||||
	tiles = { "technic_brass_block.png" },
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky=1, level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults()
 | 
			
		||||
	sounds = default.node_sound_metal_defaults()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:lead_block", {
 | 
			
		||||
@@ -16,7 +228,15 @@ minetest.register_node("lib_materials:lead_block", {
 | 
			
		||||
	tiles = { "technic_lead_block.png" },
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky=1, level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults()
 | 
			
		||||
	sounds = default.node_sound_metal_defaults()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:silver_block", {
 | 
			
		||||
	description = S("Silver Block"),
 | 
			
		||||
	tiles = { "moreores_silver_block.png" },
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky=1, level=2},
 | 
			
		||||
	sounds = default.node_sound_metal_defaults()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:wrought_iron_block", {
 | 
			
		||||
@@ -24,7 +244,7 @@ minetest.register_node("lib_materials:wrought_iron_block", {
 | 
			
		||||
	tiles = { "technic_wrought_iron_block.png" },
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky=1, level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults()
 | 
			
		||||
	sounds = default.node_sound_metal_defaults()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:cast_iron_block", {
 | 
			
		||||
@@ -32,7 +252,7 @@ minetest.register_node("lib_materials:cast_iron_block", {
 | 
			
		||||
	tiles = { "technic_cast_iron_block.png" },
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky=1, level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults()
 | 
			
		||||
	sounds = default.node_sound_metal_defaults()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:carbon_steel_block", {
 | 
			
		||||
@@ -40,7 +260,7 @@ minetest.register_node("lib_materials:carbon_steel_block", {
 | 
			
		||||
	tiles = { "technic_carbon_steel_block.png" },
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky=1, level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults()
 | 
			
		||||
	sounds = default.node_sound_metal_defaults()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:stainless_steel_block", {
 | 
			
		||||
@@ -48,7 +268,7 @@ minetest.register_node("lib_materials:stainless_steel_block", {
 | 
			
		||||
	tiles = { "technic_stainless_steel_block.png" },
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky=1, level=2},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults()
 | 
			
		||||
	sounds = default.node_sound_metal_defaults()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -62,6 +282,15 @@ minetest.register_node( "lib_materials:mineral_lead", {
 | 
			
		||||
	drop = "lib_materials:lead_lump",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node( "lib_materials:mineral_silver", {
 | 
			
		||||
	description = S("Silver Ore"),
 | 
			
		||||
	tiles = { "default_stone.png^moreores_mineral_silver.png" },
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky=3},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
	drop = "lib_materials:lead_lump",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("lib_materials:brass_ingot", {
 | 
			
		||||
@@ -79,6 +308,16 @@ minetest.register_craftitem("lib_materials:lead_ingot", {
 | 
			
		||||
	inventory_image = "technic_lead_ingot.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("lib_materials:silver_lump", {
 | 
			
		||||
	description = S("Silver Lump"),
 | 
			
		||||
	inventory_image = "moreores_silver_lump.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("lib_materials:silver_ingot", {
 | 
			
		||||
	description = S("Silver Ingot"),
 | 
			
		||||
	inventory_image = "moreores_silver_ingot.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("lib_materials:wrought_iron_ingot", {
 | 
			
		||||
	description = S("Wrought Iron Ingot"),
 | 
			
		||||
	inventory_image = "technic_wrought_iron_ingot.png",
 | 
			
		||||
@@ -121,6 +360,7 @@ end
 | 
			
		||||
 | 
			
		||||
register_block("lib_materials:brass_block", "lib_materials:brass_ingot")
 | 
			
		||||
register_block("lib_materials:lead_block", "lib_materials:lead_ingot")
 | 
			
		||||
register_block("lib_materials:silver_block", "lib_materials:silver_ingot")
 | 
			
		||||
register_block("lib_materials:wrought_iron_block", "lib_materials:wrought_iron_ingot")
 | 
			
		||||
register_block("lib_materials:cast_iron_block", "lib_materials:cast_iron_ingot")
 | 
			
		||||
register_block("lib_materials:carbon_steel_block", "lib_materials:carbon_steel_ingot")
 | 
			
		||||
@@ -132,6 +372,13 @@ minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:lead_ingot",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = 'cooking',
 | 
			
		||||
	recipe = "lib_materials:silver_lump",
 | 
			
		||||
	output = "lib_materials:silver_ingot",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = 'cooking',
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,53 @@
 | 
			
		||||
local S = lib_materials.gettext
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:sand", {
 | 
			
		||||
	description = "Sand - Sand Default",
 | 
			
		||||
	tiles = {"lib_materials_sand_sand_default.png"},
 | 
			
		||||
	groups = {crumbly = 3, falling_node = 1, sand = 1},
 | 
			
		||||
	sounds = default.node_sound_sand_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:sand_desert", {
 | 
			
		||||
	description = "Sand - Desert Default",
 | 
			
		||||
	tiles = {"lib_materials_sand_desert_default.png"},
 | 
			
		||||
	groups = {crumbly = 3, falling_node = 1, sand = 1},
 | 
			
		||||
	sounds = default.node_sound_sand_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:sand_silver", {
 | 
			
		||||
	description = "Sand - Silver Default",
 | 
			
		||||
	tiles = {"lib_materials_sand_silver_default.png"},
 | 
			
		||||
	groups = {crumbly = 3, falling_node = 1, sand = 1},
 | 
			
		||||
	sounds = default.node_sound_sand_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:sand_beach", {
 | 
			
		||||
	description = "Sand - Beach",
 | 
			
		||||
	tiles = {"lib_materials_sand_sand_default.png"},
 | 
			
		||||
	groups = {crumbly = 3, falling_node = 1, sand = 1},
 | 
			
		||||
	sounds = default.node_sound_sand_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Prehistoric Life Sand
 | 
			
		||||
minetest.register_node("lib_materials:sand_volcanic", {
 | 
			
		||||
	description = ("Sand - Volcanic"),
 | 
			
		||||
	tiles = {"lib_materials_sand_volcanic.png"},
 | 
			
		||||
	groups = {crumbly = 3, falling_node = 1, sand = 1},
 | 
			
		||||
	sounds = default.node_sound_sand_defaults(),
 | 
			
		||||
})
 | 
			
		||||
-- Node Texture Modifier
 | 
			
		||||
minetest.register_node("lib_materials:sand_white", {
 | 
			
		||||
	description = ("Sand - White"),
 | 
			
		||||
	tiles = {"lib_materials_sand_white.png"},
 | 
			
		||||
	groups = {crumbly = 3, falling_node = 1, sand = 1},
 | 
			
		||||
	sounds = default.node_sound_sand_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Valleys_c Sand
 | 
			
		||||
 | 
			
		||||
-- Some sand with rocks for the river beds.
 | 
			
		||||
--  This drops small rocks as well.
 | 
			
		||||
@@ -24,3 +69,7 @@ minetest.register_node("lib_materials:sand_with_rocks", {
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										979
									
								
								type_stone.lua
									
									
									
									
									
								
							
							
						
						
									
										979
									
								
								type_stone.lua
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										563
									
								
								type_stone_deco.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										563
									
								
								type_stone_deco.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,563 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
local S = lib_materials.gettext
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--PYRAMIDS
 | 
			
		||||
 | 
			
		||||
local img = {"eye", "men", "sun"}
 | 
			
		||||
 | 
			
		||||
for i=1,3 do
 | 
			
		||||
	minetest.register_node("lib_materials:deco_stone"..i, {
 | 
			
		||||
		description = "Sandstone with "..img[i],
 | 
			
		||||
		tiles = {"default_sandstone.png^pyramids_"..img[i]..".png"},
 | 
			
		||||
		is_ground_content = true,
 | 
			
		||||
		groups = {crumbly=2,cracky=3},
 | 
			
		||||
		sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--MOREORES Decorative stone types
 | 
			
		||||
--To be added
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	-- ["wood_tile"] = {
 | 
			
		||||
		-- description = S("Wooden Tile"),
 | 
			
		||||
		-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
 | 
			
		||||
		-- tiles = {"default_wood.png^moreblocks_wood_tile.png",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png^[transformR90",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png^[transformR90"},
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["wood_tile_flipped"] = {
 | 
			
		||||
		-- description = S("Wooden Tile"),
 | 
			
		||||
		-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
 | 
			
		||||
		-- tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png^[transformR90",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png^[transformR90",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png^[transformR90",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png^[transformR180",
 | 
			
		||||
		-- "default_wood.png^moreblocks_wood_tile.png^[transformR180"},
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
		-- no_stairs = true,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["wood_tile_center"] = {
 | 
			
		||||
		-- description = S("Centered Wooden Tile"),
 | 
			
		||||
		-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
 | 
			
		||||
		-- tiles = {"default_wood.png^moreblocks_wood_tile_center.png"},
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["wood_tile_full"] = {
 | 
			
		||||
		-- description = S("Full Wooden Tile"),
 | 
			
		||||
		-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
 | 
			
		||||
		-- tiles = tile_tiles("wood_tile_full"),
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["wood_tile_up"] = {
 | 
			
		||||
		-- description = S("Upwards Wooden Tile"),
 | 
			
		||||
		-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
 | 
			
		||||
		-- tiles = {"default_wood.png^moreblocks_wood_tile_up.png"},
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
		-- no_stairs = true,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["wood_tile_down"] = {
 | 
			
		||||
		-- description = S("Downwards Wooden Tile"),
 | 
			
		||||
		-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
 | 
			
		||||
		-- tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_up.png^[transformR180"},
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
		-- no_stairs = true,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["wood_tile_left"] = {
 | 
			
		||||
		-- description = S("Leftwards Wooden Tile"),
 | 
			
		||||
		-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
 | 
			
		||||
		-- tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_up.png^[transformR270"},
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
		-- no_stairs = true,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["wood_tile_right"] = {
 | 
			
		||||
		-- description = S("Rightwards Wooden Tile"),
 | 
			
		||||
		-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
 | 
			
		||||
		-- tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_up.png^[transformR90"},
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
		-- no_stairs = true,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["plankstone"] = {
 | 
			
		||||
		-- description = S("Plankstone"),
 | 
			
		||||
		-- groups = {cracky = 3},
 | 
			
		||||
		-- tiles = tile_tiles("plankstone"),
 | 
			
		||||
		-- sounds = sound_stone,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["all_faces_tree"] = {
 | 
			
		||||
		-- description = S("All-faces Tree"),
 | 
			
		||||
		-- tiles = {"default_tree_top.png"},
 | 
			
		||||
		-- groups = {tree = 1,snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
		-- furnace_burntime = 30,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- ["all_faces_jungle_tree"] = {
 | 
			
		||||
		-- description = S("All-faces Jungle Tree"),
 | 
			
		||||
		-- tiles = {"default_jungletree_top.png"},
 | 
			
		||||
		-- groups = {tree = 1,snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
 | 
			
		||||
		-- sounds = sound_wood,
 | 
			
		||||
		-- furnace_burntime = 30,
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:circle_stone_bricks", {
 | 
			
		||||
	description = S("Circle Stone Bricks"),
 | 
			
		||||
	tiles = {"moreblocks_circle_stone_bricks.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:circle_stone_bricks',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:coal_checker", {
 | 
			
		||||
	description = S("Coal Checker"),
 | 
			
		||||
		tiles = {"default_stone.png^moreblocks_coal_checker.png",
 | 
			
		||||
		"default_stone.png^moreblocks_coal_checker.png",
 | 
			
		||||
		"default_stone.png^moreblocks_coal_checker.png",
 | 
			
		||||
		"default_stone.png^moreblocks_coal_checker.png",
 | 
			
		||||
		"default_stone.png^moreblocks_coal_checker.png^[transformR90",
 | 
			
		||||
		"default_stone.png^moreblocks_coal_checker.png^[transformR90"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:coal_checker',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:coal_stone", {
 | 
			
		||||
	description = S("Coal Stone"),
 | 
			
		||||
	tiles = {"moreblocks_coal_stone.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:coal_stone',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:coal_stone_bricks", {
 | 
			
		||||
	description = S("Coal Stone Bricks"),
 | 
			
		||||
	tiles = {"moreblocks_coal_stone_bricks.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:coal_stone_bricks',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:cobble_compressed", {
 | 
			
		||||
	description = S("Compressed Cobblestone"),
 | 
			
		||||
	tiles = {"moreblocks_cobble_compressed.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 1},
 | 
			
		||||
	drop = 'lib_materials:cobble_compressed',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:grey_bricks", {
 | 
			
		||||
	description = S("Grey Stone Bricks"),
 | 
			
		||||
	tiles = {"moreblocks_grey_bricks.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:grey_bricks',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:iron_checker", {
 | 
			
		||||
	description = S("Iron Checker"),
 | 
			
		||||
		tiles = {"default_stone.png^moreblocks_iron_checker.png",
 | 
			
		||||
		"default_stone.png^moreblocks_iron_checker.png",
 | 
			
		||||
		"default_stone.png^moreblocks_iron_checker.png",
 | 
			
		||||
		"default_stone.png^moreblocks_iron_checker.png",
 | 
			
		||||
		"default_stone.png^moreblocks_iron_checker.png^[transformR90",
 | 
			
		||||
		"default_stone.png^moreblocks_iron_checker.png^[transformR90"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:iron_checker',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:iron_stone", {
 | 
			
		||||
	description = S("Iron Stone"),
 | 
			
		||||
	tiles = {"moreblocks_iron_stone.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:iron_stone',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:split_stone_tile", {
 | 
			
		||||
	description = S("Split Stone Tile"),
 | 
			
		||||
		tiles = {"moreblocks_split_stone_tile_top.png",
 | 
			
		||||
			"moreblocks_split_stone_tile.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:split_stone_tile',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:stone_tile", {
 | 
			
		||||
	description = S("Stone Tile"),
 | 
			
		||||
	tiles = {"moreblocks_stone_tile.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:stone_tile',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:tar", {
 | 
			
		||||
	description = S("Tar"),
 | 
			
		||||
	tiles = {"moreblocks_tar.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 2},
 | 
			
		||||
	drop = 'lib_materials:tar',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--GLASS
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:clean_glass", {
 | 
			
		||||
	description = S("Clean Glass"),
 | 
			
		||||
	tiles = {"moreblocks_clean_glass.png"},
 | 
			
		||||
	drawtype = "glasslike_framed",
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
 | 
			
		||||
	drop = 'lib_materials:clean_glass',
 | 
			
		||||
	sounds = default.node_sound_glass_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:coal_glass", {
 | 
			
		||||
	description = S("Coal Glass"),
 | 
			
		||||
	tiles = {"moreblocks_coal_glass.png"},
 | 
			
		||||
	drawtype = "glasslike_framed",
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
 | 
			
		||||
	drop = 'lib_materials:coal_glass',
 | 
			
		||||
	sounds = default.node_sound_glass_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:iron_glass", {
 | 
			
		||||
	description = S("Iron Glass"),
 | 
			
		||||
	tiles = {"moreblocks_iron_glass.png"},
 | 
			
		||||
	drawtype = "glasslike_framed",
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
 | 
			
		||||
	drop = 'lib_materials:iron_glass',
 | 
			
		||||
	sounds = default.node_sound_glass_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--CRAFTING RECIPES
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:circle_stone_bricks 8",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:stone", "default:stone", "default:stone"},
 | 
			
		||||
		{"default:stone", "", "default:stone"},
 | 
			
		||||
		{"default:stone", "default:stone", "default:stone"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:stone_tile 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:cobble", "default:cobble"},
 | 
			
		||||
		{"default:cobble", "default:cobble"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:split_stone_tile",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"lib_materials:stone_tile"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:grey_bricks 2",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe =  {"default:stone", "default:brick"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:grey_bricks 2",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe =  {"default:stonebrick", "default:brick"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:coal_stone_bricks 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"lib_materials:coal_stone", "lib_materials:coal_stone"},
 | 
			
		||||
		{"lib_materials:coal_stone", "lib_materials:coal_stone"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:iron_stone_bricks 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"lib_materials:iron_stone", "lib_materials:iron_stone"},
 | 
			
		||||
		{"lib_materials:iron_stone", "lib_materials:iron_stone"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:plankstone 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:stone", "default:wood"},
 | 
			
		||||
		{"default:wood", "default:stone"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:plankstone 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:wood", "default:stone"},
 | 
			
		||||
		{"default:stone", "default:wood"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:coal_checker 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:stone", "default:coal_lump"},
 | 
			
		||||
		{"default:coal_lump", "default:stone"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:coal_checker 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:coal_lump", "default:stone"},
 | 
			
		||||
		{"default:stone", "default:coal_lump"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:iron_checker 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:steel_ingot", "default:stone"},
 | 
			
		||||
		{"default:stone", "default:steel_ingot"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:iron_checker 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:stone", "default:steel_ingot"},
 | 
			
		||||
		{"default:steel_ingot", "default:stone"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:iron_glass",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"default:steel_ingot", "default:glass"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "default:glass",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"default:coal_lump", "lib_materials:iron_glass"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:coal_glass",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"default:coal_lump", "default:glass"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "default:glass",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"default:steel_ingot", "lib_materials:coal_glass"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:clean_glass",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"lib_materials:sweeper", "default:glass"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:coal_stone",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"default:coal_lump", "default:stone"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "default:stone",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"default:steel_ingot", "lib_materials:coal_stone"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:iron_stone",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"default:steel_ingot", "default:stone"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "default:stone",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"default:coal_lump", "lib_materials:iron_stone"},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "lib_materials:cobble_compressed",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:cobble", "default:cobble", "default:cobble"},
 | 
			
		||||
		{"default:cobble", "default:cobble", "default:cobble"},
 | 
			
		||||
		{"default:cobble", "default:cobble", "default:cobble"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "default:cobble 9",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"lib_materials:cobble_compressed"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "cooking", output = "lib_materials:tar", recipe = "default:gravel",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--XDECOR Decorative stone types
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:coalstone_tile", {
 | 
			
		||||
	description = S("Coal Stone Tile"),
 | 
			
		||||
	tiles = {
 | 
			
		||||
		"xdecor_coalstone_tile.png",
 | 
			
		||||
		"xdecor_coalstone_tile.png",
 | 
			
		||||
		"xdecor_coalstone_tile.png",
 | 
			
		||||
		"xdecor_coalstone_tile.png",
 | 
			
		||||
		"xdecor_coalstone_tile.png^[transformR90",
 | 
			
		||||
		"xdecor_coalstone_tile.png^[transformR90",
 | 
			
		||||
	},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:coalstone_tile',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:desertstone_tile", {
 | 
			
		||||
	description = S("Desert Stone Tile"),
 | 
			
		||||
	tiles = {"xdecor_desertstone_tile.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:desertstone_tile',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:hard_clay", {
 | 
			
		||||
	description = S("Hardened Clay"),
 | 
			
		||||
	tiles = {"xdecor_hard_clay.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1},
 | 
			
		||||
	drop = 'lib_materials:hard_clay',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:stone_tile", {
 | 
			
		||||
	description = S("Stone Tile"),
 | 
			
		||||
	tiles = {"xdecor_stone_tile.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1, level = 2},
 | 
			
		||||
	drop = 'lib_materials:stone_tile',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:stone_rune", {
 | 
			
		||||
	description = S("Runestone"),
 | 
			
		||||
	tiles = {"xdecor_stone_rune.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 3, stone = 1, level = 2},
 | 
			
		||||
	drop = 'lib_materials:stone_rune',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("lib_materials:packed_ice", {
 | 
			
		||||
	description = S("Packed Ice"),
 | 
			
		||||
	tiles = {"xdecor_packed_ice.png"},
 | 
			
		||||
	is_ground_content = true,
 | 
			
		||||
	groups = {cracky = 1, puts_out_fire=1},
 | 
			
		||||
	drop = 'lib_materials:packed_ice',
 | 
			
		||||
	legacy_mineral = true,
 | 
			
		||||
	sounds = default.node_sound_glass_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user