Add mineral waters
|
@ -89,4 +89,7 @@ read_globals = {
|
|||
"mcl_util",
|
||||
"mcl_doors",
|
||||
"mcl_vars",
|
||||
"mcl_buckets",
|
||||
"mcl_worlds",
|
||||
"bucket"
|
||||
}
|
||||
|
|
41
LICENSE.txt
|
@ -1377,6 +1377,43 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/
|
|||
|
||||
- everness_extinguish_flame.1.ogg
|
||||
|
||||
**CC-BY-4.0, by nuFF3**, https://freesound.org
|
||||
|
||||
- everness_footstep.1.ogg
|
||||
- everness_footstep.2.ogg
|
||||
- everness_footstep.3.ogg
|
||||
- everness_footstep.4.ogg
|
||||
- everness_footstep.5.ogg
|
||||
- everness_footstep.6.ogg
|
||||
|
||||
**CC-BY-4.0, by Anikadl**, https://freesound.org
|
||||
|
||||
- everness_hit.1.ogg
|
||||
- everness_hit.2.ogg
|
||||
- everness_hit.3.ogg
|
||||
- everness_hit.4.ogg
|
||||
- everness_hit.5.ogg
|
||||
- everness_hit.6.ogg
|
||||
|
||||
**CC0-1.0, by kyles**, https://freesound.org, mixed with default_place_node_hard.1.ogg by Mito551 (CC-BY-SA 3.0)
|
||||
|
||||
- everness_place.1.ogg
|
||||
- everness_place.2.ogg
|
||||
- everness_place.3.ogg
|
||||
|
||||
**CC0-1.0, by Kinoton**, https://freesound.org, mixed with default_hard_footstep.1.ogg by Erdie (CC-BY-SA 3.0)
|
||||
|
||||
- everness_dug.1.ogg
|
||||
- everness_dug.2.ogg
|
||||
- everness_dug.3.ogg
|
||||
|
||||
**CC0-1.0, by Nox_Sound**, https://freesound.org/people/Nox_Sound/sounds/576593/
|
||||
|
||||
- everness_water_footstep.1.ogg
|
||||
- everness_water_footstep.2.ogg
|
||||
- everness_water_footstep.3.ogg
|
||||
- everness_water_footstep.4.ogg
|
||||
|
||||
### Models
|
||||
|
||||
**CC-BY-SA-4.0, by SaKeL**
|
||||
|
@ -1449,8 +1486,8 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/
|
|||
- everness_coral_tree_from_sapling.mts
|
||||
- everness_coral_tree.lua
|
||||
- everness_coral_tree.mts
|
||||
- everness_coral_volcano_x_clay.lua
|
||||
- everness_coral_volcano_x_clay.mts
|
||||
- everness_coral_volcano_everness.lua
|
||||
- everness_coral_volcano_everness.mts
|
||||
- everness_coral_volcano.lua
|
||||
- everness_coral_volcano.mts
|
||||
- everness_crystal_bush.lua
|
||||
|
|
61
api.lua
|
@ -368,6 +368,14 @@ end
|
|||
-- Sounds
|
||||
--
|
||||
|
||||
function Everness.node_sound_defaults(table)
|
||||
table = table or {}
|
||||
table.footstep = table.footstep or { name = '', gain = 1.0 }
|
||||
table.dug = table.dug or { name = 'everness_stone_hit', gain = 1.0 }
|
||||
table.place = table.place or { name = 'everness_stone_dug', gain = 0.6 }
|
||||
return table
|
||||
end
|
||||
|
||||
function Everness.node_sound_frosted_snow_defaults(table)
|
||||
table = table or {}
|
||||
table.footstep = table.footstep or { name = 'everness_frosted_snow_footstep', gain = 0.2 }
|
||||
|
@ -512,6 +520,22 @@ function Everness.node_sound_gravel_defaults(table)
|
|||
return table
|
||||
end
|
||||
|
||||
function Everness.node_sound_ceramic_defaults(table)
|
||||
table = table or {}
|
||||
table.footstep = table.footstep or { name = 'everness_ceramic_footstep', gain = 0.2 }
|
||||
table.dig = table.dig or { name = 'everness_ceramic_hit', gain = 1.0 }
|
||||
table.dug = table.dug or { name = 'everness_ceramic_dug', gain = 1.0 }
|
||||
table.place = table.place or { name = 'everness_ceramic_place', gain = 1.0 }
|
||||
return table
|
||||
end
|
||||
|
||||
function Everness.node_sound_water_defaults(table)
|
||||
table = table or {}
|
||||
table.footstep = table.footstep or { name = 'everness_water_footstep', gain = 0.05 }
|
||||
Everness.node_sound_defaults(table)
|
||||
return table
|
||||
end
|
||||
|
||||
--
|
||||
-- Forsted Cave Icicles
|
||||
--
|
||||
|
@ -1422,3 +1446,40 @@ function Everness.cool_lava(pos, node, dtime_s, prev_cool_lava_action)
|
|||
prev_cool_lava_action(pos, node, dtime_s)
|
||||
end
|
||||
end
|
||||
function Everness.get_pot_formspec(pos, label, model_texture)
|
||||
local spos = pos.x .. ',' .. pos.y .. ',' .. pos.z
|
||||
local hotbar_bg = ''
|
||||
local list_bg = ''
|
||||
|
||||
for i = 0, 7, 1 do
|
||||
hotbar_bg = hotbar_bg .. 'image[' .. 0 + i .. ', ' .. 4.85 .. ';1,1;everness_chest_ui_bg_hb_slot.png]'
|
||||
end
|
||||
|
||||
for row = 0, 2, 1 do
|
||||
for i = 0, 7, 1 do
|
||||
list_bg = list_bg .. 'image[' .. 0 + i .. ',' .. 6.08 + row .. ';1,1;everness_chest_ui_bg_slot.png]'
|
||||
end
|
||||
end
|
||||
|
||||
local model = 'model[0,0.5;2.5,2.5;everness_ceramic_pot;everness_ceramic_pot.obj;' .. model_texture .. ';0,0;true;false;]'
|
||||
|
||||
local formspec = {
|
||||
'size[8,9]',
|
||||
'listcolors[#FFFFFF00;#FFFFFF1A;#5E5957]',
|
||||
'background[5,5;1,1;everness_chest_ui_bg.png;true]',
|
||||
'list[nodemeta:' .. spos .. ';main;0.5,3;1,1;]',
|
||||
'list[current_player;main;0,4.85;8,1;]',
|
||||
'list[current_player;main;0,6.08;8,3;8]',
|
||||
'listring[nodemeta:' .. spos .. ';main]',
|
||||
'listring[current_player;main]',
|
||||
list_bg,
|
||||
hotbar_bg,
|
||||
'image[0.5,3;1,1;everness_chest_ui_bg_hb_slot.png]',
|
||||
'label[2.5,0.5;' .. minetest.formspec_escape(label) .. ']',
|
||||
model
|
||||
}
|
||||
|
||||
formspec = table.concat(formspec, '')
|
||||
|
||||
return formspec
|
||||
end
|
||||
|
|
29
crafting.lua
|
@ -623,6 +623,13 @@ minetest.register_craft({
|
|||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:paper',
|
||||
recipe = {
|
||||
{ 'everness:lotus_leaf_3', 'everness:lotus_leaf_3', 'everness:lotus_leaf_3' },
|
||||
}
|
||||
})
|
||||
|
||||
-- Crystals
|
||||
|
||||
minetest.register_craft({
|
||||
|
@ -813,6 +820,12 @@ minetest.register_craft({
|
|||
burntime = 370,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'fuel',
|
||||
recipe = 'everness:lotus_leaf_3',
|
||||
burntime = 1,
|
||||
})
|
||||
|
||||
--
|
||||
-- Cooking recipes
|
||||
--
|
||||
|
@ -942,12 +955,24 @@ minetest.register_craft({
|
|||
minetest.register_craft({
|
||||
output = 'everness:mineral_stone_brick_with_flower_growth 6',
|
||||
recipe = {
|
||||
{ 'everness:mineral_stone_brick', 'everness:mineral_stone_brick', 'everness:mineral_stone_brick'},
|
||||
{ 'everness:mineral_stone_brick_with_growth', 'everness:mineral_stone_brick_with_growth', 'everness:mineral_stone_brick_with_growth'},
|
||||
{ 'group:flower', 'group:flower', 'group:flower'},
|
||||
{ 'everness:mineral_stone_brick', 'everness:mineral_stone_brick', 'everness:mineral_stone_brick'}
|
||||
{ 'everness:mineral_stone_brick_with_growth', 'everness:mineral_stone_brick_with_growth', 'everness:mineral_stone_brick_with_growth'}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'cooking',
|
||||
output = 'everness:lotus_leaf_3',
|
||||
recipe = 'everness:lotus_leaf',
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'cooking',
|
||||
output = 'everness:lotus_leaf_3',
|
||||
recipe = 'everness:lotus_leaf_2',
|
||||
})
|
||||
|
||||
--
|
||||
-- Saplings
|
||||
--
|
||||
|
|
227
functions.lua
|
@ -716,7 +716,7 @@ minetest.register_abm({
|
|||
--
|
||||
|
||||
minetest.register_abm({
|
||||
label = 'everness:rising_souls',
|
||||
label = 'everness:rising_crystals',
|
||||
nodenames = { 'group:rising_crystals' },
|
||||
neighbors = { 'group:water' },
|
||||
interval = 16,
|
||||
|
@ -807,7 +807,96 @@ minetest.register_abm({
|
|||
catch_up = false,
|
||||
action = function(pos, node)
|
||||
minetest.swap_node(pos, { name = 'everness:water_geyser_active' })
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
|
||||
local meta = minetest.get_meta(pos)
|
||||
local partcile_time = math.random(5, 15)
|
||||
|
||||
-- player
|
||||
for _, object in ipairs(minetest.get_objects_in_area(vector.new(pos.x - 0.5, pos.y - 0.5, pos.z - 0.5), vector.new(pos.x + 0.5, pos.y + 1, pos.z + 0.5))) do
|
||||
if object:is_player()
|
||||
and object:get_hp() > 0
|
||||
then
|
||||
object:add_velocity(vector.new(0, math.random(27, 32), 0))
|
||||
end
|
||||
end
|
||||
|
||||
-- particles
|
||||
local particlespawner_def = {
|
||||
amount = 80,
|
||||
time = partcile_time,
|
||||
minpos = vector.new(pos.x, pos.y + 1.5, pos.z),
|
||||
maxpos = vector.new(pos.x, pos.y + 2, pos.z),
|
||||
minvel = vector.new(0, 13, 0),
|
||||
maxvel = vector.new(0, 15, 0),
|
||||
minacc = vector.new(0, -1, 1),
|
||||
maxacc = vector.new(0, -3, 2),
|
||||
minexptime = 3,
|
||||
maxexptime = 5,
|
||||
minsize = 5,
|
||||
maxsize = 7,
|
||||
texture = 'water_geyser_particle.png',
|
||||
vertical = true,
|
||||
collisiondetection = true,
|
||||
collision_removal = true
|
||||
}
|
||||
|
||||
if minetest.has_feature({ dynamic_add_media_table = true, particlespawner_tweenable = true }) then
|
||||
-- new syntax, above v5.6.0
|
||||
particlespawner_def = {
|
||||
amount = 80,
|
||||
time = partcile_time,
|
||||
size = {
|
||||
min = 5,
|
||||
max = 7,
|
||||
},
|
||||
exptime = {
|
||||
min = 3,
|
||||
max = 5
|
||||
},
|
||||
pos = {
|
||||
min = vector.new(pos.x, pos.y + 1.5, pos.z),
|
||||
max = vector.new(pos.x, pos.y + 2, pos.z)
|
||||
},
|
||||
vel = {
|
||||
min = vector.new(0, 13, 0),
|
||||
max = vector.new(0, 15, 0)
|
||||
},
|
||||
acc = {
|
||||
min = vector.new(0, -1, 1),
|
||||
max = vector.new(0, -3, 2)
|
||||
},
|
||||
texture = {
|
||||
name = 'water_geyser_particle.png',
|
||||
scale_tween = {
|
||||
5, 10,
|
||||
style = 'fwd',
|
||||
reps = 1
|
||||
},
|
||||
alpha_tween = {
|
||||
1, 0,
|
||||
style = 'fwd',
|
||||
reps = 1
|
||||
},
|
||||
blend = 'alpha',
|
||||
},
|
||||
vertical = true,
|
||||
collisiondetection = true,
|
||||
collision_removal = true
|
||||
}
|
||||
end
|
||||
|
||||
local particle_id = minetest.add_particlespawner(particlespawner_def)
|
||||
meta:set_int('particle_id', particle_id)
|
||||
|
||||
minetest.sound_play({
|
||||
name = 'everness_water_geyser',
|
||||
gain = 1.5,
|
||||
pitch = math.random(10, 30) / 10
|
||||
}, {
|
||||
pos = pos
|
||||
})
|
||||
|
||||
minetest.get_node_timer(pos):start(partcile_time)
|
||||
end
|
||||
})
|
||||
|
||||
|
@ -892,6 +981,140 @@ minetest.register_lbm({
|
|||
end
|
||||
})
|
||||
|
||||
-- Activate timers on lotus flowers
|
||||
minetest.register_lbm({
|
||||
-- Descriptive label for profiling purposes (optional).
|
||||
-- Definitions with identical labels will be listed as one.
|
||||
label = 'everness_lotus_flower_timers',
|
||||
|
||||
-- Identifier of the LBM, should follow the modname:<whatever> convention
|
||||
name = 'everness:everness_lotus_flower_timers',
|
||||
|
||||
-- List of node names to trigger the LBM on.
|
||||
-- Names of non-registered nodes and groups (as group:groupname)
|
||||
-- will work as well.
|
||||
nodenames = {
|
||||
'everness:lotus_flower_white',
|
||||
'everness:lotus_flower_purple',
|
||||
'everness:lotus_flower_pink'
|
||||
},
|
||||
|
||||
-- Whether to run the LBM's action every time a block gets activated,
|
||||
-- and not only the first time the block gets activated after the LBM
|
||||
-- was introduced.
|
||||
run_at_every_load = true,
|
||||
|
||||
-- Function triggered for each qualifying node.
|
||||
-- `dtime_s` is the in-game time (in seconds) elapsed since the block
|
||||
-- was last active
|
||||
action = function(pos, node, dtime_s)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
|
||||
if not timer:is_started() then
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- Spread lotus flowers and leafs around them
|
||||
minetest.register_abm({
|
||||
label = 'Lotus Flowers and Leafs spread',
|
||||
nodenames = {
|
||||
'everness:lotus_flower_white',
|
||||
'everness:lotus_flower_purple',
|
||||
'everness:lotus_flower_pink',
|
||||
'everness:lotus_leaf',
|
||||
'everness:lotus_leaf_2'
|
||||
},
|
||||
neighbors = {
|
||||
'everness:lotus_flower_white',
|
||||
'everness:lotus_flower_purple',
|
||||
'everness:lotus_flower_pink',
|
||||
'everness:lotus_leaf',
|
||||
'everness:lotus_leaf_2'
|
||||
},
|
||||
max_y = Everness.settings.biomes.everness_mineral_waters.y_max,
|
||||
min_y = Everness.settings.biomes.everness_mineral_waters.y_min,
|
||||
interval = 13,
|
||||
chance = 300,
|
||||
action = function(pos, node)
|
||||
local under = minetest.get_node(vector.new(pos.x, pos.y - 1, pos.z))
|
||||
local def = minetest.registered_nodes[under.name] or {}
|
||||
|
||||
if def.liquidtype ~= 'source' and minetest.get_item_group(under.name, 'water') == 0 then
|
||||
return
|
||||
end
|
||||
|
||||
local light = minetest.get_node_light(pos)
|
||||
|
||||
if not light or light < 13 then
|
||||
return
|
||||
end
|
||||
|
||||
local pos0 = vector.subtract(pos, 4)
|
||||
local pos1 = vector.add(pos, 4)
|
||||
local flower_node_names = {
|
||||
'everness:lotus_flower_white',
|
||||
'everness:lotus_flower_purple',
|
||||
'everness:lotus_flower_pink'
|
||||
}
|
||||
local leaf_node_names = {
|
||||
'everness:lotus_leaf',
|
||||
'everness:lotus_leaf_2'
|
||||
}
|
||||
local node_name = flower_node_names[math.random(1, #flower_node_names)]
|
||||
local found_flower_positions = minetest.find_nodes_in_area(pos0, pos1, flower_node_names)
|
||||
|
||||
-- Testing shows that a threshold of 1 result in an appropriate maximum
|
||||
-- density of approximately 7 flowers per 9x9 area.
|
||||
if #found_flower_positions > 1 then
|
||||
-- Spread leafs
|
||||
local rand_flower_pos = found_flower_positions[math.random(1, #found_flower_positions)]
|
||||
pos0 = vector.subtract(rand_flower_pos, 4)
|
||||
pos1 = vector.add(rand_flower_pos, 4)
|
||||
local found_leaf_positions = minetest.find_nodes_in_area(pos0, pos1, leaf_node_names)
|
||||
|
||||
if #found_leaf_positions > 25 then
|
||||
return
|
||||
end
|
||||
|
||||
node_name = leaf_node_names[math.random(1, #leaf_node_names)]
|
||||
end
|
||||
|
||||
local water_positions = minetest.find_nodes_in_area_under_air(pos0, pos1, 'group:water')
|
||||
|
||||
table.shuffle(water_positions)
|
||||
-- Sort with the closest first
|
||||
table.sort(water_positions, function(a, b)
|
||||
return vector.distance(a, pos) < vector.distance(b, pos)
|
||||
end)
|
||||
|
||||
local water_pos
|
||||
|
||||
-- find water source since we are looking only for `group:water`
|
||||
for _, p in ipairs(water_positions) do
|
||||
local n = minetest.get_node(p)
|
||||
local d = minetest.registered_nodes[n.name] or {}
|
||||
|
||||
if d.liquidtype == 'source' then
|
||||
water_pos = p
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if not water_pos then
|
||||
return
|
||||
end
|
||||
|
||||
local water_above = vector.new(water_pos.x, water_pos.y + 1, water_pos.z)
|
||||
light = minetest.get_node_light(water_above)
|
||||
|
||||
if light and light >= 13 then
|
||||
minetest.set_node(water_above, { name = node_name })
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- Override lava cooling to include some variations of obsidian
|
||||
minetest.register_on_mods_loaded(function()
|
||||
for _, abm in pairs(minetest.registered_abms) do
|
||||
|
|
13
init.lua
|
@ -195,7 +195,10 @@ if minetest.get_modpath('doors') and minetest.global_exists('doors') then
|
|||
dofile(path .. '/doors.lua')
|
||||
end
|
||||
|
||||
dofile(path .. '/buckets.lua')
|
||||
if not minetest.get_modpath('bucket') and not minetest.get_modpath('mcl_buckets') then
|
||||
dofile(path .. '/buckets.lua')
|
||||
end
|
||||
|
||||
dofile(path .. '/tools.lua')
|
||||
dofile(path .. '/craftitems.lua')
|
||||
dofile(path .. '/crafting.lua')
|
||||
|
@ -236,7 +239,13 @@ if minetest.get_modpath('mcl_core') and minetest.global_exists('mcl_core') then
|
|||
dofile(path .. '/mod_support_mcl.lua')
|
||||
end
|
||||
|
||||
Everness.set_loot_chest_items()
|
||||
-- Minetest Game
|
||||
dofile(path .. '/mod_support_mtg.lua')
|
||||
|
||||
minetest.register_on_mods_loaded(function()
|
||||
Everness.set_loot_chest_items()
|
||||
end)
|
||||
|
||||
|
||||
local mod_end_time = (minetest.get_us_time() - mod_start_time) / 1000000
|
||||
|
||||
|
|
|
@ -260,7 +260,7 @@ local c_everness_bamboo_5 = minetest.get_content_id('everness:bamboo_5')
|
|||
|
||||
local d_everness_bamboo_forest_large_bamboo = minetest.get_decoration_id('everness:bamboo_forest_large_bamboo')
|
||||
|
||||
minetest.set_gen_notify('decoration', { d_everness_bamboo_forest_large_bamboo })
|
||||
minetest.set_gen_notify({ decoration = true }, { d_everness_bamboo_forest_large_bamboo })
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, blockseed)
|
||||
-- Load the voxelmanip with the result of engine mapgen
|
||||
|
|
|
@ -178,7 +178,7 @@ local deco_ids_baobab = {
|
|||
}
|
||||
|
||||
if #deco_ids_baobab > 1 then
|
||||
minetest.set_gen_notify('decoration', deco_ids_baobab)
|
||||
minetest.set_gen_notify({ decoration = true }, deco_ids_baobab)
|
||||
end
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, blockseed)
|
||||
|
|
|
@ -259,7 +259,7 @@ register_coral_grass_decoration(0.03, 0.03, 1)
|
|||
local deco_id_coral_bones_tree = minetest.get_decoration_id('everness:coral_forest_coral_bones_tree')
|
||||
local coral_bones_tree_size = { x = 16, y = 35, z = 16 }
|
||||
|
||||
minetest.set_gen_notify('decoration', { deco_id_coral_bones_tree })
|
||||
minetest.set_gen_notify({ decoration = true }, { deco_id_coral_bones_tree })
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, blockseed)
|
||||
local gennotify = minetest.get_mapgen_object('gennotify')
|
||||
|
|
|
@ -316,7 +316,7 @@ minetest.register_decoration({
|
|||
local deco_id_frosted_icicle_large_ceiling = minetest.get_decoration_id('everness:frosted_icicle_large_ceiling')
|
||||
local deco_id_frosted_icicle_large_floor = minetest.get_decoration_id('everness:frosted_icicle_large_floor')
|
||||
|
||||
minetest.set_gen_notify('decoration', { deco_id_frosted_icicle_large_ceiling, deco_id_frosted_icicle_large_floor })
|
||||
minetest.set_gen_notify({ decoration = true }, { deco_id_frosted_icicle_large_ceiling, deco_id_frosted_icicle_large_floor })
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, blockseed)
|
||||
local gennotify = minetest.get_mapgen_object('gennotify')
|
||||
|
|
|
@ -64,17 +64,18 @@ minetest.register_ore({
|
|||
|
||||
--
|
||||
-- Register decorations
|
||||
-- placeholder node `everness:crystal_stone` will be replaced in VM
|
||||
--
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:palm_tree_1',
|
||||
deco_type = 'schematic',
|
||||
name = 'everness:palm_trees',
|
||||
deco_type = 'simple',
|
||||
place_on = { 'everness:mineral_sand' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.02,
|
||||
spread = { x = 200, y = 200, z = 200 },
|
||||
scale = 0.005,
|
||||
spread = { x = 250, y = 250, z = 250 },
|
||||
seed = 329,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
|
@ -82,48 +83,32 @@ minetest.register_decoration({
|
|||
biomes = { 'everness_mineral_waters' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = minetest.get_modpath('everness') .. '/schematics/everness_palm_tree.mts',
|
||||
flags = 'place_center_x, place_center_z',
|
||||
spawn_by = {
|
||||
'everness:mineral_water_source',
|
||||
'everness:mineral_stone_brick',
|
||||
'everness:mineral_stone_brick_with_growth',
|
||||
'everness:mineral_stone_brick_with_flower_growth',
|
||||
'everness:mineral_sandstone',
|
||||
'everness:mineral_sandstone_block'
|
||||
},
|
||||
num_spawn_by = 1,
|
||||
check_offset = -1,
|
||||
decoration = { 'everness:crystal_stone' },
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:palm_tree_2',
|
||||
deco_type = 'schematic',
|
||||
name = 'everness:pots',
|
||||
deco_type = 'simple',
|
||||
place_on = { 'everness:mineral_sand' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.02,
|
||||
spread = { x = 200, y = 200, z = 200 },
|
||||
seed = 329,
|
||||
scale = 0.002,
|
||||
spread = { x = 250, y = 250, z = 250 },
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = { 'everness_mineral_waters' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = minetest.get_modpath('everness') .. '/schematics/everness_palm_tree.mts',
|
||||
flags = 'place_center_x, place_center_z',
|
||||
spawn_by = {
|
||||
'everness:mineral_water_source',
|
||||
'everness:mineral_stone_brick',
|
||||
'everness:mineral_stone_brick_with_growth',
|
||||
'everness:mineral_stone_brick_with_flower_growth',
|
||||
'everness:mineral_sandstone',
|
||||
'everness:mineral_sandstone_block'
|
||||
},
|
||||
num_spawn_by = 1,
|
||||
check_offset = 1,
|
||||
decoration = { 'everness:crystal_stone' },
|
||||
_decoration = {
|
||||
'everness:ceramic_pot_1',
|
||||
'everness:ceramic_pot_2',
|
||||
'everness:ceramic_pot_3',
|
||||
'everness:ceramic_pot_4'
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
|
@ -142,17 +127,33 @@ minetest.register_decoration({
|
|||
biomes = { 'everness_mineral_waters' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
decoration = { 'everness:water_geyser' },
|
||||
spawn_by = {
|
||||
'everness:mineral_water_source',
|
||||
'everness:mineral_stone_brick',
|
||||
'everness:mineral_stone_brick_with_growth',
|
||||
'everness:mineral_stone_brick_with_flower_growth',
|
||||
'everness:mineral_sandstone',
|
||||
'everness:mineral_sandstone_block'
|
||||
decoration = { 'everness:crystal_stone' },
|
||||
spawn_by = { 'air' },
|
||||
num_spawn_by = 16,
|
||||
check_offset = 1,
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:rose_bush',
|
||||
deco_type = 'simple',
|
||||
place_on = { 'everness:mineral_sand' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.004,
|
||||
scale = 0.01,
|
||||
spread = { x = 100, y = 100, z = 100 },
|
||||
seed = 137,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
},
|
||||
num_spawn_by = 1,
|
||||
check_offset = -1,
|
||||
biomes = { 'everness_mineral_waters' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
decoration = { 'everness:crystal_stone' },
|
||||
_decoration = { 'everness:rose_bush' },
|
||||
spawn_by = { 'air' },
|
||||
num_spawn_by = 16,
|
||||
check_offset = 1,
|
||||
})
|
||||
|
||||
--
|
||||
|
@ -170,9 +171,28 @@ local c_everness_mineral_sandstone = minetest.get_content_id('everness:mineral_s
|
|||
local c_everness_mineral_sandstone_block = minetest.get_content_id('everness:mineral_sandstone_block')
|
||||
local c_everness_mineral_waters_marker = minetest.get_content_id('everness:mineral_waters_marker')
|
||||
local c_everness_mineral_stone_with_coal = minetest.get_content_id('everness:mineral_stone_with_coal')
|
||||
|
||||
local c_everness_lotus_flower_white = minetest.get_content_id('everness:lotus_flower_white')
|
||||
local c_everness_lotus_flower_purple = minetest.get_content_id('everness:lotus_flower_purple')
|
||||
local c_everness_lotus_flower_pink = minetest.get_content_id('everness:lotus_flower_pink')
|
||||
local c_everness_lotus_lotus_leaf = minetest.get_content_id('everness:lotus_leaf')
|
||||
local c_everness_lotus_lotus_leaf_2 = minetest.get_content_id('everness:lotus_leaf_2')
|
||||
local c_everness_lotus_lotus_leaf_3 = minetest.get_content_id('everness:lotus_leaf_3')
|
||||
local c_everness_ceramic_pot_1 = minetest.get_content_id('everness:ceramic_pot_1')
|
||||
local c_everness_ceramic_pot_2 = minetest.get_content_id('everness:ceramic_pot_2')
|
||||
local c_everness_ceramic_pot_3 = minetest.get_content_id('everness:ceramic_pot_3')
|
||||
local c_everness_ceramic_pot_4 = minetest.get_content_id('everness:ceramic_pot_4')
|
||||
local c_everness_mineral_water_weed_1 = minetest.get_content_id('everness:mineral_water_weed_1')
|
||||
local c_everness_mineral_water_weed_2 = minetest.get_content_id('everness:mineral_water_weed_2')
|
||||
local c_everness_mineral_water_weed_3 = minetest.get_content_id('everness:mineral_water_weed_3')
|
||||
-- Biome IDs
|
||||
local biome_id_everness_mineral_waters = minetest.get_biome_id('everness_mineral_waters')
|
||||
-- Decoration IDs
|
||||
local d_everness_palm_trees = minetest.get_decoration_id('everness:palm_trees')
|
||||
local d_everness_water_geyser = minetest.get_decoration_id('everness:water_geyser')
|
||||
local d_everness_pots = minetest.get_decoration_id('everness:pots')
|
||||
local d_rose_bush = minetest.get_decoration_id('everness:rose_bush')
|
||||
|
||||
-- Pool building blocks variations
|
||||
local pool_build_nodes = {
|
||||
{
|
||||
c_everness_mineral_stone,
|
||||
|
@ -185,6 +205,26 @@ local pool_build_nodes = {
|
|||
c_everness_mineral_sandstone_block
|
||||
}
|
||||
}
|
||||
local c_lotus_flowers = {
|
||||
c_everness_lotus_flower_white,
|
||||
c_everness_lotus_flower_purple,
|
||||
c_everness_lotus_flower_pink
|
||||
}
|
||||
local c_lotus_leaves = {
|
||||
c_everness_lotus_lotus_leaf,
|
||||
c_everness_lotus_lotus_leaf_2,
|
||||
c_everness_lotus_lotus_leaf_3
|
||||
}
|
||||
local c_pots = {
|
||||
c_everness_ceramic_pot_1,
|
||||
c_everness_ceramic_pot_2,
|
||||
c_everness_ceramic_pot_3,
|
||||
c_everness_ceramic_pot_4
|
||||
}
|
||||
local c_water_weeds = {
|
||||
c_everness_mineral_water_weed_1,
|
||||
c_everness_mineral_water_weed_2
|
||||
}
|
||||
|
||||
local function find_irecursive(table, c_id)
|
||||
local found = false
|
||||
|
@ -203,28 +243,79 @@ local function find_irecursive(table, c_id)
|
|||
return found
|
||||
end
|
||||
|
||||
local function place_decoration(pos, vm, area, data, deco_id, callback)
|
||||
local deco_def = minetest.registered_decorations[deco_id]
|
||||
|
||||
if not deco_def then
|
||||
return
|
||||
end
|
||||
|
||||
-- Position of the 'place_on' node
|
||||
local vi = area:indexp(pos)
|
||||
local place_on_valid = false
|
||||
local data_node_name = minetest.get_name_from_content_id(data[vi])
|
||||
local placeholder_node_name = type(deco_def.decoration) == 'string' and deco_def.decoration or deco_def.decoration[1]
|
||||
|
||||
if type(deco_def.place_on) == 'string' then
|
||||
if deco_def.place_on == data_node_name and data[vi + area.ystride * 2] == minetest.CONTENT_AIR then
|
||||
place_on_valid = true
|
||||
end
|
||||
else
|
||||
for i, v in ipairs(deco_def.place_on) do
|
||||
if v == data_node_name and data[vi + area.ystride * 2] == minetest.CONTENT_AIR then
|
||||
place_on_valid = true
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local pos_above = vector.new(pos.x, pos.y + 1, pos.z)
|
||||
local node_above = vm:get_node_at(pos_above)
|
||||
|
||||
if node_above.name == placeholder_node_name then
|
||||
if place_on_valid then
|
||||
callback(pos_above, deco_def)
|
||||
else
|
||||
vm:set_node_at(pos_above, { name = 'air' })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Localize data buffer table outside the loop, to be re-used for all
|
||||
-- mapchunks, therefore minimising memory use
|
||||
local data = {}
|
||||
local p2data = {}
|
||||
|
||||
minetest.set_gen_notify({ decoration = true }, {
|
||||
d_everness_palm_trees,
|
||||
d_everness_water_geyser,
|
||||
d_everness_pots,
|
||||
d_rose_bush
|
||||
})
|
||||
|
||||
-- Called after generating a piece of world. Modifying nodes inside the area is a bit faster than usual.
|
||||
minetest.register_on_generated(function(minp, maxp, blockseed)
|
||||
-- Start time of mapchunk generation.
|
||||
-- local t0 = os.clock()
|
||||
local rand = PcgRandom(blockseed)
|
||||
-- Load the voxelmanip with the result of engine mapgen
|
||||
local vm, emin, emax = minetest.get_mapgen_object('voxelmanip')
|
||||
-- Returns an array containing the biome IDs of nodes in the most recently generated chunk by the current mapgen
|
||||
local biomemap = minetest.get_mapgen_object('biomemap')
|
||||
-- 'area' is used later to get the voxelmanip indexes for positions
|
||||
local area = VoxelArea:new({ MinEdge = emin, MaxEdge = emax })
|
||||
-- Get the content ID data from the voxelmanip in the form of a flat array.
|
||||
-- Set the buffer parameter to use and reuse 'data' for this.
|
||||
vm:get_data(data)
|
||||
|
||||
if maxp.y >= y_min then
|
||||
-- Above sea level
|
||||
-- Above sea level
|
||||
if maxp.y >= y_min and table.indexof(biomemap, biome_id_everness_mineral_waters) ~= -1 then
|
||||
local rand = PcgRandom(blockseed)
|
||||
local rand_version = rand:next(1, 2)
|
||||
-- Load the voxelmanip with the result of engine mapgen
|
||||
local vm, emin, emax = minetest.get_mapgen_object('voxelmanip')
|
||||
-- Returns a table mapping requested generation notification types to arrays of positions at which the corresponding generated structures are located within the current chunk
|
||||
local gennotify = minetest.get_mapgen_object('gennotify')
|
||||
-- 'area' is used later to get the voxelmanip indexes for positions
|
||||
local area = VoxelArea:new({ MinEdge = emin, MaxEdge = emax })
|
||||
-- Get the content ID data from the voxelmanip in the form of a flat array.
|
||||
-- Set the buffer parameter to use and reuse 'data' for this.
|
||||
vm:get_data(data)
|
||||
vm:get_param2_data(p2data)
|
||||
|
||||
local pot_pos = {}
|
||||
|
||||
if rand_version == 1 then
|
||||
--
|
||||
|
@ -243,7 +334,6 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
|
|||
data[ai + area.ystride] == minetest.CONTENT_AIR
|
||||
and node_def
|
||||
and node_def.walkable
|
||||
and table.indexof(biomemap, biome_id_everness_mineral_waters) ~= -1
|
||||
then
|
||||
local length = 5 + rand:next(0, 10)
|
||||
local width = 5 + rand:next(0, 10)
|
||||
|
@ -449,11 +539,263 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
|
|||
end
|
||||
end
|
||||
|
||||
-- Place decorations after generating (2nd pass)
|
||||
for y = minp.y, maxp.y do
|
||||
for z = minp.z, maxp.z do
|
||||
for x = minp.x, maxp.x do
|
||||
local ai = area:index(x, y, z)
|
||||
--
|
||||
-- Place Lotus Flowers and Leaves
|
||||
--
|
||||
if
|
||||
data[ai] == c_everness_mineral_water_source
|
||||
-- spawn around water
|
||||
and data[ai + 1 + area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + 1 - area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + 1] == c_everness_mineral_water_source
|
||||
and data[ai - 1] == c_everness_mineral_water_source
|
||||
and data[ai - 1 + area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai - 1 - area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai - area.zstride] == c_everness_mineral_water_source
|
||||
-- make sure there is space above
|
||||
and data[ai + area.ystride] == minetest.CONTENT_AIR
|
||||
-- spawn around air above
|
||||
and data[ai + area.ystride + 1] == minetest.CONTENT_AIR
|
||||
and data[ai + area.ystride + 1 + area.zstride] == minetest.CONTENT_AIR
|
||||
and data[ai + area.ystride + 1 - area.zstride] == minetest.CONTENT_AIR
|
||||
and data[ai + area.ystride - 1] == minetest.CONTENT_AIR
|
||||
and data[ai + area.ystride - 1 + area.zstride] == minetest.CONTENT_AIR
|
||||
and data[ai + area.ystride - 1 - area.zstride] == minetest.CONTENT_AIR
|
||||
and data[ai + area.ystride + area.zstride] == minetest.CONTENT_AIR
|
||||
and data[ai + area.ystride - area.zstride] == minetest.CONTENT_AIR
|
||||
then
|
||||
if rand:next(0, 100) < 2 then
|
||||
data[ai + area.ystride] = c_lotus_flowers[rand:next(1, #c_lotus_flowers)]
|
||||
|
||||
-- Place Lotus Leaves around Flowers
|
||||
local radius = 3
|
||||
local chance_max = 80
|
||||
|
||||
for i = -radius, radius do
|
||||
for j = -radius, radius do
|
||||
local idx = ai + i + (area.zstride * j) + area.ystride
|
||||
local distance = math.round(vector.distance(area:position(ai), area:position(idx)))
|
||||
local chance = math.round(chance_max / distance)
|
||||
|
||||
if chance > chance_max then
|
||||
chance = chance_max
|
||||
end
|
||||
|
||||
if
|
||||
rand:next(0, 100) < chance
|
||||
and data[idx] == minetest.CONTENT_AIR
|
||||
and data[idx - area.ystride] == c_everness_mineral_water_source
|
||||
then
|
||||
data[idx] = c_lotus_leaves[rand:next(1, #c_lotus_leaves)]
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif rand:next(0, 100) < 4 then
|
||||
data[ai + area.ystride] = c_lotus_leaves[rand:next(1, #c_lotus_leaves)]
|
||||
|
||||
-- add some more leaves around the leaf
|
||||
for i = -1, 1 do
|
||||
for j = -1, 1 do
|
||||
local idx = ai + i + (area.zstride * j) + area.ystride
|
||||
|
||||
if
|
||||
rand:next(0, 100) < 25
|
||||
and data[idx] == minetest.CONTENT_AIR
|
||||
and data[idx - area.ystride] == c_everness_mineral_water_source
|
||||
then
|
||||
data[idx] = c_lotus_leaves[rand:next(1, #c_lotus_leaves)]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--
|
||||
-- Place Seaweed
|
||||
--
|
||||
if
|
||||
data[ai] == c_everness_mineral_water_source
|
||||
and data[ai + area.ystride] == c_everness_mineral_water_source
|
||||
and rand:next(0, 100) < 33
|
||||
then
|
||||
local c_weed = c_water_weeds[rand:next(1, #c_water_weeds)]
|
||||
|
||||
if rand:next(0, 100) < 5 then
|
||||
-- Weed with light source with a bit less probability
|
||||
c_weed = c_everness_mineral_water_weed_3
|
||||
end
|
||||
|
||||
if data[ai + 1] == c_everness_mineral_stone then
|
||||
data[ai + 1] = c_weed
|
||||
data[ai + 1] = c_weed
|
||||
data[ai + 1] = c_weed
|
||||
p2data[ai + 1] = 2
|
||||
elseif data[ai - 1] == c_everness_mineral_stone then
|
||||
data[ai - 1] = c_weed
|
||||
data[ai - 1] = c_weed
|
||||
data[ai - 1] = c_weed
|
||||
p2data[ai - 1] = 3
|
||||
elseif data[ai + area.zstride] == c_everness_mineral_stone then
|
||||
data[ai + area.zstride] = c_weed
|
||||
data[ai + area.zstride] = c_weed
|
||||
data[ai + area.zstride] = c_weed
|
||||
p2data[ai + area.zstride] = 4
|
||||
elseif data[ai - area.zstride] == c_everness_mineral_stone then
|
||||
data[ai - area.zstride] = c_weed
|
||||
data[ai - area.zstride] = c_weed
|
||||
data[ai - area.zstride] = c_weed
|
||||
p2data[ai - area.zstride] = 5
|
||||
elseif data[ai - area.ystride] == c_everness_mineral_stone then
|
||||
data[ai - area.ystride] = c_weed
|
||||
data[ai - area.ystride] = c_weed
|
||||
data[ai - area.ystride] = c_weed
|
||||
p2data[ai - area.ystride] = 1
|
||||
end
|
||||
end
|
||||
|
||||
--
|
||||
-- Place pots under water
|
||||
--
|
||||
if
|
||||
data[ai] == c_everness_mineral_water_source
|
||||
-- spawn around water
|
||||
and data[ai + 1 + area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + 1 - area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + 1] == c_everness_mineral_water_source
|
||||
and data[ai - 1] == c_everness_mineral_water_source
|
||||
and data[ai - 1 + area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai - 1 - area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai - area.zstride] == c_everness_mineral_water_source
|
||||
-- spawn around water above
|
||||
and data[ai + area.ystride] == c_everness_mineral_water_source
|
||||
and data[ai + area.ystride + 1] == c_everness_mineral_water_source
|
||||
and data[ai + area.ystride + 1 + area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + area.ystride + 1 - area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + area.ystride - 1] == c_everness_mineral_water_source
|
||||
and data[ai + area.ystride - 1 + area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + area.ystride - 1 - area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + area.ystride + area.zstride] == c_everness_mineral_water_source
|
||||
and data[ai + area.ystride - area.zstride] == c_everness_mineral_water_source
|
||||
-- spawn on solid node below
|
||||
and data[ai - area.ystride] ~= c_everness_mineral_water_source
|
||||
then
|
||||
if rand:next(0, 100) < 1 then
|
||||
table.insert(pot_pos, vector.new(area:position(ai)))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
vm:set_data(data)
|
||||
-- Generate all registered decorations within the VoxelManip `vm` and in the area from `pos1` to `pos2`
|
||||
minetest.generate_decorations(vm)
|
||||
vm:set_param2_data(p2data)
|
||||
|
||||
--
|
||||
-- Place Decorations
|
||||
--
|
||||
|
||||
--
|
||||
-- Palm Trees
|
||||
--
|
||||
for _, pos in ipairs(gennotify['decoration#' .. (d_everness_palm_trees or '')] or {}) do
|
||||
place_decoration(pos, vm, area, data, 'everness:palm_trees', function(p)
|
||||
minetest.place_schematic_on_vmanip(
|
||||
vm,
|
||||
p,
|
||||
minetest.get_modpath('everness') .. '/schematics/everness_palm_tree.mts',
|
||||
nil,
|
||||
nil,
|
||||
true,
|
||||
'place_center_x, place_center_z'
|
||||
)
|
||||
end)
|
||||
end
|
||||
|
||||
--
|
||||
-- Water Geyser
|
||||
--
|
||||
for _, pos in ipairs(gennotify['decoration#' .. (d_everness_water_geyser or '')] or {}) do
|
||||
place_decoration(pos, vm, area, data, 'everness:water_geyser', function(p)
|
||||
vm:set_node_at(p, { name = 'everness:water_geyser' })
|
||||
end)
|
||||
end
|
||||
|
||||
--
|
||||
-- Rose Bush
|
||||
--
|
||||
for _, pos in ipairs(gennotify['decoration#' .. (d_rose_bush or '')] or {}) do
|
||||
place_decoration(pos, vm, area, data, 'everness:rose_bush', function(p)
|
||||
vm:set_node_at(p, { name = 'everness:rose_bush' })
|
||||
end)
|
||||
end
|
||||
|
||||
--
|
||||
-- Pots (above water)
|
||||
--
|
||||
for _, pos in ipairs(gennotify['decoration#' .. (d_everness_pots or '')] or {}) do
|
||||
place_decoration(pos, vm, area, data, 'everness:pots', function(p, deco_def)
|
||||
if deco_def._decoration then
|
||||
-- Use `minetest.set_node` so we can set inventory on node construct
|
||||
minetest.set_node(p, { name = deco_def._decoration[rand:next(1, #deco_def._decoration)] })
|
||||
|
||||
local inv = minetest.get_inventory({ type = 'node', pos = p })
|
||||
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
|
||||
|
||||
if not minetest.registered_items[item_def.name] then
|
||||
return
|
||||
end
|
||||
|
||||
if rand:next(0, 100) <= item_def.chance then
|
||||
local stack = ItemStack(item_def.name)
|
||||
|
||||
if minetest.registered_tools[item_def.name] then
|
||||
stack:set_wear(rand:next(1, 65535))
|
||||
else
|
||||
stack:set_count(rand:next(1, item_def.max_count))
|
||||
end
|
||||
|
||||
inv:set_stack('main', 1, stack)
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
--
|
||||
-- Pots (under water)
|
||||
--
|
||||
for _, v in ipairs(pot_pos) do
|
||||
-- Use `minetest.set_node` so we can set inventory on node construct
|
||||
minetest.set_node(v, { name = minetest.get_name_from_content_id(c_pots[rand:next(1, #c_pots)]) })
|
||||
|
||||
local inv = minetest.get_inventory({ type = 'node', pos = v })
|
||||
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
|
||||
|
||||
if not minetest.registered_items[item_def.name] then
|
||||
return
|
||||
end
|
||||
|
||||
if rand:next(0, 100) <= item_def.chance then
|
||||
local stack = ItemStack(item_def.name)
|
||||
|
||||
if minetest.registered_tools[item_def.name] then
|
||||
stack:set_wear(rand:next(1, 65535))
|
||||
else
|
||||
stack:set_count(rand:next(1, item_def.max_count))
|
||||
end
|
||||
|
||||
inv:set_stack('main', 1, stack)
|
||||
end
|
||||
end
|
||||
|
||||
-- Set the lighting within the `VoxelManip` to a uniform value
|
||||
vm:set_lighting({ day = 0, night = 0 })
|
||||
vm:set_lighting({ day = 0, night = 0 }, minp, maxp)
|
||||
-- Calculate lighting for what has been created.
|
||||
vm:calc_lighting()
|
||||
-- Liquid nodes were placed so set them flowing.
|
||||
|
|
|
@ -1079,3 +1079,19 @@ minetest.register_craft({
|
|||
{ 'everness:dry_wood', 'everness:dry_wood' },
|
||||
}
|
||||
})
|
||||
|
||||
--
|
||||
-- Buckets
|
||||
--
|
||||
|
||||
mcl_buckets.register_liquid({
|
||||
source_place = 'everness:mineral_water_source',
|
||||
source_take = { 'everness:mineral_water_source' },
|
||||
bucketname = 'everness:bucket_mineral_water',
|
||||
inventory_image = 'everness_mcl_bucket_mineral_water.png',
|
||||
name = S('Mineral') .. ' ' .. S('Water') .. ' ' .. S('Bucket'),
|
||||
longdesc = S('A bucket can be used to collect and release liquids. This one is filled with mineral water.'),
|
||||
usagehelp = S('Place it to empty the bucket and create a mineral water source.'),
|
||||
tt_help = S('Places a mineral water source'),
|
||||
groups = { water_bucket = 1 },
|
||||
})
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
--[[
|
||||
Everness. Never ending discovery in Everness mapgen.
|
||||
Copyright (C) 2024 SaKeL
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
--
|
||||
-- Buckets
|
||||
--
|
||||
|
||||
if minetest.get_modpath('bucket') then
|
||||
bucket.register_liquid(
|
||||
'everness:mineral_water_source',
|
||||
'everness:mineral_water_flowing',
|
||||
'everness:bucket_mineral_water',
|
||||
'everness_mtg_bucket_mineral_water.png',
|
||||
S('Mineral') .. ' ' .. S('Water') .. ' ' .. S('Bucket'),
|
||||
{ tool = 1, water_bucket = 1 }
|
||||
)
|
||||
end
|
|
@ -0,0 +1,375 @@
|
|||
# Blender v2.83.20 OBJ File: 'everness_ceramic_pot.blend'
|
||||
# www.blender.org
|
||||
mtllib everness_ceramic_pot.mtl
|
||||
o everness_ceramic_pot.vox
|
||||
v -0.375000 -0.499000 0.375000
|
||||
v -0.437500 -0.436500 0.437500
|
||||
v -0.437500 0.501000 0.125000
|
||||
v -0.250000 0.501000 0.125000
|
||||
v -0.250000 0.501000 -0.250000
|
||||
v -0.312500 0.563500 0.312500
|
||||
v -0.312500 0.751000 -0.312500
|
||||
v 0.375000 -0.499000 0.375000
|
||||
v 0.437500 -0.436500 0.437500
|
||||
v 0.437500 0.501000 0.437500
|
||||
v 0.312500 0.563500 0.312500
|
||||
v -0.375000 -0.436500 0.375000
|
||||
v 0.375000 -0.436500 0.375000
|
||||
v -0.250000 0.501000 0.437500
|
||||
v -0.250000 0.501000 0.250000
|
||||
v -0.250000 0.563500 0.250000
|
||||
v 0.250000 0.563500 0.250000
|
||||
v -0.312500 0.751000 0.312500
|
||||
v -0.187500 0.751000 0.312500
|
||||
v 0.312500 0.751000 0.312500
|
||||
v -0.187500 0.751000 -0.187500
|
||||
v 0.187500 0.751000 -0.187500
|
||||
v -0.375000 -0.436500 -0.375000
|
||||
v -0.250000 -0.436500 -0.375000
|
||||
v 0.375000 -0.499000 -0.375000
|
||||
v -0.437500 -0.436500 -0.437500
|
||||
v 0.437500 0.501000 -0.437500
|
||||
v -0.312500 0.563500 -0.312500
|
||||
v 0.062500 0.563500 -0.312500
|
||||
v -0.062500 0.751000 0.187500
|
||||
v 0.312500 0.751000 -0.312500
|
||||
v -0.375000 -0.499000 -0.375000
|
||||
v -0.437500 -0.436500 -0.375000
|
||||
v -0.250000 -0.436500 -0.437500
|
||||
v 0.375000 -0.436500 -0.375000
|
||||
v 0.437500 -0.436500 -0.437500
|
||||
v -0.312500 0.563500 -0.250000
|
||||
v -0.250000 0.563500 -0.250000
|
||||
v 0.062500 0.563500 -0.250000
|
||||
v 0.250000 0.563500 -0.250000
|
||||
v 0.312500 0.563500 -0.312500
|
||||
v -0.437500 0.501000 0.437500
|
||||
v 0.250000 0.501000 0.250000
|
||||
v 0.250000 0.501000 -0.250000
|
||||
v -0.437500 0.501000 -0.437500
|
||||
v -0.062500 0.751000 0.312500
|
||||
v -0.187500 0.751000 0.187500
|
||||
v 0.187500 0.751000 0.187500
|
||||
v 0.437500 -0.436500 0.437500
|
||||
v 0.437500 -0.436500 -0.437500
|
||||
v 0.437500 0.501000 0.437500
|
||||
v 0.437500 0.501000 -0.437500
|
||||
v -0.375000 -0.499000 0.375000
|
||||
v -0.437500 -0.436500 0.437500
|
||||
v -0.437500 0.501000 0.125000
|
||||
v -0.250000 0.501000 0.125000
|
||||
v -0.250000 0.501000 -0.250000
|
||||
v -0.312500 0.563500 0.312500
|
||||
v -0.312500 0.751000 -0.312500
|
||||
v 0.375000 -0.499000 0.375000
|
||||
v 0.437500 -0.436500 0.437500
|
||||
v 0.437500 0.501000 0.437500
|
||||
v 0.312500 0.563500 0.312500
|
||||
v -0.187500 0.626000 -0.187500
|
||||
v -0.375000 -0.436500 0.375000
|
||||
v 0.375000 -0.436500 0.375000
|
||||
v -0.250000 0.501000 0.437500
|
||||
v -0.250000 0.501000 0.250000
|
||||
v -0.250000 0.563500 0.250000
|
||||
v 0.250000 0.563500 0.250000
|
||||
v 0.187500 0.626000 -0.187500
|
||||
v -0.312500 0.751000 0.312500
|
||||
v -0.187500 0.751000 0.312500
|
||||
v 0.312500 0.751000 0.312500
|
||||
v -0.187500 0.751000 -0.187500
|
||||
v 0.187500 0.751000 -0.187500
|
||||
v -0.375000 -0.436500 -0.375000
|
||||
v -0.250000 -0.436500 -0.375000
|
||||
v 0.375000 -0.499000 -0.375000
|
||||
v -0.437500 -0.436500 -0.437500
|
||||
v 0.437500 0.501000 -0.437500
|
||||
v -0.312500 0.563500 -0.312500
|
||||
v 0.062500 0.563500 -0.312500
|
||||
v -0.187500 0.626000 0.187500
|
||||
v -0.062500 0.751000 0.187500
|
||||
v 0.312500 0.751000 -0.312500
|
||||
v -0.375000 -0.499000 -0.375000
|
||||
v -0.437500 -0.436500 -0.375000
|
||||
v -0.250000 -0.436500 -0.437500
|
||||
v 0.375000 -0.436500 -0.375000
|
||||
v 0.437500 -0.436500 -0.437500
|
||||
v -0.312500 0.563500 -0.250000
|
||||
v -0.250000 0.563500 -0.250000
|
||||
v 0.062500 0.563500 -0.250000
|
||||
v 0.250000 0.563500 -0.250000
|
||||
v 0.312500 0.563500 -0.312500
|
||||
v -0.437500 0.501000 0.437500
|
||||
v 0.250000 0.501000 0.250000
|
||||
v 0.250000 0.501000 -0.250000
|
||||
v -0.437500 0.501000 -0.437500
|
||||
v 0.187500 0.626000 0.187500
|
||||
v -0.062500 0.751000 0.312500
|
||||
v -0.187500 0.751000 0.187500
|
||||
v 0.187500 0.751000 0.187500
|
||||
v 0.437500 -0.436500 0.437500
|
||||
v 0.437500 -0.436500 -0.437500
|
||||
v 0.437500 0.501000 0.437500
|
||||
v 0.437500 0.501000 -0.437500
|
||||
vt 0.437500 0.250000
|
||||
vt 0.375000 0.218750
|
||||
vt 0.437500 0.218750
|
||||
vt 0.000000 0.000000
|
||||
vt 0.093750 0.000000
|
||||
vt 0.093750 0.046875
|
||||
vt 0.437500 0.000000
|
||||
vt 0.437500 0.218750
|
||||
vt 0.343750 0.171875
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.843750 0.218750
|
||||
vt 0.843750 0.015625
|
||||
vt 0.812500 0.031250
|
||||
vt 0.625000 0.375000
|
||||
vt 0.312500 0.375000
|
||||
vt 0.562500 0.343750
|
||||
vt 0.468750 0.203125
|
||||
vt 0.812500 0.031250
|
||||
vt 0.468750 0.031250
|
||||
vt 0.531250 0.218750
|
||||
vt 0.531250 0.203125
|
||||
vt 0.468750 0.203125
|
||||
vt 0.906250 0.234375
|
||||
vt 0.937500 0.375000
|
||||
vt 0.937500 0.218750
|
||||
vt 0.812500 0.375000
|
||||
vt 0.812500 0.359375
|
||||
vt 0.656250 0.359375
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.031250 0.390625
|
||||
vt 0.437500 0.390625
|
||||
vt 0.281250 0.625000
|
||||
vt 0.093750 0.640625
|
||||
vt 0.093750 0.625000
|
||||
vt 0.281250 0.625000
|
||||
vt 0.062500 0.687500
|
||||
vt 0.062500 0.640625
|
||||
vt 0.093750 0.640625
|
||||
vt 0.062500 0.218750
|
||||
vt 0.250000 0.250000
|
||||
vt 0.250000 0.218750
|
||||
vt 0.843750 0.687500
|
||||
vt 0.781250 0.703125
|
||||
vt 0.468750 0.687500
|
||||
vt 0.343750 0.937500
|
||||
vt 0.093750 0.953125
|
||||
vt 0.093750 0.937500
|
||||
vt 0.062500 0.343750
|
||||
vt 0.250000 0.375000
|
||||
vt 0.062500 0.375000
|
||||
vt 0.875000 0.390625
|
||||
vt 0.531250 0.625000
|
||||
vt 0.031250 0.375000
|
||||
vt 0.406250 0.390625
|
||||
vt 0.031250 0.390625
|
||||
vt 0.781250 0.625000
|
||||
vt 0.531250 0.640625
|
||||
vt 0.531250 0.625000
|
||||
vt 0.406250 0.687500
|
||||
vt 0.031250 0.703125
|
||||
vt 0.031250 0.687500
|
||||
vt 0.312500 0.343750
|
||||
vt 0.250000 0.250000
|
||||
vt 0.312500 0.250000
|
||||
vt 0.812500 0.640625
|
||||
vt 0.812500 0.687500
|
||||
vt 0.625000 0.687500
|
||||
vt 0.437500 0.937500
|
||||
vt 0.437500 0.703125
|
||||
vt 0.781250 0.703125
|
||||
vt 0.625000 0.953125
|
||||
vt 0.531250 0.937500
|
||||
vt 0.781250 0.937500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.500000 0.953125
|
||||
vt 0.625000 0.953125
|
||||
vt 0.062500 0.250000
|
||||
vt 0.000000 0.281250
|
||||
vt 0.062500 0.343750
|
||||
vt 0.375000 0.953125
|
||||
vt 0.062500 1.000000
|
||||
vt 0.062500 0.953125
|
||||
vt 0.250000 0.343750
|
||||
vt 0.062500 0.343750
|
||||
vt 0.843750 0.375000
|
||||
vt 0.468750 0.390625
|
||||
vt 0.468750 0.375000
|
||||
vt 0.437500 0.937500
|
||||
vt 0.000000 0.703125
|
||||
vt 0.437500 0.703125
|
||||
vt 0.375000 0.250000
|
||||
vt 0.093750 0.078125
|
||||
vt 0.000000 0.078125
|
||||
vt 0.343750 0.046875
|
||||
vt 0.000000 0.218750
|
||||
vt 0.093750 0.171875
|
||||
vt 0.812500 0.203125
|
||||
vt 0.437500 0.015625
|
||||
vt 0.437500 0.203125
|
||||
vt 0.468750 0.031250
|
||||
vt 0.312500 0.218750
|
||||
vt 0.375000 0.343750
|
||||
vt 0.562500 0.250000
|
||||
vt 0.625000 0.218750
|
||||
vt 0.812500 0.203125
|
||||
vt 0.437500 0.218750
|
||||
vt 0.625000 0.218750
|
||||
vt 0.625000 0.359375
|
||||
vt 0.656250 0.234375
|
||||
vt 0.906250 0.359375
|
||||
vt 0.625000 0.375000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.000000 0.625000
|
||||
vt 0.000000 0.390625
|
||||
vt 0.343750 0.625000
|
||||
vt 0.343750 0.640625
|
||||
vt 0.375000 0.640625
|
||||
vt 0.375000 0.687500
|
||||
vt 0.062500 0.250000
|
||||
vt 0.843750 0.703125
|
||||
vt 0.468750 0.703125
|
||||
vt 0.343750 0.953125
|
||||
vt 0.250000 0.343750
|
||||
vt 0.875000 0.625000
|
||||
vt 0.406250 0.375000
|
||||
vt 0.781250 0.640625
|
||||
vt 0.406250 0.703125
|
||||
vt 0.562500 0.687500
|
||||
vt 0.500000 0.640625
|
||||
vt 0.500000 0.687500
|
||||
vt 0.875000 0.703125
|
||||
vt 0.875000 0.937500
|
||||
vt 0.781250 0.953125
|
||||
vt 0.531250 0.953125
|
||||
vt 0.812500 0.953125
|
||||
vt 0.812500 1.000000
|
||||
vt -0.000000 0.250000
|
||||
vt 0.000000 0.343750
|
||||
vt 0.375000 1.000000
|
||||
vt 0.843750 0.390625
|
||||
vt 0.000000 0.937500
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
usemtl pot
|
||||
s off
|
||||
f 30/1/1 19/2/1 46/3/1
|
||||
f 42/4/1 14/5/1 15/6/1
|
||||
f 10/7/1 27/8/1 44/9/1
|
||||
f 27/10/2 51/11/2 52/12/2
|
||||
f 36/13/3 9/14/3 13/15/3
|
||||
f 31/16/1 7/17/1 22/18/1
|
||||
f 32/19/3 8/20/3 1/21/3
|
||||
f 34/22/3 24/23/3 23/24/3
|
||||
f 17/25/3 41/26/3 11/27/3
|
||||
f 29/28/3 39/29/3 38/30/3
|
||||
f 10/31/2 49/32/2 51/11/2
|
||||
f 36/33/2 52/12/2 50/34/2
|
||||
f 9/35/2 50/34/2 49/32/2
|
||||
f 88/36/4 54/37/4 55/38/4
|
||||
f 93/39/4 57/40/4 56/41/4
|
||||
f 59/42/4 82/43/4 92/44/4
|
||||
f 76/45/4 101/46/4 104/47/4
|
||||
f 87/48/5 78/49/5 79/50/5
|
||||
f 99/51/6 70/52/6 98/53/6
|
||||
f 84/54/6 75/55/6 103/56/6
|
||||
f 61/57/2 67/58/2 54/37/2
|
||||
f 87/59/4 65/60/4 77/61/4
|
||||
f 98/62/2 69/63/2 68/64/2
|
||||
f 79/65/6 66/66/6 60/67/6
|
||||
f 75/68/2 71/69/2 76/70/2
|
||||
f 63/71/2 74/72/2 102/73/2
|
||||
f 81/74/5 91/75/5 89/76/5
|
||||
f 94/77/5 99/78/5 57/79/5
|
||||
f 86/80/5 96/81/5 83/82/5
|
||||
f 84/83/5 85/84/5 101/85/5
|
||||
f 96/86/6 74/87/6 63/88/6
|
||||
f 84/83/1 71/89/1 64/90/1
|
||||
f 60/91/2 65/92/2 53/93/2
|
||||
f 108/94/6 105/95/6 106/96/6
|
||||
f 30/1/1 47/97/1 19/2/1
|
||||
f 4/98/1 3/99/1 15/6/1
|
||||
f 3/99/1 42/4/1 15/6/1
|
||||
f 43/100/1 15/6/1 14/5/1
|
||||
f 45/101/1 3/99/1 5/102/1
|
||||
f 3/99/1 4/98/1 5/102/1
|
||||
f 43/100/1 14/5/1 10/7/1
|
||||
f 45/101/1 5/102/1 44/9/1
|
||||
f 44/9/1 43/100/1 10/7/1
|
||||
f 27/8/1 45/101/1 44/9/1
|
||||
f 27/10/2 10/31/2 51/11/2
|
||||
f 24/23/3 34/22/3 35/103/3
|
||||
f 34/22/3 36/13/3 35/103/3
|
||||
f 2/104/3 33/105/3 12/106/3
|
||||
f 33/105/3 23/24/3 12/106/3
|
||||
f 2/104/3 12/106/3 13/15/3
|
||||
f 13/15/3 35/103/3 36/13/3
|
||||
f 9/14/3 2/104/3 13/15/3
|
||||
f 7/17/1 18/107/1 47/97/1
|
||||
f 18/107/1 19/2/1 47/97/1
|
||||
f 47/97/1 21/108/1 7/17/1
|
||||
f 30/1/1 46/3/1 48/109/1
|
||||
f 46/3/1 20/110/1 48/109/1
|
||||
f 22/18/1 48/109/1 20/110/1
|
||||
f 7/17/1 21/108/1 22/18/1
|
||||
f 22/18/1 20/110/1 31/16/1
|
||||
f 32/19/3 25/111/3 8/20/3
|
||||
f 33/105/3 26/112/3 23/24/3
|
||||
f 26/112/3 34/22/3 23/24/3
|
||||
f 6/113/3 37/114/3 16/115/3
|
||||
f 37/114/3 38/30/3 16/115/3
|
||||
f 39/29/3 29/28/3 40/116/3
|
||||
f 29/28/3 41/26/3 40/116/3
|
||||
f 11/27/3 6/113/3 16/115/3
|
||||
f 17/25/3 40/116/3 41/26/3
|
||||
f 11/27/3 16/115/3 17/25/3
|
||||
f 37/114/3 28/117/3 38/30/3
|
||||
f 28/117/3 29/28/3 38/30/3
|
||||
f 10/31/2 9/35/2 49/32/2
|
||||
f 36/33/2 27/10/2 52/12/2
|
||||
f 9/35/2 36/33/2 50/34/2
|
||||
f 97/118/4 55/38/4 54/37/4
|
||||
f 55/38/4 100/119/4 88/36/4
|
||||
f 100/119/4 80/120/4 88/36/4
|
||||
f 68/121/4 69/122/4 56/41/4
|
||||
f 69/122/4 93/39/4 56/41/4
|
||||
f 58/123/4 72/124/4 92/44/4
|
||||
f 72/124/4 59/42/4 92/44/4
|
||||
f 76/45/4 71/125/4 101/46/4
|
||||
f 77/126/5 78/49/5 87/48/5
|
||||
f 78/49/5 90/127/5 79/50/5
|
||||
f 99/51/6 95/128/6 70/52/6
|
||||
f 84/54/6 64/129/6 75/55/6
|
||||
f 62/130/2 67/58/2 61/57/2
|
||||
f 67/58/2 97/118/2 54/37/2
|
||||
f 87/59/4 53/131/4 65/60/4
|
||||
f 98/62/2 70/132/2 69/63/2
|
||||
f 79/65/6 90/133/6 66/66/6
|
||||
f 75/68/2 64/129/2 71/69/2
|
||||
f 102/73/2 73/134/2 58/135/2
|
||||
f 73/134/2 72/136/2 58/135/2
|
||||
f 102/73/2 58/135/2 63/71/2
|
||||
f 89/76/5 80/137/5 100/138/5
|
||||
f 100/138/5 81/74/5 89/76/5
|
||||
f 57/79/5 93/139/5 94/77/5
|
||||
f 94/77/5 95/140/5 99/78/5
|
||||
f 82/141/5 59/142/5 83/82/5
|
||||
f 59/142/5 86/80/5 83/82/5
|
||||
f 103/143/5 85/84/5 84/83/5
|
||||
f 85/84/5 104/144/5 101/85/5
|
||||
f 96/86/6 86/145/6 74/87/6
|
||||
f 84/83/1 101/46/1 71/89/1
|
||||
f 60/91/2 66/146/2 65/92/2
|
||||
f 108/94/6 107/147/6 105/95/6
|
|
@ -0,0 +1,235 @@
|
|||
# Blender v2.83.20 OBJ File: 'everness_lotus_flower.blend'
|
||||
# www.blender.org
|
||||
mtllib everness_lotus_flower.mtl
|
||||
o Cube
|
||||
v -0.308107 -0.055472 -0.746216
|
||||
v -0.009900 -0.499000 -0.342751
|
||||
v 0.655918 0.011755 -0.265300
|
||||
v -0.732371 -0.055472 -0.321952
|
||||
v -0.328906 -0.499000 -0.023745
|
||||
v -0.308107 -0.055472 0.698725
|
||||
v 0.231654 0.011755 -0.689564
|
||||
v 0.288417 -0.055942 0.698836
|
||||
v 0.712681 -0.055942 0.274572
|
||||
v -0.732371 -0.055472 0.274461
|
||||
v -0.486053 -0.100909 -0.211530
|
||||
v -0.160819 -0.498639 -0.160819
|
||||
v 0.211530 -0.100909 -0.486054
|
||||
v 0.160819 -0.498639 -0.160819
|
||||
v -0.486053 -0.100909 0.211530
|
||||
v -0.160819 -0.498639 0.160819
|
||||
v 0.211530 -0.100909 0.486053
|
||||
v 0.160819 -0.498639 0.160819
|
||||
v -0.211530 -0.100909 -0.486054
|
||||
v 0.486054 -0.100909 0.211530
|
||||
v 0.486054 -0.100909 -0.211530
|
||||
v -0.211530 -0.100909 0.486053
|
||||
v 0.160592 -0.498186 0.160592
|
||||
v 0.160592 -0.177003 0.160592
|
||||
v -0.160592 -0.498186 0.160592
|
||||
v -0.160592 -0.177003 0.160592
|
||||
v 0.160592 -0.498186 -0.160592
|
||||
v 0.160592 -0.177003 -0.160592
|
||||
v -0.160592 -0.498186 -0.160592
|
||||
v -0.160592 -0.177003 -0.160592
|
||||
v 0.309302 -0.499453 -0.023720
|
||||
v -0.009875 -0.499453 0.295457
|
||||
v 0.000000 -0.330263 0.355694
|
||||
v 0.000000 0.589835 0.355694
|
||||
v -0.355694 -0.330263 -0.000000
|
||||
v -0.355694 0.589835 -0.000000
|
||||
v 0.355694 -0.330263 -0.000000
|
||||
v 0.355694 0.589835 -0.000000
|
||||
v 0.000000 -0.330263 -0.355694
|
||||
v 0.000000 0.589835 -0.355694
|
||||
v 0.500438 -0.055472 -0.534084
|
||||
v 0.149602 -0.499000 -0.183248
|
||||
v 0.548643 -0.154723 -0.000000
|
||||
v 0.160819 -0.498639 -0.000000
|
||||
v 0.000000 -0.154723 -0.548643
|
||||
v 0.000000 -0.498639 -0.160819
|
||||
v -0.160819 -0.498639 -0.000000
|
||||
v -0.548642 -0.154723 -0.000000
|
||||
v 0.000000 -0.498639 0.160819
|
||||
v 0.000000 -0.154723 0.548642
|
||||
v -0.169403 -0.499000 0.135758
|
||||
v -0.567776 -0.135591 0.534130
|
||||
v -0.169403 -0.499000 -0.183248
|
||||
v -0.567776 -0.135591 -0.581621
|
||||
v 0.548086 -0.136060 0.534241
|
||||
v 0.150919 -0.498639 0.137074
|
||||
vt 0.500000 0.750000
|
||||
vt -0.000000 0.500000
|
||||
vt 0.000000 0.750000
|
||||
vt 0.500000 0.750000
|
||||
vt -0.000000 0.500000
|
||||
vt 0.000000 0.750000
|
||||
vt 0.000000 0.250000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.500000 0.750000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.750000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.875000 0.812500
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.812500
|
||||
vt 0.875000 0.812500
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.812500
|
||||
vt 0.875000 0.625000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.875000 0.250000
|
||||
vt 0.875000 0.625000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.875000 0.250000
|
||||
vt 0.875000 0.625000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.875000 0.250000
|
||||
vt 0.875000 0.625000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.875000 0.250000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.875000 0.250000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.875000 0.812500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.875000 1.000000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.812500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.875000 1.000000
|
||||
vt 0.875000 0.812500
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.812500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.875000 1.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.875000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.500000 0.750000
|
||||
vt 0.000000 0.750000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.500000 0.500000
|
||||
vt 0.500000 0.500000
|
||||
vt -0.000000 0.000000
|
||||
vt 0.500000 0.500000
|
||||
vt 0.500000 0.000000
|
||||
vt 0.500000 0.500000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.875000 0.625000
|
||||
vt 0.875000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.875000 0.625000
|
||||
vt 0.875000 0.625000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.500000 0.500000
|
||||
vt 0.500000 0.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.250000 1.000000
|
||||
vt 0.250000 -0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.750000 1.000000
|
||||
vt 0.750000 0.000000
|
||||
vn -0.3842 0.8402 -0.3827
|
||||
vn 0.3847 0.8403 -0.3819
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -0.4713 0.7455 0.4713
|
||||
vn 0.3833 0.8403 -0.3833
|
||||
vn 0.0000 0.7482 0.6635
|
||||
vn 0.6635 0.7482 -0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn -0.4699 0.7455 0.4726
|
||||
vn -0.6979 0.6171 -0.3635
|
||||
vn -0.6635 0.7482 -0.0000
|
||||
vn 0.6979 0.6171 0.3635
|
||||
vn -0.0000 0.7482 -0.6635
|
||||
vn 0.3635 0.6171 -0.6979
|
||||
vn -0.3635 0.6171 0.6979
|
||||
vn -0.1925 0.7280 -0.6580
|
||||
vn 0.3833 0.8403 0.3833
|
||||
vn -0.6580 0.7280 -0.1925
|
||||
vn 0.1928 0.7276 -0.6584
|
||||
vn 0.0014 1.0000 0.0014
|
||||
vn -0.2680 0.6247 0.7334
|
||||
vn 0.6580 0.7280 -0.1925
|
||||
vn 0.3635 0.6171 0.6979
|
||||
vn 0.6979 0.6171 -0.3635
|
||||
vn -0.7337 0.6243 0.2683
|
||||
vn -0.6979 0.6171 0.3635
|
||||
vn -0.3635 0.6171 -0.6979
|
||||
vn -0.3827 0.8402 -0.3842
|
||||
vn 0.1925 0.7280 0.6580
|
||||
vn 0.6580 0.7280 0.1925
|
||||
vn -0.7071 0.0000 0.7071
|
||||
vn -0.7071 0.0000 -0.7071
|
||||
vn 0.7071 0.0000 -0.7071
|
||||
vn 0.7071 0.0000 0.7071
|
||||
g Cube_Cube_lotus
|
||||
usemtl lotus
|
||||
s off
|
||||
f 55/1/1 31/2/1 56/3/1
|
||||
f 52/4/2 32/5/2 51/6/2
|
||||
f 51/7/3 42/8/3 53/9/3
|
||||
f 41/10/4 2/11/4 42/12/4
|
||||
f 5/13/5 52/4/5 51/6/5
|
||||
f 45/14/6 12/15/6 46/16/6
|
||||
f 48/17/7 16/18/7 47/19/7
|
||||
f 24/20/8 25/21/8 23/22/8
|
||||
f 26/23/9 29/24/9 25/25/9
|
||||
f 30/26/10 27/27/10 29/28/10
|
||||
f 28/29/11 23/30/11 27/31/11
|
||||
f 26/23/3 28/32/3 30/33/3
|
||||
f 31/34/12 41/10/12 42/12/12
|
||||
f 43/35/13 18/36/13 20/37/13
|
||||
f 43/35/14 14/38/14 44/39/14
|
||||
f 48/17/15 12/40/15 11/41/15
|
||||
f 50/42/16 18/43/16 49/44/16
|
||||
f 50/42/17 16/45/17 22/46/17
|
||||
f 45/14/18 14/47/18 13/48/18
|
||||
f 55/1/19 32/49/19 8/50/19
|
||||
f 2/51/20 54/52/20 53/53/20
|
||||
f 54/52/20 5/54/20 53/53/20
|
||||
f 55/1/21 9/55/21 31/2/21
|
||||
f 52/4/22 6/56/22 32/5/22
|
||||
f 53/9/3 5/57/3 51/7/3
|
||||
f 51/7/23 32/5/23 31/58/23
|
||||
f 42/8/3 2/59/3 53/9/3
|
||||
f 51/7/23 31/58/23 42/8/23
|
||||
f 41/10/24 7/60/24 2/11/24
|
||||
f 5/13/25 10/61/25 52/4/25
|
||||
f 45/14/26 19/62/26 12/15/26
|
||||
f 48/17/27 15/63/27 16/18/27
|
||||
f 24/20/8 26/64/8 25/21/8
|
||||
f 26/23/9 30/65/9 29/24/9
|
||||
f 30/26/10 28/66/10 27/27/10
|
||||
f 28/29/11 24/67/11 23/30/11
|
||||
f 26/23/3 24/67/3 28/32/3
|
||||
f 31/34/28 3/68/28 41/10/28
|
||||
f 43/35/14 44/39/14 18/36/14
|
||||
f 43/35/29 21/69/29 14/38/29
|
||||
f 48/17/7 47/19/7 12/40/7
|
||||
f 50/42/30 17/70/30 18/43/30
|
||||
f 50/42/16 49/44/16 16/45/16
|
||||
f 45/14/6 46/16/6 14/47/6
|
||||
f 55/1/31 56/3/31 32/49/31
|
||||
f 2/51/32 1/71/32 54/52/32
|
||||
f 54/52/33 4/72/33 5/54/33
|
||||
g Cube_Cube_flies
|
||||
usemtl flies
|
||||
f 33/73/34 34/74/34 36/75/34 35/76/34
|
||||
f 35/76/35 36/75/35 40/77/35 39/78/35
|
||||
f 39/79/36 40/80/36 38/81/36 37/82/36
|
||||
f 37/82/37 38/81/37 34/74/37 33/73/37
|
|
@ -690,13 +690,7 @@ local skybox_defs = {
|
|||
fog_sun_tint = '#FDA47E',
|
||||
fog_moon_tint = '#FAE0EB'
|
||||
}
|
||||
},
|
||||
-- sun_parameters = {
|
||||
-- texture = 'everness_bamboo_forest_sun.png',
|
||||
-- scale = 1.57,
|
||||
-- tonemap = 'everness_bamboo_forest_sun_tonemap.png',
|
||||
-- sunrise = 'everness_bamboo_forest_sunrisebg.png',
|
||||
-- },
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
|
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 167 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 524 B |
After Width: | Height: | Size: 590 B |
After Width: | Height: | Size: 591 B |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 645 B |
After Width: | Height: | Size: 493 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 614 B |
After Width: | Height: | Size: 306 B |
After Width: | Height: | Size: 424 B |
After Width: | Height: | Size: 521 B |
After Width: | Height: | Size: 430 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 3.0 KiB |