diff --git a/API.md b/API.md index de7b8f9..ea3bfc2 100644 --- a/API.md +++ b/API.md @@ -10,9 +10,9 @@ Underground caves have varying shapes, and the variable For shapes, the following functions are available: -- `noordstar_caves.register_shape(shape def)` Define a new cave shape -- `noordstar_caves.unregister_shape(name)` Remove a defined cave shape -- `noordstar_caves.clear_registered_shapes()` Remove all known cave shapes +- `ns_cavegen.register_shape(shape def)` Define a new cave shape +- `ns_cavegen.unregister_shape(name)` Remove a defined cave shape +- `ns_cavegen.clear_registered_shapes()` Remove all known cave shapes Generally, it is recommended to keep the number of cave shapes below 100. A good number of shapes is 10 for diversity but performance. @@ -21,7 +21,7 @@ The shapes are defined as follows: ```lua { - name = "noordstar_caves:bubbles", + name = "ns_cavegen:bubbles", -- Unique name identifying the shape -- Namespacing is not required but recommended @@ -105,15 +105,15 @@ caves. The cave biomes are independent of the cave shapes. For shapes, the following functions are available: -- `noordstar_caves.register_biome(biome def)` Define a new cave biome -- `noordstar_caves.unregister_biome(name)` Remove a defined cave biome -- `noordstar_caves.clear_registered_biomes()` Remove all known cave biomes +- `ns_cavegen.register_biome(biome def)` Define a new cave biome +- `ns_cavegen.unregister_biome(name)` Remove a defined cave biome +- `ns_cavegen.clear_registered_biomes()` Remove all known cave biomes The biomes are defined as follows: ```lua { - name = "noordstar_caves:tundra", + name = "ns_cavegen:tundra", -- Unique name identifying the biome -- Namespacing is not required but recommended @@ -165,8 +165,8 @@ structures to cave biomes. For decorations, the following functions are defined: -- `noordstar_caves.register_decoration(decoration def)` Define a new cave decoration -- `noordstar_caves.clear_registered_decorations()` Remove all known cave decorations +- `ns_cavegen.register_decoration(decoration def)` Define a new cave decoration +- `ns_cavegen.clear_registered_decorations()` Remove all known cave decorations The decorations are defined as follows: @@ -181,7 +181,7 @@ The decorations are defined as follows: fill_ratio = 0.02, -- Percentage of surface nodes on which this decoration will spawn - biomes = { "noordstar_caves:tundra", "foo:desert" }, + biomes = { "ns_cavegen:tundra", "foo:desert" }, -- List of (cave!) biomes that this decoration will spawn in. Occurs in all -- biomes if this is omitted. @@ -271,7 +271,7 @@ this. In case you wish to do a few other operations, here's a few other functions that might be helpful to you: -- `noordstar_caves.set_world_depth(h)` Set the world's depth to a given number. +- `ns_cavegen.set_world_depth(h)` Set the world's depth to a given number. This feature is currently only supported in VoxeLibre. Contributions that help change the world depth in other games, are very welcome. diff --git a/init.lua b/init.lua index ae7c561..48c6795 100644 --- a/init.lua +++ b/init.lua @@ -49,7 +49,7 @@ local internal = {} ------------------------------------------------------------------------------- function internal.cave_vastness(pos) - local v = ns_caves.cave_vastness(pos) + local v = ns_cavegen.cave_vastness(pos) if not v then return 0 @@ -208,7 +208,7 @@ end -- Get connectivity noise params function internal.connectivity_noise_params() - local factor = math.max(1, math.abs(#ns_caves.registered_shapes) ^ 0.5) + local factor = math.max(1, math.abs(#ns_cavegen.registered_shapes) ^ 0.5) return { offset = 50, @@ -229,7 +229,7 @@ end -- Get a default cave biome in case no biomes are registered function internal.default_biome() return internal.clean_biome_def( - { name = "noordstar_caves:default_biome" + { name = "ns_cavegen:default_biome" , heat_point = OUTLANDISH_POINT , humidity_point = OUTLANDISH_POINT } @@ -239,7 +239,7 @@ end -- Get a default cave shape in case no shapes are registered function internal.default_shape() return internal.clean_shape_def( - { name = "noordstar_caves:none" + { name = "ns_cavegen:none" , connectivity_point = OUTLANDISH_POINT , verticality_point = OUTLANDISH_POINT , func = function (pos, v) return 0 end @@ -270,7 +270,7 @@ function internal.find_biome_allocations(heat, humidity) local biome_name -- Find the appropriate biome - for name, def in pairs(ns_caves.registered_biomes) do + for name, def in pairs(ns_cavegen.registered_biomes) do local def_d = internal.euclidian( e, def.heat_point, u, def.humidity_point ) @@ -303,7 +303,7 @@ function internal.find_shape_allocations(connectivity, verticality) local shape_name -- Find the appropriate shape - for name, def in pairs(ns_caves.registered_shapes) do + for name, def in pairs(ns_cavegen.registered_shapes) do local def_d = internal.euclidian( c, def.connectivity_point, v, def.verticality_point ) @@ -337,7 +337,7 @@ function internal.find_shape_values(used_shapes, minp, maxp, va) if name == nil then shape = default_shape else - shape = ns_caves.registered_shapes[name] + shape = ns_cavegen.registered_shapes[name] end if captured_shapes[shape] == nil then @@ -544,13 +544,13 @@ end -- Register a new biome function internal.register_biome(biome) biome = internal.clean_biome_def(biome) - ns_caves.registered_biomes[biome.name] = biome + ns_cavegen.registered_biomes[biome.name] = biome end -- Register a new decoration function internal.register_decoration(deco) table.insert( - ns_caves.registered_decorations, + ns_cavegen.registered_decorations, internal.clean_deco_def(deco) ) end @@ -558,7 +558,7 @@ end -- Register a new shape function internal.register_shape(shape) shape = internal.clean_shape_def(shape) - ns_caves.registered_shapes[shape.name] = shape + ns_cavegen.registered_shapes[shape.name] = shape end -- Convert all shape noise into clarifications whether a node is wall or air. @@ -581,7 +581,7 @@ end -- Get verticality noise params function internal.verticality_noise_params() - local factor = math.max(1, math.abs(#ns_caves.registered_shapes) ^ 0.5) + local factor = math.max(1, math.abs(#ns_cavegen.registered_shapes) ^ 0.5) return { offset = 50, @@ -615,7 +615,7 @@ function internal.write_classified_node(vm_data, va, used_biomes, classified_nod if biome == default_biome.name then biome_def = default_biome else - biome_def = ns_caves.registered_biomes[biome] or default_biome + biome_def = ns_cavegen.registered_biomes[biome] or default_biome end if biome_def[biome_key] == nil then @@ -644,7 +644,7 @@ function internal.write_classified_node(vm_data, va, used_biomes, classified_nod end function internal.write_schematic_ceiling_decoration(vmanip, used_biomes, classified_nodes, sva, claimed_spots) - for _, def in pairs(ns_caves.registered_decorations) do + for _, def in pairs(ns_cavegen.registered_decorations) do if def.deco_type == "schematic" and def.place_on == "ceiling" then -- Place the decoration, if they're in the appropriate biome for _, i in ipairs(classified_nodes) do @@ -699,7 +699,7 @@ function internal.write_schematic_ceiling_decoration(vmanip, used_biomes, classi end function internal.write_schematic_floor_decoration(vmanip, used_biomes, classified_nodes, sva, claimed_spots) - for _, def in pairs(ns_caves.registered_decorations) do + for _, def in pairs(ns_cavegen.registered_decorations) do if def.deco_type == "schematic" and def.place_on == "floor" then -- Place the decoration, if they're in the appropriate biome for _, i in ipairs(classified_nodes) do @@ -741,7 +741,7 @@ end function internal.write_simple_ceiling_decorations(vm_data, va, used_biomes, classified_nodes, sva) local claimed_spots = {} - for _, def in pairs(ns_caves.registered_decorations) do + for _, def in pairs(ns_cavegen.registered_decorations) do if def.deco_type == "simple" and def.place_on == "ceiling" then -- Place the decoration, if they're in the appropriate biome. for _, i in ipairs(classified_nodes) do @@ -795,7 +795,7 @@ end function internal.write_simple_floor_decorations(vm_data, va, used_biomes, classified_nodes, sva) local claimed_spots = {} - for _, def in pairs(ns_caves.registered_decorations) do + for _, def in pairs(ns_cavegen.registered_decorations) do if def.deco_type == "simple" and def.place_on == "floor" then -- Place the decoration, if they're in the appropriate biome. for _, i in ipairs(classified_nodes) do @@ -866,7 +866,7 @@ minetest.register_on_generated(function(minp, maxp, blockseed) internal.mapgen(minp, maxp, blockseed, vm, va) end) -ns_caves = { +ns_cavegen = { cave_vastness = function(pos) if pos.y > 0 or pos.y < WORLD_DEPTH then return 0 diff --git a/lua/register.lua b/lua/register.lua index 968d290..74381b9 100644 --- a/lua/register.lua +++ b/lua/register.lua @@ -1,5 +1,5 @@ -ns_caves.register_shape({ - name = "ns_caves:bubbles", +ns_cavegen.register_shape({ + name = "ns_cavegen:bubbles", noise_params = { offset = -0.2, scale = 0.5, @@ -16,8 +16,8 @@ ns_caves.register_shape({ verticality_point = 10, }) -ns_caves.register_shape({ - name = "ns_caves:cliffs", +ns_cavegen.register_shape({ + name = "ns_cavegen:cliffs", noise_params = { offset = -0.4, scale = 0.9, @@ -34,8 +34,8 @@ ns_caves.register_shape({ verticality_point = 80, }) -ns_caves.register_biome({ - name = "ns_caves:snow", +ns_cavegen.register_biome({ + name = "ns_cavegen:snow", node_dust = "mcl_core:snow", node_floor = "mcl_crimson:shroomlight", node_wall = "mcl_core:cobble", @@ -45,8 +45,8 @@ ns_caves.register_biome({ humidity_point = 50, }) -ns_caves.register_biome({ - name = "ns_caves:drip", +ns_cavegen.register_biome({ + name = "ns_cavegen:drip", node_floor = "dripstone:dry_dripstone_block", node_wall = "dripstone:dry_dripstone_block", node_roof = "dripstone:dry_dripstone_block", @@ -54,17 +54,17 @@ ns_caves.register_biome({ humidity_point = 0, }) -ns_caves.register_decoration({ +ns_cavegen.register_decoration({ deco_type = "simple", place_on = "ceiling", fill_ratio = 0.25, - biomes = { "ns_caves:snow" }, + biomes = { "ns_cavegen:snow" }, decoration = "mcl_core:water_source", height = 1, place_offset_y = 2, }) -ns_caves.register_decoration({ +ns_cavegen.register_decoration({ deco_type = "simple", place_on = "ceiling", fill_ratio = 0.025, @@ -73,7 +73,7 @@ ns_caves.register_decoration({ height_max = 7, }) -ns_caves.register_decoration({ +ns_cavegen.register_decoration({ deco_type = "simple", place_on = "floor", fill_ratio = 0.025, diff --git a/mod.conf b/mod.conf index f094283..d360e63 100644 --- a/mod.conf +++ b/mod.conf @@ -1,6 +1,6 @@ -name=ns_caves -description=A mod that adds more depths and caves to VoxeLibre or Mineclonia +name=ns_cavegen +description=A custom cave generator engine author=Noordstar -title=Noordstar Caves +title=Cave Generator depends=dripstone,mcl_init optional_depends=mcl_init,mcl_worlds \ No newline at end of file