forked from minetest-mods/nether
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
965a14bb61 | ||
|
|
e0cc038f43 |
2
init.lua
2
init.lua
@@ -144,7 +144,7 @@ if nether.NETHER_REALM_ENABLED then
|
||||
end
|
||||
end
|
||||
dofile(nether.path .. "/portal_examples.lua")
|
||||
|
||||
dofile(nether.path .. "/ores.lua")
|
||||
|
||||
-- Portals are ignited by right-clicking with a mese crystal fragment
|
||||
nether.register_portal_ignition_item(
|
||||
|
||||
13
mapgen.lua
13
mapgen.lua
@@ -495,8 +495,13 @@ function nether.find_nether_ground_y(target_x, target_z, start_y, player_name)
|
||||
local minp = {x = minp_schem.x, y = 0, z = minp_schem.z}
|
||||
local maxp = {x = maxp_schem.x, y = 0, z = maxp_schem.z}
|
||||
|
||||
for y = start_y, math_max(NETHER_FLOOR + BLEND, start_y - 4096), -1 do
|
||||
local nval_cave = nobj_cave_point:get_3d({x = target_x, y = y, z = target_z})
|
||||
local sample_pos = vector.new(target_x, 0, target_z) -- reuse to avoid making new tables
|
||||
local y = start_y
|
||||
local limit_y = math_max(NETHER_FLOOR + BLEND, start_y - 4096)
|
||||
|
||||
while y >= limit_y do
|
||||
sample_pos.y = y
|
||||
local nval_cave = nobj_cave_point:get_3d(sample_pos)
|
||||
|
||||
if nval_cave > TCAVE then -- Cavern
|
||||
air = air + 1
|
||||
@@ -509,12 +514,14 @@ function nether.find_nether_ground_y(target_x, target_z, start_y, player_name)
|
||||
if nether.volume_is_natural_and_unprotected(minp, maxp, player_name) then
|
||||
return portal_y
|
||||
else -- Restart search a little lower
|
||||
nether.find_nether_ground_y(target_x, target_z, y - 16, player_name)
|
||||
air = 0 -- space above is unsuitable
|
||||
y = y - 16
|
||||
end
|
||||
else -- Not enough space, reset air to zero
|
||||
air = 0
|
||||
end
|
||||
end
|
||||
y = y - 1
|
||||
end
|
||||
|
||||
return math_max(start_y, NETHER_FLOOR + BLEND) -- Fallback
|
||||
|
||||
48
ores.lua
Normal file
48
ores.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
local S = minetest.get_translator("nether")
|
||||
|
||||
|
||||
minetest.register_node("nether:rack_with_gold", {
|
||||
description = S("Nether Gold"),
|
||||
tiles = {"nether_rack.png^default_mineral_gold.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3, level = 2, workable_with_nether_tools = 3, not_in_creative_inventory = 1},
|
||||
drop = "default:gold_lump",
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("nether:rack_deep_with_mese", {
|
||||
description = S("Nether Mese"),
|
||||
tiles = {"nether_rack_deep.png^default_mineral_mese.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3, level = 2, workable_with_nether_tools = 3, not_in_creative_inventory = 1},
|
||||
drop = "default:mese_crystal_fragment 4",
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
local ore_ceiling = nether.DEPTH_CEILING - 128
|
||||
local ore_floor = nether.DEPTH_FLOOR + 128
|
||||
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "nether:rack_with_gold",
|
||||
wherein = "nether:rack",
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 7,
|
||||
clust_size = 5,
|
||||
y_max = ore_ceiling,
|
||||
y_min = ore_floor
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "nether:rack_deep_with_mese",
|
||||
wherein = "nether:rack_deep",
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 7,
|
||||
clust_size = 5,
|
||||
y_max = ore_ceiling,
|
||||
y_min = ore_floor,
|
||||
})
|
||||
Reference in New Issue
Block a user