minetest.register_node("liquids:water_source", {
   description = "Water Source",
   drawtype = "liquid",
   waving = 3,
   tiles = {
      {
         name = "liquids_water_source_animated.png",
         backface_culling = false,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 2.0,
         },
      },
      {
         name = "liquids_water_source_animated.png",
         backface_culling = true,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 2.0,
         },
      },
   },
   use_texture_alpha = "blend",
   paramtype = "light",
   walkable = false,
   pointable = false,
   buildable_to = true,
   is_ground_content = false,
   drop = "",
   drowning = 1,
   liquidtype = "source",
   liquid_alternative_flowing = "liquids:water_flowing",
   liquid_alternative_source = "liquids:water_source",
   liquid_viscosity = 1,
   post_effect_color = {a = 103, r = 30, g = 60, b = 90},
   groups = {breakable=1, liquid=1},
   --sounds = default.node_sound_water_defaults(),
})

minetest.register_node("liquids:water_flowing", {
   description = "Flowing Water",
   drawtype = "flowingliquid",
   waving = 3,
   tiles = {"liquids_water.png"},
   special_tiles = {
      {
         name = "liquids_water_flowing_animated.png",
         backface_culling = false,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 0.5,
         },
      },
      {
         name = "liquids_water_flowing_animated.png",
         backface_culling = true,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 0.5,
         },
      },
   },
   use_texture_alpha = "blend",
   paramtype = "light",
   paramtype2 = "flowingliquid",
   walkable = false,
   pointable = false,
   buildable_to = true,
   is_ground_content = false,
   drop = "",
   drowning = 1,
   liquidtype = "flowing",
   liquid_alternative_flowing = "liquids:water_flowing",
   liquid_alternative_source = "liquids:water_source",
   liquid_viscosity = 1,
   post_effect_color = {a = 103, r = 30, g = 60, b = 90},
   groups = {breakable=1, not_in_creative_inventory=1, liquid=1},
   --sounds = default.node_sound_water_defaults(),
})


minetest.register_node("liquids:river_water_source", {
   description = "River Water Source",
   drawtype = "liquid",
   tiles = {
      {
         name = "liquids_river_water_source_animated.png",
         backface_culling = false,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 2.0,
         },
      },
      {
         name = "liquids_river_water_source_animated.png",
         backface_culling = true,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 2.0,
         },
      },
   },
   use_texture_alpha = "blend",
   paramtype = "light",
   walkable = false,
   pointable = false,
   buildable_to = true,
   is_ground_content = false,
   drop = "",
   drowning = 1,
   liquidtype = "source",
   liquid_alternative_flowing = "liquids:river_water_flowing",
   liquid_alternative_source = "liquids:river_water_source",
   liquid_viscosity = 1,
   -- Not renewable to avoid horizontal spread of water sources in sloping
   -- rivers that can cause water to overflow riverbanks and cause floods.
   -- River water source is instead made renewable by the 'force renew'
   -- option used in the 'bucket' mod by the river water bucket.
   liquid_renewable = false,
   liquid_range = 2,
   post_effect_color = {a = 103, r = 30, g = 76, b = 90},
   groups = {breakable=1, liquid=1},
   --sounds = default.node_sound_water_defaults(),
})

minetest.register_node("liquids:river_water_flowing", {
   description = "Flowing River Water",
   drawtype = "flowingliquid",
   tiles = {"liquids_river_water.png"},
   special_tiles = {
      {
         name = "liquids_river_water_flowing_animated.png",
         backface_culling = false,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 0.5,
         },
      },
      {
         name = "liquids_river_water_flowing_animated.png",
         backface_culling = true,
         animation = {
            type = "vertical_frames",
            aspect_w = 16,
            aspect_h = 16,
            length = 0.5,
         },
      },
   },
   use_texture_alpha = "blend",
   paramtype = "light",
   paramtype2 = "flowingliquid",
   walkable = false,
   pointable = false,
   buildable_to = true,
   is_ground_content = false,
   drop = "",
   drowning = 1,
   liquidtype = "flowing",
   liquid_alternative_flowing = "liquids:river_water_flowing",
   liquid_alternative_source = "liquids:river_water_source",
   liquid_viscosity = 1,
   liquid_renewable = false,
   liquid_range = 2,
   post_effect_color = {a = 103, r = 30, g = 76, b = 90},
   groups = {breakable=1, not_in_creative_inventory=1, liquid=1},
   --sounds = default.node_sound_water_defaults(),
})


minetest.register_node("liquids:lava_source", {
   description = "Lava Source",
   drawtype = "liquid",
   tiles = {
      {
         name = "liquids_lava_source_animated.png",
         backface_culling = false,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 3.0,
         },
      },
      {
         name = "liquids_lava_source_animated.png",
         backface_culling = true,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 3.0,
         },
      },
   },
   paramtype = "light",
   light_source = 13,
   walkable = false,
   pointable = false,
   buildable_to = true,
   is_ground_content = false,
   drop = "",
   drowning = 1,
   liquidtype = "source",
   liquid_alternative_flowing = "liquids:lava_flowing",
   liquid_alternative_source = "liquids:lava_source",
   liquid_viscosity = 7,
   liquid_renewable = false,
   damage_per_second = 4 * 2,
   post_effect_color = {a = 191, r = 255, g = 64, b = 0},
   groups = {breakable=1, liquid=1},
})

minetest.register_node("liquids:lava_flowing", {
   description = "Flowing Lava",
   drawtype = "flowingliquid",
   tiles = {"liquids_lava.png"},
   special_tiles = {
      {
         name = "liquids_lava_flowing_animated.png",
         backface_culling = false,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 3.3,
         },
      },
      {
         name = "liquids_lava_flowing_animated.png",
         backface_culling = true,
         animation = {
            type = "vertical_frames",
            aspect_w = 32,
            aspect_h = 32,
            length = 3.3,
         },
      },
   },
   paramtype = "light",
   paramtype2 = "flowingliquid",
   light_source = 13,
   walkable = false,
   pointable = false,
   buildable_to = true,
   is_ground_content = false,
   drop = "",
   drowning = 1,
   liquidtype = "flowing",
   liquid_alternative_flowing = "liquids:lava_flowing",
   liquid_alternative_source = "liquids:lava_source",
   liquid_viscosity = 7,
   liquid_renewable = false,
   damage_per_second = 4 * 2,
   post_effect_color = {a = 191, r = 255, g = 64, b = 0},
   groups = {breakable=1, not_in_creative_inventory=1, liquid=1},
})
