electric/mods/eterrain/nodes.lua
2023-03-13 20:39:52 +03:00

159 lines
4.4 KiB
Lua

local S = minetest.get_translator("eterrain")
---------------------------------------------------
-- eterrain:rock (rock, stone, mapgen_stone)
minetest.register_node("eterrain:rock", {
description = S("Barren rock"),
tiles={"eterrain_rock.png"},
groups={solid=1, rock=1, crumbly=2}
})
minetest.register_alias("mapgen_stone", "eterrain:rock")
minetest.register_alias("rock", "eterrain:rock")
minetest.register_alias("stone", "eterrain:rock")
---------------------------------------------------
-- eterrain:soil (mapgen_soil, soil)
minetest.register_node("eterrain:soil", {
description = S("Topsoil"),
tiles={{name="eterrain_soil.png", align_style="world", scale=16}},
groups={dirt=1, fertile=2, crumbly=3}
})
minetest.register_alias("mapgen_soil", "eterrain:soil")
minetest.register_alias("soil", "eterrain:soil")
---------------------------------------------------
-- topsoil
minetest.register_node("eterrain:topsoil", {
description = S("Topsoil"),
tiles={
{
name="eterrain_topsoil_top.png",
align_style="world",
scale=16
},
"eterrain_soil.png",
{
name="eterrain_topsoil_side.png",
align_style="world",
scale=16
}
},
groups={dirt=1, fertile=2, crumbly=3}
})
minetest.register_alias("dirt_with_grass", "eterrain:topsoil")
minetest.register_alias("topsoil", "eterrain:topsoil")
minetest.register_alias("topsoil_with_grass", "eterrain:topsoil")
minetest.register_alias("mapgen_topsoil", "eterrain:topsoil")
---------------------------------------------------
-- ocean water
minetest.register_node("eterrain:water_ocean", {
description = S("Water"),
paramtype = "light",
tiles = {
{
name = "eterrain_water_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
}
},
{
name = "eterrain_water.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
}
}
},
groups = { liquid=3, water=3 },
drawtype = "liquid",
liquidtype = "source",
walkable = false,
pointable = false,
diggable = false,
is_ground_content = false,
buildable_to = true,
use_texture_alpha = "blend",
drowning = 1,
drop = "",
liquid_alternative_flowing = "eterrain:water_ocean_stream",
liquid_alternative_source = "eterrain:water_ocean",
post_effect_color = {a = 250, r = 3, g = 6, b = 17},
liquid_viscosity = 2,
move_resistance = 2,
liquid_move_physics = true,
waving = 3
})
minetest.register_alias("mapgen_water_source", "eterrain:water_ocean")
minetest.register_alias("water", "eterrain:water_ocean")
---------------------------------------------------
-- ocean water stream
minetest.register_node("eterrain:water_ocean_stream", {
description = S("Flowing water"),
paramtype = "light",
tiles = {"eterrain_water.png"},
special_tiles = {
{
name = "eterrain_water_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
}
},
{
name = "eterrain_water.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
}
}
},
groups = { liquid=3, water=3 },
drawtype = "flowingliquid",
paramtype2 = "flowingliquid",
liquidtype = "flowing",
walkable = false,
pointable = false,
diggable = false,
is_ground_content = false,
buildable_to = true,
use_texture_alpha = "blend",
drowning = 1,
drop = "",
liquid_alternative_flowing = "eterrain:water_ocean_stream",
liquid_alternative_source = "eterrain:water_ocean",
post_effect_color = {a = 110, r = 3, g = 6, b = 17},
liquid_viscosity = 2,
move_resistance = 2,
liquid_move_physics = false,
waving = 3
})
minetest.register_alias("mapgen_water_source_stream", "eterrain:water_ocean")
minetest.register_alias("ocean", "eterrain:water_ocean")
---------------------------------------------------
-- TODO:river water
minetest.register_alias("mapgen_river_water_source", "eterrain:water_ocean_stream")
-- TODO:river water stream
minetest.register_alias("mapgen_river_water_stream", "eterrain:water_ocean_stream")
-- TODO:saltwater
-- TODO:saltwater
-- TODO: create river water and change mapgen