Compare commits

..

2 commits
main ... main

423 changed files with 1096 additions and 4115 deletions

View file

@ -1,95 +1,12 @@
-- -- Minetest Game mod: default ---------------------------------------------------------------------------
-- -- See README.txt for licensing and other information. -- Voxelis - Voxel survival sandbox for Luanti
-- Copyright (C) 2024 Mad Star Studio LLC
-- -- The API documentation in here was moved into game_api.txt --
-- This program is free software; you can redistribute it and/or modify
-- -- Load support for MT game translation. -- it under the terms of the GNU General Public License as published by
-- local S = minetest.get_translator("default") -- the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
-- -- Definitions made by this mod that other mods can use too --
--default = {} -- You should have received a copy of the GNU General Public License along
-- with this program; if not, see <http://www.gnu.org/licenses/>.
-- default.LIGHT_MAX = 14 ---------------------------------------------------------------------------
-- default.get_translator = S
-- -- Check for engine features required by MTG
-- -- This provides clear error behaviour when MTG is newer than the installed engine
-- -- and avoids obscure, hard to debug runtime errors.
-- -- This section should be updated before release and older checks can be dropped
-- -- when newer ones are introduced.
-- if ItemStack("").add_wear_by_uses == nil then
-- error("\nThis version of Minetest Game is incompatible with your engine version "..
-- "(which is too old). You should download a version of Minetest Game that "..
-- "matches the installed engine version.\n")
-- end
-- -- GUI related stuff
-- minetest.register_on_joinplayer(function(player)
-- -- Set formspec prepend
-- local formspec = [[
-- bgcolor[#080808BB;true]
-- listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]
-- local name = player:get_player_name()
-- local info = minetest.get_player_information(name)
-- if info.formspec_version > 1 then
-- formspec = formspec .. "background9[5,5;1,1;gui_formbg.png;true;10]"
-- else
-- formspec = formspec .. "background[5,5;1,1;gui_formbg.png;true]"
-- end
-- player:set_formspec_prepend(formspec)
-- -- Set hotbar textures
-- player:hud_set_hotbar_image("gui_hotbar.png")
-- player:hud_set_hotbar_selected_image("gui_hotbar_selected.png")
-- end)
-- function default.get_hotbar_bg(x,y)
-- local out = ""
-- for i=0,7,1 do
-- out = out .."image["..x+i..","..y..";1,1;gui_hb_bg.png]"
-- end
-- return out
-- end
-- default.gui_survival_form = "size[8,8.5]"..
-- "list[current_player;main;0,4.25;8,1;]"..
-- "list[current_player;main;0,5.5;8,3;8]"..
-- "list[current_player;craft;1.75,0.5;3,3;]"..
-- "list[current_player;craftpreview;5.75,1.5;1,1;]"..
-- "image[4.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]"..
-- "listring[current_player;main]"..
-- "listring[current_player;craft]"..
-- default.get_hotbar_bg(0,4.25)
-- -- Load files
-- local default_path = minetest.get_modpath("default")
--dofile(default_path.."/functions.lua")
-- dofile(default_path.."/trees.lua")
-- dofile(default_path.."/nodes.lua")
-- dofile(default_path.."/chests.lua")
-- dofile(default_path.."/furnace.lua")
-- dofile(default_path.."/torch.lua")
-- dofile(default_path.."/tools.lua")
-- dofile(default_path.."/item_entity.lua")
-- dofile(default_path.."/craftitems.lua")
-- dofile(default_path.."/crafting.lua")
-- dofile(default_path.."/mapgen.lua")
-- dofile(default_path.."/aliases.lua")
-- dofile(default_path.."/legacy.lua")
-- -- Smoke test that is run via ./util/test/run.sh
-- if minetest.settings:get_bool("minetest_game_smoke_test") then
-- minetest.after(0, function()
-- minetest.emerge_area(vector.new(0, 0, 0), vector.new(32, 32, 32))
-- local pos = vector.new(9, 9, 9)
-- local function check()
-- if minetest.get_node(pos).name ~= "ignore" then
-- minetest.request_shutdown()
-- return
-- end
-- minetest.after(0, check)
-- end
-- check()
-- end)
-- end

View file

@ -12,56 +12,36 @@
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
vox_colors = { vox_colors = {
-- Whites and Grays
WHITE = "#FFFFFF", WHITE = "#FFFFFF",
CREAM = "#FFFDD0",
LIGHTGREY = "#D3D3D3", LIGHTGREY = "#D3D3D3",
SILVER = "#C0C0C0", SILVER = "#C0C0C0",
GREY = "#808080", GREY = "#808080",
DARK_GRAY = "#A9A9A9",
BLACK = "#000000", BLACK = "#000000",
-- Reds
PINK = "#FF69B4",
FLAMINGO = "#FC8EAC",
RED = "#FF0000", RED = "#FF0000",
CRIMSON = "#DC143C",
DARK_RED = "#8B0000", DARK_RED = "#8B0000",
MAROON = "#800000",
-- Oranges and Yellows
PEACH = "#FFDAB9",
GOLD = "#FFD700",
YELLOW = "#FFFF00", YELLOW = "#FFFF00",
GOLD = "#FFD700",
ORANGE = "#FFA500", ORANGE = "#FFA500",
PUMPKIN = "#FF7518", PUMPKIN = "#FF7518",
CREAM = "#FFFDD0",
TAN = "#D2B48C", TAN = "#D2B48C",
BROWN = "#A52A2A", BROWN = "#A52A2A",
DARK_BROWN = "#8B4513", DARK_BROWN = "#8B4513",
-- Greens
LIGHT_GREEN = "#90EE90",
MINT = "#98FF98",
LIME = "#00FF00", LIME = "#00FF00",
GREEN = "#008000", MINT = "#98FF98",
EMERALD = "#50C878", EMERALD = "#50C878",
OLIVE = "#808000",
DARK_GREEN = "#006400", DARK_GREEN = "#006400",
-- Blues
LIGHT_BLUE = "#ADD8E6",
CYAN = "#00FFFF",
TURQUOISE = "#40E0D0", TURQUOISE = "#40E0D0",
TEAL = "#008080", TEAL = "#008080",
CYAN = "#00FFFF",
BLUE = "#0000FF", BLUE = "#0000FF",
NAVY = "#000080", NAVY = "#000080",
INDIGO = "#4B0082",
-- Purples
LAVENDER = "#E6E6FA",
VIOLET = "#EE82EE",
MAGENTA = "#FF00FF", MAGENTA = "#FF00FF",
VIOLET = "#EE82EE",
PURPLE = "#800080", PURPLE = "#800080",
INDIGO = "#4B0082",
PINK = "#FF69B4",
FLAMINGO = "#FC8EAC",
} }
vox_colors.bg_brightness = 0.8; vox_colors.bg_brightness = 0.8;

View file

@ -178,8 +178,8 @@ minetest.register_craftitem("vox_coloring:cleaning_solvent", {
minetest.register_craft({ minetest.register_craft({
output = "vox_coloring:cleaning_solvent", output = "vox_coloring:cleaning_solvent",
recipe = { recipe = {
{"vox_core:soap", "bucket:water_bucket", "vox_core:salt"}, {"vox_main:soap", "bucket:water_bucket", "vox_main:salt"},
{"vox_core:ash", "", ""}, {"vox_main:ash", "", ""},
}, },
replacements = {{"bucket:water_bucket", "bucket:bucket"}}, replacements = {{"bucket:water_bucket", "bucket:bucket"}},
}) })

View file

@ -1,836 +0,0 @@
--
-- Sounds
--
function vox_core.node_sound_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "", gain = 1.0}
tbl.dug = tbl.dug or
{name = "default_dug_node", gain = 0.25}
tbl.place = tbl.place or
{name = "default_place_node_hard", gain = 1.0}
return tbl
end
function vox_core.node_sound_stone_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_hard_footstep", gain = 0.2}
tbl.dug = tbl.dug or
{name = "default_hard_footstep", gain = 1.0}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_dirt_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_dirt_footstep", gain = 0.25}
tbl.dig = tbl.dig or
{name = "default_dig_crumbly", gain = 0.4}
tbl.dug = tbl.dug or
{name = "default_dirt_footstep", gain = 1.0}
tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_sand_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_sand_footstep", gain = 0.05}
tbl.dug = tbl.dug or
{name = "default_sand_footstep", gain = 0.15}
tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_gravel_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_gravel_footstep", gain = 0.25}
tbl.dig = tbl.dig or
{name = "default_gravel_dig", gain = 0.35}
tbl.dug = tbl.dug or
{name = "default_gravel_dug", gain = 1.0}
tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_wood_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_wood_footstep", gain = 0.15}
tbl.dig = tbl.dig or
{name = "default_dig_choppy", gain = 0.4}
tbl.dug = tbl.dug or
{name = "default_wood_footstep", gain = 1.0}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_leaves_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_grass_footstep", gain = 0.45}
tbl.dug = tbl.dug or
{name = "default_grass_footstep", gain = 0.7}
tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_glass_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_glass_footstep", gain = 0.3}
tbl.dig = tbl.dig or
{name = "default_glass_footstep", gain = 0.5}
tbl.dug = tbl.dug or
{name = "default_break_glass", gain = 1.0}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_ice_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_ice_footstep", gain = 0.15}
tbl.dig = tbl.dig or
{name = "default_ice_dig", gain = 0.5}
tbl.dug = tbl.dug or
{name = "default_ice_dug", gain = 0.5}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_metal_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_metal_footstep", gain = 0.2}
tbl.dig = tbl.dig or
{name = "default_dig_metal", gain = 0.5}
tbl.dug = tbl.dug or
{name = "default_dug_metal", gain = 0.5}
tbl.place = tbl.place or
{name = "default_place_node_metal", gain = 0.5}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_water_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_water_footstep", gain = 0.2}
vox_core.node_sound_defaults(tbl)
return tbl
end
function vox_core.node_sound_snow_defaults(tbl)
tbl = tbl or {}
tbl.footstep = tbl.footstep or
{name = "default_snow_footstep", gain = 0.2}
tbl.dig = tbl.dig or
{name = "default_snow_footstep", gain = 0.3}
tbl.dug = tbl.dug or
{name = "default_snow_footstep", gain = 0.3}
tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0}
vox_core.node_sound_defaults(tbl)
return tbl
end
--
-- Lavacooling
--
vox_core.cool_lava = function(pos, node)
if node.name == "vox_core:lava_source" then
minetest.set_node(pos, {name = "vox_core:obsidian"})
else -- Lava flowing
minetest.set_node(pos, {name = "vox_core:stone"})
end
minetest.sound_play("default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.2}, true)
end
if minetest.settings:get_bool("enable_lavacooling") ~= false then
minetest.register_abm({
label = "Lava cooling",
nodenames = {"vox_core:lava_source", "vox_core:lava_flowing"},
neighbors = {"group:cools_lava", "group:water"},
interval = 2,
chance = 2,
catch_up = false,
action = function(...)
vox_core.cool_lava(...)
end,
})
end
--
-- Optimized helper to put all items in an inventory into a drops list
--
function vox_core.get_inventory_drops(pos, inventory, drops)
local inv = minetest.get_meta(pos):get_inventory()
local n = #drops
for i = 1, inv:get_size(inventory) do
local stack = inv:get_stack(inventory, i)
if stack:get_count() > 0 then
drops[n+1] = stack:to_table()
n = n + 1
end
end
end
--
-- Papyrus and cactus growing
--
-- Wrapping the functions in ABM action is necessary to make overriding them possible
function vox_core.grow_cactus(pos, node)
if node.param2 >= 4 then
return
end
pos.y = pos.y - 1
if minetest.get_item_group(minetest.get_node(pos).name, "sand") == 0 then
return
end
pos.y = pos.y + 1
local height = 0
while node.name == "vox_core:cactus" and height < 4 do
height = height + 1
pos.y = pos.y + 1
node = minetest.get_node(pos)
end
if height == 4 or node.name ~= "air" then
return
end
if minetest.get_node_light(pos) < 13 then
return
end
minetest.set_node(pos, {name = "vox_core:cactus"})
return true
end
function vox_core.grow_papyrus(pos, node)
pos.y = pos.y - 1
local name = minetest.get_node(pos).name
if name ~= "vox_core:dirt" and
name ~= "vox_core:dirt_with_grass" and
name ~= "vox_core:dirt_with_dry_grass" and
name ~= "vox_core:dirt_with_rainforest_litter" and
name ~= "vox_core:dry_dirt" and
name ~= "vox_core:dry_dirt_with_dry_grass" then
return
end
if not minetest.find_node_near(pos, 3, {"group:water"}) then
return
end
pos.y = pos.y + 1
local height = 0
while node.name == "vox_core:papyrus" and height < 4 do
height = height + 1
pos.y = pos.y + 1
node = minetest.get_node(pos)
end
if height == 4 or node.name ~= "air" then
return
end
if minetest.get_node_light(pos) < 13 then
return
end
minetest.set_node(pos, {name = "vox_core:papyrus"})
return true
end
minetest.register_abm({
label = "Grow cactus",
nodenames = {"vox_core:cactus"},
neighbors = {"group:sand"},
interval = 12,
chance = 83,
action = function(...)
vox_core.grow_cactus(...)
end
})
minetest.register_abm({
label = "Grow papyrus",
nodenames = {"vox_core:papyrus"},
-- Grows on the dirt and surface dirt nodes of the biomes papyrus appears in,
-- including the old savanna nodes.
-- 'vox_core:dirt_with_grass' is here only because it was allowed before.
neighbors = {
"vox_core:dirt",
"vox_core:dirt_with_grass",
"vox_core:dirt_with_dry_grass",
"vox_core:dirt_with_rainforest_litter",
"vox_core:dry_dirt",
"vox_core:dry_dirt_with_dry_grass",
},
interval = 14,
chance = 71,
action = function(...)
vox_core.grow_papyrus(...)
end
})
--
-- Dig upwards
--
local in_dig_up = false
function vox_core.dig_up(pos, node, digger, max_height)
if in_dig_up then return end -- Do not recurse
if digger == nil then return end
max_height = max_height or 100
in_dig_up = true
for y = 1, max_height do
local up_pos = vector.offset(pos, 0, y, 0)
local up_node = minetest.get_node(up_pos)
if up_node.name ~= node.name then
break
end
if not minetest.node_dig(up_pos, up_node, digger) then
break
end
end
in_dig_up = false
end
-- errors are hard to handle, instead we rely on resetting this value the next step
minetest.register_globalstep(function()
in_dig_up = false
end)
--
-- Fence registration helper
--
local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0
function vox_core.register_fence(name, def)
local fence_texture = "default_fence_overlay.png^" .. def.texture ..
"^default_fence_overlay.png^[makealpha:255,126,126"
-- Allow almost everything to be overridden
local default_fields = {
paramtype = "light",
drawtype = "nodebox",
node_box = {
type = "connected",
fixed = {-1/8, -1/2, -1/8, 1/8, 1/2, 1/8},
-- connect_top =
-- connect_bottom =
connect_front = {{-1/16, 3/16, -1/2, 1/16, 5/16, -1/8 },
{-1/16, -5/16, -1/2, 1/16, -3/16, -1/8 }},
connect_left = {{-1/2, 3/16, -1/16, -1/8, 5/16, 1/16},
{-1/2, -5/16, -1/16, -1/8, -3/16, 1/16}},
connect_back = {{-1/16, 3/16, 1/8, 1/16, 5/16, 1/2 },
{-1/16, -5/16, 1/8, 1/16, -3/16, 1/2 }},
connect_right = {{ 1/8, 3/16, -1/16, 1/2, 5/16, 1/16},
{ 1/8, -5/16, -1/16, 1/2, -3/16, 1/16}}
},
collision_box = {
type = "connected",
fixed = {-1/8, -1/2, -1/8, 1/8, 1/2 + fence_collision_extra, 1/8},
-- connect_top =
-- connect_bottom =
connect_front = {-1/8, -1/2, -1/2, 1/8, 1/2 + fence_collision_extra, -1/8},
connect_left = {-1/2, -1/2, -1/8, -1/8, 1/2 + fence_collision_extra, 1/8},
connect_back = {-1/8, -1/2, 1/8, 1/8, 1/2 + fence_collision_extra, 1/2},
connect_right = { 1/8, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8}
},
connects_to = {"group:fence", "group:wood", "group:tree", "group:wall"},
inventory_image = fence_texture,
wield_image = fence_texture,
tiles = {def.texture},
sunlight_propagates = true,
is_ground_content = false,
groups = {},
}
for k, v in pairs(default_fields) do
if def[k] == nil then
def[k] = v
end
end
-- Always add to the fence group, even if no group provided
def.groups.fence = 1
local material = def.material
def.texture = nil
def.material = nil
minetest.register_node(name, def)
-- Register crafting recipe, trim away starting colon if any
if not material then return end
name = string.gsub(name, "^:", "")
minetest.register_craft({
output = name .. " 4",
recipe = {
{ material, 'group:stick', material },
{ material, 'group:stick', material },
}
})
end
--
-- Fence rail registration helper
--
function vox_core.register_fence_rail(name, def)
local fence_rail_texture = "default_fence_rail_overlay.png^" .. def.texture ..
"^default_fence_rail_overlay.png^[makealpha:255,126,126"
-- Allow almost everything to be overridden
local default_fields = {
paramtype = "light",
drawtype = "nodebox",
node_box = {
type = "connected",
fixed = {{-1/16, 3/16, -1/16, 1/16, 5/16, 1/16},
{-1/16, -3/16, -1/16, 1/16, -5/16, 1/16}},
-- connect_top =
-- connect_bottom =
connect_front = {{-1/16, 3/16, -1/2, 1/16, 5/16, -1/16},
{-1/16, -5/16, -1/2, 1/16, -3/16, -1/16}},
connect_left = {{-1/2, 3/16, -1/16, -1/16, 5/16, 1/16},
{-1/2, -5/16, -1/16, -1/16, -3/16, 1/16}},
connect_back = {{-1/16, 3/16, 1/16, 1/16, 5/16, 1/2 },
{-1/16, -5/16, 1/16, 1/16, -3/16, 1/2 }},
connect_right = {{ 1/16, 3/16, -1/16, 1/2, 5/16, 1/16},
{ 1/16, -5/16, -1/16, 1/2, -3/16, 1/16}}
},
collision_box = {
type = "connected",
fixed = {-1/8, -1/2, -1/8, 1/8, 1/2 + fence_collision_extra, 1/8},
-- connect_top =
-- connect_bottom =
connect_front = {-1/8, -1/2, -1/2, 1/8, 1/2 + fence_collision_extra, -1/8},
connect_left = {-1/2, -1/2, -1/8, -1/8, 1/2 + fence_collision_extra, 1/8},
connect_back = {-1/8, -1/2, 1/8, 1/8, 1/2 + fence_collision_extra, 1/2},
connect_right = { 1/8, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8}
},
connects_to = {"group:fence", "group:wall"},
inventory_image = fence_rail_texture,
wield_image = fence_rail_texture,
tiles = {def.texture},
sunlight_propagates = true,
is_ground_content = false,
groups = {},
}
for k, v in pairs(default_fields) do
if def[k] == nil then
def[k] = v
end
end
-- Always add to the fence group, even if no group provided
def.groups.fence = 1
local material = def.material
def.texture = nil
def.material = nil
minetest.register_node(name, def)
-- Register crafting recipe, trim away starting colon if any
if not material then return end
name = string.gsub(name, "^:", "")
minetest.register_craft({
output = name .. " 16",
recipe = {
{ material, material },
{ "", ""},
{ material, material },
}
})
end
--
-- Mese post registration helper
--
function vox_core.register_mesepost(name, def)
local post_texture = def.texture .. "^default_mese_post_light_side.png^[makealpha:0,0,0"
local post_texture_dark = def.texture .. "^default_mese_post_light_side_dark.png^[makealpha:0,0,0"
-- Allow almost everything to be overridden
local default_fields = {
wield_image = post_texture,
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16},
},
},
paramtype = "light",
tiles = {def.texture, def.texture, post_texture_dark, post_texture_dark, post_texture, post_texture},
use_texture_alpha = "opaque",
light_source = vox_core.LIGHT_MAX,
sunlight_propagates = true,
is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = vox_core.node_sound_wood_defaults(),
}
for k, v in pairs(default_fields) do
if def[k] == nil then
def[k] = v
end
end
local material = def.material
def.texture = nil
def.material = nil
minetest.register_node(name, def)
-- Register crafting recipe, trim away starting colon if any
if not material then return end
name = string.gsub(name, "^:", "")
minetest.register_craft({
output = name .. " 4",
recipe = {
{'', 'vox_core:glass', ''},
{'vox_core:mese_crystal', 'vox_core:mese_crystal', 'vox_core:mese_crystal'},
{'', material, ''},
}
})
end
--
-- Leafdecay
--
-- Prevent decay of placed leaves
vox_core.after_place_leaves = function(pos, placer, itemstack, pointed_thing)
if placer and placer:is_player() then
local node = minetest.get_node(pos)
node.param2 = 1
minetest.set_node(pos, node)
end
end
-- Leafdecay
local function leafdecay_after_destruct(pos, oldnode, def)
for _, v in pairs(minetest.find_nodes_in_area(vector.subtract(pos, def.radius),
vector.add(pos, def.radius), def.leaves)) do
local node = minetest.get_node(v)
local timer = minetest.get_node_timer(v)
if node.param2 ~= 1 and not timer:is_started() then
timer:start(math.random(20, 120) / 10)
end
end
end
local movement_gravity = tonumber(
minetest.settings:get("movement_gravity")) or 9.81
local function leafdecay_on_timer(pos, def)
if minetest.find_node_near(pos, def.radius, def.trunks) then
return false
end
local node = minetest.get_node(pos)
local drops = minetest.get_node_drops(node.name)
for _, item in ipairs(drops) do
local is_leaf
for _, v in pairs(def.leaves) do
if v == item then
is_leaf = true
end
end
if minetest.get_item_group(item, "leafdecay_drop") ~= 0 or
not is_leaf then
minetest.add_item({
x = pos.x - 0.5 + math.random(),
y = pos.y - 0.5 + math.random(),
z = pos.z - 0.5 + math.random(),
}, item)
end
end
minetest.remove_node(pos)
minetest.check_for_falling(pos)
-- spawn a few particles for the removed node
minetest.add_particlespawner({
amount = 8,
time = 0.001,
minpos = vector.subtract(pos, {x=0.5, y=0.5, z=0.5}),
maxpos = vector.add(pos, {x=0.5, y=0.5, z=0.5}),
minvel = vector.new(-0.5, -1, -0.5),
maxvel = vector.new(0.5, 0, 0.5),
minacc = vector.new(0, -movement_gravity, 0),
maxacc = vector.new(0, -movement_gravity, 0),
minsize = 0,
maxsize = 0,
node = node,
})
end
function vox_core.register_leafdecay(def)
assert(def.leaves)
assert(def.trunks)
assert(def.radius)
for _, v in pairs(def.trunks) do
minetest.override_item(v, {
after_destruct = function(pos, oldnode)
leafdecay_after_destruct(pos, oldnode, def)
end,
})
end
for _, v in pairs(def.leaves) do
minetest.override_item(v, {
on_timer = function(pos)
leafdecay_on_timer(pos, def)
end,
})
end
end
--
-- Convert vox_core:dirt to something that fits the environment
--
minetest.register_abm({
label = "Grass spread",
nodenames = {"vox_core:dirt"},
neighbors = {
"air",
"group:grass",
"group:dry_grass",
"vox_core:snow",
},
interval = 6,
chance = 50,
catch_up = false,
action = function(pos, node)
-- Check for darkness: night, shadow or under a light-blocking node
-- Returns if ignore above
local above = {x = pos.x, y = pos.y + 1, z = pos.z}
if (minetest.get_node_light(above) or 0) < 13 then
return
end
-- Look for spreading dirt-type neighbours
local p2 = minetest.find_node_near(pos, 1, "group:spreading_dirt_type")
if p2 then
local n3 = minetest.get_node(p2)
minetest.set_node(pos, {name = n3.name})
return
end
-- Else, any seeding nodes on top?
local name = minetest.get_node(above).name
-- Snow check is cheapest, so comes first
if name == "vox_core:snow" then
minetest.set_node(pos, {name = "vox_core:dirt_with_snow"})
elseif minetest.get_item_group(name, "grass") ~= 0 then
minetest.set_node(pos, {name = "vox_core:dirt_with_grass"})
elseif minetest.get_item_group(name, "dry_grass") ~= 0 then
minetest.set_node(pos, {name = "vox_core:dirt_with_dry_grass"})
end
end
})
--
-- Grass and dry grass removed in darkness
--
minetest.register_abm({
label = "Grass covered",
nodenames = {"group:spreading_dirt_type", "vox_core:dry_dirt_with_dry_grass"},
interval = 8,
chance = 50,
catch_up = false,
action = function(pos, node)
local above = {x = pos.x, y = pos.y + 1, z = pos.z}
local name = minetest.get_node(above).name
local nodedef = minetest.registered_nodes[name]
if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or
nodedef.paramtype == "light") and
nodedef.liquidtype == "none") then
if node.name == "vox_core:dry_dirt_with_dry_grass" then
minetest.set_node(pos, {name = "vox_core:dry_dirt"})
else
minetest.set_node(pos, {name = "vox_core:dirt"})
end
end
end
})
--
-- Moss growth on cobble near water
--
local moss_correspondences = {
["vox_core:cobble"] = "vox_core:mossycobble",
["vox_structural:slab_cobble"] = "vox_structural:slab_mossycobble",
["vox_structural:stair_cobble"] = "vox_structural:stair_mossycobble",
["vox_structural:stair_inner_cobble"] = "vox_structural:stair_inner_mossycobble",
["vox_structural:stair_outer_cobble"] = "vox_structural:stair_outer_mossycobble",
["vox_structural:cobble"] = "vox_structural:mossycobble",
}
minetest.register_abm({
label = "Moss growth",
nodenames = {"vox_core:cobble", "vox_structural:slab_cobble", "vox_structural:stair_cobble",
"vox_structural:stair_inner_cobble", "vox_structural:stair_outer_cobble",
"vox_structural:cobble"},
neighbors = {"group:water"},
interval = 16,
chance = 200,
catch_up = false,
action = function(pos, node)
node.name = moss_correspondences[node.name]
if node.name then
minetest.set_node(pos, node)
end
end
})
--
-- Register a craft to copy the metadata of items
--
function vox_core.register_craft_metadata_copy(ingredient, result)
minetest.register_craft({
type = "shapeless",
output = result,
recipe = {ingredient, result}
})
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
if itemstack:get_name() ~= result then
return
end
local original
local index
for i = 1, #old_craft_grid do
if old_craft_grid[i]:get_name() == result then
original = old_craft_grid[i]
index = i
end
end
if not original then
return
end
local copymeta = original:get_meta():to_table()
itemstack:get_meta():from_table(copymeta)
-- put the book with metadata back in the craft grid
craft_inv:set_stack("craft", index, original)
end)
end
--
-- Log API / helpers
--
local log_non_player_actions = minetest.settings:get_bool("log_non_player_actions", false)
local is_pos = function(v)
return type(v) == "table" and
type(v.x) == "number" and type(v.y) == "number" and type(v.z) == "number"
end
function vox_core.log_player_action(player, ...)
local msg = player:get_player_name()
if player.is_fake_player or not player:is_player() then
if not log_non_player_actions then
return
end
msg = msg .. "(" .. (type(player.is_fake_player) == "string"
and player.is_fake_player or "*") .. ")"
end
for _, v in ipairs({...}) do
-- translate pos
local part = is_pos(v) and minetest.pos_to_string(v) or v
-- no leading spaces before punctuation marks
msg = msg .. (string.match(part, "^[;,.]") and "" or " ") .. part
end
minetest.log("action", msg)
end
local nop = function() end
function vox_core.set_inventory_action_loggers(def, name)
local on_move = def.on_metadata_inventory_move or nop
def.on_metadata_inventory_move = function(pos, from_list, from_index,
to_list, to_index, count, player)
vox_core.log_player_action(player, "moves stuff in", name, "at", pos)
return on_move(pos, from_list, from_index, to_list, to_index, count, player)
end
local on_put = def.on_metadata_inventory_put or nop
def.on_metadata_inventory_put = function(pos, listname, index, stack, player)
vox_core.log_player_action(player, "moves", stack:get_name(), stack:get_count(), "to", name, "at", pos)
return on_put(pos, listname, index, stack, player)
end
local on_take = def.on_metadata_inventory_take or nop
def.on_metadata_inventory_take = function(pos, listname, index, stack, player)
vox_core.log_player_action(player, "takes", stack:get_name(), stack:get_count(), "from", name, "at", pos)
return on_take(pos, listname, index, stack, player)
end
end
--
-- NOTICE: This method is not an official part of the API yet.
-- This method may change in future.
--
function vox_core.can_interact_with_node(player, pos)
if player and player:is_player() then
if minetest.check_player_privs(player, "protection_bypass") then
return true
end
else
return false
end
local meta = minetest.get_meta(pos)
local owner = meta:get_string("owner")
if not owner or owner == "" or owner == player:get_player_name() then
return true
end
-- Is player wielding the right key?
local item = player:get_wielded_item()
if minetest.get_item_group(item:get_name(), "key") == 1 then
local key_meta = item:get_meta()
if key_meta:get_string("secret") == "" then
local key_oldmeta = item:get_meta():get_string("")
if key_oldmeta == "" or not minetest.parse_json(key_oldmeta) then
return false
end
key_meta:set_string("secret", minetest.parse_json(key_oldmeta).secret)
item:set_metadata("")
end
return meta:get_string("key_lock_secret") == key_meta:get_string("secret")
end
return false
end

