forked from minetest-mods/nether
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
965a14bb61 | ||
|
|
e0cc038f43 |
6
init.lua
6
init.lua
@@ -57,8 +57,8 @@ nether.fogColor = { -- only used if climate_api is installed
|
|||||||
|
|
||||||
|
|
||||||
-- Settings
|
-- Settings
|
||||||
nether.DEPTH_CEILING = -25000 -- The y location of the Nether's celing
|
nether.DEPTH_CEILING = -5000 -- The y location of the Nether's celing
|
||||||
nether.DEPTH_FLOOR = -31000 -- The y location of the Nether's floor
|
nether.DEPTH_FLOOR = -11000 -- The y location of the Nether's floor
|
||||||
nether.FASTTRAVEL_FACTOR = 8 -- 10 could be better value for Minetest, since there's no sprint, but ex-Minecraft players will be mathing for 8
|
nether.FASTTRAVEL_FACTOR = 8 -- 10 could be better value for Minetest, since there's no sprint, but ex-Minecraft players will be mathing for 8
|
||||||
nether.PORTAL_BOOK_LOOT_WEIGHTING = 0.9 -- Likelyhood of finding the Book of Portals (guide) in dungeon chests. Set to 0 to disable.
|
nether.PORTAL_BOOK_LOOT_WEIGHTING = 0.9 -- Likelyhood of finding the Book of Portals (guide) in dungeon chests. Set to 0 to disable.
|
||||||
nether.NETHER_REALM_ENABLED = true -- Setting to false disables the Nether and Nether portal
|
nether.NETHER_REALM_ENABLED = true -- Setting to false disables the Nether and Nether portal
|
||||||
@@ -144,7 +144,7 @@ if nether.NETHER_REALM_ENABLED then
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
dofile(nether.path .. "/portal_examples.lua")
|
dofile(nether.path .. "/portal_examples.lua")
|
||||||
|
dofile(nether.path .. "/ores.lua")
|
||||||
|
|
||||||
-- Portals are ignited by right-clicking with a mese crystal fragment
|
-- Portals are ignited by right-clicking with a mese crystal fragment
|
||||||
nether.register_portal_ignition_item(
|
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 minp = {x = minp_schem.x, y = 0, z = minp_schem.z}
|
||||||
local maxp = {x = maxp_schem.x, y = 0, z = maxp_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 sample_pos = vector.new(target_x, 0, target_z) -- reuse to avoid making new tables
|
||||||
local nval_cave = nobj_cave_point:get_3d({x = target_x, y = y, z = target_z})
|
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
|
if nval_cave > TCAVE then -- Cavern
|
||||||
air = air + 1
|
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
|
if nether.volume_is_natural_and_unprotected(minp, maxp, player_name) then
|
||||||
return portal_y
|
return portal_y
|
||||||
else -- Restart search a little lower
|
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
|
end
|
||||||
else -- Not enough space, reset air to zero
|
else -- Not enough space, reset air to zero
|
||||||
air = 0
|
air = 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
y = y - 1
|
||||||
end
|
end
|
||||||
|
|
||||||
return math_max(start_y, NETHER_FLOOR + BLEND) -- Fallback
|
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