Add mineral waters and bamboo biome fixes
32
api.lua
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
@ -212,6 +210,16 @@ Everness = {
|
|||
y_max = tonumber(minetest.settings:get('everness_forsaken_tundra_under_y_max')) or -256,
|
||||
y_min = tonumber(minetest.settings:get('everness_forsaken_tundra_under_y_min')) or -31000,
|
||||
},
|
||||
everness_mineral_waters = {
|
||||
enabled = minetest.settings:get_bool('everness_mineral_waters', true),
|
||||
y_max = tonumber(minetest.settings:get('everness_mineral_waters_y_max')) or 31000,
|
||||
y_min = tonumber(minetest.settings:get('everness_mineral_waters_y_min')) or 1,
|
||||
},
|
||||
everness_mineral_waters_under = {
|
||||
enabled = minetest.settings:get_bool('everness_mineral_waters_under', true),
|
||||
y_max = tonumber(minetest.settings:get('everness_mineral_waters_under_y_max')) or -256,
|
||||
y_min = tonumber(minetest.settings:get('everness_mineral_waters_under_y_min')) or -31000,
|
||||
},
|
||||
},
|
||||
features = {
|
||||
everness_feature_sneak_pickup = minetest.settings:get_bool('everness_feature_sneak_pickup', true),
|
||||
|
@ -922,14 +930,30 @@ end
|
|||
|
||||
-- 'can grow' function - copy from MTG
|
||||
|
||||
function Everness.can_grow(pos)
|
||||
function Everness.can_grow(pos, groups_under)
|
||||
local node_under = minetest.get_node_or_nil({ x = pos.x, y = pos.y - 1, z = pos.z })
|
||||
|
||||
if not node_under then
|
||||
return false
|
||||
end
|
||||
|
||||
if minetest.get_item_group(node_under.name, 'soil') == 0 then
|
||||
local _groups_under = groups_under
|
||||
|
||||
if not groups_under then
|
||||
_groups_under = { 'soil' }
|
||||
end
|
||||
|
||||
local has_fertile_under = false
|
||||
|
||||
-- Check is one of the `groups_under` are under the sapling
|
||||
for i, v in ipairs(_groups_under) do
|
||||
if minetest.get_item_group(node_under.name, v) > 0 then
|
||||
has_fertile_under = true
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if not has_fertile_under then
|
||||
return false
|
||||
end
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
-- how often node timers for plants will tick, +/- some random value
|
||||
|
|
|
@ -0,0 +1,222 @@
|
|||
--[[
|
||||
Authors of original source code
|
||||
----------------------
|
||||
Kahrl <kahrl@gmx.net> (LGPLv2.1+)
|
||||
celeron55, Perttu Ahola <celeron55@gmail.com> (LGPLv2.1+)
|
||||
Various Minetest developers and contributors (LGPLv2.1+)
|
||||
Everness. Never ending discovery in Everness mapgen.
|
||||
|
||||
Modified by:
|
||||
|
||||
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.
|
||||
--]]
|
||||
|
||||
-- Load support for MT game translation.
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'everness:bucket_empty 1',
|
||||
recipe = {
|
||||
{ 'everness:pyrite_ingot', '', 'everness:pyrite_ingot' },
|
||||
{ '', 'everness:pyrite_ingot', '' },
|
||||
}
|
||||
})
|
||||
|
||||
local bucket = {
|
||||
liquids = {}
|
||||
}
|
||||
|
||||
local function check_protection(pos, name, text)
|
||||
if minetest.is_protected(pos, name) then
|
||||
minetest.log('action', (name ~= '' and name or 'A mod')
|
||||
.. ' tried to ' .. text
|
||||
.. ' at protected position '
|
||||
.. minetest.pos_to_string(pos)
|
||||
.. ' with a bucket')
|
||||
minetest.record_protection_violation(pos, name)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- Register a new liquid
|
||||
-- source = name of the source node
|
||||
-- flowing = name of the flowing node
|
||||
-- itemname = name of the new bucket item (or nil if liquid is not takeable)
|
||||
-- inventory_image = texture of the new bucket item (ignored if itemname == nil)
|
||||
-- name = text description of the bucket item
|
||||
-- groups = (optional) groups of the bucket item, for example {water_bucket = 1}
|
||||
-- force_renew = (optional) bool. Force the liquid source to renew if it has a
|
||||
-- source neighbour, even if defined as 'liquid_renewable = false'.
|
||||
-- Needed to avoid creating holes in sloping rivers.
|
||||
-- This function can be called from any mod (that depends on bucket).
|
||||
function bucket.register_liquid(source, flowing, itemname, inventory_image, name,
|
||||
groups, force_renew)
|
||||
bucket.liquids[source] = {
|
||||
source = source,
|
||||
flowing = flowing,
|
||||
itemname = itemname,
|
||||
force_renew = force_renew,
|
||||
}
|
||||
bucket.liquids[flowing] = bucket.liquids[source]
|
||||
|
||||
if itemname ~= nil then
|
||||
minetest.register_craftitem(itemname, {
|
||||
description = name,
|
||||
inventory_image = inventory_image,
|
||||
stack_max = 1,
|
||||
liquids_pointable = true,
|
||||
groups = groups,
|
||||
wield_scale = { x = 2, y = 2, z = 1 },
|
||||
|
||||
on_place = function(itemstack, user, pointed_thing)
|
||||
-- Must be pointing to node
|
||||
if pointed_thing.type ~= 'node' then
|
||||
return
|
||||
end
|
||||
|
||||
local node = minetest.get_node_or_nil(pointed_thing.under)
|
||||
local ndef = node and minetest.registered_nodes[node.name]
|
||||
|
||||
-- Call on_rightclick if the pointed node defines it
|
||||
if ndef and ndef.on_rightclick and
|
||||
not (user and user:is_player() and
|
||||
user:get_player_control().sneak) then
|
||||
return ndef.on_rightclick(
|
||||
pointed_thing.under,
|
||||
node, user,
|
||||
itemstack)
|
||||
end
|
||||
|
||||
local lpos
|
||||
|
||||
-- Check if pointing to a buildable node
|
||||
if ndef and ndef.buildable_to then
|
||||
-- buildable; replace the node
|
||||
lpos = pointed_thing.under
|
||||
else
|
||||
-- not buildable to; place the liquid above
|
||||
-- check if the node above can be replaced
|
||||
|
||||
lpos = pointed_thing.above
|
||||
node = minetest.get_node_or_nil(lpos)
|
||||
local above_ndef = node and minetest.registered_nodes[node.name]
|
||||
|
||||
if not above_ndef or not above_ndef.buildable_to then
|
||||
-- do not remove the bucket with the liquid
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
|
||||
if check_protection(lpos, user
|
||||
and user:get_player_name()
|
||||
or '', 'place '..source) then
|
||||
return
|
||||
end
|
||||
|
||||
minetest.set_node(lpos, {name = source})
|
||||
return ItemStack('everness:bucket_empty')
|
||||
end
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_craftitem('everness:bucket_empty', {
|
||||
description = S('Empty Bucket'),
|
||||
inventory_image = 'everness_bucket_empty.png',
|
||||
groups = { tool = 1 },
|
||||
liquids_pointable = true,
|
||||
wield_scale = { x = 2, y = 2, z = 1 },
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
if pointed_thing.type == 'object' then
|
||||
pointed_thing.ref:punch(user, 1.0, { full_punch_interval=1.0 }, nil)
|
||||
return user:get_wielded_item()
|
||||
elseif pointed_thing.type ~= 'node' then
|
||||
-- do nothing if it's neither object nor node
|
||||
return
|
||||
end
|
||||
-- Check if pointing to a liquid source
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
local liquiddef = bucket.liquids[node.name]
|
||||
local item_count = user:get_wielded_item():get_count()
|
||||
|
||||
if liquiddef ~= nil
|
||||
and liquiddef.itemname ~= nil
|
||||
and node.name == liquiddef.source
|
||||
then
|
||||
if check_protection(pointed_thing.under,
|
||||
user:get_player_name(),
|
||||
'take '.. node.name) then
|
||||
return
|
||||
end
|
||||
|
||||
-- default set to return filled bucket
|
||||
local giving_back = liquiddef.itemname
|
||||
|
||||
-- check if holding more than 1 empty bucket
|
||||
if item_count > 1 then
|
||||
-- if space in inventory add filled bucked, otherwise drop as item
|
||||
local inv = user:get_inventory()
|
||||
|
||||
if inv:room_for_item('main', { name = liquiddef.itemname }) then
|
||||
inv:add_item('main', liquiddef.itemname)
|
||||
else
|
||||
local pos = user:get_pos()
|
||||
pos.y = math.floor(pos.y + 0.5)
|
||||
minetest.add_item(pos, liquiddef.itemname)
|
||||
end
|
||||
|
||||
-- set to return empty buckets minus 1
|
||||
giving_back = 'everness:bucket_empty '.. tostring(item_count - 1)
|
||||
end
|
||||
|
||||
-- force_renew requires a source neighbour
|
||||
local source_neighbor = false
|
||||
|
||||
if liquiddef.force_renew then
|
||||
source_neighbor = minetest.find_node_near(pointed_thing.under, 1, liquiddef.source)
|
||||
end
|
||||
|
||||
if not (source_neighbor and liquiddef.force_renew) then
|
||||
minetest.add_node(pointed_thing.under, { name = 'air' })
|
||||
end
|
||||
|
||||
return ItemStack(giving_back)
|
||||
else
|
||||
-- non-liquid nodes will have their on_punch triggered
|
||||
local node_def = minetest.registered_nodes[node.name]
|
||||
|
||||
if node_def then
|
||||
node_def.on_punch(pointed_thing.under, node, user, pointed_thing)
|
||||
end
|
||||
|
||||
return user:get_wielded_item()
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Mineral water source is 'liquid_renewable = false' to avoid horizontal spread
|
||||
-- of water sources in sloping rivers that can cause water to overflow
|
||||
-- riverbanks and cause floods.
|
||||
-- River water source is instead made renewable by the 'force renew' option
|
||||
-- used here.
|
||||
|
||||
bucket.register_liquid(
|
||||
'everness:mineral_water_source',
|
||||
'everness:mineral_water_flowing',
|
||||
'everness:bucket_mineral_water',
|
||||
'everness_bucket_mineral_water.png',
|
||||
S('Mineral') .. ' ' .. S('Water') .. ' ' .. S('Bucket'),
|
||||
{ tool = 1, water_bucket = 1 }
|
||||
)
|
67
crafting.lua
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -885,6 +883,71 @@ minetest.register_craft({
|
|||
recipe = 'everness:crystal_mossy_cobble',
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'cooking',
|
||||
output = 'everness:mineral_stone',
|
||||
recipe = 'everness:mineral_stone_cobble',
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'everness:mineral_stone_block 9',
|
||||
recipe = {
|
||||
{ 'everness:mineral_stone', 'everness:mineral_stone', 'everness:mineral_stone' },
|
||||
{ 'everness:mineral_stone', 'everness:mineral_stone', 'everness:mineral_stone' },
|
||||
{ 'everness:mineral_stone', 'everness:mineral_stone', 'everness:mineral_stone' },
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'everness:mineral_stone_brick 4',
|
||||
recipe = {
|
||||
{ 'everness:mineral_stone', 'everness:mineral_stone' },
|
||||
{ 'everness:mineral_stone', 'everness:mineral_stone' },
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'everness:mineral_sandstone',
|
||||
recipe = {
|
||||
{ 'everness:mineral_sand', 'everness:mineral_sand' },
|
||||
{ 'everness:mineral_sand', 'everness:mineral_sand' },
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'everness:mineral_sand 4',
|
||||
recipe = {
|
||||
{ 'everness:mineral_sandstone' },
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'everness:mineral_sandstone_block 9',
|
||||
recipe = {
|
||||
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone', 'everness:mineral_sandstone' },
|
||||
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone', 'everness:mineral_sandstone' },
|
||||
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone', 'everness:mineral_sandstone' },
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'everness:mineral_stone_brick_with_growth 3',
|
||||
recipe = {
|
||||
{ 'group:flora', 'group:flora', 'group:flora'},
|
||||
{ 'everness:mineral_stone_brick', 'everness:mineral_stone_brick', 'everness:mineral_stone_brick'},
|
||||
{ 'group:flora', 'group:flora', 'group:flora'},
|
||||
}
|
||||
})
|
||||
|
||||
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'},
|
||||
{ 'group:flower', 'group:flower', 'group:flower'},
|
||||
{ 'everness:mineral_stone_brick', 'everness:mineral_stone_brick', 'everness:mineral_stone_brick'}
|
||||
}
|
||||
})
|
||||
|
||||
--
|
||||
-- Saplings
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
@ -49,6 +47,13 @@ minetest.register_craftitem('everness:pyrite_lump', {
|
|||
inventory_image = 'everness_pyrite_lump.png'
|
||||
})
|
||||
|
||||
minetest.register_craftitem('everness:coconut_fruit', {
|
||||
description = S('Coconut'),
|
||||
inventory_image = 'everness_coconut_item.png',
|
||||
wield_scale = { x = 2, y = 2, z = 1 },
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
--
|
||||
-- Crafting recipes
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local SOUND_DEFS = {
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -238,6 +236,7 @@ Everness:register_leafdecay({
|
|||
'everness:willow_tree',
|
||||
'everness:sequoia_tree',
|
||||
'everness:mese_tree',
|
||||
'everness:palm_tree'
|
||||
},
|
||||
leaves = {
|
||||
'everness:coral_leaves',
|
||||
|
@ -245,7 +244,9 @@ Everness:register_leafdecay({
|
|||
'everness:willow_leaves',
|
||||
'everness:sequoia_leaves',
|
||||
'everness:mese_leaves',
|
||||
'everness:mese_tree_fruit'
|
||||
'everness:mese_tree_fruit',
|
||||
'everness:palm_leaves',
|
||||
'everness:coconut'
|
||||
},
|
||||
radius = 3
|
||||
})
|
||||
|
@ -272,10 +273,12 @@ Everness:register_leafdecay({
|
|||
|
||||
local moss_correspondences = {
|
||||
['everness:coral_desert_cobble'] = 'everness:coral_desert_mossy_cobble',
|
||||
['everness:crystal_cobble'] = 'everness:crystal_mossy_cobble',
|
||||
}
|
||||
|
||||
local moss_nodenames_correspondences = {
|
||||
'everness:coral_desert_cobble',
|
||||
'everness:crystal_cobble',
|
||||
}
|
||||
|
||||
if minetest.get_modpath('default') then
|
||||
|
|
12
init.lua
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
minetest = minetest.global_exists('minetest') and minetest --[[@as Minetest]]
|
||||
|
@ -38,6 +36,7 @@ dofile(path .. '/functions.lua')
|
|||
dofile(path .. '/trees.lua')
|
||||
dofile(path .. '/vines.lua')
|
||||
dofile(path .. '/chests.lua')
|
||||
dofile(path .. '/torches.lua')
|
||||
|
||||
dofile(path .. '/mapgen.lua')
|
||||
|
||||
|
@ -161,6 +160,14 @@ if Everness.settings.biomes.everness_frosted_icesheet.enabled then
|
|||
dofile(path .. '/mapgen_frosted_icesheet.lua')
|
||||
end
|
||||
|
||||
if Everness.settings.biomes.everness_mineral_waters.enabled then
|
||||
dofile(path .. '/mapgen_mineral_waters.lua')
|
||||
end
|
||||
|
||||
if Everness.settings.biomes.everness_mineral_waters_under.enabled then
|
||||
dofile(path .. '/mapgen_mineral_waters_under.lua')
|
||||
end
|
||||
|
||||
dofile(path .. '/mapgen_after.lua')
|
||||
|
||||
if minetest.get_modpath('xpanes') and minetest.global_exists('xpanes') then
|
||||
|
@ -188,6 +195,7 @@ if minetest.get_modpath('doors') and minetest.global_exists('doors') then
|
|||
dofile(path .. '/doors.lua')
|
||||
end
|
||||
|
||||
dofile(path .. '/buckets.lua')
|
||||
dofile(path .. '/tools.lua')
|
||||
dofile(path .. '/craftitems.lua')
|
||||
dofile(path .. '/crafting.lua')
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
minetest.register_lbm({
|
||||
|
@ -30,6 +28,7 @@ minetest.register_lbm({
|
|||
'everness:cursed_lands_deep_ocean_skull_marker',
|
||||
'everness:frosted_icesheet_igloo_marker',
|
||||
'everness:crystal_forest_deep_ocean_ruins_marker',
|
||||
'everness:mineral_waters_marker'
|
||||
},
|
||||
run_at_every_load = true,
|
||||
action = function(pos, node)
|
||||
|
@ -238,6 +237,27 @@ minetest.register_lbm({
|
|||
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', index, stack)
|
||||
end
|
||||
elseif node.name == 'everness:mineral_waters_marker' then
|
||||
--
|
||||
-- Mineral Waters
|
||||
--
|
||||
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)
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -99,7 +97,8 @@ local all_biomes_mese_tree_place_on = {
|
|||
'everness:frosted_ice_translucent',
|
||||
'everness:frosted_snowblock',
|
||||
'everness:sulfur_stone',
|
||||
'everness:volcanic_sulfur'
|
||||
'everness:volcanic_sulfur',
|
||||
'everness:mineral_waters'
|
||||
}
|
||||
|
||||
if minetest.get_modpath('default') then
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
-- Get the content IDs for the nodes used.
|
||||
|
@ -38,21 +36,27 @@ local c_frosted_ice = minetest.get_content_id('everness:frosted_ice')
|
|||
local data = {}
|
||||
local chance = 15
|
||||
local disp = 16
|
||||
local water_level = tonumber(minetest.settings:get('water_level'))
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, blockseed)
|
||||
local rand = PcgRandom(blockseed)
|
||||
|
||||
-- Load the voxelmanip with the result of engine mapgen
|
||||
local vm, emin, emax = minetest.get_mapgen_object('voxelmanip')
|
||||
-- '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)
|
||||
-- Side length of mapchunk
|
||||
local sidelength = maxp.x - minp.x + 1
|
||||
|
||||
local x_disp = rand:next(0, disp)
|
||||
local z_disp = rand:next(0, disp)
|
||||
|
||||
if maxp.y > 0 then
|
||||
if maxp.y >= water_level then
|
||||
-- Above sea level
|
||||
|
||||
for y = minp.y, maxp.y do
|
||||
local vi = area:index(minp.x + sidelength / 2 + x_disp, y, minp.z + sidelength / 2 + z_disp)
|
||||
|
||||
|
@ -265,9 +269,13 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
|
|||
end
|
||||
|
||||
vm:write_to_map(true)
|
||||
|
||||
-- @TODO
|
||||
-- Try below approach
|
||||
-- After modifying the Mapgen VoxelManip object's internal buffer, it may be necessary to update lighting information using either: `VoxelManip:calc_lighting()` or `VoxelManip:set_lighting()`
|
||||
minetest.fix_light(minp, maxp)
|
||||
else
|
||||
-- Under
|
||||
-- Under sea level
|
||||
for y = minp.y, maxp.y do
|
||||
local vi = area:index(minp.x + sidelength / 2 + x_disp, y, minp.z + sidelength / 2 + z_disp)
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -56,7 +54,7 @@ minetest.register_decoration({
|
|||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = minetest.get_modpath('everness') .. '/schematics/everness_small_bamboo.mts',
|
||||
flags = 'place_center_x, place_center_z',
|
||||
flags = 'place_center_x, place_center_z, force_placement',
|
||||
rotation = 'random',
|
||||
})
|
||||
|
||||
|
@ -70,7 +68,7 @@ minetest.register_decoration({
|
|||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = minetest.get_modpath('everness') .. '/schematics/everness_large_bamboo.mts',
|
||||
flags = 'place_center_x, place_center_z',
|
||||
flags = 'place_center_x, place_center_z, force_placement',
|
||||
rotation = 'random',
|
||||
})
|
||||
|
||||
|
@ -253,48 +251,77 @@ register_flower_magenta_decoration(0.015, 0.045, 1)
|
|||
-- On Generated
|
||||
--
|
||||
|
||||
local data = {}
|
||||
local p2data = {}
|
||||
|
||||
local c_everness_bamboo_3 = minetest.get_content_id('everness:bamboo_3')
|
||||
local c_everness_bamboo_4 = minetest.get_content_id('everness:bamboo_4')
|
||||
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.register_on_generated(function(minp, maxp, blockseed)
|
||||
if maxp.y > 0 then
|
||||
-- Load the voxelmanip with the result of engine mapgen
|
||||
local vm, emin, emax = minetest.get_mapgen_object('voxelmanip')
|
||||
-- '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 gennotify = minetest.get_mapgen_object('gennotify')
|
||||
|
||||
--
|
||||
-- Bamboo
|
||||
--
|
||||
local bamboos_pos = minetest.find_nodes_in_area_under_air(minp, maxp, 'everness:bamboo_3')
|
||||
|
||||
for _, pos in ipairs(bamboos_pos) do
|
||||
local node_below = minetest.get_node(vector.new(pos.x, pos.y - 1, pos.z))
|
||||
|
||||
-- get height of the generated bamboo
|
||||
for _, pos in ipairs(gennotify['decoration#' .. d_everness_bamboo_forest_large_bamboo] or {}) do
|
||||
-- For bamboo large this is position of the 'place_on' node, e.g. 'everness:dirt_with_grass_extras_2'
|
||||
local vi = area:indexp(pos)
|
||||
local while_counter = 1
|
||||
local bamboo_height = 0
|
||||
local height_offset = 1
|
||||
local bamboo_below = node_below
|
||||
local last_vi = vi + area.ystride * while_counter
|
||||
|
||||
while minetest.get_item_group(bamboo_below.name, 'bamboo') > 0 do
|
||||
if bamboo_height > 1 then
|
||||
bamboo_below = minetest.get_node(vector.new(pos.x, pos.y - height_offset, pos.z))
|
||||
end
|
||||
|
||||
height_offset = height_offset + 1
|
||||
-- Get bamboo height
|
||||
while data[last_vi] == c_everness_bamboo_3 do
|
||||
last_vi = vi + area.ystride * while_counter
|
||||
bamboo_height = bamboo_height + 1
|
||||
while_counter = while_counter + 1
|
||||
end
|
||||
|
||||
-- add top bamboo nodes with leaves based on their generated heigth
|
||||
-- Back up the last from `while_counter`
|
||||
last_vi = last_vi - area.ystride
|
||||
|
||||
-- Add top bamboo nodes with leaves based on their generated height
|
||||
if bamboo_height > 4 then
|
||||
for i = 1, 3 do
|
||||
local node_name = 'everness:bamboo_4'
|
||||
|
||||
if i == 2 and bamboo_height > 4 then
|
||||
node_name = 'everness:bamboo_5'
|
||||
elseif i == 3 then
|
||||
node_name = 'everness:bamboo_5'
|
||||
if i == 1 then
|
||||
data[last_vi + area.ystride * i] = c_everness_bamboo_4
|
||||
else
|
||||
data[last_vi + area.ystride * i] = c_everness_bamboo_5
|
||||
end
|
||||
|
||||
minetest.swap_node(
|
||||
vector.new(pos.x, pos.y + (i - 1), pos.z),
|
||||
{
|
||||
name = node_name,
|
||||
param2 = node_below.param2
|
||||
}
|
||||
)
|
||||
p2data[last_vi + area.ystride * i] = p2data[vi + area.ystride]
|
||||
end
|
||||
else
|
||||
for i = 1, 2 do
|
||||
if i == 1 then
|
||||
data[last_vi + area.ystride * i] = c_everness_bamboo_4
|
||||
else
|
||||
data[last_vi + area.ystride * i] = c_everness_bamboo_5
|
||||
end
|
||||
|
||||
p2data[last_vi + area.ystride * i] = p2data[vi + area.ystride]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
vm:set_data(data)
|
||||
vm:set_param2_data(p2data)
|
||||
-- Calculate lighting for what has been created.
|
||||
vm:calc_lighting()
|
||||
-- Write what has been created to the world.
|
||||
vm:write_to_map()
|
||||
end)
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -27,7 +25,7 @@ local y_min = Everness.settings.biomes.everness_bamboo_forest_under.y_min
|
|||
|
||||
minetest.register_biome({
|
||||
name = 'everness_bamboo_forest_under',
|
||||
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
|
||||
node_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
|
||||
node_dungeon = 'everness:bamboo_wood',
|
||||
node_dungeon_alt = 'everness:bamboo_mosaic_wood',
|
||||
node_dungeon_stair = 'stairs:stair_bamboo_wood',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -33,7 +31,7 @@ minetest.register_biome({
|
|||
depth_filler = 3,
|
||||
node_riverbed = 'everness:coral_forest_deep_ocean_sand',
|
||||
depth_riverbed = 2,
|
||||
node_cave_liquid = 'default:water_source',
|
||||
node_cave_liquid = 'mapgen_water_source',
|
||||
node_dungeon = 'everness:coral_deep_ocean_sandstone_block',
|
||||
node_dungeon_alt = 'everness:coral_deep_ocean_sandstone_brick',
|
||||
node_dungeon_stair = 'stairs:stair_coral_deep_ocean_sandstone_block',
|
||||
|
@ -78,7 +76,7 @@ minetest.register_decoration({
|
|||
name = 'everness:coral_forest_deep_ocean_coral_reef_pink',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:coral_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
|
@ -100,7 +98,7 @@ minetest.register_decoration({
|
|||
name = 'everness:coral_forest_deep_ocean_coral_reef_cyan',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:coral_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
|
@ -122,7 +120,7 @@ minetest.register_decoration({
|
|||
name = 'everness:coral_forest_deep_ocean_coral_reef_green',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:coral_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
|
@ -144,7 +142,7 @@ minetest.register_decoration({
|
|||
name = 'everness:coral_forest_deep_ocean_coral_reef_red',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:coral_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
|
@ -166,7 +164,7 @@ minetest.register_decoration({
|
|||
name = 'everness:everness_coral_forest_deep_ocean_pink',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:coral_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002,
|
||||
|
@ -181,7 +179,7 @@ minetest.register_decoration({
|
|||
name = 'everness:everness_coral_forest_deep_ocean_cyan',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:coral_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002,
|
||||
|
@ -196,7 +194,7 @@ minetest.register_decoration({
|
|||
name = 'everness:everness_coral_forest_deep_ocean_green',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:coral_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002,
|
||||
|
@ -211,7 +209,7 @@ minetest.register_decoration({
|
|||
name = 'everness:everness_coral_forest_deep_ocean_red',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:coral_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002,
|
||||
|
@ -234,7 +232,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:coral_deep_ocean_mud' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
@ -257,7 +255,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:coral_forest_deep_ocean_coral_plant_1' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
@ -280,7 +278,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:coral_forest_deep_ocean_coral_plant_2' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
@ -303,7 +301,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:coral_forest_deep_ocean_coral_plant_3' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -34,7 +32,7 @@ minetest.register_biome({
|
|||
node_riverbed = 'everness:coral_white_sand',
|
||||
depth_riverbed = 2,
|
||||
node_stone = 'everness:coral_desert_stone',
|
||||
node_cave_liquid = 'default:water_source',
|
||||
node_cave_liquid = 'mapgen_water_source',
|
||||
node_dungeon = 'everness:coral_desert_cobble',
|
||||
node_dungeon_alt = 'everness:coral_desert_mossy_cobble',
|
||||
node_dungeon_stair = 'stairs:stair_coral_desert_cobble',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -27,7 +25,7 @@ local y_min = Everness.settings.biomes.everness_coral_forest_under.y_min
|
|||
|
||||
minetest.register_biome({
|
||||
name = 'everness_coral_forest_under',
|
||||
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
|
||||
node_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
|
||||
node_dungeon = 'everness:coral_desert_cobble',
|
||||
node_dungeon_alt = 'everness:coral_desert_mossy_cobble',
|
||||
node_dungeon_stair = 'stairs:stair_coral_desert_cobble',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -33,7 +31,7 @@ minetest.register_biome({
|
|||
depth_filler = 3,
|
||||
node_riverbed = 'everness:crystal_forest_deep_ocean_sand',
|
||||
depth_riverbed = 2,
|
||||
node_cave_liquid = 'default:water_source',
|
||||
node_cave_liquid = 'mapgen_water_source',
|
||||
node_dungeon = 'everness:crystal_forest_deep_ocean_sandstone_block',
|
||||
node_dungeon_alt = 'everness:crystal_forest_deep_ocean_sandstone_brick',
|
||||
node_dungeon_stair = 'stairs:stair_crystal_forest_deep_ocean_sandstone_block',
|
||||
|
@ -51,7 +49,7 @@ minetest.register_decoration({
|
|||
name = 'everness:crystal_forest_deep_ocean_coral_1',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:crystal_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.003,
|
||||
|
@ -66,7 +64,7 @@ minetest.register_decoration({
|
|||
name = 'everness:crystal_forest_deep_ocean_coral_2',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:crystal_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.003,
|
||||
|
@ -81,7 +79,7 @@ minetest.register_decoration({
|
|||
name = 'everness:crystal_forest_deep_ocean_coral_3',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:crystal_forest_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.003,
|
||||
|
@ -104,7 +102,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:crystal_forest_deep_ocean_sand_with_crack' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
@ -127,7 +125,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:crystal_forest_deep_ocean_coral_plant_1' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
@ -150,7 +148,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:crystal_forest_deep_ocean_coral_plant_2' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
@ -173,7 +171,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:crystal_forest_deep_ocean_coral_plant_3' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -34,7 +32,7 @@ minetest.register_biome({
|
|||
node_riverbed = 'everness:crystal_sand',
|
||||
depth_riverbed = 2,
|
||||
node_stone = 'everness:crystal_stone',
|
||||
node_cave_liquid = 'default:water_source',
|
||||
node_cave_liquid = 'mapgen_water_source',
|
||||
node_dungeon = 'everness:crystal_cobble',
|
||||
node_dungeon_alt = 'everness:crystal_mossy_cobble',
|
||||
node_dungeon_stair = 'stairs:stair_crystal_cobble',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -34,7 +32,7 @@ minetest.register_biome({
|
|||
node_riverbed = 'everness:crystal_sand',
|
||||
depth_riverbed = 2,
|
||||
node_stone = 'everness:crystal_stone',
|
||||
node_cave_liquid = 'default:water_source',
|
||||
node_cave_liquid = 'mapgen_water_source',
|
||||
node_dungeon = 'everness:crystal_cobble',
|
||||
node_dungeon_alt = 'everness:crystal_mossy_cobble',
|
||||
node_dungeon_stair = 'stairs:stair_crystal_cobble',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -27,7 +25,7 @@ local y_min = Everness.settings.biomes.everness_crystal_forest_under.y_min
|
|||
|
||||
minetest.register_biome({
|
||||
name = 'everness_crystal_forest_under',
|
||||
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
|
||||
node_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
|
||||
node_dungeon = 'everness:crystal_cobble',
|
||||
node_dungeon_alt = 'everness:crystal_mossy_cobble',
|
||||
node_dungeon_stair = 'stairs:stair_crystal_cobble',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -33,7 +31,7 @@ minetest.register_biome({
|
|||
depth_filler = 3,
|
||||
node_riverbed = 'everness:cursed_lands_deep_ocean_sand',
|
||||
depth_riverbed = 2,
|
||||
node_cave_liquid = 'default:water_source',
|
||||
node_cave_liquid = 'mapgen_water_source',
|
||||
node_dungeon = 'everness:cursed_lands_deep_ocean_sandstone_block',
|
||||
node_dungeon_alt = 'everness:cursed_lands_deep_ocean_sandstone_brick',
|
||||
node_dungeon_stair = 'stairs:stair_cursed_lands_deep_ocean_sandstone_block',
|
||||
|
@ -51,7 +49,7 @@ minetest.register_decoration({
|
|||
name = 'everness:forsaken_lands_deep_ocean_coral_alcyonacea',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:cursed_lands_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002,
|
||||
|
@ -66,7 +64,7 @@ minetest.register_decoration({
|
|||
name = 'everness:forsaken_lands_deep_ocean_coral_ostracod',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:cursed_lands_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002,
|
||||
|
@ -81,7 +79,7 @@ minetest.register_decoration({
|
|||
name = 'everness:forsaken_lands_deep_ocean_coral_octocurse',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:cursed_lands_deep_ocean_sand' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002,
|
||||
|
@ -104,7 +102,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:cursed_lands_deep_ocean_sand_with_crack' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
@ -127,7 +125,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:cursed_lands_deep_ocean_coral_plant_anemone' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
@ -150,7 +148,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:cursed_lands_deep_ocean_coral_plant_darkilluma' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
@ -173,7 +171,7 @@ minetest.register_decoration({
|
|||
y_min = y_min,
|
||||
flags = 'force_placement',
|
||||
decoration = { 'everness:cursed_lands_deep_ocean_coral_plant_demon' },
|
||||
spawn_by = 'default:water_source',
|
||||
spawn_by = 'mapgen_water_source',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -34,7 +32,7 @@ minetest.register_biome({
|
|||
node_riverbed = 'everness:cursed_stone',
|
||||
depth_riverbed = 2,
|
||||
node_stone = 'everness:cursed_stone_carved',
|
||||
node_cave_liquid = 'default:water_source',
|
||||
node_cave_liquid = 'mapgen_water_source',
|
||||
node_dungeon = 'everness:cursed_lands_deep_ocean_sandstone_block',
|
||||
node_dungeon_alt = 'everness:cursed_lands_deep_ocean_sandstone_brick',
|
||||
node_dungeon_stair = 'stairs:stair_cursed_lands_deep_ocean_sandstone_block',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -27,7 +25,7 @@ local y_min = Everness.settings.biomes.everness_cursed_lands_under.y_min
|
|||
|
||||
minetest.register_biome({
|
||||
name = 'everness_cursed_lands_under',
|
||||
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
|
||||
node_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
|
||||
node_dungeon = 'everness:cursed_brick',
|
||||
node_dungeon_alt = 'everness:cursed_brick_with_growth',
|
||||
node_dungeon_stair = 'stairs:stair_cursed_brick',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -27,7 +25,7 @@ local y_min = Everness.settings.biomes.everness_forsaken_desert_under.y_min
|
|||
|
||||
minetest.register_biome({
|
||||
name = 'everness_forsaken_desert_under',
|
||||
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
|
||||
node_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
|
||||
node_dungeon = 'default:cobble',
|
||||
node_dungeon_alt = 'default:mossycobble',
|
||||
node_dungeon_stair = 'stairs:stair_cobble',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -34,7 +32,7 @@ minetest.register_biome({
|
|||
depth_filler = 3,
|
||||
node_riverbed = 'everness:forsaken_tundra_beach_sand',
|
||||
depth_riverbed = 2,
|
||||
node_cave_liquid = 'default:water_source',
|
||||
node_cave_liquid = 'mapgen_water_source',
|
||||
node_dungeon = 'everness:forsaken_tundra_cobble',
|
||||
node_dungeon_alt = 'everness:forsaken_tundra_brick',
|
||||
node_dungeon_stair = 'stairs:stair_forsaken_tundra_cobble',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -27,7 +25,7 @@ local y_min = Everness.settings.biomes.everness_forsaken_tundra_under.y_min
|
|||
|
||||
minetest.register_biome({
|
||||
name = 'everness_forsaken_tundra_under',
|
||||
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
|
||||
node_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
|
||||
node_dungeon = 'everness:forsaken_tundra_cobble',
|
||||
node_dungeon_alt = 'everness:forsaken_tundra_brick',
|
||||
node_dungeon_stair = 'stairs:stair_forsaken_tundra_cobble',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -33,7 +31,7 @@ minetest.register_biome({
|
|||
depth_filler = 3,
|
||||
node_water_top = 'everness:frosted_ice',
|
||||
depth_water_top = 2,
|
||||
node_cave_liquid = 'default:water_source',
|
||||
node_cave_liquid = 'mapgen_water_source',
|
||||
node_dungeon = 'everness:icecobble',
|
||||
node_dungeon_alt = 'everness:snowcobble',
|
||||
node_dungeon_stair = 'stairs:stair_ice',
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -27,7 +25,7 @@ local y_min = Everness.settings.biomes.everness_frosted_icesheet_under.y_min
|
|||
|
||||
minetest.register_biome({
|
||||
name = 'everness_frosted_icesheet_under',
|
||||
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
|
||||
node_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
|
||||
node_dungeon = 'everness:icecobble',
|
||||
node_dungeon_alt = 'everness:snowcobble',
|
||||
node_dungeon_stair = 'stairs:stair_ice',
|
||||
|
|
|
@ -0,0 +1,465 @@
|
|||
--[[
|
||||
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.
|
||||
|
||||
--]]
|
||||
|
||||
--
|
||||
-- Register biomes
|
||||
--
|
||||
|
||||
local y_max = Everness.settings.biomes.everness_mineral_waters.y_max
|
||||
local y_min = Everness.settings.biomes.everness_mineral_waters.y_min
|
||||
|
||||
-- Mineral Waters
|
||||
|
||||
minetest.register_biome({
|
||||
name = 'everness_mineral_waters',
|
||||
node_top = 'everness:mineral_sand',
|
||||
depth_top = 1,
|
||||
node_filler = 'everness:mineral_stone',
|
||||
depth_filler = 1,
|
||||
node_stone = 'everness:mineral_stone',
|
||||
node_riverbed = 'everness:mineral_sand',
|
||||
depth_riverbed = 2,
|
||||
node_dungeon = 'everness:mineral_stone_brick',
|
||||
node_dungeon_alt = 'everness:mineral_stone_brick_with_growth',
|
||||
node_dungeon_stair = 'stairs:stair_bamboo_wood',
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
vertical_blend = 4,
|
||||
heat_point = 78,
|
||||
humidity_point = 58,
|
||||
})
|
||||
|
||||
--
|
||||
-- Register decorations
|
||||
--
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:palm_tree_1',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:mineral_sand' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.02,
|
||||
spread = { x = 200, y = 200, z = 200 },
|
||||
seed = 329,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
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,
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:palm_tree_2',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:mineral_sand' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.02,
|
||||
spread = { x = 200, y = 200, z = 200 },
|
||||
seed = 329,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
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,
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:water_geyser',
|
||||
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,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
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'
|
||||
},
|
||||
num_spawn_by = 1,
|
||||
check_offset = -1,
|
||||
})
|
||||
|
||||
--
|
||||
-- ABM
|
||||
--
|
||||
|
||||
minetest.register_abm({
|
||||
label = 'everness:water_geyser',
|
||||
nodenames = { 'everness:water_geyser' },
|
||||
interval = 16,
|
||||
chance = 16,
|
||||
catch_up = false,
|
||||
action = function(pos, node)
|
||||
minetest.swap_node(pos, { name = 'everness:water_geyser_active' })
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
end
|
||||
})
|
||||
|
||||
--
|
||||
-- On Generated
|
||||
--
|
||||
|
||||
-- Get the content IDs for the nodes used
|
||||
local c_everness_mineral_water_source = minetest.get_content_id('everness:mineral_water_source')
|
||||
local c_everness_mineral_stone = minetest.get_content_id('everness:mineral_stone')
|
||||
local c_everness_mineral_stone_brick = minetest.get_content_id('everness:mineral_stone_brick')
|
||||
local c_everness_mineral_stone_brick_with_growth = minetest.get_content_id('everness:mineral_stone_brick_with_growth')
|
||||
local c_everness_mineral_stone_brick_with_flower_growth = minetest.get_content_id('everness:mineral_stone_brick_with_flower_growth')
|
||||
local c_everness_mineral_sand = minetest.get_content_id('everness:mineral_sand')
|
||||
local c_everness_mineral_sandstone = minetest.get_content_id('everness:mineral_sandstone')
|
||||
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 pool_build_nodes = {
|
||||
{
|
||||
c_everness_mineral_stone,
|
||||
c_everness_mineral_stone_brick,
|
||||
c_everness_mineral_stone_brick_with_growth,
|
||||
c_everness_mineral_stone_brick_with_flower_growth
|
||||
},
|
||||
{
|
||||
c_everness_mineral_sandstone,
|
||||
c_everness_mineral_sandstone_block
|
||||
}
|
||||
}
|
||||
|
||||
-- Localize data buffer table outside the loop, to be re-used for all
|
||||
-- mapchunks, therefore minimising memory use
|
||||
local data = {}
|
||||
local water_level = tonumber(minetest.settings:get('water_level'))
|
||||
|
||||
local function find_irecursive(table, c_id)
|
||||
local found = false
|
||||
|
||||
for i, v in ipairs(table) do
|
||||
if type(v) == 'table' then
|
||||
find_irecursive(v, c_id)
|
||||
end
|
||||
|
||||
if c_id == v then
|
||||
found = true
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
return found
|
||||
end
|
||||
|
||||
-- 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')
|
||||
-- '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 >= water_level then
|
||||
-- Above sea level
|
||||
local rand_version = rand:next(1, 2)
|
||||
|
||||
if rand_version == 1 then
|
||||
for y = minp.y, maxp.y do
|
||||
local precision_perc = 75
|
||||
|
||||
for z = minp.z, maxp.z do
|
||||
for x = minp.x, maxp.x do
|
||||
local ai = area:index(x, y, z)
|
||||
local node_name = minetest.get_name_from_content_id(data[ai])
|
||||
local node_def = minetest.registered_nodes[node_name]
|
||||
local position = area:position(ai)
|
||||
local biome_data = minetest.get_biome_data(position)
|
||||
|
||||
if not biome_data then
|
||||
return
|
||||
end
|
||||
|
||||
local biome_name = minetest.get_biome_name(biome_data.biome)
|
||||
|
||||
if not biome_name then
|
||||
return
|
||||
end
|
||||
|
||||
if
|
||||
data[ai + area.ystride] == minetest.CONTENT_AIR
|
||||
and node_def
|
||||
and node_def.walkable
|
||||
and biome_name == 'everness_mineral_waters'
|
||||
then
|
||||
local length = 5 + rand:next(0, 10)
|
||||
local width = 5 + rand:next(0, 10)
|
||||
local height = 3 + rand:next(0, 4)
|
||||
local walkable_nodes = {}
|
||||
|
||||
-- find space for lake (walkable rectangle)
|
||||
-- for hi = 1, height do
|
||||
for li = 1, length do
|
||||
for wi = 1, width do
|
||||
local p = vector.new(position.x + li, position.y, position.z + wi)
|
||||
-- local p_above = vector.new(position.x + li, position.y + 1, position.z + wi)
|
||||
local n_name = minetest.get_name_from_content_id(data[area:indexp(p)])
|
||||
-- local n_name_above = minetest.get_name_from_content_id(data[area:indexp(p_above)])
|
||||
local n_def = minetest.registered_nodes[n_name]
|
||||
local b_data = minetest.get_biome_data(p)
|
||||
|
||||
if not b_data then
|
||||
return
|
||||
end
|
||||
|
||||
local b_name = minetest.get_biome_name(b_data.biome)
|
||||
|
||||
if not b_name then
|
||||
return
|
||||
end
|
||||
|
||||
if b_name ~= 'everness_mineral_waters'
|
||||
or minetest.get_item_group(n_name, 'tree') > 0
|
||||
or minetest.get_item_group(n_name, 'leaves') > 0
|
||||
then
|
||||
-- bordering with anohter biome, be more precise in placing
|
||||
precision_perc = 100
|
||||
end
|
||||
|
||||
if n_def
|
||||
and n_def.walkable
|
||||
and b_name == 'everness_mineral_waters'
|
||||
-- and n_name_above == 'air'
|
||||
and minetest.get_item_group(n_name, 'tree') == 0
|
||||
and minetest.get_item_group(n_name, 'leaves') == 0
|
||||
then
|
||||
table.insert(walkable_nodes, p)
|
||||
end
|
||||
end
|
||||
end
|
||||
-- end
|
||||
|
||||
-- build pool (cuboid)
|
||||
local pool_build_nodes_group = pool_build_nodes[rand:next(1, #pool_build_nodes)]
|
||||
|
||||
if #walkable_nodes >= (width * length / 100) * precision_perc then
|
||||
-- offset y so the pools are sticking out / sinking in from the ground
|
||||
local pos_offset = vector.new(position)
|
||||
pos_offset.y = (position.y - height) + rand:next(0, math.ceil(height / 2))
|
||||
|
||||
for hi = 1, height do
|
||||
for li = 1, length do
|
||||
for wi = 1, width do
|
||||
local mineral_stone = pool_build_nodes_group[rand:next(1, #pool_build_nodes_group)]
|
||||
local p_offset = vector.new(position.x + li, pos_offset.y + hi, position.z + wi)
|
||||
local current_c_id = data[area:indexp(p_offset)]
|
||||
|
||||
-- Check for water and build nodes before replacing, this will make pools connected and will not replace already built walls from another pool near by
|
||||
if hi == 1
|
||||
and current_c_id ~= c_everness_mineral_water_source
|
||||
and not find_irecursive(pool_build_nodes, current_c_id)
|
||||
then
|
||||
-- build pool floor
|
||||
data[area:indexp(p_offset)] = mineral_stone
|
||||
elseif hi ~= 1
|
||||
and (wi == 1 or wi == width)
|
||||
and current_c_id ~= c_everness_mineral_water_source
|
||||
and not find_irecursive(pool_build_nodes, current_c_id)
|
||||
then
|
||||
-- build pool wall
|
||||
data[area:indexp(p_offset)] = mineral_stone
|
||||
elseif hi ~= 1
|
||||
and (li == 1 or li == length)
|
||||
and (wi ~= 1 or wi ~= width)
|
||||
and current_c_id ~= c_everness_mineral_water_source
|
||||
and not find_irecursive(pool_build_nodes, current_c_id)
|
||||
then
|
||||
-- build pool wall
|
||||
data[area:indexp(p_offset)] = mineral_stone
|
||||
else
|
||||
-- fill in the pool with water
|
||||
data[area:indexp(p_offset)] = c_everness_mineral_water_source
|
||||
end
|
||||
|
||||
-- place loot chest marker in the middle of the pool floor
|
||||
if hi == 2
|
||||
and height > 4
|
||||
and math.ceil(length / 2) == li
|
||||
and math.ceil(width / 2) == wi
|
||||
and data[area:indexp(p_offset) - area.ystride] ~= c_everness_mineral_water_source
|
||||
and rand:next(0, 100) < 3
|
||||
then
|
||||
data[area:indexp(p_offset)] = c_everness_mineral_waters_marker
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif rand_version == 2 then
|
||||
for z = minp.z, maxp.z do
|
||||
for y = minp.y, maxp.y do
|
||||
for x = minp.x, maxp.x do
|
||||
local ai = area:index(x, y, z)
|
||||
local c_current = data[ai]
|
||||
|
||||
-- +Y, -Y, +X, -X, +Z, -Z
|
||||
-- top, bottom, right, left, front, back
|
||||
-- above
|
||||
-- local c_above = data[ai + area.ystride]
|
||||
-- below
|
||||
-- local c_below = data[ai - area.ystride]
|
||||
-- right
|
||||
local c_right = data[ai + 1]
|
||||
-- left
|
||||
local c_left = data[ai - 1]
|
||||
-- front
|
||||
local c_front = data[ai + (area.zstride * 2)]
|
||||
-- back
|
||||
local c_back = data[ai - (area.zstride * 2)]
|
||||
|
||||
local keep_going = true
|
||||
local while_count = 1
|
||||
local max_dig_depth = 11
|
||||
|
||||
if
|
||||
c_current == c_everness_mineral_sand
|
||||
and (
|
||||
c_right == c_everness_mineral_sand
|
||||
or c_right == c_everness_mineral_water_source
|
||||
or c_right == c_everness_mineral_stone
|
||||
)
|
||||
and (
|
||||
c_left == c_everness_mineral_sand
|
||||
or c_left == c_everness_mineral_water_source
|
||||
or c_left == c_everness_mineral_stone
|
||||
)
|
||||
and (
|
||||
c_front == c_everness_mineral_sand
|
||||
or c_front == c_everness_mineral_water_source
|
||||
or c_front == c_everness_mineral_stone
|
||||
)
|
||||
and (
|
||||
c_back == c_everness_mineral_sand
|
||||
or c_back == c_everness_mineral_water_source
|
||||
or c_back == c_everness_mineral_stone
|
||||
)
|
||||
then
|
||||
-- dig below
|
||||
while keep_going and while_count < max_dig_depth do
|
||||
local while_index = ai - area.ystride * while_count
|
||||
|
||||
if
|
||||
-- below
|
||||
data[while_index] == c_everness_mineral_stone
|
||||
and (
|
||||
-- right
|
||||
data[while_index + 1 + area.ystride] == c_everness_mineral_sand
|
||||
or data[while_index + 1 + area.ystride] == c_everness_mineral_water_source
|
||||
or data[while_index + 1 + area.ystride] == c_everness_mineral_stone
|
||||
)
|
||||
and (
|
||||
-- left
|
||||
data[while_index - 1 + area.ystride] == c_everness_mineral_sand
|
||||
or data[while_index - 1 + area.ystride] == c_everness_mineral_water_source
|
||||
or data[while_index - 1 + area.ystride] == c_everness_mineral_stone
|
||||
)
|
||||
and (
|
||||
-- front
|
||||
data[while_index + area.zstride + area.ystride] == c_everness_mineral_sand
|
||||
or data[while_index + area.zstride + area.ystride] == c_everness_mineral_water_source
|
||||
or data[while_index + area.zstride + area.ystride] == c_everness_mineral_stone
|
||||
)
|
||||
and (
|
||||
-- back
|
||||
data[while_index - area.zstride + area.ystride] == c_everness_mineral_sand
|
||||
or data[while_index - area.zstride + area.ystride] == c_everness_mineral_water_source
|
||||
or data[while_index - area.zstride + area.ystride] == c_everness_mineral_stone
|
||||
)
|
||||
then
|
||||
data[while_index + area.ystride] = c_everness_mineral_water_source
|
||||
else
|
||||
keep_going = false
|
||||
end
|
||||
|
||||
while_count = while_count + 1
|
||||
end
|
||||
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)
|
||||
-- Calculate lighting for what has been created.
|
||||
vm:calc_lighting()
|
||||
-- Liquid nodes were placed so set them flowing.
|
||||
vm:update_liquids()
|
||||
-- Write what has been created to the world.
|
||||
vm:write_to_map()
|
||||
end
|
||||
|
||||
-- Print generation time of this mapchunk.
|
||||
-- local chugent = math.ceil((os.clock() - t0) * 1000)
|
||||
-- print('[lvm_example] Mapchunk generation time ' .. chugent .. ' ms')
|
||||
end)
|
|
@ -0,0 +1,72 @@
|
|||
--[[
|
||||
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.
|
||||
|
||||
--]]
|
||||
|
||||
--
|
||||
-- Register biomes
|
||||
--
|
||||
|
||||
local y_max = Everness.settings.biomes.everness_mineral_waters_under.y_max
|
||||
local y_min = Everness.settings.biomes.everness_mineral_waters_under.y_min
|
||||
|
||||
-- Mineral Waters
|
||||
|
||||
minetest.register_biome({
|
||||
name = 'everness_mineral_waters_under',
|
||||
node_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
|
||||
node_dungeon = 'everness:mineral_stone_brick',
|
||||
node_dungeon_alt = 'everness:mineral_stone_brick_with_growth',
|
||||
node_dungeon_stair = 'stairs:stair_bamboo_wood',
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
heat_point = 78,
|
||||
humidity_point = 58,
|
||||
})
|
||||
|
||||
--
|
||||
-- Ores
|
||||
--
|
||||
|
||||
-- Blob ore.
|
||||
-- These before scatter ores to avoid other ores in blobs.
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'blob',
|
||||
ore = 'everness:mineral_stone',
|
||||
wherein = {'default:stone'},
|
||||
clust_scarcity = 16 * 16 * 16,
|
||||
clust_size = 5,
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
noise_threshold = 0.0,
|
||||
noise_params = {
|
||||
offset = 0.5,
|
||||
scale = 0.2,
|
||||
spread = { x = 5, y = 5, z = 5 },
|
||||
seed = 766,
|
||||
octaves = 1,
|
||||
persist = 0.0
|
||||
}
|
||||
})
|
||||
|
||||
--
|
||||
-- Register decorations
|
||||
--
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- On Generated
|
||||
--
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
minetest.register_alias('default:water_source', 'mcl_core:water_source')
|
||||
minetest.register_alias('mapgen_water_source', 'mcl_core:water_source')
|
||||
minetest.register_alias('default:dirt_with_rainforest_litter', 'mcl_core:dirt_with_grass')
|
||||
minetest.register_alias('default:dirt_with_snow', 'mcl_core:dirt_with_grass_snow')
|
||||
minetest.register_alias('default:dirt_with_coniferous_litter', 'mcl_core:podzol')
|
||||
|
@ -105,7 +103,7 @@ minetest.register_alias('default:stone_with_tin', 'mcl_core:stone_with_copper')
|
|||
minetest.register_alias('default:stone_with_gold', 'mcl_core:stone_with_gold')
|
||||
minetest.register_alias('default:stone_with_mese', 'mcl_core:stone_with_redstone')
|
||||
minetest.register_alias('default:stone_with_diamond', 'mcl_core:stone_with_diamond')
|
||||
minetest.register_alias('default:lava_source', 'mcl_core:lava_source')
|
||||
minetest.register_alias('mapgen_lava_source', 'mcl_core:lava_source')
|
||||
minetest.register_alias('default:mossycobble', 'mcl_core:mossycobble')
|
||||
minetest.register_alias('default:clay', 'mcl_colorblocks:hardened_clay')
|
||||
minetest.register_alias('default:dry_dirt_with_dry_grass', 'mcl_core:dirt_with_grass')
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
minetest.register_alias('default:water_source', 'rp_default:water_source')
|
||||
minetest.register_alias('mapgen_water_source', 'rp_mapgen_water_source')
|
||||
minetest.register_alias('default:dirt_with_rainforest_litter', 'rp_default:dirt_with_grass')
|
||||
minetest.register_alias('default:dirt_with_snow', 'rp_default:dirt_with_grass')
|
||||
minetest.register_alias('default:dirt_with_coniferous_litter', 'rp_default:dirt_with_grass')
|
||||
|
@ -105,7 +103,7 @@ minetest.register_alias('default:stone_with_tin', 'rp_default:stone_with_tin')
|
|||
minetest.register_alias('default:stone_with_gold', 'rp_default:stone_with_gold')
|
||||
minetest.register_alias('default:stone_with_mese', 'rp_default:stone_with_mese')
|
||||
minetest.register_alias('default:stone_with_diamond', 'rp_default:stone_with_diamond')
|
||||
minetest.register_alias('default:lava_source', 'rp_default:water_source')
|
||||
minetest.register_alias('mapgen_lava_source', 'rp_mapgen_water_source')
|
||||
minetest.register_alias('default:mossycobble', 'rp_default:mossycobble')
|
||||
minetest.register_alias('default:clay', 'rp_default:clay')
|
||||
minetest.register_alias('default:dry_dirt_with_dry_grass', 'rp_default:dry_dirt_with_dry_grass')
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
--
|
||||
|
@ -210,6 +208,22 @@ x_farming.x_bonemeal:register_tree_defs({
|
|||
|
||||
Everness.grow_mese_tree(pos)
|
||||
|
||||
return true
|
||||
end
|
||||
},
|
||||
{
|
||||
-- sapling name
|
||||
name = 'everness:palm_tree_sapling',
|
||||
-- 1 out of `chance`, e.g. 2 = 50% chance
|
||||
chance = 4,
|
||||
-- grow tree from sapling
|
||||
grow_tree = function(pos)
|
||||
if not x_farming.x_bonemeal.is_on_sand(pos) then
|
||||
return false
|
||||
end
|
||||
|
||||
Everness.grow_palm_tree(pos)
|
||||
|
||||
return true
|
||||
end
|
||||
},
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local mod_start_time = minetest.get_us_time()
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local mod_start_time = minetest.get_us_time()
|
||||
|
|
|
@ -0,0 +1,243 @@
|
|||
# Blender v2.83.20 OBJ File: 'everness_mineral_torch.blend'
|
||||
# www.blender.org
|
||||
mtllib everness_mineral_torch.mtl
|
||||
o everness_mineral_torch.vox
|
||||
v -0.062500 -0.490000 0.062500
|
||||
v -0.062500 0.135000 0.062500
|
||||
v -0.125000 0.135000 -0.125000
|
||||
v -0.125000 0.385000 0.125000
|
||||
v -0.000000 0.510000 0.062500
|
||||
v -0.000000 0.447500 0.062500
|
||||
v 0.000000 0.447500 0.250000
|
||||
v 0.125000 0.385000 -0.125000
|
||||
v -0.000000 -0.052500 0.062500
|
||||
v 0.062500 -0.490000 0.062500
|
||||
v 0.000000 0.447500 0.187500
|
||||
v -0.000000 0.010000 0.062500
|
||||
v 0.000000 0.135000 0.187500
|
||||
v 0.125000 0.385000 0.125000
|
||||
v 0.000000 0.385000 -0.187500
|
||||
v -0.000000 0.072500 0.125000
|
||||
v 0.000000 0.447500 -0.062500
|
||||
v 0.000000 0.385000 0.250000
|
||||
v -0.000000 0.010000 0.125000
|
||||
v 0.000000 -0.052500 -0.125000
|
||||
v 0.000000 0.010000 -0.125000
|
||||
v -0.000000 -0.052500 0.125000
|
||||
v 0.000000 0.010000 -0.187500
|
||||
v 0.000000 0.072500 -0.187500
|
||||
v 0.000000 0.072500 -0.250000
|
||||
v 0.000000 0.135000 -0.250000
|
||||
v 0.000000 0.510000 0.187500
|
||||
v 0.062500 0.135000 -0.125000
|
||||
v 0.000000 0.135000 -0.312500
|
||||
v -0.125000 0.385000 -0.125000
|
||||
v 0.000000 0.385000 -0.312500
|
||||
v 0.000000 0.385000 0.312500
|
||||
v 0.000000 0.510000 -0.187500
|
||||
v 0.000000 0.135000 0.312500
|
||||
v -0.062500 -0.490000 -0.062500
|
||||
v 0.000000 0.385000 0.187500
|
||||
v 0.062500 -0.490000 -0.062500
|
||||
v 0.000000 0.135000 0.250000
|
||||
v 0.000000 0.072500 0.250000
|
||||
v 0.000000 0.072500 0.187500
|
||||
v -0.125000 0.135000 0.125000
|
||||
v 0.062500 0.135000 0.062500
|
||||
v 0.125000 0.135000 0.125000
|
||||
v -0.125000 0.135000 -0.062500
|
||||
v -0.062500 0.135000 -0.062500
|
||||
v 0.062500 0.135000 -0.062500
|
||||
v 0.125000 0.135000 -0.125000
|
||||
v 0.000000 0.385000 -0.250000
|
||||
v 0.000000 0.072500 -0.125000
|
||||
v 0.000000 0.135000 -0.187500
|
||||
v 0.000000 0.010000 0.187500
|
||||
v 0.000000 0.010000 -0.062500
|
||||
v 0.000000 0.447500 -0.187500
|
||||
v 0.000000 -0.052500 -0.062500
|
||||
v 0.000000 0.447500 -0.250000
|
||||
v 0.000000 0.510000 -0.062500
|
||||
v 0.196875 0.072500 0.187500
|
||||
v -0.178125 0.072500 0.187500
|
||||
v -0.178125 0.447500 -0.187500
|
||||
v 0.196875 0.447500 0.187500
|
||||
v 0.196875 0.447500 -0.187500
|
||||
v -0.178125 0.447500 0.187500
|
||||
v -0.178125 0.072500 -0.187500
|
||||
v 0.196875 0.072500 -0.187500
|
||||
vt 0.250000 0.500000
|
||||
vt 0.187500 0.437500
|
||||
vt 0.250000 0.437500
|
||||
vt 0.187500 0.562500
|
||||
vt 0.125000 0.500000
|
||||
vt 0.187500 0.500000
|
||||
vt 0.250000 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.125000 0.625000
|
||||
vt 0.062500 0.562500
|
||||
vt 0.125000 0.562500
|
||||
vt 0.125000 0.937500
|
||||
vt 0.062500 0.875000
|
||||
vt 0.125000 0.875000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.250000 0.625000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.250000 0.625000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.125000 1.000000
|
||||
vt 0.250000 0.937500
|
||||
vt 0.250000 1.000000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.375000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.562500 0.562500
|
||||
vt 0.500000 0.562500
|
||||
vt 0.250000 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.000000 0.625000
|
||||
vt 0.062500 0.625000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.562500 0.875000
|
||||
vt 0.625000 0.625000
|
||||
vt 0.562500 0.625000
|
||||
vt 0.500000 0.937500
|
||||
vt 0.500000 0.875000
|
||||
vt 0.437500 0.562500
|
||||
vt 0.500000 0.500000
|
||||
vt 0.437500 0.500000
|
||||
vt 0.250000 -0.000000
|
||||
vt 0.125000 0.125000
|
||||
vt 0.125000 -0.000000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.250000 0.687500
|
||||
vt 0.375000 0.812500
|
||||
vt 0.437500 0.812500
|
||||
vt 0.437500 0.875000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.437500 0.437500
|
||||
vt 0.375000 0.437500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.375000 0.937500
|
||||
vt 0.375000 1.000000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.062500 0.937500
|
||||
vt 0.375000 0.625000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.000000 0.875000
|
||||
vt 0.625000 0.875000
|
||||
vt 0.562500 0.937500
|
||||
vt 0.250000 0.125000
|
||||
vt 0.250000 0.812500
|
||||
vt 0.250000 0.875000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.375000 0.687500
|
||||
vt 0.333333 1.000000
|
||||
vt 0.500000 -0.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.666667 -0.000000
|
||||
vt 0.166667 -0.000000
|
||||
vt 0.166667 1.000000
|
||||
vt 0.833333 -0.000000
|
||||
vt 0.666667 1.000000
|
||||
vt 0.666667 -0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 0.833333 1.000000
|
||||
vt 0.833333 -0.000000
|
||||
vt 0.333333 -0.000000
|
||||
vt 0.666667 1.000000
|
||||
vt 0.833333 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
g everness_mineral_torch.vox_everness_mineral_torch.vox_torch
|
||||
usemtl torch
|
||||
s off
|
||||
f 52/1/1 20/2/1 54/3/1
|
||||
f 49/4/1 23/5/1 21/6/1
|
||||
f 44/7/1 4/8/1 30/9/1
|
||||
f 50/10/1 25/11/1 24/12/1
|
||||
f 53/13/1 48/14/1 15/15/1
|
||||
f 1/16/1 45/17/1 35/18/1
|
||||
f 37/19/2 42/20/2 10/21/2
|
||||
f 33/22/1 17/23/1 56/24/1
|
||||
f 8/25/3 4/26/3 14/27/3
|
||||
f 42/20/4 1/16/4 10/21/4
|
||||
f 41/28/4 14/27/4 4/29/4
|
||||
f 46/30/5 35/18/5 45/17/5
|
||||
f 13/31/2 39/32/2 40/33/2
|
||||
f 28/34/5 30/35/5 8/25/5
|
||||
f 48/14/1 29/36/1 26/37/1
|
||||
f 14/38/2 47/39/2 8/40/2
|
||||
f 18/41/2 34/42/2 38/43/2
|
||||
f 11/44/2 18/41/2 36/45/2
|
||||
f 16/46/2 51/47/2 19/48/2
|
||||
f 1/49/6 37/50/6 10/51/6
|
||||
f 43/52/6 41/53/6 42/54/6
|
||||
f 45/55/6 44/56/6 3/57/6
|
||||
f 12/58/2 22/59/2 9/60/2
|
||||
f 27/61/2 6/62/2 5/63/2
|
||||
f 52/1/1 21/6/1 20/2/1
|
||||
f 49/4/1 24/12/1 23/5/1
|
||||
f 30/9/1 3/64/1 44/7/1
|
||||
f 44/7/1 41/53/1 4/8/1
|
||||
f 50/10/1 26/37/1 25/11/1
|
||||
f 53/13/1 55/65/1 48/14/1
|
||||
f 1/16/1 2/66/1 45/17/1
|
||||
f 37/19/2 46/30/2 42/20/2
|
||||
f 33/22/1 53/13/1 17/23/1
|
||||
f 8/25/3 30/67/3 4/26/3
|
||||
f 42/20/4 2/66/4 1/16/4
|
||||
f 41/28/4 43/68/4 14/27/4
|
||||
f 46/30/5 37/19/5 35/18/5
|
||||
f 13/31/2 38/43/2 39/32/2
|
||||
f 8/25/5 47/69/5 28/34/5
|
||||
f 28/34/5 3/70/5 30/35/5
|
||||
f 48/14/1 31/71/1 29/36/1
|
||||
f 14/38/2 43/52/2 47/39/2
|
||||
f 18/41/2 32/72/2 34/42/2
|
||||
f 11/44/2 7/73/2 18/41/2
|
||||
f 16/46/2 40/33/2 51/47/2
|
||||
f 1/49/6 35/74/6 37/50/6
|
||||
f 42/54/6 46/75/6 43/52/6
|
||||
f 46/75/6 28/76/6 47/77/6
|
||||
f 43/52/6 46/75/6 47/77/6
|
||||
f 41/53/6 44/56/6 2/78/6
|
||||
f 44/56/6 45/55/6 2/78/6
|
||||
f 41/53/6 2/78/6 42/54/6
|
||||
f 3/57/6 28/76/6 45/55/6
|
||||
f 28/76/6 46/75/6 45/55/6
|
||||
f 12/58/2 19/48/2 22/59/2
|
||||
f 27/61/2 11/44/2 6/62/2
|
||||
g everness_mineral_torch.vox_everness_mineral_torch.vox_particle_cube
|
||||
usemtl particle_cube
|
||||
f 60/79/2 64/80/2 61/81/2
|
||||
f 63/82/5 61/81/5 64/80/5
|
||||
f 58/83/4 60/79/4 62/84/4
|
||||
f 61/85/3 62/86/3 60/87/3
|
||||
f 58/83/1 59/88/1 63/89/1
|
||||
f 58/90/6 64/91/6 57/92/6
|
||||
f 60/79/2 57/93/2 64/80/2
|
||||
f 63/82/5 59/94/5 61/81/5
|
||||
f 58/83/4 57/93/4 60/79/4
|
||||
f 61/85/3 59/95/3 62/86/3
|
||||
f 58/83/1 62/84/1 59/88/1
|
||||
f 58/90/6 63/96/6 64/91/6
|
|
@ -0,0 +1,243 @@
|
|||
# Blender v2.83.20 OBJ File: 'everness_mineral_torch_wall.blend'
|
||||
# www.blender.org
|
||||
mtllib everness_mineral_torch_ceiling.mtl
|
||||
o everness_mineral_torch.vox
|
||||
v 0.062500 -0.561250 -0.170873
|
||||
v 0.062500 -0.019984 0.141627
|
||||
v -0.125000 -0.051234 0.195753
|
||||
v 0.125000 0.165272 0.320753
|
||||
v 0.062500 0.336025 0.275000
|
||||
v 0.062500 0.281899 0.243750
|
||||
v 0.250000 0.281899 0.243750
|
||||
v -0.125000 0.290272 0.104247
|
||||
v 0.062500 -0.151114 -0.006250
|
||||
v 0.062500 -0.498750 -0.279127
|
||||
v 0.187500 0.281899 0.243750
|
||||
v 0.062500 -0.096987 0.025000
|
||||
v 0.187500 0.011266 0.087500
|
||||
v 0.125000 0.290272 0.104247
|
||||
v -0.187500 0.227772 0.212500
|
||||
v 0.125000 -0.042861 0.056250
|
||||
v -0.062500 0.281899 0.243750
|
||||
v 0.250000 0.227772 0.212500
|
||||
v 0.125000 -0.096987 0.025000
|
||||
v -0.125000 -0.151114 -0.006250
|
||||
v -0.125000 -0.096987 0.025000
|
||||
v 0.125000 -0.151114 -0.006250
|
||||
v -0.187500 -0.096987 0.025000
|
||||
v -0.187500 -0.042861 0.056250
|
||||
v -0.250000 -0.042861 0.056250
|
||||
v -0.250000 0.011266 0.087500
|
||||
v 0.187500 0.336025 0.275000
|
||||
v -0.125000 0.042516 0.033373
|
||||
v -0.312500 0.011266 0.087500
|
||||
v -0.125000 0.165272 0.320753
|
||||
v -0.312500 0.227772 0.212500
|
||||
v 0.312500 0.227772 0.212500
|
||||
v -0.187500 0.336025 0.275000
|
||||
v 0.312500 0.011266 0.087500
|
||||
v -0.062500 -0.561250 -0.170873
|
||||
v 0.187500 0.227772 0.212500
|
||||
v -0.062500 -0.498750 -0.279127
|
||||
v 0.250000 0.011266 0.087500
|
||||
v 0.250000 -0.042861 0.056250
|
||||
v 0.187500 -0.042861 0.056250
|
||||
v 0.125000 -0.051234 0.195753
|
||||
v 0.062500 0.042516 0.033373
|
||||
v 0.125000 0.073766 -0.020753
|
||||
v -0.062500 -0.051234 0.195753
|
||||
v -0.062500 -0.019984 0.141627
|
||||
v -0.062500 0.042516 0.033373
|
||||
v -0.125000 0.073766 -0.020753
|
||||
v -0.250000 0.227772 0.212500
|
||||
v -0.125000 -0.042861 0.056250
|
||||
v -0.187500 0.011266 0.087500
|
||||
v 0.187500 -0.096987 0.025000
|
||||
v -0.062500 -0.096987 0.025000
|
||||
v -0.187500 0.281899 0.243750
|
||||
v -0.062500 -0.151114 -0.006250
|
||||
v -0.250000 0.281899 0.243750
|
||||
v -0.062500 0.336025 0.275000
|
||||
v 0.187500 0.055577 -0.114249
|
||||
v 0.187500 -0.131923 0.210511
|
||||
v -0.187500 0.192836 0.398011
|
||||
v 0.187500 0.380336 0.073251
|
||||
v -0.187500 0.380336 0.073251
|
||||
v 0.187500 0.192836 0.398011
|
||||
v -0.187500 -0.131923 0.210511
|
||||
v -0.187500 0.055577 -0.114249
|
||||
vt 0.250000 0.500000
|
||||
vt 0.187500 0.437500
|
||||
vt 0.250000 0.437500
|
||||
vt 0.187500 0.562500
|
||||
vt 0.125000 0.500000
|
||||
vt 0.187500 0.500000
|
||||
vt 0.250000 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.125000 0.625000
|
||||
vt 0.062500 0.562500
|
||||
vt 0.125000 0.562500
|
||||
vt 0.125000 0.937500
|
||||
vt 0.062500 0.875000
|
||||
vt 0.125000 0.875000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.250000 0.625000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.250000 0.625000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.125000 1.000000
|
||||
vt 0.250000 0.937500
|
||||
vt 0.250000 1.000000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.375000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.562500 0.562500
|
||||
vt 0.500000 0.562500
|
||||
vt 0.250000 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.000000 0.625000
|
||||
vt 0.062500 0.625000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.562500 0.875000
|
||||
vt 0.625000 0.625000
|
||||
vt 0.562500 0.625000
|
||||
vt 0.500000 0.937500
|
||||
vt 0.500000 0.875000
|
||||
vt 0.437500 0.562500
|
||||
vt 0.500000 0.500000
|
||||
vt 0.437500 0.500000
|
||||
vt 0.250000 -0.000000
|
||||
vt 0.125000 0.125000
|
||||
vt 0.125000 -0.000000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.250000 0.687500
|
||||
vt 0.375000 0.812500
|
||||
vt 0.437500 0.812500
|
||||
vt 0.437500 0.875000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.437500 0.437500
|
||||
vt 0.375000 0.437500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.375000 0.937500
|
||||
vt 0.375000 1.000000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.062500 0.937500
|
||||
vt 0.375000 0.625000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.000000 0.875000
|
||||
vt 0.625000 0.875000
|
||||
vt 0.562500 0.937500
|
||||
vt 0.250000 0.125000
|
||||
vt 0.250000 0.812500
|
||||
vt 0.250000 0.875000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.375000 0.687500
|
||||
vt 0.333333 1.000000
|
||||
vt 0.500000 -0.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.666667 -0.000000
|
||||
vt 0.166667 -0.000000
|
||||
vt 0.166667 1.000000
|
||||
vt 0.833333 -0.000000
|
||||
vt 0.666667 1.000000
|
||||
vt 0.666667 -0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 0.833333 1.000000
|
||||
vt 0.833333 -0.000000
|
||||
vt 0.333333 -0.000000
|
||||
vt 0.666667 1.000000
|
||||
vt 0.833333 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vn 0.0000 -0.5000 0.8660
|
||||
vn 0.0000 0.5000 -0.8660
|
||||
vn 0.0000 0.8660 0.5000
|
||||
vn 1.0000 0.0000 -0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 -0.8660 -0.5000
|
||||
g everness_mineral_torch.vox_everness_mineral_torch.vox_torch
|
||||
usemtl torch
|
||||
s off
|
||||
f 52/1/1 20/2/1 54/3/1
|
||||
f 49/4/1 23/5/1 21/6/1
|
||||
f 44/7/1 4/8/1 30/9/1
|
||||
f 50/10/1 25/11/1 24/12/1
|
||||
f 53/13/1 48/14/1 15/15/1
|
||||
f 1/16/1 45/17/1 35/18/1
|
||||
f 37/19/2 42/20/2 10/21/2
|
||||
f 33/22/1 17/23/1 56/24/1
|
||||
f 8/25/3 4/26/3 14/27/3
|
||||
f 42/20/4 1/16/4 10/21/4
|
||||
f 41/28/4 14/27/4 4/29/4
|
||||
f 46/30/5 35/18/5 45/17/5
|
||||
f 13/31/2 39/32/2 40/33/2
|
||||
f 28/34/5 30/35/5 8/25/5
|
||||
f 48/14/1 29/36/1 26/37/1
|
||||
f 14/38/2 47/39/2 8/40/2
|
||||
f 18/41/2 34/42/2 38/43/2
|
||||
f 11/44/2 18/41/2 36/45/2
|
||||
f 16/46/2 51/47/2 19/48/2
|
||||
f 1/49/6 37/50/6 10/51/6
|
||||
f 43/52/6 41/53/6 42/54/6
|
||||
f 45/55/6 44/56/6 3/57/6
|
||||
f 12/58/2 22/59/2 9/60/2
|
||||
f 27/61/2 6/62/2 5/63/2
|
||||
f 52/1/1 21/6/1 20/2/1
|
||||
f 49/4/1 24/12/1 23/5/1
|
||||
f 30/9/1 3/64/1 44/7/1
|
||||
f 44/7/1 41/53/1 4/8/1
|
||||
f 50/10/1 26/37/1 25/11/1
|
||||
f 53/13/1 55/65/1 48/14/1
|
||||
f 1/16/1 2/66/1 45/17/1
|
||||
f 37/19/2 46/30/2 42/20/2
|
||||
f 33/22/1 53/13/1 17/23/1
|
||||
f 8/25/3 30/67/3 4/26/3
|
||||
f 42/20/4 2/66/4 1/16/4
|
||||
f 41/28/4 43/68/4 14/27/4
|
||||
f 46/30/5 37/19/5 35/18/5
|
||||
f 13/31/2 38/43/2 39/32/2
|
||||
f 8/25/5 47/69/5 28/34/5
|
||||
f 28/34/5 3/70/5 30/35/5
|
||||
f 48/14/1 31/71/1 29/36/1
|
||||
f 14/38/2 43/52/2 47/39/2
|
||||
f 18/41/2 32/72/2 34/42/2
|
||||
f 11/44/2 7/73/2 18/41/2
|
||||
f 16/46/2 40/33/2 51/47/2
|
||||
f 1/49/6 35/74/6 37/50/6
|
||||
f 42/54/6 46/75/6 43/52/6
|
||||
f 46/75/6 28/76/6 47/77/6
|
||||
f 43/52/6 46/75/6 47/77/6
|
||||
f 41/53/6 44/56/6 2/78/6
|
||||
f 44/56/6 45/55/6 2/78/6
|
||||
f 41/53/6 2/78/6 42/54/6
|
||||
f 3/57/6 28/76/6 45/55/6
|
||||
f 28/76/6 46/75/6 45/55/6
|
||||
f 12/58/2 19/48/2 22/59/2
|
||||
f 27/61/2 11/44/2 6/62/2
|
||||
g everness_mineral_torch.vox_everness_mineral_torch.vox_particle_cube
|
||||
usemtl particle_cube
|
||||
f 60/79/2 64/80/2 61/81/2
|
||||
f 63/82/5 61/81/5 64/80/5
|
||||
f 58/83/4 60/79/4 62/84/4
|
||||
f 61/85/3 62/86/3 60/87/3
|
||||
f 58/83/1 59/88/1 63/89/1
|
||||
f 58/90/6 64/91/6 57/92/6
|
||||
f 60/79/2 57/93/2 64/80/2
|
||||
f 63/82/5 59/94/5 61/81/5
|
||||
f 58/83/4 57/93/4 60/79/4
|
||||
f 61/85/3 59/95/3 62/86/3
|
||||
f 58/83/1 62/84/1 59/88/1
|
||||
f 58/90/6 63/96/6 64/91/6
|
|
@ -0,0 +1,243 @@
|
|||
# Blender v2.83.20 OBJ File: 'everness_mineral_torch.blend'
|
||||
# www.blender.org
|
||||
mtllib everness_mineral_torch_wall.mtl
|
||||
o everness_mineral_torch.vox
|
||||
v 0.062500 -0.594127 -0.408750
|
||||
v 0.062500 -0.281627 0.132516
|
||||
v -0.125000 -0.335753 0.163766
|
||||
v 0.125000 -0.210753 0.380272
|
||||
v 0.062500 -0.040000 0.426025
|
||||
v 0.062500 -0.071250 0.371899
|
||||
v 0.250000 -0.071250 0.371899
|
||||
v -0.125000 0.005753 0.255272
|
||||
v 0.062500 -0.321250 -0.061114
|
||||
v 0.062500 -0.485873 -0.471250
|
||||
v 0.187500 -0.071250 0.371899
|
||||
v 0.062500 -0.290000 -0.006987
|
||||
v 0.187500 -0.227500 0.101266
|
||||
v 0.125000 0.005753 0.255272
|
||||
v -0.187500 -0.102500 0.317772
|
||||
v 0.125000 -0.258750 0.047139
|
||||
v -0.062500 -0.071250 0.371899
|
||||
v 0.250000 -0.102500 0.317772
|
||||
v 0.125000 -0.290000 -0.006987
|
||||
v -0.125000 -0.321250 -0.061114
|
||||
v -0.125000 -0.290000 -0.006987
|
||||
v 0.125000 -0.321250 -0.061114
|
||||
v -0.187500 -0.290000 -0.006987
|
||||
v -0.187500 -0.258750 0.047139
|
||||
v -0.250000 -0.258750 0.047139
|
||||
v -0.250000 -0.227500 0.101266
|
||||
v 0.187500 -0.040000 0.426025
|
||||
v -0.125000 -0.173373 0.070016
|
||||
v -0.312500 -0.227500 0.101266
|
||||
v -0.125000 -0.210753 0.380272
|
||||
v -0.312500 -0.102500 0.317772
|
||||
v 0.312500 -0.102500 0.317772
|
||||
v -0.187500 -0.040000 0.426025
|
||||
v 0.312500 -0.227500 0.101266
|
||||
v -0.062500 -0.594127 -0.408750
|
||||
v 0.187500 -0.102500 0.317772
|
||||
v -0.062500 -0.485873 -0.471250
|
||||
v 0.250000 -0.227500 0.101266
|
||||
v 0.250000 -0.258750 0.047139
|
||||
v 0.187500 -0.258750 0.047139
|
||||
v 0.125000 -0.335753 0.163766
|
||||
v 0.062500 -0.173373 0.070016
|
||||
v 0.125000 -0.119247 0.038766
|
||||
v -0.062500 -0.335753 0.163766
|
||||
v -0.062500 -0.281627 0.132516
|
||||
v -0.062500 -0.173373 0.070016
|
||||
v -0.125000 -0.119247 0.038766
|
||||
v -0.250000 -0.102500 0.317772
|
||||
v -0.125000 -0.258750 0.047139
|
||||
v -0.187500 -0.227500 0.101266
|
||||
v 0.187500 -0.290000 -0.006987
|
||||
v -0.062500 -0.290000 -0.006987
|
||||
v -0.187500 -0.071250 0.371899
|
||||
v -0.062500 -0.321250 -0.061114
|
||||
v -0.250000 -0.071250 0.371899
|
||||
v -0.062500 -0.040000 0.426025
|
||||
v 0.187500 -0.088251 -0.051298
|
||||
v 0.187500 -0.413011 0.136202
|
||||
v -0.187500 -0.225511 0.460961
|
||||
v 0.187500 0.099249 0.273461
|
||||
v -0.187500 0.099249 0.273461
|
||||
v 0.187500 -0.225511 0.460961
|
||||
v -0.187500 -0.413011 0.136202
|
||||
v -0.187500 -0.088251 -0.051298
|
||||
vt 0.250000 0.500000
|
||||
vt 0.187500 0.437500
|
||||
vt 0.250000 0.437500
|
||||
vt 0.187500 0.562500
|
||||
vt 0.125000 0.500000
|
||||
vt 0.187500 0.500000
|
||||
vt 0.250000 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.125000 0.625000
|
||||
vt 0.062500 0.562500
|
||||
vt 0.125000 0.562500
|
||||
vt 0.125000 0.937500
|
||||
vt 0.062500 0.875000
|
||||
vt 0.125000 0.875000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.250000 0.625000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.250000 0.625000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.125000 1.000000
|
||||
vt 0.250000 0.937500
|
||||
vt 0.250000 1.000000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.375000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 0.562500 0.562500
|
||||
vt 0.500000 0.562500
|
||||
vt 0.250000 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.000000 0.625000
|
||||
vt 0.062500 0.625000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.562500 0.875000
|
||||
vt 0.625000 0.625000
|
||||
vt 0.562500 0.625000
|
||||
vt 0.500000 0.937500
|
||||
vt 0.500000 0.875000
|
||||
vt 0.437500 0.562500
|
||||
vt 0.500000 0.500000
|
||||
vt 0.437500 0.500000
|
||||
vt 0.250000 -0.000000
|
||||
vt 0.125000 0.125000
|
||||
vt 0.125000 -0.000000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.250000 0.687500
|
||||
vt 0.375000 0.812500
|
||||
vt 0.437500 0.812500
|
||||
vt 0.437500 0.875000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.437500 0.437500
|
||||
vt 0.375000 0.437500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.375000 0.937500
|
||||
vt 0.375000 1.000000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.062500 0.937500
|
||||
vt 0.375000 0.625000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.187500 0.625000
|
||||
vt 0.437500 0.625000
|
||||
vt 0.000000 0.875000
|
||||
vt 0.625000 0.875000
|
||||
vt 0.562500 0.937500
|
||||
vt 0.250000 0.125000
|
||||
vt 0.250000 0.812500
|
||||
vt 0.250000 0.875000
|
||||
vt 0.187500 0.875000
|
||||
vt 0.375000 0.687500
|
||||
vt 0.333333 1.000000
|
||||
vt 0.500000 -0.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.666667 -0.000000
|
||||
vt 0.166667 -0.000000
|
||||
vt 0.166667 1.000000
|
||||
vt 0.833333 -0.000000
|
||||
vt 0.666667 1.000000
|
||||
vt 0.666667 -0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 0.833333 1.000000
|
||||
vt 0.833333 -0.000000
|
||||
vt 0.333333 -0.000000
|
||||
vt 0.666667 1.000000
|
||||
vt 0.833333 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vn 0.0000 -0.8660 0.5000
|
||||
vn 0.0000 0.8660 -0.5000
|
||||
vn 0.0000 0.5000 0.8660
|
||||
vn 1.0000 0.0000 -0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 -0.5000 -0.8660
|
||||
g everness_mineral_torch.vox_everness_mineral_torch.vox_torch
|
||||
usemtl torch
|
||||
s off
|
||||
f 52/1/1 20/2/1 54/3/1
|
||||
f 49/4/1 23/5/1 21/6/1
|
||||
f 44/7/1 4/8/1 30/9/1
|
||||
f 50/10/1 25/11/1 24/12/1
|
||||
f 53/13/1 48/14/1 15/15/1
|
||||
f 1/16/1 45/17/1 35/18/1
|
||||
f 37/19/2 42/20/2 10/21/2
|
||||
f 33/22/1 17/23/1 56/24/1
|
||||
f 8/25/3 4/26/3 14/27/3
|
||||
f 42/20/4 1/16/4 10/21/4
|
||||
f 41/28/4 14/27/4 4/29/4
|
||||
f 46/30/5 35/18/5 45/17/5
|
||||
f 13/31/2 39/32/2 40/33/2
|
||||
f 28/34/5 30/35/5 8/25/5
|
||||
f 48/14/1 29/36/1 26/37/1
|
||||
f 14/38/2 47/39/2 8/40/2
|
||||
f 18/41/2 34/42/2 38/43/2
|
||||
f 11/44/2 18/41/2 36/45/2
|
||||
f 16/46/2 51/47/2 19/48/2
|
||||
f 1/49/6 37/50/6 10/51/6
|
||||
f 43/52/6 41/53/6 42/54/6
|
||||
f 45/55/6 44/56/6 3/57/6
|
||||
f 12/58/2 22/59/2 9/60/2
|
||||
f 27/61/2 6/62/2 5/63/2
|
||||
f 52/1/1 21/6/1 20/2/1
|
||||
f 49/4/1 24/12/1 23/5/1
|
||||
f 30/9/1 3/64/1 44/7/1
|
||||
f 44/7/1 41/53/1 4/8/1
|
||||
f 50/10/1 26/37/1 25/11/1
|
||||
f 53/13/1 55/65/1 48/14/1
|
||||
f 1/16/1 2/66/1 45/17/1
|
||||
f 37/19/2 46/30/2 42/20/2
|
||||
f 33/22/1 53/13/1 17/23/1
|
||||
f 8/25/3 30/67/3 4/26/3
|
||||
f 42/20/4 2/66/4 1/16/4
|
||||
f 41/28/4 43/68/4 14/27/4
|
||||
f 46/30/5 37/19/5 35/18/5
|
||||
f 13/31/2 38/43/2 39/32/2
|
||||
f 8/25/5 47/69/5 28/34/5
|
||||
f 28/34/5 3/70/5 30/35/5
|
||||
f 48/14/1 31/71/1 29/36/1
|
||||
f 14/38/2 43/52/2 47/39/2
|
||||
f 18/41/2 32/72/2 34/42/2
|
||||
f 11/44/2 7/73/2 18/41/2
|
||||
f 16/46/2 40/33/2 51/47/2
|
||||
f 1/49/6 35/74/6 37/50/6
|
||||
f 42/54/6 46/75/6 43/52/6
|
||||
f 46/75/6 28/76/6 47/77/6
|
||||
f 43/52/6 46/75/6 47/77/6
|
||||
f 41/53/6 44/56/6 2/78/6
|
||||
f 44/56/6 45/55/6 2/78/6
|
||||
f 41/53/6 2/78/6 42/54/6
|
||||
f 3/57/6 28/76/6 45/55/6
|
||||
f 28/76/6 46/75/6 45/55/6
|
||||
f 12/58/2 19/48/2 22/59/2
|
||||
f 27/61/2 11/44/2 6/62/2
|
||||
g everness_mineral_torch.vox_everness_mineral_torch.vox_particle_cube
|
||||
usemtl particle_cube
|
||||
f 60/79/2 64/80/2 61/81/2
|
||||
f 63/82/5 61/81/5 64/80/5
|
||||
f 58/83/4 60/79/4 62/84/4
|
||||
f 61/85/3 62/86/3 60/87/3
|
||||
f 58/83/1 59/88/1 63/89/1
|
||||
f 58/90/6 64/91/6 57/92/6
|
||||
f 60/79/2 57/93/2 64/80/2
|
||||
f 63/82/5 59/94/5 61/81/5
|
||||
f 58/83/4 57/93/4 60/79/4
|
||||
f 61/85/3 59/95/3 62/86/3
|
||||
f 58/83/1 62/84/1 59/88/1
|
||||
f 58/90/6 63/96/6 64/91/6
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
|
|
@ -360,6 +360,30 @@ everness_forsaken_tundra_under_y_max (y max) int -256
|
|||
# Lower limit for biome.
|
||||
everness_forsaken_tundra_under_y_min (y min) int -31000
|
||||
|
||||
[*Mineral Waters]
|
||||
|
||||
# Enable/ Disable Mineral Waters Biome
|
||||
# Disabling this biome might result in missing recipes.
|
||||
everness_mineral_waters (Mineral Waters) bool true
|
||||
|
||||
# Upper limit for biome.
|
||||
everness_mineral_waters_y_max (y max) int 31000
|
||||
|
||||
# Lower limit for biome.
|
||||
everness_mineral_waters_y_min (y min) int 1
|
||||
|
||||
[*Mineral Waters Under]
|
||||
|
||||
# Enable/ Disable Mineral Waters Under Biome
|
||||
# Disabling this biome might result in missing recipes.
|
||||
everness_mineral_waters_under (Mineral Waters) bool true
|
||||
|
||||
# Upper limit for biome.
|
||||
everness_mineral_waters_under_y_max (y max) int -256
|
||||
|
||||
# Lower limit for biome.
|
||||
everness_mineral_waters_under_y_min (y min) int -31000
|
||||
|
||||
[Features]
|
||||
|
||||
# Enable/ Disable Item pick up with sneak key
|
||||
|
|
23
skybox.lua
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local skybox_defs = {
|
||||
|
@ -678,7 +676,28 @@ local skybox_defs = {
|
|||
fog_moon_tint = '#BE972D'
|
||||
}
|
||||
}
|
||||
},
|
||||
everness_mineral_waters = {
|
||||
sky_parameters = {
|
||||
type = 'regular',
|
||||
sky_color = {
|
||||
day_sky = '#264890',
|
||||
day_horizon = '#3884CF',
|
||||
dawn_sky = '#B4BAFA',
|
||||
dawn_horizon = '#FDA47E',
|
||||
night_sky = '#A3609E',
|
||||
night_horizon = '#C7A8D9',
|
||||
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',
|
||||
-- },
|
||||
},
|
||||
}
|
||||
|
||||
local function should_flip(player)
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local DELAY = 0
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
|
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 329 B |
After Width: | Height: | Size: 421 B |
After Width: | Height: | Size: 321 B |
After Width: | Height: | Size: 337 B |
After Width: | Height: | Size: 349 B |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 469 B |
After Width: | Height: | Size: 418 B |
After Width: | Height: | Size: 439 B |
After Width: | Height: | Size: 790 B |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 490 B |
After Width: | Height: | Size: 808 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 310 B |
|
@ -12,8 +12,6 @@
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to juraj.vajda@gmail.com
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
|
|
@ -0,0 +1,226 @@
|
|||
--[[
|
||||
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.
|
||||
|
||||
|
||||
Authors of source code
|
||||
----------------------
|
||||
Originally by celeron55, Perttu Ahola <celeron55@gmail.com> (LGPLv2.1+)
|
||||
Various Minetest developers and contributors (LGPLv2.1+)
|
||||
|
||||
The torch code was derived by sofar from the 'torches' mod by
|
||||
BlockMen (LGPLv2.1+)
|
||||
--]]
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local function on_flood(pos, oldnode, newnode)
|
||||
minetest.add_item(pos, ItemStack('everness:mineral_torch 1'))
|
||||
-- Play flame-extinguish sound if liquid is not an 'igniter'
|
||||
local nodedef = minetest.registered_items[newnode.name]
|
||||
|
||||
if not (
|
||||
nodedef
|
||||
and nodedef.groups
|
||||
and nodedef.groups.igniter
|
||||
and nodedef.groups.igniter > 0
|
||||
) then
|
||||
minetest.sound_play('default_cool_lava',
|
||||
{
|
||||
pos = pos,
|
||||
max_hear_distance = 16,
|
||||
gain = 0.07
|
||||
},
|
||||
true
|
||||
)
|
||||
end
|
||||
-- Remove the torch node
|
||||
return false
|
||||
end
|
||||
|
||||
minetest.register_node('everness:mineral_torch', {
|
||||
description = S('Mineral') .. ' ' .. S('Torch'),
|
||||
drawtype = 'mesh',
|
||||
mesh = 'everness_mineral_torch.obj',
|
||||
inventory_image = 'everness_mineral_torch_item.png',
|
||||
wield_image = 'everness_mineral_torch_item.png',
|
||||
wield_scale = { x = 2, y = 2, z = 1 },
|
||||
tiles = {
|
||||
{ name = 'everness_mineral_torch_mesh.png' },
|
||||
{
|
||||
name = 'everness_mineral_torch_animated.png',
|
||||
animation = {
|
||||
type = 'vertical_frames',
|
||||
aspect_w = 36,
|
||||
aspect_h = 6,
|
||||
length = 1
|
||||
},
|
||||
backface_culling = false
|
||||
}
|
||||
},
|
||||
use_texture_alpha = 'blend',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'wallmounted',
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
liquids_pointable = false,
|
||||
light_source = 12,
|
||||
groups = {
|
||||
choppy = 2,
|
||||
dig_immediate = 3,
|
||||
flammable = 1,
|
||||
attached_node = 1,
|
||||
torch = 1
|
||||
},
|
||||
drop = 'everness:mineral_torch',
|
||||
selection_box = {
|
||||
type = 'wallmounted',
|
||||
wall_bottom = { -1 / 8, -1 / 2, -1 / 8, 1 / 8, 2 / 16, 1 / 8 },
|
||||
},
|
||||
sounds = Everness.node_sound_wood_defaults(),
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local under = pointed_thing.under
|
||||
local node = minetest.get_node(under)
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
|
||||
if def
|
||||
and def.on_rightclick
|
||||
and not (
|
||||
placer
|
||||
and placer:is_player()
|
||||
and placer:get_player_control().sneak
|
||||
)
|
||||
then
|
||||
return def.on_rightclick(under, node, placer, itemstack,
|
||||
pointed_thing) or itemstack
|
||||
end
|
||||
|
||||
local above = pointed_thing.above
|
||||
local wdir = minetest.dir_to_wallmounted(vector.subtract(under, above))
|
||||
|
||||
local fakestack = itemstack
|
||||
|
||||
if wdir == 0 then
|
||||
fakestack:set_name('everness:mineral_torch_ceiling')
|
||||
elseif wdir == 1 then
|
||||
fakestack:set_name('everness:mineral_torch')
|
||||
else
|
||||
fakestack:set_name('everness:mineral_torch_wall')
|
||||
end
|
||||
|
||||
itemstack = minetest.item_place(fakestack, placer, pointed_thing, wdir)
|
||||
|
||||
itemstack:set_name('everness:mineral_torch')
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
floodable = true,
|
||||
on_flood = on_flood,
|
||||
on_rotate = false
|
||||
})
|
||||
|
||||
minetest.register_node('everness:mineral_torch_wall', {
|
||||
drawtype = 'mesh',
|
||||
mesh = 'everness_mineral_torch_wall.obj',
|
||||
tiles = {
|
||||
{ name = 'everness_mineral_torch_mesh.png' },
|
||||
{
|
||||
name = 'everness_mineral_torch_animated.png',
|
||||
animation = {
|
||||
type = 'vertical_frames',
|
||||
aspect_w = 36,
|
||||
aspect_h = 6,
|
||||
length = 1
|
||||
},
|
||||
backface_culling = false
|
||||
}
|
||||
},
|
||||
use_texture_alpha = 'blend',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'wallmounted',
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
light_source = 12,
|
||||
groups = {
|
||||
choppy = 2,
|
||||
dig_immediate = 3,
|
||||
flammable = 1,
|
||||
not_in_creative_inventory = 1,
|
||||
attached_node = 1,
|
||||
torch = 1
|
||||
},
|
||||
drop = 'everness:mineral_torch',
|
||||
selection_box = {
|
||||
type = 'wallmounted',
|
||||
wall_side = { -1 / 2, -1 / 2, -1 / 8, -1 / 8, 1 / 8, 1 / 8 },
|
||||
},
|
||||
sounds = Everness.node_sound_wood_defaults(),
|
||||
floodable = true,
|
||||
on_flood = on_flood,
|
||||
on_rotate = false
|
||||
})
|
||||
|
||||
minetest.register_node('everness:mineral_torch_ceiling', {
|
||||
drawtype = 'mesh',
|
||||
mesh = 'everness_mineral_torch_ceiling.obj',
|
||||
tiles = {
|
||||
{ name = 'everness_mineral_torch_mesh.png' },
|
||||
{
|
||||
name = 'everness_mineral_torch_animated.png',
|
||||
animation = {
|
||||
type = 'vertical_frames',
|
||||
aspect_w = 36,
|
||||
aspect_h = 6,
|
||||
length = 1
|
||||
},
|
||||
backface_culling = false
|
||||
}
|
||||
},
|
||||
use_texture_alpha = 'blend',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'wallmounted',
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
light_source = 12,
|
||||
groups = {
|
||||
choppy = 2,
|
||||
dig_immediate = 3,
|
||||
flammable = 1,
|
||||
not_in_creative_inventory = 1,
|
||||
attached_node = 1,
|
||||
torch = 1
|
||||
},
|
||||
drop = 'everness:mineral_torch',
|
||||
selection_box = {
|
||||
type = 'wallmounted',
|
||||
wall_top = { -1 / 8, -1 / 16, -5 / 16, 1 / 8, 1 / 2, 1 / 8 },
|
||||
},
|
||||
sounds = Everness.node_sound_wood_defaults(),
|
||||
floodable = true,
|
||||
on_flood = on_flood,
|
||||
on_rotate = false
|
||||
})
|
||||
|
||||
-- minetest.register_craft({
|
||||
-- output = 'everness:mineral_torch 4',
|
||||
-- recipe = {
|
||||
-- { 'everness:coal_lump' },
|
||||
-- { 'group:stick' },
|
||||
-- }
|
||||
-- })
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'fuel',
|
||||
recipe = 'everness:mineral_torch',
|
||||
burntime = 4,
|
||||
})
|