View file

@ -1,232 +0,0 @@
-- Gems: Diamond, Emerald, Ruby, Sapphire, Topaz, Amethyst, Opal, Onyx, Garnet, Peridot, Aquamarine, Citrine, Tourmaline, Zircon, Tanzanite, Spinel, Lapis Lazuli, Malachite, Azurite, Turquoise, Amber, Moonstone, Sunstone, Bloodstone, Agate, Jasper, Chalcedony, Chrysoprase, Carnelian, Sardonyx, Heliotrope, Alexandrite, Tiger's Eye, Serpentine, Rhodonite
core.register_node("vox_core:diamond_ore", {
description = "Diamond Ore",
tiles = {"vox_diamond_ore.png"},
groups = {cracky = 2}
})
core.register_alias("diamond_ore", "vox_core:diamond_ore")
core.register_alias("default:stone_with_diamond", "vox_core:diamond_ore")
core.register_node("vox_core:emerald_ore", {
description = "Emerald Ore",
tiles = {"vox_emerald_ore.png"},
groups = {cracky = 2}
})
core.register_alias("emerald_ore", "vox_core:emerald_ore")
core.register_alias("default:stone_with_emerald", "vox_core:emerald_ore")
core.register_node("vox_core:ruby_ore", {
description = "Ruby Ore",
tiles = {"vox_ruby_ore.png"},
groups = {cracky = 2}
})
core.register_alias("ruby_ore", "vox_core:ruby_ore")
core.register_alias("default:stone_with_ruby", "vox_core:ruby_ore")
core.register_node("vox_core:sapphire_ore", {
description = "Sapphire Ore",
tiles = {"vox_sapphire_ore.png"},
groups = {cracky = 2}
})
core.register_alias("sapphire_ore", "vox_core:sapphire_ore")
core.register_alias("default:stone_with_sapphire", "vox_core:sapphire_ore")
core.register_node("vox_core:topaz_ore", {
description = "Topaz Ore",
tiles = {"vox_topaz_ore.png"},
groups = {cracky = 2}
})
core.register_alias("topaz_ore", "vox_core:topaz_ore")
core.register_alias("default:stone_with_topaz", "vox_core:topaz_ore")
core.register_node("vox_core:amethyst_ore", {
description = "Amethyst Ore",
tiles = {"vox_amethyst_ore.png"},
groups = {cracky = 2}
})
core.register_alias("amethyst_ore", "vox_core:amethyst_ore")
core.register_alias("default:stone_with_amethyst", "vox_core:amethyst_ore")
core.register_node("vox_core:opal_ore", {
description = "Opal Ore",
tiles = {"vox_opal_ore.png"},
groups = {cracky = 2}
})
core.register_alias("opal_ore", "vox_core:opal_ore")
core.register_alias("default:stone_with_opal", "vox_core:opal_ore")
core.register_node("vox_core:onyx_ore", {
description = "Onyx Ore",
tiles = {"vox_onyx_ore.png"},
groups = {cracky = 2}
})
core.register_alias("onyx_ore", "vox_core:onyx_ore")
core.register_alias("default:stone_with_onyx", "vox_core:onyx_ore")
core.register_node("vox_core:garnet_ore", {
description = "Garnet Ore",
tiles = {"vox_garnet_ore.png"},
groups = {cracky = 2}
})
core.register_alias("garnet_ore", "vox_core:garnet_ore")
core.register_alias("default:stone_with_garnet", "vox_core:garnet_ore")
core.register_node("vox_core:peridot_ore", {
description = "Peridot Ore",
tiles = {"vox_peridot_ore.png"},
groups = {cracky = 2}
})
core.register_alias("peridot_ore", "vox_core:peridot_ore")
core.register_alias("default:stone_with_peridot", "vox_core:peridot_ore")
core.register_node("vox_core:aquamarine_ore", {
description = "Aquamarine Ore",
tiles = {"vox_aquamarine_ore.png"},
groups = {cracky = 2}
})
core.register_alias("aquamarine_ore", "vox_core:aquamarine_ore")
core.register_alias("default:stone_with_aquamarine", "vox_core:aquamarine_ore")
core.register_node("vox_core:citrine_ore", {
description = "Citrine Ore",
tiles = {"vox_citrine_ore.png"},
groups = {cracky = 2}
})
core.register_alias("citrine_ore", "vox_core:citrine_ore")
core.register_alias("default:stone_with_citrine", "vox_core:citrine_ore")
core.register_node("vox_core:tourmaline_ore", {
description = "Tourmaline Ore",
tiles = {"vox_tourmaline_ore.png"},
groups = {cracky = 2}
})
core.register_alias("tourmaline_ore", "vox_core:tourmaline_ore")
core.register_alias("default:stone_with_tourmaline", "vox_core:tourmaline_ore")
core.register_node("vox_core:zircon_ore", {
description = "Zircon Ore",
tiles = {"vox_zircon_ore.png"},
groups = {cracky = 2}
})
core.register_alias("zircon_ore", "vox_core:zircon_ore")
core.register_alias("default:stone_with_zircon", "vox_core:zircon_ore")
core.register_node("vox_core:tanzanite_ore", {
description = "Tanzanite Ore",
tiles = {"vox_tanzanite_ore.png"},
groups = {cracky = 2}
})
core.register_alias("tanzanite_ore", "vox_core:tanzanite_ore")
core.register_alias("default:stone_with_tanzanite", "vox_core:tanzanite_ore")
core.register_node("vox_core:spinel_ore", {
description = "Spinel Ore",
tiles = {"vox_spinel_ore.png"},
groups = {cracky = 2}
})
core.register_alias("spinel_ore", "vox_core:spinel_ore")
core.register_alias("default:stone_with_spinel", "vox_core:spinel_ore")
core.register_node("vox_core:lapis_lazuli_ore", {
description = "Lapis Lazuli Ore",
tiles = {"vox_lapis_lazuli_ore.png"},
groups = {cracky = 2}
})
core.register_alias("lapis_lazuli_ore", "vox_core:lapis_lazuli_ore")
core.register_alias("default:stone_with_lapis_lazuli", "vox_core:lapis_lazuli_ore")
core.register_node("vox_core:malachite_ore", {
description = "Malachite Ore",
tiles = {"vox_malachite_ore.png"},
groups = {cracky = 2}
})
core.register_alias("malachite_ore", "vox_core:malachite_ore")
core.register_alias("default:stone_with_malachite", "vox_core:malachite_ore")
core.register_node("vox_core:azurite_ore", {
description = "Azurite Ore",
tiles = {"vox_azurite_ore.png"},
groups = {cracky = 2}
})
core.register_alias("azurite_ore", "vox_core:azurite_ore")
core.register_alias("default:stone_with_azurite", "vox_core:azurite_ore")
core.register_node("vox_core:turquoise_ore", {
description = "Turquoise Ore",
tiles = {"vox_turquoise_ore.png"},
groups = {cracky = 2}
})
core.register_alias("turquoise_ore", "vox_core:turquoise_ore")
core.register_alias("default:stone_with_turquoise", "vox_core:turquoise_ore")
core.register_node("vox_core:amber_ore", {
description = "Amber Ore",
tiles = {"vox_amber_ore.png"},
groups = {cracky = 2}
})
core.register_alias("amber_ore", "vox_core:amber_ore")
core.register_alias("default:stone_with_amber", "vox_core:amber_ore")
core.register_node("vox_core:moonstone_ore", {
description = "Moonstone Ore",
tiles = {"vox_moonstone_ore.png"},
groups = {cracky = 2}
})
core.register_alias("moonstone_ore", "vox_core:moonstone_ore")
core.register_alias("default:stone_with_moonstone", "vox_core:moonstone_ore")
core.register_node("vox_core:sunstone_ore", {
description = "Sunstone Ore",
tiles = {"vox_sunstone_ore.png"},
groups = {cracky = 2}
})
core.register_alias("sunstone_ore", "vox_core:sunstone_ore")
core.register_alias("default:stone_with_sunstone", "vox_core:sunstone_ore")
core.register_node("vox_core:bloodstone_ore", {
description = "Bloodstone Ore",
tiles = {"vox_bloodstone_ore.png"},
groups = {cracky = 2}
})
core.register_alias("bloodstone_ore", "vox_core:bloodstone_ore")
core.register_alias("default:stone_with_bloodstone", "vox_core:bloodstone_ore")
core.register_node("vox_core:agate_ore", {
description = "Agate Ore",
tiles = {"vox_agate_ore.png"},
groups = {cracky = 2}
})
core.register_alias("agate_ore", "vox_core:agate_ore")
core.register_alias("default:stone_with_agate", "vox_core:agate_ore")
core.register_node("vox_core:jasper_ore", {
description = "Jasper Ore",
tiles = {"vox_jasper_ore.png"},
groups = {cracky = 2}
})
core.register_alias("jasper_ore", "vox_core:jasper_ore")
core.register_alias("default:stone_with_jasper", "vox_core:jasper_ore")
core.register_node("vox_core:chalcedony_ore", {
description = "Chalcedony Ore",
tiles = {"vox_chalcedony_ore.png"},
groups = {cracky = 2}
})
core.register_alias("chalcedony_ore", "vox_core:chalcedony_ore")
core.register_alias("default:stone_with_chalcedony", "vox_core:chalcedony_ore")
core.register_node("vox_core:chrysoprase_ore", {
description = "Chrysoprase Ore",
tiles = {"vox_chrysoprase_ore.png"},
groups = {cracky = 2}
})
core.register_alias("chrysoprase_ore", "vox_core:chrysoprase_ore")
core.register_alias("default:stone_with_chrysoprase", "vox_core:chrysoprase_ore")
core.register_node("vox_core:carnelian_ore", {
description = "Carnelian Ore",
tiles = {"vox_carnelian_ore.png"},
groups = {cracky = 2}
})
core.register_alias("carnelian_ore", "vox_core:carnelian_ore")
core.register_alias("default:stone_with_carnelian", "vox_core:carnelian_ore")

