+--
+-- Ores
+--
+
+minetest.register_node("default:stone_with_coal", {
+ description = "Coal Ore",
+ tiles = {"default_stone.png^default_mineral_coal.png"},
+ groups = {cracky=3},
+ drop = 'default:coal_lump',
+ sounds = default.node_sound_stone_defaults(),
+})
+
+minetest.register_node("default:coalblock", {
+ description = "Coal Block",
+ tiles = {"default_coal_block.png"},
+ is_ground_content = false,
+ groups = {cracky=3},
+ sounds = default.node_sound_stone_defaults(),
+})
+
+
+
+minetest.register_node("default:stone_with_iron", {
+ description = "Iron Ore",
+ tiles = {"default_stone.png^default_mineral_iron.png"},
+ groups = {cracky=2},
+ drop = 'default:iron_lump',
+ sounds = default.node_sound_stone_defaults(),
+})
+
+minetest.register_node("default:steelblock", {
+ description = "Steel Block",
+ tiles = {"default_steel_block.png"},
+ is_ground_content = false,
+ groups = {cracky=1,level=2},
+ sounds = default.node_sound_stone_defaults(),
+})
+
+
+
+minetest.register_node("default:stone_with_copper", {
+ description = "Copper Ore",
+ tiles = {"default_stone.png^default_mineral_copper.png"},
+ groups = {cracky=2},
+ drop = 'default:copper_lump',
+ sounds = default.node_sound_stone_defaults(),
+})
+
+minetest.register_node("default:copperblock", {
+ description = "Copper Block",
+ tiles = {"default_copper_block.png"},
+ is_ground_content = false,
+ groups = {cracky=1,level=2},
+ sounds = default.node_sound_stone_defaults(),
+})
+
+minetest.register_node("default:bronzeblock", {
+ description = "Bronze Block",
+ tiles = {"default_bronze_block.png"},
+ is_ground_content = false,
+ groups = {cracky=1,level=2},
+ sounds = default.node_sound_stone_defaults(),
+})
+
+
+
+minetest.register_node("default:stone_with_mese", {
+ description = "Mese Ore",
+ tiles = {"default_stone.png^default_mineral_mese.png"},
+ paramtype = "light",
+ groups = {cracky = 1},
+ drop = "default:mese_crystal",
+ sounds = default.node_sound_stone_defaults(),
+ light_source = 1,
+})
+
+minetest.register_node("default:mese", {
+ description = "Mese Block",
+ tiles = {"default_mese_block.png"},
+ paramtype = "light",
+ groups = {cracky = 1, level = 2},
+ sounds = default.node_sound_stone_defaults(),
+ light_source = 3,
+})
+
+
+
+
+minetest.register_node("default:stone_with_gold", {
+ description = "Gold Ore",
+ tiles = {"default_stone.png^default_mineral_gold.png"},
+ groups = {cracky=2},
+ drop = "default:gold_lump",
+ sounds = default.node_sound_stone_defaults(),
+})
+
+minetest.register_node("default:goldblock", {
+ description = "Gold Block",
+ tiles = {"default_gold_block.png"},
+ is_ground_content = false,
+ groups = {cracky=1},
+ sounds = default.node_sound_stone_defaults(),
+})
+
+
+
+minetest.register_node("default:stone_with_diamond", {
+ description = "Diamond Ore",
+ tiles = {"default_stone.png^default_mineral_diamond.png"},
+ groups = {cracky=1},
+ drop = "default:diamond",
+ sounds = default.node_sound_stone_defaults(),
+})
+
+minetest.register_node("default:diamondblock", {
+ description = "Diamond Block",
+ tiles = {"default_diamond_block.png"},
+ is_ground_content = false,
+ groups = {cracky=1,level=3},
+ sounds = default.node_sound_stone_defaults(),
+})
+
+--
+-- Plantlife (non-cubic)
+--
+
+minetest.register_node("default:cactus", {
+ description = "Cactus",
+ tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"},
+ paramtype2 = "facedir",
+ groups = {snappy=1,choppy=3,flammable=2},
+ sounds = default.node_sound_wood_defaults(),
+ on_place = minetest.rotate_node,
+
+ after_dig_node = function(pos, node, metadata, digger)
+ default.dig_up(pos, node, digger)
+ end,
+})
+
+minetest.register_node("default:papyrus", {
+ description = "Papyrus",
+ drawtype = "plantlike",
+ tiles = {"default_papyrus.png"},
+ inventory_image = "default_papyrus.png",
+ wield_image = "default_papyrus.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
+ },
+ groups = {snappy=3,flammable=2},
+ sounds = default.node_sound_leaves_defaults(),
+
+ after_dig_node = function(pos, node, metadata, digger)
+ default.dig_up(pos, node, digger)
+ end,
+})
+
+minetest.register_node("default:dry_shrub", {
+ description = "Dry Shrub",
+ drawtype = "plantlike",
+ waving = 1,
+ visual_scale = 1.0,
+ tiles = {"default_dry_shrub.png"},
+ inventory_image = "default_dry_shrub.png",
+ wield_image = "default_dry_shrub.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ buildable_to = true,
+ groups = {snappy=3,flammable=3,attached_node=1},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+})
+
+minetest.register_node("default:junglegrass", {
+ description = "Jungle Grass",
+ drawtype = "plantlike",
+ waving = 1,
+ visual_scale = 1.3,
+ tiles = {"default_junglegrass.png"},
+ inventory_image = "default_junglegrass.png",
+ wield_image = "default_junglegrass.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ buildable_to = true,
+ groups = {snappy=3,flammable=2,flora=1,attached_node=1},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+})
+
+minetest.register_node("default:grass_1", {
+ description = "Grass",
+ drawtype = "plantlike",
+ waving = 1,
+ tiles = {"default_grass_1.png"},
+ -- Use texture of a taller grass stage in inventory
+ inventory_image = "default_grass_3.png",
+ wield_image = "default_grass_3.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ buildable_to = true,
+ groups = {snappy=3,flammable=3,flora=1,attached_node=1},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+
+ on_place = function(itemstack, placer, pointed_thing)
+ -- place a random grass node
+ local stack = ItemStack("default:grass_"..math.random(1,5))
+ local ret = minetest.item_place(stack, placer, pointed_thing)
+ return ItemStack("default:grass_1 "..itemstack:get_count()-(1-ret:get_count()))
+ end,
+})
+
+for i=2,5 do
+ minetest.register_node("default:grass_"..i, {
+ description = "Grass",
+ drawtype = "plantlike",
+ waving = 1,
+ tiles = {"default_grass_"..i..".png"},
+ inventory_image = "default_grass_"..i..".png",
+ wield_image = "default_grass_"..i..".png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ buildable_to = true,
+ drop = "default:grass_1",
+ groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+ })
+end
+
+minetest.register_node("default:dry_grass_1", {
+ description = "Dry Grass",
+ drawtype = "plantlike",
+ waving = 1,
+ tiles = {"default_dry_grass_1.png"},
+ inventory_image = "default_dry_grass_3.png",
+ wield_image = "default_dry_grass_3.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ buildable_to = true,
+ groups = {snappy=3,flammable=3,flora=1,attached_node=1},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+
+ on_place = function(itemstack, placer, pointed_thing)
+ -- place a random dry grass node
+ local stack = ItemStack("default:dry_grass_"..math.random(1,5))
+ local ret = minetest.item_place(stack, placer, pointed_thing)
+ return ItemStack("default:dry_grass_1 "..itemstack:get_count()-(1-ret:get_count()))
+ end,
+})
+
+for i=2,5 do
+ minetest.register_node("default:dry_grass_"..i, {
+ description = "Dry Grass",
+ drawtype = "plantlike",
+ waving = 1,
+ tiles = {"default_dry_grass_"..i..".png"},
+ inventory_image = "default_dry_grass_"..i..".png",
+ wield_image = "default_dry_grass_"..i..".png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ buildable_to = true,
+ groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1},
+ drop = "default:dry_grass_1",
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+ })
+end
+
+--
+-- Liquids
+--
+
+minetest.register_node("default:water_source", {
+ description = "Water Source",
+ inventory_image = minetest.inventorycube("default_water.png"),
+ drawtype = "liquid",
+ tiles = {
+ {
+ name = "default_water_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 = "default_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 = "default:water_flowing",
+ liquid_alternative_source = "default:water_source",
+ liquid_viscosity = 1,
+ post_effect_color = {a=120, r=30, g=60, b=90},
+ groups = {water=3, liquid=3, puts_out_fire=1},
+})
+
+minetest.register_node("default:water_flowing", {
+ description = "Flowing Water",
+ inventory_image = minetest.inventorycube("default_water.png"),
+ drawtype = "flowingliquid",
+ tiles = {"default_water.png"},
+ special_tiles = {
+ {
+ name = "default_water_flowing_animated.png",
+ backface_culling = false,
+ animation = {
+ type = "vertical_frames",
+ aspect_w = 16,
+ aspect_h = 16,
+ length = 0.8,
+ },
+ },
+ {
+ name = "default_water_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 = "default:water_flowing",
+ liquid_alternative_source = "default:water_source",
+ liquid_viscosity = 1,
+ post_effect_color = {a=120, r=30, g=60, b=90},
+ groups = {water=3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1},
+})
+
+
+minetest.register_node("default:river_water_source", {
+ description = "River Water Source",
+ inventory_image = minetest.inventorycube("default_river_water.png"),
+ drawtype = "liquid",
+ tiles = {
+ {
+ name = "default_river_water_source_animated.png",
+ animation = {
+ type = "vertical_frames",
+ aspect_w = 16,
+ aspect_h = 16,
+ length = 2.0,
+ },
+ },
+ },
+ special_tiles = {
+ {
+ name = "default_river_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 = "default:river_water_flowing",
+ liquid_alternative_source = "default:river_water_source",
+ liquid_viscosity = 1,
+ liquid_renewable = false,
+ liquid_range = 2,
+ post_effect_color = {a=120, r=30, g=76, b=90},
+ groups = {water=3, liquid=3, puts_out_fire=1},
+})
+
+minetest.register_node("default:river_water_flowing", {
+ description = "Flowing River Water",
+ inventory_image = minetest.inventorycube("default_river_water.png"),
+ drawtype = "flowingliquid",
+ tiles = {"default_river_water.png"},
+ special_tiles = {
+ {
+ name = "default_river_water_flowing_animated.png",
+ backface_culling = false,
+ animation = {
+ type = "vertical_frames",
+ aspect_w = 16,
+ aspect_h = 16,
+ length = 0.8,
+ },
+ },
+ {
+ name = "default_river_water_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 = "default:river_water_flowing",
+ liquid_alternative_source = "default:river_water_source",
+ liquid_viscosity = 1,
+ liquid_renewable = false,
+ liquid_range = 2,
+ post_effect_color = {a=120, r=30, g=76, b=90},
+ groups = {water=3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1},
+})
+
+
+
+minetest.register_node("default:lava_source", {
+ description = "Lava Source",
+ inventory_image = minetest.inventorycube("default_lava.png"),
+ drawtype = "liquid",
+ tiles = {
+ {
+ name = "default_lava_source_animated.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_lava_source_animated.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 = "default:lava_flowing",
+ liquid_alternative_source = "default:lava_source",
+ liquid_viscosity = 7,
+ liquid_renewable = false,
+ damage_per_second = 4 * 2,
+ post_effect_color = {a=192, r=255, g=64, b=0},
+ groups = {lava=3, liquid=2, hot=3, igniter=1},
+})
+
+minetest.register_node("default:lava_flowing", {
+ description = "Flowing Lava",
+ inventory_image = minetest.inventorycube("default_lava.png"),
+ drawtype = "flowingliquid",
+ tiles = {"default_lava.png"},
+ special_tiles = {
+ {
+ name = "default_lava_flowing_animated.png",
+ backface_culling = false,
+ animation = {
+ type = "vertical_frames",
+ aspect_w = 16,
+ aspect_h = 16,
+ length = 3.3,
+ },
+ },
+ {
+ name = "default_lava_flowing_animated.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 = "default:lava_flowing",
+ liquid_alternative_source = "default:lava_source",
+ liquid_viscosity = 7,
+ liquid_renewable = false,
+ damage_per_second = 4 * 2,
+ post_effect_color = {a=192, r=255, g=64, b=0},
+ groups = {lava=3, liquid=2, hot=3, igniter=1, not_in_creative_inventory=1},
+})
+
+--
+-- Tools / "Advanced" crafting / Non-"natural"
+--
+
+minetest.register_node("default:torch", {
+ description = "Torch",
+ drawtype = "torchlike",