View file

@ -1,794 +0,0 @@
-- -------------------------------------------------------------------------- --
-- Liquids --
-- -------------------------------------------------------------------------- --
-- Water
minetest.register_node("vox_core:water_source", {
description = ("Water Source"),
drawtype = "liquid",
waving = 3,
tiles = {
{
name = "default_water_source_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
{
name = "default_water_source_animated.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
use_texture_alpha = "blend",
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "vox_core:water_flowing",
liquid_alternative_source = "vox_core:water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, cools_lava = 1},
})
-- Flowing Water
minetest.register_node("vox_core:water_flowing", {
description = ("Flowing Water"),
drawtype = "flowingliquid",
waving = 3,
tiles = {"default_water.png"},
special_tiles = {
{
name = "default_water_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.5,
},
},
{
name = "default_water_flowing_animated.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.5,
},
},
},
use_texture_alpha = "blend",
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:water_flowing",
liquid_alternative_source = "vox_core:water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1, cools_lava = 1},
})
-- River Water
core.register_node("vox_core:river_water_source", {
description = "River Water Source",
drawtype = "liquid",
tiles = {
{
name = "default_river_water_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
special_tiles = {
{
name = "default_river_water_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "vox_core:river_water_flowing",
liquid_alternative_source = "vox_core:river_water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1}
})
-- Flowing River Water
core.register_node("vox_core:river_water_flowing", {
description = "Flowing River Water",
drawtype = "flowingliquid",
tiles = {"default_river_water_flowing_animated.png"},
special_tiles = {
{
name = "default_river_water_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:river_water_flowing",
liquid_alternative_source = "vox_core:river_water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1}
})
-- Lava
core.register_node("vox_core:lava_source", {
description = "Lava Source",
drawtype = "liquid",
tiles = {
{
name = "default_lava_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
special_tiles = {
{
name = "default_lava_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "source",
liquid_alternative_flowing = "vox_core:lava_flowing",
liquid_alternative_source = "vox_core:lava_source",
liquid_viscosity = 7,
post_effect_color = {a = 240, r = 255, g = 64, b = 0},
groups = {lava = 3, liquid = 3, hot = 3, igniter = 1}
})
-- Flowing Lava
core.register_node("vox_core:lava_flowing", {
description = "Flowing Lava",
drawtype = "flowingliquid",
tiles = {"default_lava_flowing_animated.png"},
special_tiles = {
{
name = "default_lava_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:lava_flowing",
liquid_alternative_source = "vox_core:lava_source",
liquid_viscosity = 7,
post_effect_color = {a = 240, r = 255, g = 64, b = 0},
groups = {lava = 3, liquid = 3, hot = 3, igniter = 1}
})
-- Oil
core.register_node("vox_core:oil_source", {
description = "Oil Source",
drawtype = "liquid",
tiles = {
{
name = "default_water_source_animated.png^[colorize:black:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
special_tiles = {
{
name = "default_water_source_animated.png^[colorize:black:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "source",
liquid_alternative_flowing = "vox_core:oil_flowing",
liquid_alternative_source = "vox_core:oil_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 0, b = 0},
groups = {oil = 3, liquid = 3, igniter = 1}
})
-- Flowing Oil
core.register_node("vox_core:oil_flowing", {
description = "Flowing Oil",
drawtype = "flowingliquid",
tiles = {"default_water_flowing_animated.png^[colorize:black:200"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:black:200",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:oil_flowing",
liquid_alternative_source = "vox_core:oil_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 0, b = 0},
groups = {oil = 3, liquid = 3, igniter = 1}
})
-- Acid
core.register_node("vox_core:acid_source", {
description = "Acid Source",
drawtype = "liquid",
tiles = {
{
name = "default_water_source_animated.png^[colorize:green:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
special_tiles = {
{
name = "default_water_source_animated.png^[colorize:green:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "source",
liquid_alternative_flowing = "vox_core:acid_flowing",
liquid_alternative_source = "vox_core:acid_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {acid = 3, liquid = 3, igniter = 1}
})
-- Flowing Acid
core.register_node("vox_core:acid_flowing", {
description = "Flowing Acid",
drawtype = "flowingliquid",
tiles = {"default_water_flowing_animated.png^[colorize:green:200"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:green:200",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:acid_flowing",
liquid_alternative_source = "vox_core:acid_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {acid = 3, liquid = 3, igniter = 1}
})
-- Slime
core.register_node("vox_core:slime_source", {
description = "Slime Source",
drawtype = "liquid",
tiles = {
{
name = "default_water_source_animated.png^[colorize:lime:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
special_tiles = {
{
name = "default_water_source_animated.png^[colorize:lime:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "source",
liquid_alternative_flowing = "vox_core:slime_flowing",
liquid_alternative_source = "vox_core:slime_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {slime = 3, liquid = 3, igniter = 1}
})
-- Flowing Slime
core.register_node("vox_core:slime_flowing", {
description = "Flowing Slime",
drawtype = "flowingliquid",
tiles = {"default_water_flowing_animated.png^[colorize:lime:200"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:lime:200",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:slime_flowing",
liquid_alternative_source = "vox_core:slime_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {slime = 3, liquid = 3, igniter = 1}
})
-- Sewage
core.register_node("vox_core:sewage_source", {
description = "Sewage Source",
drawtype = "liquid",
tiles = {
{
name = "default_water_source_animated.png^[colorize:brown:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
special_tiles = {
{
name = "default_water_source_animated.png^[colorize:brown:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "source",
liquid_alternative_flowing = "vox_core:sewage_flowing",
liquid_alternative_source = "vox_core:sewage_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {sewage = 3, liquid = 3, igniter = 1}
})
-- Flowing Sewage
core.register_node("vox_core:sewage_flowing", {
description = "Flowing Sewage",
drawtype = "flowingliquid",
tiles = {"default_water_flowing_animated.png^[colorize:#4B5320:150"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:#4B5320:150",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:sewage_flowing",
liquid_alternative_source = "vox_core:sewage_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {sewage = 3, liquid = 3, igniter = 1}
})
-- Tar
core.register_node("vox_core:tar_source", {
description = "Tar Source",
drawtype = "liquid",
tiles = {"default_water_source_animated.png^[colorize:#2F4F4F:200"},
special_tiles = {
{
name = "default_water_source_animated.png^[colorize:#2F4F4F:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "source",
liquid_alternative_flowing = "vox_core:tar_flowing",
liquid_alternative_source = "vox_core:tar_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 0, b = 0},
groups = {tar = 3, liquid = 3, igniter = 1}
})
-- Flowing Tar
core.register_node("vox_core:tar_flowing", {
description = "Flowing Tar",
drawtype = "flowingliquid",
tiles = {"default_water_flowing_animated.png^[colorize:#2F4F4F:200"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:#2F4F4F:200",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:tar_flowing",
liquid_alternative_source = "vox_core:tar_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 0, b = 0},
groups = {tar = 3, liquid = 3, igniter = 1}
})
-- Oil
core.register_node("vox_core:oil_source", {
description = "Oil Source",
drawtype = "liquid",
tiles = {"default_water_source_animated.png^[colorize:#000000:200"},
special_tiles = {
{
name = "default_water_source_animated.png^[colorize:#000000:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "source",
liquid_alternative_flowing = "vox_core:oil_flowing",
liquid_alternative_source = "vox_core:oil_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 0, b = 0},
groups = {oil = 3, liquid = 3, igniter = 1}
})
-- Flowing Oil
core.register_node("vox_core:oil_flowing", {
description = "Flowing Oil",
drawtype = "flowingliquid",
tiles = {"default_water_flowing_animated.png^[colorize:#000000:200"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:#000000:200",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:oil_flowing",
liquid_alternative_source = "vox_core:oil_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 0, b = 0},
groups = {oil = 3, liquid = 3, igniter = 1}
})
-- Acid
core.register_node("vox_core:acid_source", {
description = "Acid Source",
drawtype = "liquid",
tiles = {"default_water_source_animated.png^[colorize:#00FF00:150"},
special_tiles = {
{
name = "default_water_source_animated.png^[colorize:#00FF00:150",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "source",
liquid_alternative_flowing = "vox_core:acid_flowing",
liquid_alternative_source = "vox_core:acid_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {acid = 3, liquid = 3, igniter = 1}
})
-- Flowing Acid
core.register_node("vox_core:acid_flowing", {
description = "Flowing Acid",
drawtype = "flowingliquid",
tiles = {"default_water_flowing_animated.png^[colorize:#00FF00:150"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:#00FF00:150",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:acid_flowing",
liquid_alternative_source = "vox_core:acid_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {acid = 3, liquid = 3, igniter = 1}
})
-- Slime
core.register_node("vox_core:slime_source", {
description = "Slime Source",
drawtype = "liquid",
tiles = {"default_water_source_animated.png^[colorize:#00FF00:100"},
special_tiles = {
{
name = "default_water_source_animated.png^[colorize:#00FF00:100",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "source",
liquid_alternative_flowing = "vox_core:slime_flowing",
liquid_alternative_source = "vox_core:slime_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {slime = 3, liquid = 3, igniter = 1}
})
-- Flowing Slime
core.register_node("vox_core:slime_flowing", {
description = "Flowing Slime",
drawtype = "flowingliquid",
tiles = {"default_water_flowing_animated.png^[colorize:#00FF00:100"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:#00FF00:100",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
liquidtype = "flowing",
liquid_alternative_flowing = "vox_core:slime_flowing",
liquid_alternative_source = "vox_core:slime_source",
liquid_viscosity = 1,
post_effect_color = {a = 240, r = 0, g = 255, b = 0},
groups = {slime = 3, liquid = 3, igniter = 1}
})

View file

@ -1,574 +0,0 @@
--[[
These are temporarily using Minetest Game assets for the time being.
Stone
-----
(1. Material 2. Cobble variant 3. Brick variant 4. Modified forms)
default:stone
default:cobble
default:stonebrick
default:stone_block
default:mossycobble
default:desert_stone
default:desert_cobble
default:desert_stonebrick
default:desert_stone_block
default:sandstone
default:sandstonebrick
default:sandstone_block
default:desert_sandstone
default:desert_sandstone_brick
default:desert_sandstone_block
default:silver_sandstone
default:silver_sandstone_brick
default:silver_sandstone_block
default:obsidian
default:obsidianbrick
default:obsidian_block
Soft / Non-Stone
----------------
(1. Material 2. Modified forms)
default:dirt
default:dirt_with_grass
default:dirt_with_grass_footsteps
default:dirt_with_dry_grass
default:dirt_with_snow
default:dirt_with_rainforest_litter
default:dirt_with_coniferous_litter
default:dry_dirt
default:dry_dirt_with_dry_grass
default:permafrost
default:permafrost_with_stones
default:permafrost_with_moss
default:sand
default:desert_sand
default:silver_sand
default:gravel
default:clay
default:snow
default:snowblock
default:ice
default:cave_ice
]] --
-- Bedrock
core.register_node("vox_core:bedrock", {
description = "Bedrock",
tiles = {"default_bedrock.png"},
groups = {cracky = 1}
})
core.register_alias("bedrock", "vox_core:bedrock")
core.register_alias("default:bedrock", "vox_core:bedrock")
-- Dirt
core.register_node("vox_core:dirt", {
description = "Dirt",
tiles = {"vox_dirt.png"},
groups = {crumbly = 3, soil = 1},
--sounds = node_sound_dirt_defaults(),
})
core.register_alias("dirt", "vox_core:dirt")
core.register_alias("default:dirt", "vox_core:dirt")
-- Dirt with Grass
core.register_node("vox_core:dirt_with_grass", {
description = "Dirt with Grass",
tiles = {"default_grass.png", "vox_dirt.png",
{name = "vox_dirt.png^default_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "vox_core:dirt",
--sounds = vox_core.node_sound_dirt_defaults({
-- footstep = {name = "default_grass_footstep", gain = 0.25},
--}),
})
core.register_node("vox_core:dirt_with_grass_footsteps", {
description = "Dirt with Grass and Footsteps",
tiles = {"default_grass.png^default_footprint.png", "vox_dirt.png",
{name = "vox_dirt.png^default_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, not_in_creative_inventory = 1},
drop = "vox_core:dirt",
--sounds = vox_core.node_sound_dirt_defaults({
-- footstep = {name = "default_grass_footstep", gain = 0.25},
--}),
})
core.register_node("vox_core:dirt_with_dry_grass", {
description = "Dirt with Savanna Grass",
tiles = {"default_dry_grass.png",
"vox_dirt.png",
{name = "vox_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "vox_core:dirt",
--sounds = vox_core.node_sound_dirt_defaults({
-- footstep = {name = "default_grass_footstep", gain = 0.4},
--}),
})
core.register_node("vox_core:dirt_with_snow", {
description = "Dirt with Snow",
tiles = {"default_snow.png", "vox_dirt.png",
{name = "vox_dirt.png^default_snow_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, snowy = 1},
drop = "vox_core:dirt",
--sounds = vox_core.node_sound_dirt_defaults({
-- footstep = {name = "default_snow_footstep", gain = 0.2},
--}),
})
core.register_node("vox_core:dirt_with_rainforest_litter", {
description = "Dirt with Rainforest Litter",
tiles = {
"default_rainforest_litter.png",
"vox_dirt.png",
{name = "vox_dirt.png^default_rainforest_litter_side.png",
tileable_vertical = false}
},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "vox_core:dirt",
--sounds = vox_core.node_sound_dirt_defaults({
-- footstep = {name = "default_grass_footstep", gain = 0.4},
--}),
})
core.register_node("vox_core:dirt_with_coniferous_litter", {
description = "Dirt with Coniferous Litter",
tiles = {
"default_coniferous_litter.png",
"vox_dirt.png",
{name = "vox_dirt.png^default_coniferous_litter_side.png",
tileable_vertical = false}
},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "vox_core:dirt",
--sounds = vox_core.node_sound_dirt_defaults({
-- footstep = {name = "default_grass_footstep", gain = 0.4},
--}),
})
core.register_node("vox_core:dry_dirt", {
description = "Savanna Dirt",
tiles = {"default_dry_dirt.png"},
groups = {crumbly = 3, soil = 1},
--sounds = vox_core.node_sound_dirt_defaults(),
})
core.register_node("vox_core:dry_dirt_with_dry_grass", {
description = "Savanna Dirt with Savanna Grass",
tiles = {"default_dry_grass.png", "default_dry_dirt.png",
{name = "default_dry_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1},
drop = "vox_core:dry_dirt",
--sounds = vox_core.node_sound_dirt_defaults({
-- footstep = {name = "default_grass_footstep", gain = 0.4},
--}),
})
-- Snow
core.register_node("vox_core:snow", {
description = "Snow",
tiles = {"default_snow.png"},
groups = {crumbly = 3}
})
core.register_alias("snow", "vox_core:snow")
core.register_alias("default:snow", "vox_core:snow")
-- Packed Snow
core.register_node("vox_core:packed_snow", {
description = "Packed Snow",
tiles = {"vox_packed_snow.png"},
groups = {crumbly = 2}
})
core.register_alias("packed_snow", "vox_core:packed_snow")
-- Ice
core.register_node("vox_core:ice", {
description = "Ice",
tiles = {"default_ice.png"},
groups = {crumbly = 3}
})
core.register_alias("ice", "vox_core:ice")
core.register_alias("default:ice", "vox_core:ice")
-- Permafrost
core.register_node("vox_core:permafrost", {
description = "Permafrost",
tiles = {"vox_permafrost.png"},
groups = {cracky = 3},
--sounds = vox_core.node_sound_dirt_defaults(),
})
core.register_alias("permafrost", "vox_core:permafrost")
-- Stone
core.register_node("vox_core:stone", {
description = "Stone",
tiles = {"default_stone.png"},
groups = {cracky = 3, stone = 1},
drop = "vox_core:cobble",
legacy_mineral = true,
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("stone", "vox_core:stone")
core.register_alias("mapgen_stone", "vox_core:stone")
-- core.register_alias("default:stone", "vox_core:stone")
-- Cobblestone
core.register_node("vox_core:cobblestone", {
description = "Cobblestone",
tiles = {"default_cobble.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("cobblestone", "vox_core:cobblestone")
core.register_alias("default:cobble", "vox_core:cobblestone")
-- Mossy Cobble
core.register_node("vox_core:mossycobble", {
description = "Mossy Cobble",
tiles = {"default_mossycobble.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 1},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("mossycobble", "vox_core:mossycobble")
core.register_alias("default:mossycobble", "vox_core:mossycobble")
-- Stone Block
core.register_node("vox_core:stone_block", {
description = "Stone Block",
tiles = {"default_stone_block.png"},
groups = {cracky = 2, stone = 1},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("stone_block", "vox_core:stone_block")
core.register_alias("default:stone_block", "vox_core:stone_block")
-- Stone Brick
core.register_node("vox_core:stone_brick", {
description = "Stone Brick",
tiles = {"default_stone_brick.png"},
groups = {cracky = 2, stone = 1},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("stone_brick", "vox_core:stone_brick")
core.register_alias("default:stonebrick", "vox_core:stone_brick")
-- Bluestone
core.register_node("vox_core:bluestone", {
description = "Bluestone",
tiles = {"vox_bluestone.png"},
groups = {cracky = 2}
})
core.register_alias("bluestone", "vox_core:bluestone")
-- Sand
-- (I don't like sand. It's coarse and rough and irritating and it gets everywhere.)
core.register_node("vox_core:sand", {
description = "Sand",
tiles = {"default_sand.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
--sounds = vox_core.node_sound_sand_defaults(),
})
core.register_alias("sand", "vox_core:sand")
core.register_alias("default:sand", "vox_core:sand")
-- Desert Stone
core.register_node("vox_core:desert_stone", {
description = "Desert Stone",
tiles = {"default_desert_stone.png"},
groups = {cracky = 2}
})
core.register_alias("desert_stone", "vox_core:desert_stone")
core.register_alias("default:desert_stone", "vox_core:desert_stone")
-- Desert Sand
core.register_node("vox_core:desert_sand", {
description = "Desert Sand",
tiles = {"default_desert_sand.png"},
groups = {crumbly = 3}
})
core.register_alias("desert_sand", "vox_core:desert_sand")
core.register_alias("default:desert_sand", "vox_core:desert_sand")
-- Sulfur Crust
core.register_node("vox_core:sulfur_crust", {
description = "Sulfur Crust",
tiles = {"vox_sulfur_crust.png"},
groups = {crumbly = 3}
})
core.register_alias("sulfur_crust", "vox_core:sulfur_crust")
-- Ash
core.register_node("vox_core:ash_block", {
description = "Ash Block",
tiles = {"vox_ash_block.png"},
groups = {crumbly = 3},
drop = "vox_mats:ash", -- Drops ash when broken
})
-- Gravel
core.register_node("vox_core:gravel", {
description = "Gravel",
tiles = {"default_gravel.png"},
groups = {crumbly = 2, falling_node = 1},
--sounds = vox_core.node_sound_gravel_defaults(),
drop = {
max_items = 1,
items = {
{items = {"vox:main:flint"}, rarity = 16},
{items = {"vox:main:gravel"}}
}
}
})
core.register_alias("gravel", "vox_core:gravel")
core.register_alias("default:gravel", "vox_core:gravel")
-- Sandstone
core.register_node("vox_core:sandstone", {
description = "Sandstone",
tiles = {"vox_sandstone.png"},
groups = {crumbly = 1, cracky = 3},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("sandstone", "vox_core:sandstone")
core.register_alias("default:sandstone", "vox_core:sandstone")
-- Sandstone Brick
core.register_node("vox_core:sandstone_brick", {
description = "Sandstone Brick",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_sandstone_brick.png"},
is_ground_content = false,
groups = {cracky = 2},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("sandstone_brick", "vox_core:sandstone_brick")
core.register_alias("default:sandstonebrick", "vox_core:sandstone_brick")
-- Sandstone Block
core.register_node("vox_core:sandstone_block", {
description = "Sandstone Block",
tiles = {"default_sandstone_block.png"},
is_ground_content = false,
groups = {cracky = 2},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("sandstone_block", "vox_core:sandstone_block")
core.register_alias("default:sandstone_block", "vox_core:sandstone_block")
-- Desert Sandstone
core.register_node("vox_core:desert_sandstone", {
description = "Desert Sandstone",
tiles = {"default_desert_sandstone.png"},
groups = {crumbly = 1, cracky = 3},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("desert_sandstone", "vox_core:desert_sandstone")
core.register_alias("default:desert_sandstone", "vox_core:desert_sandstone")
-- Desert Sandstone Brick
core.register_node("vox_core:desert_sandstone_brick", {
description = "Desert Sandstone Brick",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_desert_sandstone_brick.png"},
is_ground_content = false,
groups = {cracky = 2},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("desert_sandstone_brick", "vox_core:desert_sandstone_brick")
core.register_alias("default:desert_sandstone_brick", "vox_core:desert_sandstone_brick")
-- Desert Sandstone Block
core.register_node("vox_core:desert_sandstone_block", {
description = "Desert Sandstone Block",
tiles = {"default_desert_sandstone_block.png"},
is_ground_content = false,
groups = {cracky = 2},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("desert_sandstone_block", "vox_core:desert_sandstone_block")
core.register_alias("default:desert_sandstone_block", "vox_core:desert_sandstone_block")
-- Silver Sandstone
core.register_node("vox_core:silver_sandstone", {
description = "Silver Sandstone",
tiles = {"default_silver_sandstone.png"},
groups = {crumbly = 1, cracky = 3},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("silver_sandstone", "vox_core:silver_sandstone")
core.register_alias("default:silver_sandstone", "vox_core:silver_sandstone")
-- Silver Sandstone Brick
core.register_node("vox_core:silver_sandstone_brick", {
description = "Silver Sandstone Brick",
tiles = {"default_silver_sandstone_brick.png"},
is_ground_content = false,
groups = {cracky = 2},
--sounds = vox_core.node_sound_stone_defaults(),
})
core.register_alias("silver_sandstone_brick", "vox_core:silver_sandstone_brick")
core.register_alias("default:silver_sandstone_brick", "vox_core:silver_sandstone_brick")
-- Clay
core.register_node("vox_core:clay", {
description = "Clay",
tiles = {"default_clay.png"},
groups = {crumbly = 3}
})
core.register_alias("clay", "vox_core:clay")
core.register_alias("default:clay", "vox_core:clay")
-- Hardened Clay
core.register_node("vox_core:hardened_clay", {
description = "Hardened Clay",
tiles = {"vox_hardened_clay.png"},
groups = {cracky = 2}
})
core.register_alias("hardened_clay", "vox_core:hardened_clay")
core.register_alias("default:hardened_clay", "vox_core:hardened_clay")
-- Mud
core.register_node("vox_core:mud", {
description = "Mud",
tiles = {"vox_mud.png"},
groups = {crumbly = 3}
})
core.register_alias("mud", "vox_core:mud")
-- Salt Crystal
core.register_node("vox_core:salt_crystal", {
description = "Salt Crystal",
tiles = {"vox_salt_crystal.png"},
groups = {cracky = 2}
})
core.register_alias("salt_crystal", "vox_core:salt_crystal")
-- Volcanic Rock
core.register_node("vox_core:volcanic_rock", {
description = "Volcanic Rock",
tiles = {"vox_volcanic_rock.png"},
groups = {cracky = 3}
})
core.register_alias("volcanic_rock", "vox_core:volcanic_rock")
-- EVEN MORE ROCKS!!!
-- Granite
core.register_node("vox_core:granite", {
description = "Granite",
tiles = {"vox_granite.png"},
groups = {cracky = 2}
})
core.register_alias("granite", "vox_core:granite")
core.register_alias("default:granite", "vox_core:granite")
-- Diorite
core.register_node("vox_core:diorite", {
description = "Diorite",
tiles = {"vox_diorite.png"},
groups = {cracky = 2}
})
core.register_alias("diorite", "vox_core:diorite")
core.register_alias("default:diorite", "vox_core:diorite")
-- Andesite
core.register_node("vox_core:andesite", {
description = "Andesite",
tiles = {"vox_andesite.png"},
groups = {cracky = 2}
})
core.register_alias("andesite", "vox_core:andesite")
core.register_alias("default:andesite", "vox_core:andesite")
-- Basalt
core.register_node("vox_core:basalt", {
description = "Basalt",
tiles = {"vox_basalt.png"},
groups = {cracky = 2}
})
core.register_alias("basalt", "vox_core:basalt")
core.register_alias("default:basalt", "vox_core:basalt")
-- Obsidian
core.register_node("vox_core:obsidian", {
description = "Obsidian",
tiles = {"default_obsidian.png"},
--sounds = vox_core.node_sound_stone_defaults(),
groups = {cracky = 1, level = 2},
})
core.register_alias("obsidian", "vox_core:obsidian")
core.register_alias("default:obsidian", "vox_core:obsidian")
-- Obsidian Brick
core.register_node("vox_core:obsidian_brick", {
description = "Obsidian Brick",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_obsidian_brick.png"},
is_ground_content = false,
--sounds = vox_core.node_sound_stone_defaults(),
groups = {cracky = 1, level = 2},
})
core.register_alias("obsidian_brick", "vox_core:obsidian_brick")
core.register_alias("default:obsidianbrick", "vox_core:obsidian_brick")
-- Obsidian Block
core.register_node("vox_core:obsidian_block", {
description = "Obsidian Block",
tiles = {"default_obsidian_block.png"},
is_ground_content = false,
--sounds = vox_core.node_sound_stone_defaults(),
groups = {cracky = 1, level = 2},
})
core.register_alias("obsidian_block", "vox_core:obsidian_block")
core.register_alias("default:obsidian_block", "vox_core:obsidian_block")
-- Marble
core.register_node("vox_core:marble", {
description = "Marble",
tiles = {"vox_marble.png"},
groups = {cracky = 2}
})
core.register_alias("marble", "vox_core:marble")
core.register_alias("default:marble", "vox_core:marble")
-- Chalk
core.register_node("vox_core:chalk", {
description = "Chalk",
tiles = {"vox_chalk.png"},
groups = {cracky = 2}
})
core.register_alias("chalk", "vox_core:chalk")
core.register_alias("default:chalk", "vox_core:chalk")
-- Limestone
core.register_node("vox_core:limestone", {
description = "Limestone",
tiles = {"vox_limestone.png"},
groups = {cracky = 2}
})
core.register_alias("limestone", "vox_core:limestone")
core.register_alias("default:limestone", "vox_core:limestone")

View file

@ -1,7 +0,0 @@
core.register_node("vox_core:coral_red", {
description = "Red Coral",
tiles = {"vox_coral_red.png"},
groups = {crumbly = 1}
})
core.register_alias("coral_red", "vox_core:coral_red")

View file

@ -1,153 +0,0 @@
-- -------------------------------------------------------------------------- --
-- Ores --
-- -------------------------------------------------------------------------- --
-- Fuel: Coal, Uranium, Peat
core.register_node("vox_core:coal_ore", {
description = "Coal Ore",
tiles = {"vox_coal_ore.png"},
groups = {cracky = 2}
})
core.register_alias("coal_ore", "vox_core:coal_ore")
core.register_alias("default:stone_with_coal", "vox_core:coal_ore")
core.register_node("vox_core:uranium_ore", {
description = "Uranium Ore",
tiles = {"vox_uranium_ore.png"},
groups = {cracky = 2}
})
core.register_alias("uranium_ore", "vox_core:uranium_ore")
core.register_alias("default:stone_with_uranium", "vox_core:uranium_ore")
core.register_node("vox_core:peat", {
description = "Peat",
tiles = {"vox_peat.png"},
groups = {crumbly = 2, flammable = 1}
})
core.register_alias("peat", "vox_core:peat")
-- Bone
core.register_node("vox_core:bone_ore", {
description = "Bone Ore",
tiles = {"vox_bone_ore.png"},
groups = {cracky = 2}
})
core.register_alias("bone_ore", "vox_core:bone_ore")
core.register_alias("default:stone_with_bone", "vox_core:bone_ore")
-- Sulfur
core.register_node("vox_core:sulfur_ore", {
description = "Sulfur Ore",
tiles = {"vox_sulfur_ore.png"},
groups = {cracky = 2}
})
core.register_alias("sulfur_ore", "vox_core:sulfur_ore")
core.register_alias("default:stone_with_sulfur", "vox_core:sulfur_ore")
-- Salt
core.register_node("vox_core:salt_ore", {
description = "Salt Ore",
tiles = {"vox_salt_ore.png"},
groups = {crumbly = 2},
drop = "vox_mats:salt"
})
core.register_alias("salt_ore", "vox_core:salt_ore")
core.register_alias("default:stone_with_salt", "vox_core:salt_ore")
-- Metals: Copper, Tin, Iron, Gold, Silver, Platinum, Lead, Zinc, Nickel, Cobalt, Titanium, Tungsten
core.register_node("vox_core:copper_ore", {
description = "Copper Ore",
tiles = {"vox_copper_ore.png"},
groups = {cracky = 2}
})
core.register_alias("copper_ore", "vox_core:copper_ore")
core.register_alias("default:stone_with_copper", "vox_core:copper_ore")
core.register_node("vox_core:tin_ore", {
description = "Tin Ore",
tiles = {"vox_tin_ore.png"},
groups = {cracky = 2}
})
core.register_alias("tin_ore", "vox_core:tin_ore")
core.register_alias("default:stone_with_tin", "vox_core:tin_ore")
core.register_node("vox_core:iron_ore", {
description = "Iron Ore",
tiles = {"vox_iron_ore.png"},
groups = {cracky = 2}
})
core.register_alias("iron_ore", "vox_core:iron_ore")
core.register_alias("default:stone_with_iron", "vox_core:iron_ore")
core.register_node("vox_core:gold_ore", {
description = "Gold Ore",
tiles = {"vox_gold_ore.png"},
groups = {cracky = 2}
})
core.register_alias("gold_ore", "vox_core:gold_ore")
core.register_alias("default:stone_with_gold", "vox_core:gold_ore")
core.register_node("vox_core:silver_ore", {
description = "Silver Ore",
tiles = {"vox_silver_ore.png"},
groups = {cracky = 2}
})
core.register_alias("silver_ore", "vox_core:silver_ore")
core.register_alias("default:stone_with_silver", "vox_core:silver_ore")
core.register_node("vox_core:platinum_ore", {
description = "Platinum Ore",
tiles = {"vox_platinum_ore.png"},
groups = {cracky = 2}
})
core.register_alias("platinum_ore", "vox_core:platinum_ore")
core.register_alias("default:stone_with_platinum", "vox_core:platinum_ore")
core.register_node("vox_core:lead_ore", {
description = "Lead Ore",
tiles = {"vox_lead_ore.png"},
groups = {cracky = 2}
})
core.register_alias("lead_ore", "vox_core:lead_ore")
core.register_alias("default:stone_with_lead", "vox_core:lead_ore")
core.register_node("vox_core:zinc_ore", {
description = "Zinc Ore",
tiles = {"vox_zinc_ore.png"},
groups = {cracky = 2}
})
core.register_alias("zinc_ore", "vox_core:zinc_ore")
core.register_alias("default:stone_with_zinc", "vox_core:zinc_ore")
core.register_node("vox_core:nickel_ore", {
description = "Nickel Ore",
tiles = {"vox_nickel_ore.png"},
groups = {cracky = 2}
})
core.register_alias("nickel_ore", "vox_core:nickel_ore")
core.register_alias("default:stone_with_nickel", "vox_core:nickel_ore")
core.register_node("vox_core:cobalt_ore", {
description = "Cobalt Ore",
tiles = {"vox_cobalt_ore.png"},
groups = {cracky = 2}
})
core.register_alias("cobalt_ore", "vox_core:cobalt_ore")
core.register_alias("default:stone_with_cobalt", "vox_core:cobalt_ore")
core.register_node("vox_core:titanium_ore", {
description = "Titanium Ore",
tiles = {"vox_titanium_ore.png"},
groups = {cracky = 2}
})
core.register_alias("titanium_ore", "vox_core:titanium_ore")
core.register_alias("default:stone_with_titanium", "vox_core:titanium_ore")
core.register_node("vox_core:tungsten_ore", {
description = "Tungsten Ore",
tiles = {"vox_tungsten_ore.png"},
groups = {cracky = 2}
})
core.register_alias("tungsten_ore", "vox_core:tungsten_ore")
core.register_alias("default:stone_with_tungsten", "vox_core:tungsten_ore")

View file

@ -1,203 +0,0 @@
-- plants.lua
-- Register Cactus
minetest.register_node("vox_core:cactus", {
description = "Cactus",
tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"},
paramtype2 = "facedir",
groups = {choppy = 3},
--sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
-- Register Large Cactus Seedling
minetest.register_node("vox_core:large_cactus_seedling", {
description = "Large Cactus Seedling",
drawtype = "plantlike",
tiles = {"default_large_cactus_seedling.png"},
inventory_image = "default_large_cactus_seedling.png",
wield_image = "default_large_cactus_seedling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {choppy = 3, dig_immediate = 3, attached_node = 1},
-- sounds = default.node_sound_wood_defaults(),
on_place = function(itemstack, placer, pointed_thing)
return itemstack
end,
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(1859, 3719))
end,
on_timer = function(pos)
default.grow_large_cactus(pos)
end,
})
-- Register Papyrus
minetest.register_node("vox_core:papyrus", {
description = "Papyrus",
drawtype = "plantlike",
tiles = {"default_papyrus.png"},
inventory_image = "default_papyrus.png",
wield_image = "default_papyrus.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
--sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
-- Register Dry Shrub
minetest.register_node("vox_core:dry_shrub", {
description = "Dry Shrub",
drawtype = "plantlike",
waving = 1,
tiles = {"default_dry_shrub.png"},
inventory_image = "default_dry_shrub.png",
wield_image = "default_dry_shrub.png",
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 4,
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, attached_node = 1},
--sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 4 / 16, 6 / 16},
},
})
-- Register Jungle Grass
minetest.register_node("vox_core:junglegrass", {
description = "Jungle Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.69,
tiles = {"default_junglegrass.png"},
inventory_image = "default_junglegrass.png",
wield_image = "default_junglegrass.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, junglegrass = 1, flammable = 1},
--sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
})
-- Register Grass
for i = 1, 5 do
minetest.register_node("vox_core:grass_" .. i, {
description = "Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_grass_" .. i .. ".png"},
inventory_image = "default_grass_" .. math.min(i + 2, 5) .. ".png",
wield_image = "default_grass_" .. math.min(i + 2, 5) .. ".png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, normal_grass = 1, flammable = 1},
--sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -5 / 16 + (i - 1) * 2 / 16, 6 / 16},
},
on_place = function(itemstack, placer, pointed_thing)
return itemstack
end,
})
end
-- Register Dry Grass
for i = 1, 5 do
minetest.register_node("vox_core:dry_grass_" .. i, {
description = "Savanna Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_dry_grass_" .. i .. ".png"},
inventory_image = "default_dry_grass_" .. math.min(i + 2, 5) .. ".png",
wield_image = "default_dry_grass_" .. math.min(i + 2, 5) .. ".png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, grass = 1, dry_grass = 1},
--sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -3 / 16 + (i - 1) * 2 / 16, 6 / 16},
},
on_place = function(itemstack, placer, pointed_thing)
return itemstack
end,
})
end
-- Register Fern
for i = 1, 3 do
minetest.register_node("vox_core:fern_" .. i, {
description = "Fern",
drawtype = "plantlike",
waving = 1,
tiles = {"default_fern_" .. i .. ".png"},
inventory_image = "default_fern_" .. i .. ".png",
wield_image = "default_fern_" .. i .. ".png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1, grass = 1, fern = 1, attached_node = 1},
--sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25 + (i - 1) * 0.25, 6 / 16},
},
on_place = function(itemstack, placer, pointed_thing)
return itemstack
end,
})
end
-- Register Marram Grass
for i = 1, 3 do
minetest.register_node("vox_core:marram_grass_" .. i, {
description = "Marram Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_marram_grass_" .. i .. ".png"},
inventory_image = "default_marram_grass_" .. i .. ".png",
wield_image = "default_marram_grass_" .. i .. ".png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1, grass = 1, marram_grass = 1, attached_node = 1},
--sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25 + (i - 1) * 0.25, 6 / 16},
},
on_place = function(itemstack, placer, pointed_thing)
return itemstack
end,
})
end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 476 B

View file

@ -1,138 +0,0 @@
-- vox_core/trees.lua
-- support for MT game translation.
local S = minetest.get_translator("vox_core")
-- Placeholder for vox_core sound functions
local function vox_core_sound_wood_defaults()
return {
footstep = {name = "vox_core_wood_footstep", gain = 0.3},
dug = {name = "vox_core_wood_dug", gain = 1.0},
place = {name = "vox_core_wood_place", gain = 1.0},
}
end
local function vox_core_sound_leaves_defaults()
return {
footstep = {name = "vox_core_leaves_footstep", gain = 0.45},
dug = {name = "vox_core_leaves_dug", gain = 0.7},
place = {name = "vox_core_leaves_place", gain = 1.0},
}
end
local function vox_core_sound_sapling_defaults()
return {
footstep = {name = "vox_core_sapling_footstep", gain = 0.2},
dug = {name = "vox_core_sapling_dug", gain = 0.25},
place = {name = "vox_core_sapling_place", gain = 1.0},
}
end
-- Tree nodes
minetest.register_node("vox_core:tree", {
description = S("Apple Tree"),
tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = vox_core_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("vox_core:wood", {
description = S("Apple Wood Planks"),
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_wood.png"},
is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1},
sounds = vox_core_sound_wood_defaults(),
})
minetest.register_node("vox_core:sapling", {
description = S("Apple Tree Sapling"),
drawtype = "plantlike",
tiles = {"default_sapling.png"},
inventory_image = "default_sapling.png",
wield_image = "default_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_sapling,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2, attached_node = 1, sapling = 1},
sounds = vox_core_sound_sapling_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
return itemstack
end,
})
minetest.register_node("vox_core:leaves", {
description = S("Apple Tree Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"default_leaves.png"},
special_tiles = {"default_leaves_simple.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{items = {"vox_core:sapling"}, rarity = 20},
{items = {"vox_core:leaves"}}
}
},
sounds = vox_core_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("vox_core:apple", {
description = S("Apple"),
drawtype = "plantlike",
tiles = {"default_apple.png"},
inventory_image = "default_apple.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
is_ground_content = false,
selection_box = {
type = "fixed",
fixed = {-3 / 16, -7 / 16, -3 / 16, 3 / 16, 4 / 16, 3 / 16}
},
groups = {fleshy = 3, dig_immediate = 3, flammable = 2, leafdecay = 3, leafdecay_drop = 1, food_apple = 1},
on_use = minetest.item_eat(2),
sounds = vox_core_sound_leaves_defaults(),
after_place_node = function(pos, placer, itemstack)
minetest.set_node(pos, {name = "vox_core:apple", param2 = 1})
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
if oldnode.param2 == 0 then
minetest.set_node(pos, {name = "vox_core:apple_mark"})
end
end,
})
minetest.register_node("vox_core:apple_mark", {
description = S("Apple Marker"),
inventory_image = "default_apple.png^default_invisible_node_overlay.png",
wield_image = "default_apple.png^default_invisible_node_overlay.png",
drawtype = "airlike",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drop = "",
groups = {not_in_creative_inventory = 1},
on_timer = function(pos, elapsed)
minetest.set_node(pos, {name = "vox_core:apple"})
end,
})

View file

@ -0,0 +1,232 @@
-- Gems: Diamond, Emerald, Ruby, Sapphire, Topaz, Amethyst, Opal, Onyx, Garnet, Peridot, Aquamarine, Citrine, Tourmaline, Zircon, Tanzanite, Spinel, Lapis Lazuli, Malachite, Azurite, Turquoise, Amber, Moonstone, Sunstone, Bloodstone, Agate, Jasper, Chalcedony, Chrysoprase, Carnelian, Sardonyx, Heliotrope, Alexandrite, Tiger's Eye, Serpentine, Rhodonite
core.register_node("vox_main:diamond_ore", {
description = "Diamond Ore",
tiles = {"vox_diamond_ore.png"},
groups = {cracky = 2}
})
core.register_alias("diamond_ore", "vox_main:diamond_ore")
core.register_alias("default:stone_with_diamond", "vox_main:diamond_ore")
core.register_node("vox_main:emerald_ore", {
description = "Emerald Ore",
tiles = {"vox_emerald_ore.png"},
groups = {cracky = 2}
})
core.register_alias("emerald_ore", "vox_main:emerald_ore")
core.register_alias("default:stone_with_emerald", "vox_main:emerald_ore")
core.register_node("vox_main:ruby_ore", {
description = "Ruby Ore",
tiles = {"vox_ruby_ore.png"},
groups = {cracky = 2}
})
core.register_alias("ruby_ore", "vox_main:ruby_ore")
core.register_alias("default:stone_with_ruby", "vox_main:ruby_ore")
core.register_node("vox_main:sapphire_ore", {
description = "Sapphire Ore",
tiles = {"vox_sapphire_ore.png"},
groups = {cracky = 2}
})
core.register_alias("sapphire_ore", "vox_main:sapphire_ore")
core.register_alias("default:stone_with_sapphire", "vox_main:sapphire_ore")
core.register_node("vox_main:topaz_ore", {
description = "Topaz Ore",
tiles = {"vox_topaz_ore.png"},
groups = {cracky = 2}
})
core.register_alias("topaz_ore", "vox_main:topaz_ore")
core.register_alias("default:stone_with_topaz", "vox_main:topaz_ore")
core.register_node("vox_main:amethyst_ore", {
description = "Amethyst Ore",
tiles = {"vox_amethyst_ore.png"},
groups = {cracky = 2}
})
core.register_alias("amethyst_ore", "vox_main:amethyst_ore")
core.register_alias("default:stone_with_amethyst", "vox_main:amethyst_ore")
core.register_node("vox_main:opal_ore", {
description = "Opal Ore",
tiles = {"vox_opal_ore.png"},
groups = {cracky = 2}
})
core.register_alias("opal_ore", "vox_main:opal_ore")
core.register_alias("default:stone_with_opal", "vox_main:opal_ore")
core.register_node("vox_main:onyx_ore", {
description = "Onyx Ore",
tiles = {"vox_onyx_ore.png"},
groups = {cracky = 2}
})
core.register_alias("onyx_ore", "vox_main:onyx_ore")
core.register_alias("default:stone_with_onyx", "vox_main:onyx_ore")
core.register_node("vox_main:garnet_ore", {
description = "Garnet Ore",
tiles = {"vox_garnet_ore.png"},
groups = {cracky = 2}
})
core.register_alias("garnet_ore", "vox_main:garnet_ore")
core.register_alias("default:stone_with_garnet", "vox_main:garnet_ore")
core.register_node("vox_main:peridot_ore", {
description = "Peridot Ore",
tiles = {"vox_peridot_ore.png"},
groups = {cracky = 2}
})
core.register_alias("peridot_ore", "vox_main:peridot_ore")
core.register_alias("default:stone_with_peridot", "vox_main:peridot_ore")
core.register_node("vox_main:aquamarine_ore", {
description = "Aquamarine Ore",
tiles = {"vox_aquamarine_ore.png"},
groups = {cracky = 2}
})
core.register_alias("aquamarine_ore", "vox_main:aquamarine_ore")
core.register_alias("default:stone_with_aquamarine", "vox_main:aquamarine_ore")
core.register_node("vox_main:citrine_ore", {
description = "Citrine Ore",
tiles = {"vox_citrine_ore.png"},
groups = {cracky = 2}
})
core.register_alias("citrine_ore", "vox_main:citrine_ore")
core.register_alias("default:stone_with_citrine", "vox_main:citrine_ore")
core.register_node("vox_main:tourmaline_ore", {
description = "Tourmaline Ore",
tiles = {"vox_tourmaline_ore.png"},
groups = {cracky = 2}
})
core.register_alias("tourmaline_ore", "vox_main:tourmaline_ore")
core.register_alias("default:stone_with_tourmaline", "vox_main:tourmaline_ore")
core.register_node("vox_main:zircon_ore", {
description = "Zircon Ore",
tiles = {"vox_zircon_ore.png"},
groups = {cracky = 2}
})
core.register_alias("zircon_ore", "vox_main:zircon_ore")
core.register_alias("default:stone_with_zircon", "vox_main:zircon_ore")
core.register_node("vox_main:tanzanite_ore", {
description = "Tanzanite Ore",
tiles = {"vox_tanzanite_ore.png"},
groups = {cracky = 2}
})
core.register_alias("tanzanite_ore", "vox_main:tanzanite_ore")
core.register_alias("default:stone_with_tanzanite", "vox_main:tanzanite_ore")
core.register_node("vox_main:spinel_ore", {
description = "Spinel Ore",
tiles = {"vox_spinel_ore.png"},
groups = {cracky = 2}
})
core.register_alias("spinel_ore", "vox_main:spinel_ore")
core.register_alias("default:stone_with_spinel", "vox_main:spinel_ore")
core.register_node("vox_main:lapis_lazuli_ore", {
description = "Lapis Lazuli Ore",
tiles = {"vox_lapis_lazuli_ore.png"},
groups = {cracky = 2}
})
core.register_alias("lapis_lazuli_ore", "vox_main:lapis_lazuli_ore")
core.register_alias("default:stone_with_lapis_lazuli", "vox_main:lapis_lazuli_ore")
core.register_node("vox_main:malachite_ore", {
description = "Malachite Ore",
tiles = {"vox_malachite_ore.png"},
groups = {cracky = 2}
})
core.register_alias("malachite_ore", "vox_main:malachite_ore")
core.register_alias("default:stone_with_malachite", "vox_main:malachite_ore")
core.register_node("vox_main:azurite_ore", {
description = "Azurite Ore",
tiles = {"vox_azurite_ore.png"},
groups = {cracky = 2}
})
core.register_alias("azurite_ore", "vox_main:azurite_ore")
core.register_alias("default:stone_with_azurite", "vox_main:azurite_ore")
core.register_node("vox_main:turquoise_ore", {
description = "Turquoise Ore",
tiles = {"vox_turquoise_ore.png"},
groups = {cracky = 2}
})
core.register_alias("turquoise_ore", "vox_main:turquoise_ore")
core.register_alias("default:stone_with_turquoise", "vox_main:turquoise_ore")
core.register_node("vox_main:amber_ore", {
description = "Amber Ore",
tiles = {"vox_amber_ore.png"},
groups = {cracky = 2}
})
core.register_alias("amber_ore", "vox_main:amber_ore")
core.register_alias("default:stone_with_amber", "vox_main:amber_ore")
core.register_node("vox_main:moonstone_ore", {
description = "Moonstone Ore",
tiles = {"vox_moonstone_ore.png"},
groups = {cracky = 2}
})
core.register_alias("moonstone_ore", "vox_main:moonstone_ore")
core.register_alias("default:stone_with_moonstone", "vox_main:moonstone_ore")
core.register_node("vox_main:sunstone_ore", {
description = "Sunstone Ore",
tiles = {"vox_sunstone_ore.png"},
groups = {cracky = 2}
})
core.register_alias("sunstone_ore", "vox_main:sunstone_ore")
core.register_alias("default:stone_with_sunstone", "vox_main:sunstone_ore")
core.register_node("vox_main:bloodstone_ore", {
description = "Bloodstone Ore",
tiles = {"vox_bloodstone_ore.png"},
groups = {cracky = 2}
})
core.register_alias("bloodstone_ore", "vox_main:bloodstone_ore")
core.register_alias("default:stone_with_bloodstone", "vox_main:bloodstone_ore")
core.register_node("vox_main:agate_ore", {
description = "Agate Ore",
tiles = {"vox_agate_ore.png"},
groups = {cracky = 2}
})
core.register_alias("agate_ore", "vox_main:agate_ore")
core.register_alias("default:stone_with_agate", "vox_main:agate_ore")
core.register_node("vox_main:jasper_ore", {
description = "Jasper Ore",
tiles = {"vox_jasper_ore.png"},
groups = {cracky = 2}
})
core.register_alias("jasper_ore", "vox_main:jasper_ore")
core.register_alias("default:stone_with_jasper", "vox_main:jasper_ore")
core.register_node("vox_main:chalcedony_ore", {
description = "Chalcedony Ore",
tiles = {"vox_chalcedony_ore.png"},
groups = {cracky = 2}
})
core.register_alias("chalcedony_ore", "vox_main:chalcedony_ore")
core.register_alias("default:stone_with_chalcedony", "vox_main:chalcedony_ore")
core.register_node("vox_main:chrysoprase_ore", {
description = "Chrysoprase Ore",
tiles = {"vox_chrysoprase_ore.png"},
groups = {cracky = 2}
})
core.register_alias("chrysoprase_ore", "vox_main:chrysoprase_ore")
core.register_alias("default:stone_with_chrysoprase", "vox_main:chrysoprase_ore")
core.register_node("vox_main:carnelian_ore", {
description = "Carnelian Ore",
tiles = {"vox_carnelian_ore.png"},
groups = {cracky = 2}
})
core.register_alias("carnelian_ore", "vox_main:carnelian_ore")
core.register_alias("default:stone_with_carnelian", "vox_main:carnelian_ore")

View file

@ -11,45 +11,33 @@
-- with this program; if not, see <http://www.gnu.org/licenses/>. -- with this program; if not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
vox_core = {}
-- Load from minerals.lua -- Load from minerals.lua
dofile(core.get_modpath("vox_core").."/minerals.lua") dofile(core.get_modpath("vox_main").."/minerals.lua")
-- Load from ores.lua -- Load from ores.lua
dofile(core.get_modpath("vox_core").."/ores.lua") dofile(core.get_modpath("vox_main").."/ores.lua")
-- Load from gems.lua -- Load from gems.lua
dofile(core.get_modpath("vox_core").."/gems.lua") dofile(core.get_modpath("vox_main").."/gems.lua")
-- Load from liquids.lua -- Load from liquids.lua
dofile(core.get_modpath("vox_core").."/liquids.lua") dofile(core.get_modpath("vox_main").."/liquids.lua")
-- Load from trees.lua
dofile(core.get_modpath("vox_core").."/trees.lua")
-- Load from plants.lua
dofile(core.get_modpath("vox_core").."/plants.lua")
-- Load from ocean.lua -- Load from ocean.lua
dofile(core.get_modpath("vox_core").."/ocean.lua") dofile(core.get_modpath("vox_main").."/ocean.lua")
-- Load from sky_island.lua -- Load from sky_island.lua
dofile(core.get_modpath("vox_core").."/sky_island.lua") dofile(core.get_modpath("vox_main").."/sky_island.lua")
-- Load from mobdrops.lua -- Load from mobdrops.lua
dofile(minetest.get_modpath("vox_core").."/mobdrops.lua") dofile(minetest.get_modpath("vox_main").."/mobdrops.lua")
-- Load from mats.lua -- Load from mats.lua
dofile(minetest.get_modpath("vox_core").."/mats.lua") dofile(minetest.get_modpath("vox_main").."/mats.lua")
-- Load from functions.lua
-- This is copy/paste from 'default' mod and we're using it temporarily(?)
--dofile(minetest.get_modpath("vox_core").."/functions.lua")
-- Glowing Moss -- Glowing Moss
core.register_node("vox_core:glowing_moss", { core.register_node("vox_main:glowing_moss", {
description = "Glowing Moss", description = "Glowing Moss",
tiles = {"vox_glowing_moss.png"}, tiles = {"vox_glowing_moss.png"},
light_source = 8, light_source = 8,
groups = {crumbly = 1} groups = {crumbly = 1}
}) })
core.register_alias("glowing_moss", "vox_core:glowing_moss") core.register_alias("glowing_moss", "vox_main:glowing_moss")
-- ---------------------------- Dyeable Nodes -------------------------- -- -- ---------------------------- Dyeable Nodes -------------------------- --

View file

@ -0,0 +1,370 @@
-- -------------------------------------------------------------------------- --
-- Liquids --
-- -------------------------------------------------------------------------- --
-- Water
core.register_node("vox_main:water_source", {
description = "Water Source",
drawtype = "liquid",
tiles = {
{
name = "vox_water.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 128,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "source",
liquid_alternative_flowing = "vox_main:water_flowing",
liquid_alternative_source = "vox_main:water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90}
})
core.register_alias("water_source", "vox_main:water_source")
core.register_alias("default:river_water", "vox_main:water_source")
core.register_alias("mapgen_water_source", "vox_main:water_source")
core.register_node("vox_main:water_flowing", {
description = "Flowing Water",
drawtype = "flowingliquid",
tiles = {"vox_water.png"},
special_tiles = {
{
name = "vox_water.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "flowing",
liquid_alternative_flowing = "vox_main:water_flowing",
liquid_alternative_source = "vox_main:water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90}
})
core.register_alias("water_flowing", "vox_main:water_flowing")
core.register_alias("default:river_water_flowing", "vox_main:water_flowing")
core.register_alias("mapgen_water_flowing", "vox_main:water_flowing")
-- River Water
core.register_node("vox_main:river_water_source", {
description = "River Water Source",
drawtype = "liquid",
tiles = {
{
name = "vox_river_water.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 128,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "source",
liquid_alternative_flowing = "vox_main:river_water_flowing",
liquid_alternative_source = "vox_main:river_water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90}
})
core.register_alias("river_water_source", "vox_main:river_water_source")
core.register_alias("mapgen_river_water_source", "vox_main:river_water_source")
core.register_alias("default:river_water_source", "vox_main:river_water_source")
core.register_node("vox_main:river_water_flowing", {
description = "Flowing River Water",
drawtype = "flowingliquid",
tiles = {"vox_river_water.png"},
special_tiles = {
{
name = "vox_river_water.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "flowing",
liquid_alternative_flowing = "vox_main:river_water_flowing",
liquid_alternative_source = "vox_main:river_water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90}
})
-- Hotspring Water
core.register_node("vox_main:hotspring_water_source", {
description = "Hotspring Water Source",
drawtype = "liquid",
tiles = {
{
name = "vox_hotspring_water.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 128,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "source",
liquid_alternative_flowing = "vox_main:hotspring_water_flowing",
liquid_alternative_source = "vox_main:hotspring_water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90}
})
core.register_alias("hotspring_water_source", "vox_main:hotspring_water_source")
core.register_alias("mapgen_hotspring_water_source", "vox_main:hotspring_water_source")
core.register_node("vox_main:hotspring_water_flowing", {
description = "Flowing Hotspring Water",
drawtype = "flowingliquid",
tiles = {"vox_hotspring_water.png"},
special_tiles = {
{
name = "vox_hotspring_water.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8
}
}
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "flowing",
liquid_alternative_flowing = "vox_main:hotspring_water_flowing",
liquid_alternative_source = "vox_main:hotspring_water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90}
})
core.register_alias("hotspring_water_flowing", "vox_main:hotspring_water_flowing")
core.register_alias("mapgen_hotspring_water_flowing", "vox_main:hotspring_water_flowing")
-- Lava
core.register_node("vox_main:lava_source", {
description = "Lava Source",
drawtype = "liquid",
tiles = {
{
name = "vox_lava.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 255,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "source",
liquid_alternative_flowing = "vox_main:lava_flowing",
liquid_alternative_source = "vox_main:lava_source",
liquid_viscosity = 7,
post_effect_color = {a = 255, r = 255, g = 0, b = 0}
})
core.register_alias("lava_source", "vox_main:lava_source")
core.register_alias("default:lava_source", "vox_main:lava_source")
core.register_alias("mapgen_lava_source", "vox_main:lava_source")
core.register_node("vox_main:lava_flowing", {
description = "Flowing Lava",
drawtype = "flowingliquid",
tiles = {"vox_lava.png"},
special_tiles = {
{
name = "vox_lava.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 255,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "flowing",
liquid_alternative_flowing = "vox_main:lava_flowing",
liquid_alternative_source = "vox_main:lava_source",
liquid_viscosity = 7,
post_effect_color = {a = 255, r = 255, g = 0, b = 0}
})
core.register_alias("lava_flowing", "vox_main:lava_flowing")
core.register_alias("default:lava_flowing", "vox_main:lava_flowing")
core.register_alias("mapgen_lava_flowing", "vox_main:lava_flowing")
-- Oil
core.register_node("vox_main:oil_source", {
description = "Oil Source",
drawtype = "liquid",
tiles = {
{
name = "vox_oil.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 255,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "source",
liquid_alternative_flowing = "vox_main:oil_flowing",
liquid_alternative_source = "vox_main:oil_source",
liquid_viscosity = 1,
post_effect_color = {a = 255, r = 0, g = 0, b = 0}
})
core.register_alias("oil_source", "vox_main:oil_source")
core.register_alias("mapgen_oil_source", "vox_main:oil_source")
core.register_node("vox_main:oil_flowing", {
description = "Flowing Oil",
drawtype = "flowingliquid",
tiles = {"vox_oil.png"},
special_tiles = {
{
name = "vox_oil.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 255,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "flowing",
liquid_alternative_flowing = "vox_main:oil_flowing",
liquid_alternative_source = "vox_main:oil_source",
liquid_viscosity = 1,
post_effect_color = {a = 255, r = 0, g = 0, b = 0}
})
core.register_alias("oil_flowing", "vox_main:oil_flowing")
core.register_alias("mapgen_oil_flowing", "vox_main:oil_flowing")
-- Acid
core.register_node("vox_main:acid_source", {
description = "Acid Source",
drawtype = "liquid",
tiles = {
{
name = "vox_acid.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 255,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "source",
liquid_alternative_flowing = "vox_main:acid_flowing",
liquid_alternative_source = "vox_main:acid_source",
liquid_viscosity = 1,
post_effect_color = {a = 255, r = 0, g = 255, b = 0}
})
core.register_alias("acid_source", "vox_main:acid_source")
core.register_alias("mapgen_acid_source", "vox_main:acid_source")
core.register_node("vox_main:acid_flowing", {
description = "Flowing Acid",
drawtype = "flowingliquid",
tiles = {"vox_acid.png"},
special_tiles = {
{
name = "vox_acid.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
alpha = 255,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
liquidtype = "flowing",
liquid_alternative_flowing = "vox_main:acid_flowing",
liquid_alternative_source = "vox_main:acid_source",
liquid_viscosity = 1,
post_effect_color = {a = 255, r = 0, g = 255, b = 0}
})

View file

@ -1,37 +1,37 @@
-- Ash -- Ash
minetest.register_craftitem("vox_core:ash", { minetest.register_craftitem("vox_main:ash", {
description = "Ash", description = "Ash",
inventory_image = "ash.png", inventory_image = "ash.png",
groups = {crumbly = 3}, groups = {crumbly = 3},
}) })
-- Salt -- Salt
minetest.register_craftitem("vox_core:salt", { minetest.register_craftitem("vox_main:salt", {
description = "Salt", description = "Salt",
inventory_image = "salt.png", inventory_image = "salt.png",
}) })
-- Lye -- Lye
minetest.register_craftitem("vox_core:lye", { minetest.register_craftitem("vox_main:lye", {
description = "Lye", description = "Lye",
inventory_image = "lye.png", inventory_image = "lye.png",
}) })
minetest.register_craft({ minetest.register_craft({
output = "vox_core:lye", output = "vox_main:lye",
recipe = { recipe = {
{"vox_core:ash", "bucket:water_bucket"}, {"vox_main:ash", "bucket:water_bucket"},
}, },
replacements = {{"bucket:water_bucket", "bucket:bucket"}}, replacements = {{"bucket:water_bucket", "bucket:bucket"}},
}) })
-- Soap -- Soap
minetest.register_craftitem("vox_core:soap", { minetest.register_craftitem("vox_main:soap", {
description = "Soap", description = "Soap",
inventory_image = "soap.png", inventory_image = "soap.png",
}) })
minetest.register_craft({ minetest.register_craft({
output = "vox_core:soap", output = "vox_main:soap",
recipe = { recipe = {
{"vox_mobdrops:fat", "vox_core:lye", "vox_core:salt"}, {"vox_mobdrops:fat", "vox_main:lye", "vox_main:salt"},
}, },
}) })

View file

@ -0,0 +1,265 @@
-- Bedrock
core.register_node("vox_main:bedrock", {
description = "Bedrock",
tiles = {"vox_bedrock.png"},
groups = {cracky = 1}
})
core.register_alias("bedrock", "vox_main:bedrock")
core.register_alias("default:bedrock", "vox_main:bedrock")
-- Dirt
core.register_node("vox_main:dirt", {
description = "Dirt",
tiles = {"vox_dirt.png"},
groups = {crumbly = 3}
})
core.register_alias("dirt", "vox_main:dirt")
core.register_alias("default:dirt", "vox_main:dirt")
-- Grass
core.register_node("vox_main:grass_block", {
description = "Grass Block",
tiles = {"vox_grass_block.png"},
groups = {cracky = 3}
})
core.register_alias("grass_block", "vox_main:grass_block")
core.register_alias("default:dirt_with_grass_block" , "vox_main:grass_block")
-- Snow
core.register_node("vox_main:snow", {
description = "Snow",
tiles = {"vox_snow.png"},
groups = {crumbly = 3}
})
core.register_alias("snow", "vox_main:snow")
core.register_alias("default:snow", "vox_main:snow")
-- Packed Snow
core.register_node("vox_main:packed_snow", {
description = "Packed Snow",
tiles = {"vox_packed_snow.png"},
groups = {crumbly = 2}
})
core.register_alias("packed_snow", "vox_main:packed_snow")
-- Ice
core.register_node("vox_main:ice", {
description = "Ice",
tiles = {"vox_ice.png"},
groups = {crumbly = 3}
})
core.register_alias("ice", "vox_main:ice")
core.register_alias("default:ice", "vox_main:ice")
-- Dirt With Snow
core.register_node("vox_main:dirt_with_snow", {
description = "Dirt With Snow",
tiles = {"vox_dirt_with_snow.png"},
groups = {crumbly = 3}
})
core.register_alias("dirt_with_snow", "vox_main:dirt_with_snow")
-- Permafrost
core.register_node("vox_main:permafrost", {
description = "Permafrost",
tiles = {"vox_permafrost.png"},
groups = {crumbly = 3}
})
core.register_alias("permafrost", "vox_main:permafrost")
-- Bluestone
core.register_node("vox_main:bluestone", {
description = "Bluestone",
tiles = {"vox_bluestone.png"},
groups = {cracky = 2}
})
core.register_alias("bluestone", "vox_main:bluestone")
-- Stone
core.register_node("vox_main:stone", {
description = "Stone",
tiles = {"vox_stone.png"},
groups = {cracky = 2}
})
core.register_alias("stone", "vox_main:stone")
core.register_alias("mapgen_stone", "vox_main:stone")
-- core.register_alias("default:stone", "vox_main:stone")
-- Cobblestone
core.register_node("vox_main:cobblestone", {
description = "Cobblestone",
tiles = {"vox_cobblestone.png"},
groups = {cracky = 2}
})
core.register_alias("cobblestone", "vox_main:cobblestone")
core.register_alias("default:cobble", "vox_main:cobblestone")
-- Mossy Cobblestone
core.register_node("vox_main:mossycobble", {
description = "Mossy Cobblestone",
tiles = {"vox_mossycobble.png"},
groups = {cracky = 2}
})
core.register_alias("mossycobble", "vox_main:mossycobble")
core.register_alias("default:mossycobble", "vox_main:mossycobble")
-- Sand
-- (I don't like sand. It's coarse and rough and irritating and it gets everywhere.)
core.register_node("vox_main:sand", {
description = "Sand",
tiles = {"vox_sand.png"},
groups = {crumbly = 3}
})
core.register_alias("sand", "vox_main:sand")
core.register_alias("default:sand", "vox_main:sand")
-- Sulfur Crust
core.register_node("vox_main:sulfur_crust", {
description = "Sulfur Crust",
tiles = {"vox_sulfur_crust.png"},
groups = {crumbly = 3}
})
core.register_alias("sulfur_crust", "vox_main:sulfur_crust")
-- Ash
minetest.register_node("vox_main:ash_block", {
description = "Ash Block",
tiles = {"vox_ash_block.png"},
groups = {crumbly = 3},
drop = "vox_mats:ash", -- Drops ash when broken
})
-- Gravel
core.register_node("vox_main:gravel", {
description = "Gravel",
tiles = {"vox_gravel.png"},
groups = {crumbly = 2}
})
core.register_alias("gravel", "vox_main:gravel")
core.register_alias("default:gravel", "vox_main:gravel")
-- Sandstone
core.register_node("vox_main:sandstone", {
description = "Sandstone",
tiles = {"vox_sandstone.png"},
groups = {cracky = 2}
})
core.register_alias("sandstone", "vox_main:sandstone")
core.register_alias("default:sandstone", "vox_main:sandstone")
-- Clay
core.register_node("vox_main:clay", {
description = "Clay",
tiles = {"vox_clay.png"},
groups = {crumbly = 3}
})
core.register_alias("clay", "vox_main:clay")
core.register_alias("default:clay", "vox_main:clay")
-- Hardened Clay
core.register_node("vox_main:hardened_clay", {
description = "Hardened Clay",
tiles = {"vox_hardened_clay.png"},
groups = {cracky = 2}
})
core.register_alias("hardened_clay", "vox_main:hardened_clay")
core.register_alias("default:hardened_clay", "vox_main:hardened_clay")
-- Mud
core.register_node("vox_main:mud", {
description = "Mud",
tiles = {"vox_mud.png"},
groups = {crumbly = 3}
})
core.register_alias("mud", "vox_main:mud")
-- Salt Crystal
core.register_node("vox_main:salt_crystal", {
description = "Salt Crystal",
tiles = {"vox_salt_crystal.png"},
groups = {cracky = 2}
})
core.register_alias("salt_crystal", "vox_main:salt_crystal")
-- Volcanic Rock
core.register_node("vox_main:volcanic_rock", {
description = "Volcanic Rock",
tiles = {"vox_volcanic_rock.png"},
groups = {cracky = 3}
})
core.register_alias("volcanic_rock", "vox_main:volcanic_rock")
-- EVEN MORE ROCKS!!!
-- Granite
core.register_node("vox_main:granite", {
description = "Granite",
tiles = {"vox_granite.png"},
groups = {cracky = 2}
})
core.register_alias("granite", "vox_main:granite")
core.register_alias("default:granite", "vox_main:granite")
-- Diorite
core.register_node("vox_main:diorite", {
description = "Diorite",
tiles = {"vox_diorite.png"},
groups = {cracky = 2}
})
core.register_alias("diorite", "vox_main:diorite")
core.register_alias("default:diorite", "vox_main:diorite")
-- Andesite
core.register_node("vox_main:andesite", {
description = "Andesite",
tiles = {"vox_andesite.png"},
groups = {cracky = 2}
})
core.register_alias("andesite", "vox_main:andesite")
core.register_alias("default:andesite", "vox_main:andesite")
-- Basalt
core.register_node("vox_main:basalt", {
description = "Basalt",
tiles = {"vox_basalt.png"},
groups = {cracky = 2}
})
core.register_alias("basalt", "vox_main:basalt")
core.register_alias("default:basalt", "vox_main:basalt")
-- Obsidian
core.register_node("vox_main:obsidian", {
description = "Obsidian",
tiles = {"vox_obsidian.png"},
groups = {cracky = 2}
})
core.register_alias("obsidian", "vox_main:obsidian")
core.register_alias("default:obsidian", "vox_main:obsidian")
-- Marble
core.register_node("vox_main:marble", {
description = "Marble",
tiles = {"vox_marble.png"},
groups = {cracky = 2}
})
core.register_alias("marble", "vox_main:marble")
core.register_alias("default:marble", "vox_main:marble")
-- Chalk
core.register_node("vox_main:chalk", {
description = "Chalk",
tiles = {"vox_chalk.png"},
groups = {cracky = 2}
})
core.register_alias("chalk", "vox_main:chalk")
core.register_alias("default:chalk", "vox_main:chalk")
-- Limestone
core.register_node("vox_main:limestone", {
description = "Limestone",
tiles = {"vox_limestone.png"},
groups = {cracky = 2}
})
core.register_alias("limestone", "vox_main:limestone")
core.register_alias("default:limestone", "vox_main:limestone")

View file

@ -1,13 +1,13 @@
-- We'll register drops from mobs here, but what mobs drop elsewhere. -- We'll register drops from mobs here, but what mobs drop elsewhere.
-- Fat -- Fat
minetest.register_craftitem("vox_core:fat", { minetest.register_craftitem("vox_main:fat", {
description = "Fat", description = "Fat",
inventory_image = "fat.png", inventory_image = "fat.png",
}) })
-- Leather -- Leather
minetest.register_craftitem("vox_core:leather", { minetest.register_craftitem("vox_main:leather", {
description = "Leather", description = "Leather",
inventory_image = "leather.png", inventory_image = "leather.png",
}) })

View file

@ -1,3 +1,3 @@
name = vox_core name = vox_main
description = Voxelis - Main : Core content description = Voxelis - Main : Core content
depends = vox_colors depends = vox_colors

View file

@ -0,0 +1,7 @@
core.register_node("vox_main:coral_red", {
description = "Red Coral",
tiles = {"vox_coral_red.png"},
groups = {crumbly = 1}
})
core.register_alias("coral_red", "vox_main:coral_red")

View file

@ -0,0 +1,153 @@
-- -------------------------------------------------------------------------- --
-- Ores --
-- -------------------------------------------------------------------------- --
-- Fuel: Coal, Uranium, Peat
core.register_node("vox_main:coal_ore", {
description = "Coal Ore",
tiles = {"vox_coal_ore.png"},
groups = {cracky = 2}
})
core.register_alias("coal_ore", "vox_main:coal_ore")
core.register_alias("default:stone_with_coal", "vox_main:coal_ore")
core.register_node("vox_main:uranium_ore", {
description = "Uranium Ore",
tiles = {"vox_uranium_ore.png"},
groups = {cracky = 2}
})
core.register_alias("uranium_ore", "vox_main:uranium_ore")
core.register_alias("default:stone_with_uranium", "vox_main:uranium_ore")
core.register_node("vox_main:peat", {
description = "Peat",
tiles = {"vox_peat.png"},
groups = {crumbly = 2, flammable = 1}
})
core.register_alias("peat", "vox_main:peat")
-- Bone
core.register_node("vox_main:bone_ore", {
description = "Bone Ore",
tiles = {"vox_bone_ore.png"},
groups = {cracky = 2}
})
core.register_alias("bone_ore", "vox_main:bone_ore")
core.register_alias("default:stone_with_bone", "vox_main:bone_ore")
-- Sulfur
core.register_node("vox_main:sulfur_ore", {
description = "Sulfur Ore",
tiles = {"vox_sulfur_ore.png"},
groups = {cracky = 2}
})
core.register_alias("sulfur_ore", "vox_main:sulfur_ore")
core.register_alias("default:stone_with_sulfur", "vox_main:sulfur_ore")
-- Salt
core.register_node("vox_main:salt_ore", {
description = "Salt Ore",
tiles = {"vox_salt_ore.png"},
groups = {crumbly = 2},
drop = "vox_mats:salt"
})
core.register_alias("salt_ore", "vox_main:salt_ore")
core.register_alias("default:stone_with_salt", "vox_main:salt_ore")
-- Metals: Copper, Tin, Iron, Gold, Silver, Platinum, Lead, Zinc, Nickel, Cobalt, Titanium, Tungsten
core.register_node("vox_main:copper_ore", {
description = "Copper Ore",
tiles = {"vox_copper_ore.png"},
groups = {cracky = 2}
})
core.register_alias("copper_ore", "vox_main:copper_ore")
core.register_alias("default:stone_with_copper", "vox_main:copper_ore")
core.register_node("vox_main:tin_ore", {
description = "Tin Ore",
tiles = {"vox_tin_ore.png"},
groups = {cracky = 2}
})
core.register_alias("tin_ore", "vox_main:tin_ore")
core.register_alias("default:stone_with_tin", "vox_main:tin_ore")
core.register_node("vox_main:iron_ore", {
description = "Iron Ore",
tiles = {"vox_iron_ore.png"},
groups = {cracky = 2}
})
core.register_alias("iron_ore", "vox_main:iron_ore")
core.register_alias("default:stone_with_iron", "vox_main:iron_ore")
core.register_node("vox_main:gold_ore", {
description = "Gold Ore",
tiles = {"vox_gold_ore.png"},
groups = {cracky = 2}
})
core.register_alias("gold_ore", "vox_main:gold_ore")
core.register_alias("default:stone_with_gold", "vox_main:gold_ore")
core.register_node("vox_main:silver_ore", {
description = "Silver Ore",
tiles = {"vox_silver_ore.png"},
groups = {cracky = 2}
})
core.register_alias("silver_ore", "vox_main:silver_ore")
core.register_alias("default:stone_with_silver", "vox_main:silver_ore")
core.register_node("vox_main:platinum_ore", {
description = "Platinum Ore",
tiles = {"vox_platinum_ore.png"},
groups = {cracky = 2}
})
core.register_alias("platinum_ore", "vox_main:platinum_ore")
core.register_alias("default:stone_with_platinum", "vox_main:platinum_ore")
core.register_node("vox_main:lead_ore", {
description = "Lead Ore",
tiles = {"vox_lead_ore.png"},
groups = {cracky = 2}
})
core.register_alias("lead_ore", "vox_main:lead_ore")
core.register_alias("default:stone_with_lead", "vox_main:lead_ore")
core.register_node("vox_main:zinc_ore", {
description = "Zinc Ore",
tiles = {"vox_zinc_ore.png"},
groups = {cracky = 2}
})
core.register_alias("zinc_ore", "vox_main:zinc_ore")
core.register_alias("default:stone_with_zinc", "vox_main:zinc_ore")
core.register_node("vox_main:nickel_ore", {
description = "Nickel Ore",
tiles = {"vox_nickel_ore.png"},
groups = {cracky = 2}
})
core.register_alias("nickel_ore", "vox_main:nickel_ore")
core.register_alias("default:stone_with_nickel", "vox_main:nickel_ore")
core.register_node("vox_main:cobalt_ore", {
description = "Cobalt Ore",
tiles = {"vox_cobalt_ore.png"},
groups = {cracky = 2}
})
core.register_alias("cobalt_ore", "vox_main:cobalt_ore")
core.register_alias("default:stone_with_cobalt", "vox_main:cobalt_ore")
core.register_node("vox_main:titanium_ore", {
description = "Titanium Ore",
tiles = {"vox_titanium_ore.png"},
groups = {cracky = 2}
})
core.register_alias("titanium_ore", "vox_main:titanium_ore")
core.register_alias("default:stone_with_titanium", "vox_main:titanium_ore")
core.register_node("vox_main:tungsten_ore", {
description = "Tungsten Ore",
tiles = {"vox_tungsten_ore.png"},
groups = {cracky = 2}
})
core.register_alias("tungsten_ore", "vox_main:tungsten_ore")
core.register_alias("default:stone_with_tungsten", "vox_main:tungsten_ore")

View file

@ -2,9 +2,9 @@
-- Cloud Block - Only pegasus can walk on it :) -- Cloud Block - Only pegasus can walk on it :)
-- Players may stand on it, but sink partway through. If multiple blocks are -- Players may stand on it, but sink partway through. If multiple blocks are
-- stacked, you fall to the lowest block and still don't fall through. -- stacked, you fall to the lowest block and still don't fall through.
core.register_node("vox_core:cloud", { core.register_node("vox_main:cloud", {
description = "Cloud", description = "Cloud",
tiles = {"vox_cloud.png"}, tiles = {"vox_cloud.png"},
groups = {crumbly = 1} groups = {crumbly = 1}
}) })
core.register_alias("cloud", "vox_core:cloud") core.register_alias("cloud", "vox_main:cloud")

View file

@ -6,13 +6,13 @@ local dyeable_craftitem = {"wool, carpet"}
-- ---------------------------- Basics -------------------------- -- -- ---------------------------- Basics -------------------------- --
-- "We've got wool and wool accessories. -- "We've got wool and wool accessories.
-- String -- String
minetest.register_craftitem("vox_core:string", { minetest.register_craftitem("vox_main:string", {
description = "String", description = "String",
inventory_image = "vox_core_string.png" inventory_image = "vox_main_string.png"
}) })
-- Wool -- Wool
minetest.register_node("vox_core:wool", { minetest.register_node("vox_main:wool", {
description = "Wool", description = "Wool",
tiles = {"vox_textiles_wool.png"}, tiles = {"vox_textiles_wool.png"},
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=3}, groups = {snappy=2, choppy=2, oddly_breakable_by_hand=3},
@ -21,7 +21,7 @@ minetest.register_node("vox_core:wool", {
-- Carpet -- Carpet
-- These are made from wool and can be dyed -- These are made from wool and can be dyed
minetest.register_node("vox_core:carpet", { minetest.register_node("vox_main:carpet", {
description = "Carpet", description = "Carpet",
tiles = {"vox_textiles_carpet.png"}, tiles = {"vox_textiles_carpet.png"},
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=3}, groups = {snappy=2, choppy=2, oddly_breakable_by_hand=3},

View file

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

View file

Before

Width:  |  Height:  |  Size: 149 B

After

Width:  |  Height:  |  Size: 149 B

View file

Before

Width:  |  Height:  |  Size: 590 B

After

Width:  |  Height:  |  Size: 590 B

View file

Before

Width:  |  Height:  |  Size: 119 B

After

Width:  |  Height:  |  Size: 119 B

View file

Before

Width:  |  Height:  |  Size: 123 B

After

Width:  |  Height:  |  Size: 123 B

View file

Before

Width:  |  Height:  |  Size: 590 B

After

Width:  |  Height:  |  Size: 590 B

View file

@ -1,382 +0,0 @@
-- -------------------------------------------------------------- --
-- BIOMES
-- -------------------------------------------------------------- --
-- Helper function to create noise parameters
local function create_noise_params(offset, scale, spread, seed, octaves, persist)
return {
offset = offset,
scale = scale,
spread = spread,
seed = seed,
octaves = octaves,
persist = persist
}
end
-- Grassland
minetest.register_biome({
name = "grassland",
node_top = "vox_core:dirt_with_grass",
depth_top = 1,
node_filler = "vox_core:dirt",
depth_filler = 3,
node_stone = "vox_core:stone",
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:sand",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 5, -- Smooth transition between biomes
horizontal_blend = 6,
y_max = 31000,
y_min = 3, -- Ensure grassland spawns above beach level
heat_point = 50,
humidity_point = 35,
noise_params = create_noise_params(0, 1, {x = 100, y = 100, z = 100}, 12345, 3, 0.5)
})
-- Forest
minetest.register_biome({
name = "forest",
node_top = "vox_core:dirt_with_grass",
depth_top = 1,
node_filler = "vox_core:dirt",
depth_filler = 3,
node_stone = "vox_core:stone",
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:sand",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 4, -- Smooth transition between biomes
horizontal_blend = 6,
y_max = 31000,
y_min = 6, -- Ensure forest spawns above beach level
heat_point = 45,
humidity_point = 70,
noise_params = create_noise_params(0, 1, {x = 100, y = 100, z = 100}, 67890, 3, 0.5)
})
-- Desert
minetest.register_biome({
name = "desert",
node_top = "vox_core:desert_sand",
depth_top = 1,
node_filler = "vox_core:desert_sand",
depth_filler = 1,
node_stone = "vox_core:desert_stone",
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:sand",
depth_riverbed = 2,
node_dungeon = "vox_core:desert_stonebrick",
node_dungeon_alt = "vox_core:desert_stone",
node_dungeon_stair = "vox_core:desert_stonebrick",
vertical_blend = 5, -- Smooth transition between biomes
horizontal_blend = 6,
y_max = 31000,
y_min = 1, -- Ensure desert spawns above beach level
heat_point = 92,
humidity_point = 16
})
-- Tundra
minetest.register_biome({
name = "tundra",
node_top = "vox_core:dirt_with_snow",
depth_top = 1,
node_filler = "vox_core:dirt",
depth_filler = 3,
node_stone = "vox_core:stone",
node_water_top = "vox_core:ice",
depth_water_top = 10,
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:gravel",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 5,
horizontal_blend = 6,
y_max = 31000,
y_min = 1, -- Ensure tundra spawns above ocean level
heat_point = 0,
humidity_point = 40
})
-- Icesheet
minetest.register_biome({
name = "icesheet",
node_dust = "vox_core:snowblock",
node_top = "vox_core:snowblock",
depth_top = 1,
node_filler = "vox_core:snowblock",
depth_filler = 3,
node_stone = "vox_core:cave_ice",
node_water_top = "vox_core:ice",
depth_water_top = 10,
node_river_water = "vox_core:ice",
node_riverbed = "vox_core:gravel",
depth_riverbed = 2,
node_dungeon = "vox_core:ice",
node_dungeon_stair = "vox_core:stonebrick",
y_max = 31000,
y_min = 1,
heat_point = 0,
humidity_point = 73
})
-- Icesheet Ocean
minetest.register_biome({
name = "icesheet_ocean",
node_dust = "vox_core:snowblock",
node_top = "vox_core:sand",
depth_top = 1,
node_filler = "vox_core:sand",
depth_filler = 3,
node_water_top = "vox_core:water_source",
depth_water_top = 10,
node_cave_liquid = "vox_core:water_source",
node_riverbed = "vox_core:gravel",
depth_riverbed = 2,
y_max = 0,
y_min = -255,
heat_point = 0,
humidity_point = 73
})
-- Tundra Under
minetest.register_biome({
name = "tundra_under",
node_cave_liquid = {"vox_core:water_source", "vox_core:lava_source"},
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
y_max = -1, -- Ensure tundra_under spawns below ocean level
y_min = -31000,
heat_point = 0,
humidity_point = 40
})
-- Tundra Highland
minetest.register_biome({
name = "tundra_highland",
node_dust = "vox_core:snow",
node_riverbed = "vox_core:gravel",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 5,
horizontal_blend = 6,
y_max = 31000,
y_min = 47,
heat_point = 0,
humidity_point = 40
})
-- Tundra Beach
minetest.register_biome({
name = "tundra_beach",
node_top = "vox_core:gravel",
depth_top = 1,
node_filler = "vox_core:gravel",
depth_filler = 2,
node_riverbed = "vox_core:gravel",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 5,
horizontal_blend = 6,
y_max = 4,
y_min = -3,
heat_point = 0,
humidity_point = 40
})
-- Tundra Ocean
minetest.register_biome({
name = "tundra_ocean",
node_top = "vox_core:sand",
depth_top = 1,
node_filler = "vox_core:sand",
depth_filler = 3,
node_riverbed = "vox_core:gravel",
depth_riverbed = 2,
node_cave_liquid = "vox_core:water_source",
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 1,
horizontal_blend = 6,
y_max = 0,
y_min = -255,
heat_point = 0,
humidity_point = 40
})
-- Ocean
minetest.register_biome({
name = "ocean",
node_top = "vox_core:sand",
depth_top = 1,
node_filler = "vox_core:sand",
depth_filler = 3,
node_water_top = "vox_core:water_source",
depth_water_top = 10,
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:gravel",
depth_riverbed = 4,
y_min = -255,
y_max = 0, -- Ocean level at height 0
heat_point = 50,
humidity_point = 70
})
-- River
minetest.register_biome({
name = "river",
node_top = "vox_core:dirt_with_grass",
depth_top = 1,
node_filler = "vox_core:dirt",
depth_filler = 3,
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:sand",
depth_riverbed = 3,
y_min = -2,
y_max = 0, -- River level at height 0
heat_point = 50,
humidity_point = 70
})
-- Beach
minetest.register_biome({
name = "beach",
node_top = "vox_core:sand",
depth_top = 1,
node_filler = "vox_core:sand",
depth_filler = 3,
y_min = 0,
y_max = 5, -- Allow beach to vary in height
vertical_blend = 3, -- Smooth transition between biomes
horizontal_blend = 6,
heat_point = 50,
humidity_point = 70
})
-- Savanna
minetest.register_biome({
name = "savanna",
node_top = "vox_core:dry_dirt_with_dry_grass",
depth_top = 1,
node_filler = "vox_core:dry_dirt",
depth_filler = 3,
node_stone = "vox_core:desert_stone",
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:sand",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 4,
horizontal_blend = 6,
y_max = 31000,
y_min = 4,
heat_point = 85,
humidity_point = 20
})
-- Volcanic
minetest.register_biome({
name = "volcanic",
node_top = "vox_core:ash_block",
depth_top = 1,
node_filler = "vox_core:volcanic_rock",
depth_filler = 6,
node_stone = "vox_core:stone",
node_river_water = "vox_core:lava_source",
node_riverbed = "vox_core:gravel",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 4,
horizontal_blend = 6,
y_max = 31000,
y_min = 7,
heat_point = 100,
humidity_point = 10
})
-- Mountain
minetest.register_biome({
name = "mountain",
node_top = "vox_core:granite",
depth_top = 1,
node_filler = "vox_core:diorite",
depth_filler = 3,
node_stone = "vox_core:andesite",
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:gravel",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
horizontal_blend = 6,
vertical_blend = 10,
y_max = 31000,
y_min = 40,
heat_point = 30,
humidity_point = 40
})
-- Painted Mesa
minetest.register_biome({
name = "painted_mesa",
node_top = "vox_core:hardened_clay",
depth_top = 1,
node_filler = "vox_core:hardened_clay",
depth_filler = 3,
node_stone = "vox_core:desert_stone",
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:sand",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 3,
horizontal_blend = 6,
y_max = 31000,
y_min = 3,
heat_point = 75,
humidity_point = 25,
noise_params = create_noise_params(0, 1, {x = 100, y = 100, z = 100}, 54321, 3, 0.5)
})
-- Register terracotta layers for Painted Mesa
local colors = {"red", "orange", "yellow", "brown", "white", "light_blue", "lime", "pink"}
for _, color in ipairs(colors) do
minetest.register_biome({
name = "painted_mesa_" .. color,
node_top = "vox_core:teracotta_" .. color,
depth_top = 1,
node_filler = "vox_core:teracotta_" .. color,
depth_filler = 3,
node_stone = "vox_core:desert_stone",
node_river_water = "vox_core:river_water_source",
node_riverbed = "vox_core:sand",
depth_riverbed = 2,
node_dungeon = "vox_core:cobble",
node_dungeon_alt = "vox_core:mossycobble",
node_dungeon_stair = "vox_core:stonebrick",
vertical_blend = 3,
y_max = 31000,
y_min = 6,
heat_point = 75,
humidity_point = 25,
noise_params = create_noise_params(0, 1, {x = 100, y = 100, z = 100}, 98765, 3, 0.5)
})
end

View file

@ -1,280 +0,0 @@
-- -------------------------------------------------------------- --
-- DECORATIONS
-- -------------------------------------------------------------- --
-- Kelp
minetest.register_decoration({
name = "vox_core:kelp",
deco_type = "simple",
place_on = {"vox_core:sand"},
place_offset_y = -1,
sidelen = 16,
noise_params = {
offset = -0.04,
scale = 0.1,
spread = {x = 200, y = 200, z = 200},
seed = 87112,
octaves = 3,
persist = 0.7
},
biomes = {"ocean"},
y_max = 0, -- Ensure kelp can be placed up to ocean level
y_min = -10,
flags = "force_placement",
decoration = "vox_core:kelp",
param2 = 48,
param2_max = 96,
})
-- Apple Tree
minetest.register_decoration({
name = "vox_core:apple_tree",
deco_type = "schematic",
place_on = {"vox_core:dirt_with_grass"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"grassland"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("vox_core") .. "/schematics/apple_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Jungle Tree
minetest.register_decoration({
name = "vox_core:jungle_tree",
deco_type = "schematic",
place_on = {"vox_core:dirt_with_rainforest_litter"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"rainforest"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("vox_core") .. "/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Pine Tree
minetest.register_decoration({
name = "vox_core:pine_tree",
deco_type = "schematic",
place_on = {"vox_core:dirt_with_snow"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"taiga"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("vox_core") .. "/schematics/pine_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Acacia Tree
minetest.register_decoration({
name = "vox_core:acacia_tree",
deco_type = "schematic",
place_on = {"vox_core:dry_dirt"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"savanna"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("vox_core") .. "/schematics/acacia_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Aspen Tree
minetest.register_decoration({
name = "vox_core:aspen_tree",
deco_type = "schematic",
place_on = {"vox_core:dirt_with_grass"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"deciduous_forest"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("vox_core") .. "/schematics/aspen_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Grass
for i = 1, 5 do
minetest.register_decoration({
name = "vox_core:grass_" .. i,
deco_type = "simple",
place_on = {"vox_core:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.09,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"grassland"},
y_max = 31000,
y_min = 1,
decoration = "vox_core:grass_" .. i,
})
end
-- Dry Grass
for i = 1, 5 do
minetest.register_decoration({
name = "vox_core:dry_grass_" .. i,
deco_type = "simple",
place_on = {"vox_core:dry_dirt"},
sidelen = 16,
noise_params = {
offset = 0.01,
scale = 0.05,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"savanna"},
y_max = 31000,
y_min = 1,
decoration = "vox_core:dry_grass_" .. i,
})
end
-- Fern
for i = 1, 3 do
minetest.register_decoration({
name = "vox_core:fern_" .. i,
deco_type = "simple",
place_on = {"vox_core:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.06,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"grassland"},
y_max = 31000,
y_min = 1,
decoration = "vox_core:fern_" .. i,
})
end
-- Marram Grass
for i = 1, 3 do
minetest.register_decoration({
name = "vox_core:marram_grass_" .. i,
deco_type = "simple",
place_on = {"vox_core:sand"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.06,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"beach"},
y_max = 31000,
y_min = 1,
decoration = "vox_core:marram_grass_" .. i,
})
end
-- Cactus
minetest.register_decoration({
name = "vox_core:cactus",
deco_type = "schematic",
place_on = {"vox_core:desert_sand"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"desert"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("vox_core") .. "/schematics/cactus.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Large Cactus Seedling
minetest.register_decoration({
name = "vox_core:large_cactus_seedling",
deco_type = "simple",
place_on = {"vox_core:desert_sand"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.06,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"desert"},
y_max = 31000,
y_min = 1,
decoration = "vox_core:large_cactus_seedling",
})
-- Papyrus
minetest.register_decoration({
name = "vox_core:papyrus",
deco_type = "schematic",
place_on = {"vox_core:dirt"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"swamp"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("vox_core") .. "/schematics/papyrus.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Dry Shrub
minetest.register_decoration({
name = "vox_core:dry_shrub",
deco_type = "simple",
place_on = {"vox_core:desert_sand"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.06,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"desert"},
y_max = 31000,
y_min = 1,
decoration = "vox_core:dry_shrub",
})
-- Jungle Grass
minetest.register_decoration({
name = "vox_core:junglegrass",
deco_type = "simple",
place_on = {"vox_core:dirt_with_rainforest_litter"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.06,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"rainforest"},
y_max = 31000,
y_min = 1,
decoration = "vox_core:junglegrass",
})

View file

@ -1,102 +0,0 @@
-- Granite
minetest.register_ore({
ore_type = "sheet",
ore = "vox_core:granite",
wherein = "vox_core:stone",
clust_scarcity = 180 * 180 * 180, -- Decrease scarcity to make more common
clust_num_ores = 6,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"mountains"}
})
-- Diorite
minetest.register_ore({
ore_type = "stratum",
ore = "vox_core:diorite",
wherein = "vox_core:stone",
clust_scarcity = 120 * 120 * 120,
clust_num_ores = 4,
clust_size = 3,
y_min = -31000, -- Adjust for greater depth
y_max = 31000, -- Adjust for greater height
biomes = {"grassland", "forest"} -- Restrict to specific biomes
})
-- Andesite
minetest.register_ore({
ore_type = "sheet",
ore = "vox_core:andesite",
wherein = "vox_core:stone",
clust_scarcity = 120 * 120 * 120, -- Increase scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000, -- Adjust for greater depth
y_max = 31000, -- Adjust for greater height
biomes = {"grassland", "forest"} -- Restrict to specific biomes
})
-- Basalt
minetest.register_ore({
ore_type = "stratum",
ore = "vox_core:basalt",
wherein = "vox_core:stone",
clust_scarcity = 100 * 100 * 100, -- Increase scarcity
clust_num_ores = 2,
clust_size = 2,
y_min = -31000, -- Adjust for greater depth
y_max = 31000, -- Adjust for greater height
biomes = {"tundra", "icesheet"} -- Restrict to specific biomes
})
-- Marble
minetest.register_ore({
ore_type = "sheet",
ore = "vox_core:marble",
wherein = "vox_core:stone",
clust_scarcity = 180 * 180 * 180, -- Decrease scarcity to make more common
clust_num_ores = 6,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"mountains"}
})
-- Chalk
minetest.register_ore({
ore_type = "sheet",
ore = "vox_core:chalk",
wherein = "vox_core:stone",
clust_scarcity = 120 * 120 * 120, -- Increase scarcity
clust_num_ores = 3,
clust_size = 2,
y_min = -31000, -- Adjust for greater depth
y_max = 31000, -- Adjust for greater height
biomes = {"desert", "grassland"} -- Restrict to specific biomes
})
-- Limestone
minetest.register_ore({
ore_type = "sheet",
ore = "vox_core:limestone",
wherein = "vox_core:stone",
clust_scarcity = 180 * 180 * 180, -- Decrease scarcity to make more common
clust_num_ores = 6,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"mountains"}
})
-- Obsidian
minetest.register_ore({
ore_type = "vein",
ore = "vox_core:obsidian",
wherein = "vox_core:stone",
clust_scarcity = 100 * 100 * 100,
clust_num_ores = 1,
clust_size = 1,
y_min = -31000, -- Adjust for greater depth
y_max = 31000, -- Adjust for greater height
biomes = {"volcanic"} -- Restrict to specific biomes
})

View file

@ -1,211 +0,0 @@
-- -------------------------------------------------------------- --
-- ORES
-- -------------------------------------------------------------- --
-- Coal Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:coal_ore",
wherein = "vox_core:stone",
clust_scarcity = 10 * 10 * 10, -- Make coal more common
clust_num_ores = 12,
clust_size = 6,
y_min = -31000,
y_max = 31000,
biomes = {"grassland", "forest", "desert", "tundra", "icesheet", "savanna", "volcanic", "mountain", "painted_mesa"}
})
-- Uranium Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:uranium_ore",
wherein = "vox_core:stone",
clust_scarcity = 400 * 400 * 400, -- Adjust scarcity
clust_num_ores = 3,
clust_size = 2,
y_min = -31000,
y_max = 31000,
biomes = {"tundra", "desert", "volcanic", "mountain"}
})
-- Bone Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:bone_ore",
wherein = "vox_core:stone",
clust_scarcity = 100 * 100 * 100, -- Adjust scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"tundra", "desert", "savanna", "volcanic"}
})
-- Iron Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:iron_ore",
wherein = "vox_core:stone",
clust_scarcity = 15 * 15 * 15, -- Make iron more common
clust_num_ores = 10,
clust_size = 5,
y_min = -31000,
y_max = 31000,
biomes = {"grassland", "forest", "desert", "tundra", "icesheet", "savanna", "volcanic", "mountain", "painted_mesa"}
})
-- Copper Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:copper_ore",
wherein = "vox_core:stone",
clust_scarcity = 20 * 20 * 20, -- Adjust scarcity
clust_num_ores = 8,
clust_size = 4,
y_min = -31000,
y_max = 31000,
biomes = {"grassland", "forest", "desert", "tundra", "savanna", "volcanic", "mountain"}
})
-- Tin Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:tin_ore",
wherein = "vox_core:stone",
clust_scarcity = 25 * 25 * 25, -- Adjust scarcity
clust_num_ores = 6,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"grassland", "forest", "desert", "tundra", "savanna", "volcanic", "mountain"}
})
-- Gold Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:gold_ore",
wherein = "vox_core:stone",
clust_scarcity = 50 * 50 * 50, -- Adjust scarcity
clust_num_ores = 5,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"desert", "volcanic", "mountain", "painted_mesa"}
})
-- Diamond Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:diamond_ore",
wherein = "vox_core:stone",
clust_scarcity = 100 * 100 * 100, -- Adjust scarcity
clust_num_ores = 3,
clust_size = 2,
y_min = -31000,
y_max = -50,
biomes = {"mountain", "volcanic"}
})
-- Emerald Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:emerald_ore",
wherein = "vox_core:stone",
clust_scarcity = 150 * 150 * 150, -- Adjust scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"forest", "mountain"}
})
-- Ruby Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:ruby_ore",
wherein = "vox_core:stone",
clust_scarcity = 150 * 150 * 150, -- Adjust scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"desert", "volcanic"}
})
-- Sapphire Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:sapphire_ore",
wherein = "vox_core:stone",
clust_scarcity = 150 * 150 * 150, -- Adjust scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"tundra", "icesheet"}
})
-- Amethyst Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:amethyst_ore",
wherein = "vox_core:stone",
clust_scarcity = 150 * 150 * 150, -- Adjust scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"forest", "mountain"}
})
-- Topaz Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:topaz_ore",
wherein = "vox_core:stone",
clust_scarcity = 150 * 150 * 150, -- Adjust scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"desert", "savanna"}
})
-- Peridot Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:peridot_ore",
wherein = "vox_core:stone",
clust_scarcity = 150 * 150 * 150, -- Adjust scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"forest", "grassland"}
})
-- Opal Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:opal_ore",
wherein = "vox_core:stone",
clust_scarcity = 150 * 150 * 150, -- Adjust scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"forest", "mountain"}
})
-- Onyx Ore
minetest.register_ore({
ore_type = "scatter",
ore = "vox_core:onyx_ore",
wherein = "vox_core:stone",
clust_scarcity = 150 * 150 * 150, -- Adjust scarcity
clust_num_ores = 4,
clust_size = 3,
y_min = -31000,
y_max = 31000,
biomes = {"volcanic", "mountain"}
})

View file

@ -7,43 +7,22 @@
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
-- -------------------------------------------------------------- -- -- -------------------------------------------------------------- --
-- ALIASES -- BIOMES
-- -------------------------------------------------------------- -- -- -------------------------------------------------------------- --
-- Aliases for map generators
-- All mapgens -- Grassland
minetest.register_alias("mapgen_stone", "vox_core:stone") core.register_biome({
minetest.register_alias("mapgen_water_source", "vox_core:water_source") name = "grassland",
minetest.register_alias("mapgen_river_water_source", "vox_core:river_water_source") node_top = "grass",
depth_top = 1,
-- Additional aliases needed for mapgen v6 node_filler = "vox_main:dirt",
minetest.register_alias("mapgen_lava_source", "vox_core:lava_source") node_stone = "vox_main:stone",
minetest.register_alias("mapgen_dirt", "vox_core:dirt") depth_filler = 3,
minetest.register_alias("mapgen_dirt_with_grass", "vox_core:dirt_with_grass") node_riverbed = "vox_main:sand",
minetest.register_alias("mapgen_sand", "vox_core:sand") node_river_water = "vox_main:water_source",
minetest.register_alias("mapgen_gravel", "vox_core:gravel") depth_riverbed = 2,
minetest.register_alias("mapgen_desert_stone", "vox_core:desert_stone") height_min = 1,
minetest.register_alias("mapgen_desert_sand", "vox_core:desert_sand") height_max = 256,
minetest.register_alias("mapgen_dirt_with_snow", "vox_core:dirt_with_snow") heat_point = 35,
minetest.register_alias("mapgen_snowblock", "vox_core:snowblock") humidity_point = 50
minetest.register_alias("mapgen_snow", "vox_core:snow") })
minetest.register_alias("mapgen_ice", "vox_core:ice")
minetest.register_alias("mapgen_tree", "vox_core:tree")
minetest.register_alias("mapgen_leaves", "vox_core:leaves")
minetest.register_alias("mapgen_apple", "vox_core:apple")
minetest.register_alias("mapgen_jungletree", "vox_core:jungletree")
minetest.register_alias("mapgen_jungleleaves", "vox_core:jungleleaves")
minetest.register_alias("mapgen_junglegrass", "vox_core:junglegrass")
minetest.register_alias("mapgen_pine_tree", "vox_core:pine_tree")
minetest.register_alias("mapgen_pine_needles", "vox_core:pine_needles")
minetest.register_alias("mapgen_cobble", "vox_core:cobble")
minetest.register_alias("mapgen_stair_cobble", "vox_structural:stair_cobble")
minetest.register_alias("mapgen_mossycobble", "vox_core:mossycobble")
minetest.register_alias("mapgen_stair_desert_stone", "vox_structural:stair_desert_stone")
-- Run our register_ scripts
dofile(minetest.get_modpath("vox_overworld").."/register_biomes.lua")
dofile(minetest.get_modpath("vox_overworld").."/register_decorations.lua")
dofile(minetest.get_modpath("vox_overworld").."/register_ores.lua")

View file

@ -7,7 +7,7 @@
-- local S = minetest.get_translator("default") -- local S = minetest.get_translator("default")
-- -- Definitions made by this mod that other mods can use too -- -- Definitions made by this mod that other mods can use too
default = {} -- default = {}
-- default.LIGHT_MAX = 14 -- default.LIGHT_MAX = 14
-- default.get_translator = S -- default.get_translator = S

View file

@ -0,0 +1,2 @@
name = Default
description = We are borrowing this stuff from the default mod.

Some files were not shown because too many files have changed in this diff Show more