diff --git a/mods/TEMP/default/README.txt b/mods/COMPAT/minetest_default/README.txt
similarity index 100%
rename from mods/TEMP/default/README.txt
rename to mods/COMPAT/minetest_default/README.txt
diff --git a/mods/TEMP/default/aliases.lua b/mods/COMPAT/minetest_default/aliases.lua
similarity index 100%
rename from mods/TEMP/default/aliases.lua
rename to mods/COMPAT/minetest_default/aliases.lua
diff --git a/mods/TEMP/default/chests.lua b/mods/COMPAT/minetest_default/chests.lua
similarity index 100%
rename from mods/TEMP/default/chests.lua
rename to mods/COMPAT/minetest_default/chests.lua
diff --git a/mods/TEMP/default/crafting.lua b/mods/COMPAT/minetest_default/crafting.lua
similarity index 100%
rename from mods/TEMP/default/crafting.lua
rename to mods/COMPAT/minetest_default/crafting.lua
diff --git a/mods/TEMP/default/craftitems.lua b/mods/COMPAT/minetest_default/craftitems.lua
similarity index 100%
rename from mods/TEMP/default/craftitems.lua
rename to mods/COMPAT/minetest_default/craftitems.lua
diff --git a/mods/TEMP/default/functions.lua b/mods/COMPAT/minetest_default/functions.lua
similarity index 100%
rename from mods/TEMP/default/functions.lua
rename to mods/COMPAT/minetest_default/functions.lua
diff --git a/mods/TEMP/default/furnace.lua b/mods/COMPAT/minetest_default/furnace.lua
similarity index 100%
rename from mods/TEMP/default/furnace.lua
rename to mods/COMPAT/minetest_default/furnace.lua
diff --git a/mods/TEMP/default/init.lua b/mods/COMPAT/minetest_default/init copy.lua
similarity index 99%
rename from mods/TEMP/default/init.lua
rename to mods/COMPAT/minetest_default/init copy.lua
index dbaffd0..0bc4e40 100644
--- a/mods/TEMP/default/init.lua
+++ b/mods/COMPAT/minetest_default/init copy.lua
@@ -7,7 +7,7 @@
-- local S = minetest.get_translator("default")
-- -- Definitions made by this mod that other mods can use too
--- default = {}
+default = {}
-- default.LIGHT_MAX = 14
-- default.get_translator = S
diff --git a/mods/COMPAT/minetest_default/init.lua b/mods/COMPAT/minetest_default/init.lua
index 09ea5f2..5a2c343 100644
--- a/mods/COMPAT/minetest_default/init.lua
+++ b/mods/COMPAT/minetest_default/init.lua
@@ -1,12 +1,95 @@
----------------------------------------------------------------------------
--- Voxelis - Voxel survival sandbox for Luanti
--- Copyright (C) 2024 Mad Star Studio LLC
---
--- This program is free software; you can redistribute it and/or modify
--- it under the terms of the GNU General Public License as published by
--- the Free Software Foundation; either version 3 of the License, or
--- (at your option) any later version.
---
--- You should have received a copy of the GNU General Public License along
--- with this program; if not, see .
----------------------------------------------------------------------------
\ No newline at end of file
+-- -- Minetest Game mod: default
+-- -- See README.txt for licensing and other information.
+
+-- -- The API documentation in here was moved into game_api.txt
+
+-- -- Load support for MT game translation.
+-- local S = minetest.get_translator("default")
+
+-- -- Definitions made by this mod that other mods can use too
+--default = {}
+
+-- 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
\ No newline at end of file
diff --git a/mods/TEMP/default/item_entity.lua b/mods/COMPAT/minetest_default/item_entity.lua
similarity index 100%
rename from mods/TEMP/default/item_entity.lua
rename to mods/COMPAT/minetest_default/item_entity.lua
diff --git a/mods/TEMP/default/legacy.lua b/mods/COMPAT/minetest_default/legacy.lua
similarity index 100%
rename from mods/TEMP/default/legacy.lua
rename to mods/COMPAT/minetest_default/legacy.lua
diff --git a/mods/TEMP/default/license.txt b/mods/COMPAT/minetest_default/license.txt
similarity index 100%
rename from mods/TEMP/default/license.txt
rename to mods/COMPAT/minetest_default/license.txt
diff --git a/mods/TEMP/default/locale/default.de.tr b/mods/COMPAT/minetest_default/locale/default.de.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.de.tr
rename to mods/COMPAT/minetest_default/locale/default.de.tr
diff --git a/mods/TEMP/default/locale/default.eo.tr b/mods/COMPAT/minetest_default/locale/default.eo.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.eo.tr
rename to mods/COMPAT/minetest_default/locale/default.eo.tr
diff --git a/mods/TEMP/default/locale/default.es.tr b/mods/COMPAT/minetest_default/locale/default.es.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.es.tr
rename to mods/COMPAT/minetest_default/locale/default.es.tr
diff --git a/mods/TEMP/default/locale/default.fr.tr b/mods/COMPAT/minetest_default/locale/default.fr.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.fr.tr
rename to mods/COMPAT/minetest_default/locale/default.fr.tr
diff --git a/mods/TEMP/default/locale/default.id.tr b/mods/COMPAT/minetest_default/locale/default.id.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.id.tr
rename to mods/COMPAT/minetest_default/locale/default.id.tr
diff --git a/mods/TEMP/default/locale/default.it.tr b/mods/COMPAT/minetest_default/locale/default.it.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.it.tr
rename to mods/COMPAT/minetest_default/locale/default.it.tr
diff --git a/mods/TEMP/default/locale/default.ja.tr b/mods/COMPAT/minetest_default/locale/default.ja.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.ja.tr
rename to mods/COMPAT/minetest_default/locale/default.ja.tr
diff --git a/mods/TEMP/default/locale/default.jbo.tr b/mods/COMPAT/minetest_default/locale/default.jbo.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.jbo.tr
rename to mods/COMPAT/minetest_default/locale/default.jbo.tr
diff --git a/mods/TEMP/default/locale/default.lv.tr b/mods/COMPAT/minetest_default/locale/default.lv.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.lv.tr
rename to mods/COMPAT/minetest_default/locale/default.lv.tr
diff --git a/mods/TEMP/default/locale/default.ms.tr b/mods/COMPAT/minetest_default/locale/default.ms.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.ms.tr
rename to mods/COMPAT/minetest_default/locale/default.ms.tr
diff --git a/mods/TEMP/default/locale/default.pl.tr b/mods/COMPAT/minetest_default/locale/default.pl.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.pl.tr
rename to mods/COMPAT/minetest_default/locale/default.pl.tr
diff --git a/mods/TEMP/default/locale/default.pt.tr b/mods/COMPAT/minetest_default/locale/default.pt.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.pt.tr
rename to mods/COMPAT/minetest_default/locale/default.pt.tr
diff --git a/mods/TEMP/default/locale/default.pt_BR.tr b/mods/COMPAT/minetest_default/locale/default.pt_BR.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.pt_BR.tr
rename to mods/COMPAT/minetest_default/locale/default.pt_BR.tr
diff --git a/mods/TEMP/default/locale/default.ru.tr b/mods/COMPAT/minetest_default/locale/default.ru.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.ru.tr
rename to mods/COMPAT/minetest_default/locale/default.ru.tr
diff --git a/mods/TEMP/default/locale/default.sk.tr b/mods/COMPAT/minetest_default/locale/default.sk.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.sk.tr
rename to mods/COMPAT/minetest_default/locale/default.sk.tr
diff --git a/mods/TEMP/default/locale/default.sv.tr b/mods/COMPAT/minetest_default/locale/default.sv.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.sv.tr
rename to mods/COMPAT/minetest_default/locale/default.sv.tr
diff --git a/mods/TEMP/default/locale/default.uk.tr b/mods/COMPAT/minetest_default/locale/default.uk.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.uk.tr
rename to mods/COMPAT/minetest_default/locale/default.uk.tr
diff --git a/mods/TEMP/default/locale/default.zh_CN.tr b/mods/COMPAT/minetest_default/locale/default.zh_CN.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.zh_CN.tr
rename to mods/COMPAT/minetest_default/locale/default.zh_CN.tr
diff --git a/mods/TEMP/default/locale/default.zh_TW.tr b/mods/COMPAT/minetest_default/locale/default.zh_TW.tr
similarity index 100%
rename from mods/TEMP/default/locale/default.zh_TW.tr
rename to mods/COMPAT/minetest_default/locale/default.zh_TW.tr
diff --git a/mods/TEMP/default/locale/template.txt b/mods/COMPAT/minetest_default/locale/template.txt
similarity index 100%
rename from mods/TEMP/default/locale/template.txt
rename to mods/COMPAT/minetest_default/locale/template.txt
diff --git a/mods/TEMP/default/mapgen.lua b/mods/COMPAT/minetest_default/mapgen.lua
similarity index 100%
rename from mods/TEMP/default/mapgen.lua
rename to mods/COMPAT/minetest_default/mapgen.lua
diff --git a/mods/TEMP/default/nodes.lua b/mods/COMPAT/minetest_default/nodes.lua
similarity index 100%
rename from mods/TEMP/default/nodes.lua
rename to mods/COMPAT/minetest_default/nodes.lua
diff --git a/mods/TEMP/default/tools.lua b/mods/COMPAT/minetest_default/tools.lua
similarity index 100%
rename from mods/TEMP/default/tools.lua
rename to mods/COMPAT/minetest_default/tools.lua
diff --git a/mods/TEMP/default/torch.lua b/mods/COMPAT/minetest_default/torch.lua
similarity index 100%
rename from mods/TEMP/default/torch.lua
rename to mods/COMPAT/minetest_default/torch.lua
diff --git a/mods/TEMP/default/trees.lua b/mods/COMPAT/minetest_default/trees.lua
similarity index 100%
rename from mods/TEMP/default/trees.lua
rename to mods/COMPAT/minetest_default/trees.lua
diff --git a/mods/CORE/vox_colors/init.lua b/mods/CORE/vox_colors/init.lua
index c8a8c16..accde18 100644
--- a/mods/CORE/vox_colors/init.lua
+++ b/mods/CORE/vox_colors/init.lua
@@ -12,36 +12,56 @@
---------------------------------------------------------------------------
vox_colors = {
+ -- Whites and Grays
WHITE = "#FFFFFF",
+ CREAM = "#FFFDD0",
LIGHTGREY = "#D3D3D3",
SILVER = "#C0C0C0",
GREY = "#808080",
+ DARK_GRAY = "#A9A9A9",
BLACK = "#000000",
+
+ -- Reds
+ PINK = "#FF69B4",
+ FLAMINGO = "#FC8EAC",
RED = "#FF0000",
+ CRIMSON = "#DC143C",
DARK_RED = "#8B0000",
- YELLOW = "#FFFF00",
+ MAROON = "#800000",
+
+ -- Oranges and Yellows
+ PEACH = "#FFDAB9",
GOLD = "#FFD700",
+ YELLOW = "#FFFF00",
ORANGE = "#FFA500",
PUMPKIN = "#FF7518",
- CREAM = "#FFFDD0",
TAN = "#D2B48C",
BROWN = "#A52A2A",
DARK_BROWN = "#8B4513",
- LIME = "#00FF00",
+
+ -- Greens
+ LIGHT_GREEN = "#90EE90",
MINT = "#98FF98",
+ LIME = "#00FF00",
+ GREEN = "#008000",
EMERALD = "#50C878",
+ OLIVE = "#808000",
DARK_GREEN = "#006400",
+
+ -- Blues
+ LIGHT_BLUE = "#ADD8E6",
+ CYAN = "#00FFFF",
TURQUOISE = "#40E0D0",
TEAL = "#008080",
- CYAN = "#00FFFF",
BLUE = "#0000FF",
NAVY = "#000080",
- MAGENTA = "#FF00FF",
- VIOLET = "#EE82EE",
- PURPLE = "#800080",
INDIGO = "#4B0082",
- PINK = "#FF69B4",
- FLAMINGO = "#FC8EAC",
+
+ -- Purples
+ LAVENDER = "#E6E6FA",
+ VIOLET = "#EE82EE",
+ MAGENTA = "#FF00FF",
+ PURPLE = "#800080",
}
vox_colors.bg_brightness = 0.8;
diff --git a/mods/ITEMS/vox_main/functions.lua b/mods/ITEMS/vox_main/functions.lua
new file mode 100644
index 0000000..fc31300
--- /dev/null
+++ b/mods/ITEMS/vox_main/functions.lua
@@ -0,0 +1,836 @@
+--
+-- Sounds
+--
+
+function vox_main.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_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.node_sound_water_defaults(tbl)
+ tbl = tbl or {}
+ tbl.footstep = tbl.footstep or
+ {name = "default_water_footstep", gain = 0.2}
+ vox_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+function vox_main.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_main.node_sound_defaults(tbl)
+ return tbl
+end
+
+
+--
+-- Lavacooling
+--
+
+vox_main.cool_lava = function(pos, node)
+ if node.name == "vox_main:lava_source" then
+ minetest.set_node(pos, {name = "vox_main:obsidian"})
+ else -- Lava flowing
+ minetest.set_node(pos, {name = "vox_main: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_main:lava_source", "vox_main:lava_flowing"},
+ neighbors = {"group:cools_lava", "group:water"},
+ interval = 2,
+ chance = 2,
+ catch_up = false,
+ action = function(...)
+ vox_main.cool_lava(...)
+ end,
+ })
+end
+
+
+--
+-- Optimized helper to put all items in an inventory into a drops list
+--
+
+function vox_main.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_main.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_main: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_main:cactus"})
+ return true
+end
+
+function vox_main.grow_papyrus(pos, node)
+ pos.y = pos.y - 1
+ local name = minetest.get_node(pos).name
+ if name ~= "vox_main:dirt" and
+ name ~= "vox_main:dirt_with_grass" and
+ name ~= "vox_main:dirt_with_dry_grass" and
+ name ~= "vox_main:dirt_with_rainforest_litter" and
+ name ~= "vox_main:dry_dirt" and
+ name ~= "vox_main: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_main: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_main:papyrus"})
+ return true
+end
+
+minetest.register_abm({
+ label = "Grow cactus",
+ nodenames = {"vox_main:cactus"},
+ neighbors = {"group:sand"},
+ interval = 12,
+ chance = 83,
+ action = function(...)
+ vox_main.grow_cactus(...)
+ end
+})
+
+minetest.register_abm({
+ label = "Grow papyrus",
+ nodenames = {"vox_main:papyrus"},
+ -- Grows on the dirt and surface dirt nodes of the biomes papyrus appears in,
+ -- including the old savanna nodes.
+ -- 'vox_main:dirt_with_grass' is here only because it was allowed before.
+ neighbors = {
+ "vox_main:dirt",
+ "vox_main:dirt_with_grass",
+ "vox_main:dirt_with_dry_grass",
+ "vox_main:dirt_with_rainforest_litter",
+ "vox_main:dry_dirt",
+ "vox_main:dry_dirt_with_dry_grass",
+ },
+ interval = 14,
+ chance = 71,
+ action = function(...)
+ vox_main.grow_papyrus(...)
+ end
+})
+
+
+--
+-- Dig upwards
+--
+
+local in_dig_up = false
+
+function vox_main.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_main.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_main.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_main.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_main.LIGHT_MAX,
+ sunlight_propagates = true,
+ is_ground_content = false,
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = vox_main.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_main:glass', ''},
+ {'vox_main:mese_crystal', 'vox_main:mese_crystal', 'vox_main:mese_crystal'},
+ {'', material, ''},
+ }
+ })
+end
+
+--
+-- Leafdecay
+--
+
+-- Prevent decay of placed leaves
+
+vox_main.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_main.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_main:dirt to something that fits the environment
+--
+
+minetest.register_abm({
+ label = "Grass spread",
+ nodenames = {"vox_main:dirt"},
+ neighbors = {
+ "air",
+ "group:grass",
+ "group:dry_grass",
+ "vox_main: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_main:snow" then
+ minetest.set_node(pos, {name = "vox_main:dirt_with_snow"})
+ elseif minetest.get_item_group(name, "grass") ~= 0 then
+ minetest.set_node(pos, {name = "vox_main:dirt_with_grass"})
+ elseif minetest.get_item_group(name, "dry_grass") ~= 0 then
+ minetest.set_node(pos, {name = "vox_main: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_main: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_main:dry_dirt_with_dry_grass" then
+ minetest.set_node(pos, {name = "vox_main:dry_dirt"})
+ else
+ minetest.set_node(pos, {name = "vox_main:dirt"})
+ end
+ end
+ end
+})
+
+
+--
+-- Moss growth on cobble near water
+--
+
+local moss_correspondences = {
+ ["vox_main:cobble"] = "vox_main: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_main: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_main.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_main.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_main.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_main.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_main.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_main.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_main.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
diff --git a/mods/ITEMS/vox_main/init.lua b/mods/ITEMS/vox_main/init.lua
index cb65ca3..455958f 100644
--- a/mods/ITEMS/vox_main/init.lua
+++ b/mods/ITEMS/vox_main/init.lua
@@ -11,6 +11,8 @@
-- with this program; if not, see .
---------------------------------------------------------------------------
+vox_main = {}
+
-- Load from minerals.lua
dofile(core.get_modpath("vox_main").."/minerals.lua")
-- Load from ores.lua
@@ -19,6 +21,11 @@ dofile(core.get_modpath("vox_main").."/ores.lua")
dofile(core.get_modpath("vox_main").."/gems.lua")
-- Load from liquids.lua
dofile(core.get_modpath("vox_main").."/liquids.lua")
+-- Load from trees.lua
+dofile(core.get_modpath("vox_main").."/trees.lua")
+-- Load from plants.lua
+dofile(core.get_modpath("vox_main").."/plants.lua")
+
-- Load from ocean.lua
dofile(core.get_modpath("vox_main").."/ocean.lua")
-- Load from sky_island.lua
@@ -30,6 +37,11 @@ dofile(minetest.get_modpath("vox_main").."/mobdrops.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_main").."/functions.lua")
+
-- Glowing Moss
core.register_node("vox_main:glowing_moss", {
description = "Glowing Moss",
diff --git a/mods/ITEMS/vox_main/liquids.lua b/mods/ITEMS/vox_main/liquids.lua
index 3f9b105..72906a9 100644
--- a/mods/ITEMS/vox_main/liquids.lua
+++ b/mods/ITEMS/vox_main/liquids.lua
@@ -1,69 +1,95 @@
-- -------------------------------------------------------------------------- --
-- Liquids --
-- -------------------------------------------------------------------------- --
-
-- Water
-core.register_node("vox_main:water_source", {
- description = "Water Source",
+minetest.register_node("vox_main:water_source", {
+ description = ("Water Source"),
drawtype = "liquid",
+ waving = 3,
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",
+ name = "default_water_source_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
- length = 0.8
- }
- }
+ 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,
+ },
+ },
},
- alpha = 160,
+ 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_main:water_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:water_flowing",
liquid_alternative_source = "vox_main:water_source",
liquid_viscosity = 1,
- post_effect_color = {a = 103, r = 30, g = 60, b = 90}
+ post_effect_color = {a = 103, r = 30, g = 60, b = 90},
+ groups = {water = 3, liquid = 3, not_in_creative_inventory = 1, cools_lava = 1},
})
-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", {
@@ -71,7 +97,7 @@ core.register_node("vox_main:river_water_source", {
drawtype = "liquid",
tiles = {
{
- name = "vox_river_water.png",
+ name = "default_river_water_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
@@ -80,29 +106,41 @@ core.register_node("vox_main:river_water_source", {
}
}
},
- alpha = 128,
+ 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_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}
+ post_effect_color = {a = 103, r = 30, g = 60, b = 90},
+ groups = {water = 3, liquid = 3, puts_out_fire = 1}
})
-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")
+-- Flowing River Water
core.register_node("vox_main:river_water_flowing", {
description = "Flowing River Water",
drawtype = "flowingliquid",
- tiles = {"vox_river_water.png"},
+ tiles = {"default_river_water_flowing_animated.png"},
special_tiles = {
{
- name = "vox_river_water.png",
+ name = "default_river_water_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
@@ -114,85 +152,28 @@ core.register_node("vox_main:river_water_flowing", {
},
alpha = 160,
paramtype = "light",
+ paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
+ drop = "",
+ drowning = 1,
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}
+ post_effect_color = {a = 103, r = 30, g = 60, b = 90},
+ groups = {water = 3, liquid = 3, puts_out_fire = 1}
})
--- 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",
+ name = "default_lava_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
@@ -201,53 +182,64 @@ core.register_node("vox_main:lava_source", {
}
}
},
- alpha = 255,
+ 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_main:lava_flowing",
liquid_alternative_source = "vox_main:lava_source",
liquid_viscosity = 7,
- post_effect_color = {a = 255, r = 255, g = 0, b = 0}
+ post_effect_color = {a = 240, r = 255, g = 64, b = 0},
+ groups = {lava = 3, liquid = 3, hot = 3, igniter = 1}
})
-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")
+-- Flowing Lava
core.register_node("vox_main:lava_flowing", {
description = "Flowing Lava",
drawtype = "flowingliquid",
- tiles = {"vox_lava.png"},
+ tiles = {"default_lava_flowing_animated.png"},
special_tiles = {
{
- name = "vox_lava.png",
+ name = "default_lava_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
- length = 2.0
+ length = 0.8
}
}
},
- alpha = 255,
+ alpha = 160,
paramtype = "light",
+ paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
+ drop = "",
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}
+ post_effect_color = {a = 240, r = 255, g = 64, b = 0},
+ groups = {lava = 3, liquid = 3, hot = 3, igniter = 1}
})
-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", {
@@ -255,7 +247,7 @@ core.register_node("vox_main:oil_source", {
drawtype = "liquid",
tiles = {
{
- name = "vox_oil.png",
+ name = "default_water_source_animated.png^[colorize:black:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
@@ -264,51 +256,64 @@ core.register_node("vox_main:oil_source", {
}
}
},
- alpha = 255,
+ 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_main:oil_flowing",
liquid_alternative_source = "vox_main:oil_source",
liquid_viscosity = 1,
- post_effect_color = {a = 255, r = 0, g = 0, b = 0}
+ post_effect_color = {a = 240, r = 0, g = 0, b = 0},
+ groups = {oil = 3, liquid = 3, igniter = 1}
})
-core.register_alias("oil_source", "vox_main:oil_source")
-core.register_alias("mapgen_oil_source", "vox_main:oil_source")
+-- Flowing Oil
core.register_node("vox_main:oil_flowing", {
description = "Flowing Oil",
drawtype = "flowingliquid",
- tiles = {"vox_oil.png"},
+ tiles = {"default_water_flowing_animated.png^[colorize:black:200"},
special_tiles = {
{
- name = "vox_oil.png",
+ name = "default_water_flowing_animated.png^[colorize:black:200",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
- length = 2.0
+ length = 0.8
}
}
},
- alpha = 255,
+ alpha = 160,
paramtype = "light",
+ paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
+ drop = "",
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}
+ post_effect_color = {a = 240, r = 0, g = 0, b = 0},
+ groups = {oil = 3, liquid = 3, igniter = 1}
})
-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", {
@@ -316,7 +321,7 @@ core.register_node("vox_main:acid_source", {
drawtype = "liquid",
tiles = {
{
- name = "vox_acid.png",
+ name = "default_water_source_animated.png^[colorize:green:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
@@ -325,29 +330,72 @@ core.register_node("vox_main:acid_source", {
}
}
},
- alpha = 255,
+ 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_main:acid_flowing",
liquid_alternative_source = "vox_main:acid_source",
liquid_viscosity = 1,
- post_effect_color = {a = 255, r = 0, g = 255, b = 0}
+ post_effect_color = {a = 240, r = 0, g = 255, b = 0},
+ groups = {acid = 3, liquid = 3, igniter = 1}
})
-core.register_alias("acid_source", "vox_main:acid_source")
-core.register_alias("mapgen_acid_source", "vox_main:acid_source")
+-- Flowing Acid
core.register_node("vox_main:acid_flowing", {
description = "Flowing Acid",
drawtype = "flowingliquid",
- tiles = {"vox_acid.png"},
+ tiles = {"default_water_flowing_animated.png^[colorize:green:200"},
special_tiles = {
{
- name = "vox_acid.png",
+ 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_main:acid_flowing",
+ liquid_alternative_source = "vox_main: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_main:slime_source", {
+ description = "Slime Source",
+ drawtype = "liquid",
+ tiles = {
+ {
+ name = "default_water_source_animated.png^[colorize:lime:200",
animation = {
type = "vertical_frames",
aspect_w = 16,
@@ -356,15 +404,391 @@ core.register_node("vox_main:acid_flowing", {
}
}
},
- alpha = 255,
+ 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_main:slime_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:slime_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:sewage_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:sewage_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:tar_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:tar_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:oil_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:oil_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:acid_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:acid_flowing",
liquid_alternative_source = "vox_main:acid_source",
liquid_viscosity = 1,
- post_effect_color = {a = 255, r = 0, g = 255, b = 0}
+ post_effect_color = {a = 240, r = 0, g = 255, b = 0},
+ groups = {acid = 3, liquid = 3, igniter = 1}
+})
+
+-- Slime
+core.register_node("vox_main: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_main:slime_flowing",
+ liquid_alternative_source = "vox_main: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_main: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_main:slime_flowing",
+ liquid_alternative_source = "vox_main:slime_source",
+ liquid_viscosity = 1,
+ post_effect_color = {a = 240, r = 0, g = 255, b = 0},
+ groups = {slime = 3, liquid = 3, igniter = 1}
})
\ No newline at end of file
diff --git a/mods/ITEMS/vox_main/minerals.lua b/mods/ITEMS/vox_main/minerals.lua
index 9e87ca5..27b5a2a 100644
--- a/mods/ITEMS/vox_main/minerals.lua
+++ b/mods/ITEMS/vox_main/minerals.lua
@@ -1,8 +1,71 @@
+--[[
+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_main:bedrock", {
description = "Bedrock",
- tiles = {"vox_bedrock.png"},
+ tiles = {"default_bedrock.png"},
groups = {cracky = 1}
})
core.register_alias("bedrock", "vox_main:bedrock")
@@ -12,24 +75,115 @@ core.register_alias("default:bedrock", "vox_main:bedrock")
core.register_node("vox_main:dirt", {
description = "Dirt",
tiles = {"vox_dirt.png"},
- groups = {crumbly = 3}
+ groups = {crumbly = 3, soil = 1},
+ --sounds = node_sound_dirt_defaults(),
})
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}
+-- Dirt with Grass
+core.register_node("vox_main: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_main:dirt",
+ --sounds = vox_main.node_sound_dirt_defaults({
+ -- footstep = {name = "default_grass_footstep", gain = 0.25},
+ --}),
+})
+
+core.register_node("vox_main: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_main:dirt",
+ --sounds = vox_main.node_sound_dirt_defaults({
+ -- footstep = {name = "default_grass_footstep", gain = 0.25},
+ --}),
+})
+
+core.register_node("vox_main: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_main:dirt",
+ --sounds = vox_main.node_sound_dirt_defaults({
+ -- footstep = {name = "default_grass_footstep", gain = 0.4},
+ --}),
+})
+
+core.register_node("vox_main: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_main:dirt",
+ --sounds = vox_main.node_sound_dirt_defaults({
+ -- footstep = {name = "default_snow_footstep", gain = 0.2},
+ --}),
+})
+
+core.register_node("vox_main: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_main:dirt",
+ --sounds = vox_main.node_sound_dirt_defaults({
+ -- footstep = {name = "default_grass_footstep", gain = 0.4},
+ --}),
+})
+
+core.register_node("vox_main: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_main:dirt",
+ --sounds = vox_main.node_sound_dirt_defaults({
+ -- footstep = {name = "default_grass_footstep", gain = 0.4},
+ --}),
+})
+
+core.register_node("vox_main:dry_dirt", {
+ description = "Savanna Dirt",
+ tiles = {"default_dry_dirt.png"},
+ groups = {crumbly = 3, soil = 1},
+ --sounds = vox_main.node_sound_dirt_defaults(),
+})
+
+core.register_node("vox_main: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_main:dry_dirt",
+ --sounds = vox_main.node_sound_dirt_defaults({
+ -- footstep = {name = "default_grass_footstep", gain = 0.4},
+ --}),
})
-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"},
+ tiles = {"default_snow.png"},
groups = {crumbly = 3}
})
core.register_alias("snow", "vox_main:snow")
@@ -46,28 +200,76 @@ core.register_alias("packed_snow", "vox_main:packed_snow")
-- Ice
core.register_node("vox_main:ice", {
description = "Ice",
- tiles = {"vox_ice.png"},
+ tiles = {"default_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}
+ groups = {cracky = 3},
+ --sounds = vox_main.node_sound_dirt_defaults(),
})
core.register_alias("permafrost", "vox_main:permafrost")
+-- Stone
+core.register_node("vox_main:stone", {
+ description = "Stone",
+ tiles = {"default_stone.png"},
+ groups = {cracky = 3, stone = 1},
+ drop = "vox_main:cobble",
+ legacy_mineral = true,
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+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 = {"default_cobble.png"},
+ is_ground_content = false,
+ groups = {cracky = 3, stone = 2},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("cobblestone", "vox_main:cobblestone")
+core.register_alias("default:cobble", "vox_main:cobblestone")
+
+-- Mossy Cobble
+core.register_node("vox_main:mossycobble", {
+ description = "Mossy Cobble",
+ tiles = {"default_mossycobble.png"},
+ is_ground_content = false,
+ groups = {cracky = 3, stone = 1},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("mossycobble", "vox_main:mossycobble")
+core.register_alias("default:mossycobble", "vox_main:mossycobble")
+
+-- Stone Block
+core.register_node("vox_main:stone_block", {
+ description = "Stone Block",
+ tiles = {"default_stone_block.png"},
+ groups = {cracky = 2, stone = 1},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("stone_block", "vox_main:stone_block")
+core.register_alias("default:stone_block", "vox_main:stone_block")
+
+-- Stone Brick
+core.register_node("vox_main:stone_brick", {
+ description = "Stone Brick",
+ tiles = {"default_stone_brick.png"},
+ groups = {cracky = 2, stone = 1},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("stone_brick", "vox_main:stone_brick")
+core.register_alias("default:stonebrick", "vox_main:stone_brick")
+
-- Bluestone
core.register_node("vox_main:bluestone", {
description = "Bluestone",
@@ -76,44 +278,35 @@ core.register_node("vox_main:bluestone", {
})
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}
+ tiles = {"default_sand.png"},
+ groups = {crumbly = 3, falling_node = 1, sand = 1},
+ --sounds = vox_main.node_sound_sand_defaults(),
})
core.register_alias("sand", "vox_main:sand")
core.register_alias("default:sand", "vox_main:sand")
+-- Desert Stone
+core.register_node("vox_main:desert_stone", {
+ description = "Desert Stone",
+ tiles = {"default_desert_stone.png"},
+ groups = {cracky = 2}
+})
+core.register_alias("desert_stone", "vox_main:desert_stone")
+core.register_alias("default:desert_stone", "vox_main:desert_stone")
+
+-- Desert Sand
+core.register_node("vox_main:desert_sand", {
+ description = "Desert Sand",
+ tiles = {"default_desert_sand.png"},
+ groups = {crumbly = 3}
+})
+core.register_alias("desert_sand", "vox_main:desert_sand")
+core.register_alias("default:desert_sand", "vox_main:desert_sand")
+
-- Sulfur Crust
core.register_node("vox_main:sulfur_crust", {
description = "Sulfur Crust",
@@ -123,7 +316,7 @@ core.register_node("vox_main:sulfur_crust", {
core.register_alias("sulfur_crust", "vox_main:sulfur_crust")
-- Ash
-minetest.register_node("vox_main:ash_block", {
+core.register_node("vox_main:ash_block", {
description = "Ash Block",
tiles = {"vox_ash_block.png"},
groups = {crumbly = 3},
@@ -133,8 +326,16 @@ minetest.register_node("vox_main:ash_block", {
-- Gravel
core.register_node("vox_main:gravel", {
description = "Gravel",
- tiles = {"vox_gravel.png"},
- groups = {crumbly = 2}
+ tiles = {"default_gravel.png"},
+ groups = {crumbly = 2, falling_node = 1},
+ --sounds = vox_main.node_sound_gravel_defaults(),
+ drop = {
+ max_items = 1,
+ items = {
+ {items = {"vox:main:flint"}, rarity = 16},
+ {items = {"vox:main:gravel"}}
+ }
+ }
})
core.register_alias("gravel", "vox_main:gravel")
core.register_alias("default:gravel", "vox_main:gravel")
@@ -143,15 +344,96 @@ core.register_alias("default:gravel", "vox_main:gravel")
core.register_node("vox_main:sandstone", {
description = "Sandstone",
tiles = {"vox_sandstone.png"},
- groups = {cracky = 2}
+ groups = {crumbly = 1, cracky = 3},
+ --sounds = vox_main.node_sound_stone_defaults(),
})
core.register_alias("sandstone", "vox_main:sandstone")
core.register_alias("default:sandstone", "vox_main:sandstone")
+-- Sandstone Brick
+core.register_node("vox_main:sandstone_brick", {
+ description = "Sandstone Brick",
+ paramtype2 = "facedir",
+ place_param2 = 0,
+ tiles = {"default_sandstone_brick.png"},
+ is_ground_content = false,
+ groups = {cracky = 2},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("sandstone_brick", "vox_main:sandstone_brick")
+core.register_alias("default:sandstonebrick", "vox_main:sandstone_brick")
+
+-- Sandstone Block
+core.register_node("vox_main:sandstone_block", {
+ description = "Sandstone Block",
+ tiles = {"default_sandstone_block.png"},
+ is_ground_content = false,
+ groups = {cracky = 2},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("sandstone_block", "vox_main:sandstone_block")
+core.register_alias("default:sandstone_block", "vox_main:sandstone_block")
+
+-- Desert Sandstone
+core.register_node("vox_main:desert_sandstone", {
+ description = "Desert Sandstone",
+ tiles = {"default_desert_sandstone.png"},
+ groups = {crumbly = 1, cracky = 3},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("desert_sandstone", "vox_main:desert_sandstone")
+core.register_alias("default:desert_sandstone", "vox_main:desert_sandstone")
+
+-- Desert Sandstone Brick
+core.register_node("vox_main: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_main.node_sound_stone_defaults(),
+})
+core.register_alias("desert_sandstone_brick", "vox_main:desert_sandstone_brick")
+core.register_alias("default:desert_sandstone_brick", "vox_main:desert_sandstone_brick")
+
+-- Desert Sandstone Block
+core.register_node("vox_main:desert_sandstone_block", {
+ description = "Desert Sandstone Block",
+ tiles = {"default_desert_sandstone_block.png"},
+ is_ground_content = false,
+ groups = {cracky = 2},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("desert_sandstone_block", "vox_main:desert_sandstone_block")
+core.register_alias("default:desert_sandstone_block", "vox_main:desert_sandstone_block")
+
+-- Silver Sandstone
+core.register_node("vox_main:silver_sandstone", {
+ description = "Silver Sandstone",
+ tiles = {"default_silver_sandstone.png"},
+ groups = {crumbly = 1, cracky = 3},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("silver_sandstone", "vox_main:silver_sandstone")
+core.register_alias("default:silver_sandstone", "vox_main:silver_sandstone")
+
+-- Silver Sandstone Brick
+core.register_node("vox_main:silver_sandstone_brick", {
+ description = "Silver Sandstone Brick",
+ tiles = {"default_silver_sandstone_brick.png"},
+ is_ground_content = false,
+ groups = {cracky = 2},
+ --sounds = vox_main.node_sound_stone_defaults(),
+})
+core.register_alias("silver_sandstone_brick", "vox_main:silver_sandstone_brick")
+core.register_alias("default:silver_sandstone_brick", "vox_main:silver_sandstone_brick")
+
+
-- Clay
core.register_node("vox_main:clay", {
description = "Clay",
- tiles = {"vox_clay.png"},
+ tiles = {"default_clay.png"},
groups = {crumbly = 3}
})
core.register_alias("clay", "vox_main:clay")
@@ -231,12 +513,39 @@ core.register_alias("default:basalt", "vox_main:basalt")
-- Obsidian
core.register_node("vox_main:obsidian", {
description = "Obsidian",
- tiles = {"vox_obsidian.png"},
- groups = {cracky = 2}
+ tiles = {"default_obsidian.png"},
+ --sounds = vox_main.node_sound_stone_defaults(),
+ groups = {cracky = 1, level = 2},
})
core.register_alias("obsidian", "vox_main:obsidian")
core.register_alias("default:obsidian", "vox_main:obsidian")
+-- Obsidian Brick
+core.register_node("vox_main:obsidian_brick", {
+ description = "Obsidian Brick",
+ paramtype2 = "facedir",
+ place_param2 = 0,
+ tiles = {"default_obsidian_brick.png"},
+ is_ground_content = false,
+ --sounds = vox_main.node_sound_stone_defaults(),
+ groups = {cracky = 1, level = 2},
+})
+core.register_alias("obsidian_brick", "vox_main:obsidian_brick")
+core.register_alias("default:obsidianbrick", "vox_main:obsidian_brick")
+
+-- Obsidian Block
+core.register_node("vox_main:obsidian_block", {
+ description = "Obsidian Block",
+ tiles = {"default_obsidian_block.png"},
+ is_ground_content = false,
+ --sounds = vox_main.node_sound_stone_defaults(),
+ groups = {cracky = 1, level = 2},
+})
+core.register_alias("obsidian_block", "vox_main:obsidian_block")
+core.register_alias("default:obsidian_block", "vox_main:obsidian_block")
+
+
+
-- Marble
core.register_node("vox_main:marble", {
description = "Marble",
diff --git a/mods/TEMP/default/models/chest_open.obj b/mods/ITEMS/vox_main/models/chest_open.obj
similarity index 100%
rename from mods/TEMP/default/models/chest_open.obj
rename to mods/ITEMS/vox_main/models/chest_open.obj
diff --git a/mods/TEMP/default/models/torch_ceiling.obj b/mods/ITEMS/vox_main/models/torch_ceiling.obj
similarity index 100%
rename from mods/TEMP/default/models/torch_ceiling.obj
rename to mods/ITEMS/vox_main/models/torch_ceiling.obj
diff --git a/mods/TEMP/default/models/torch_floor.obj b/mods/ITEMS/vox_main/models/torch_floor.obj
similarity index 100%
rename from mods/TEMP/default/models/torch_floor.obj
rename to mods/ITEMS/vox_main/models/torch_floor.obj
diff --git a/mods/TEMP/default/models/torch_wall.obj b/mods/ITEMS/vox_main/models/torch_wall.obj
similarity index 100%
rename from mods/TEMP/default/models/torch_wall.obj
rename to mods/ITEMS/vox_main/models/torch_wall.obj
diff --git a/mods/ITEMS/vox_main/plants.lua b/mods/ITEMS/vox_main/plants.lua
new file mode 100644
index 0000000..2481cf4
--- /dev/null
+++ b/mods/ITEMS/vox_main/plants.lua
@@ -0,0 +1,203 @@
+-- plants.lua
+
+-- Register Cactus
+minetest.register_node("vox_main: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_main: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_main: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_main: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_main: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_main: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_main: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_main: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_main: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
+
diff --git a/mods/TEMP/default/sounds/default_break_glass.1.ogg b/mods/ITEMS/vox_main/sounds/default_break_glass.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_break_glass.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_break_glass.1.ogg
diff --git a/mods/TEMP/default/sounds/default_break_glass.2.ogg b/mods/ITEMS/vox_main/sounds/default_break_glass.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_break_glass.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_break_glass.2.ogg
diff --git a/mods/TEMP/default/sounds/default_break_glass.3.ogg b/mods/ITEMS/vox_main/sounds/default_break_glass.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_break_glass.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_break_glass.3.ogg
diff --git a/mods/TEMP/default/sounds/default_chest_close.ogg b/mods/ITEMS/vox_main/sounds/default_chest_close.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_chest_close.ogg
rename to mods/ITEMS/vox_main/sounds/default_chest_close.ogg
diff --git a/mods/TEMP/default/sounds/default_chest_open.ogg b/mods/ITEMS/vox_main/sounds/default_chest_open.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_chest_open.ogg
rename to mods/ITEMS/vox_main/sounds/default_chest_open.ogg
diff --git a/mods/TEMP/default/sounds/default_cool_lava.1.ogg b/mods/ITEMS/vox_main/sounds/default_cool_lava.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_cool_lava.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_cool_lava.1.ogg
diff --git a/mods/TEMP/default/sounds/default_cool_lava.2.ogg b/mods/ITEMS/vox_main/sounds/default_cool_lava.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_cool_lava.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_cool_lava.2.ogg
diff --git a/mods/TEMP/default/sounds/default_cool_lava.3.ogg b/mods/ITEMS/vox_main/sounds/default_cool_lava.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_cool_lava.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_cool_lava.3.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_choppy.1.ogg b/mods/ITEMS/vox_main/sounds/default_dig_choppy.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_choppy.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_choppy.1.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_choppy.2.ogg b/mods/ITEMS/vox_main/sounds/default_dig_choppy.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_choppy.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_choppy.2.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_choppy.3.ogg b/mods/ITEMS/vox_main/sounds/default_dig_choppy.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_choppy.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_choppy.3.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_cracky.1.ogg b/mods/ITEMS/vox_main/sounds/default_dig_cracky.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_cracky.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_cracky.1.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_cracky.2.ogg b/mods/ITEMS/vox_main/sounds/default_dig_cracky.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_cracky.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_cracky.2.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_cracky.3.ogg b/mods/ITEMS/vox_main/sounds/default_dig_cracky.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_cracky.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_cracky.3.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_crumbly.ogg b/mods/ITEMS/vox_main/sounds/default_dig_crumbly.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_crumbly.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_crumbly.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_dig_immediate.ogg b/mods/ITEMS/vox_main/sounds/default_dig_dig_immediate.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_dig_immediate.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_dig_immediate.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_metal.ogg b/mods/ITEMS/vox_main/sounds/default_dig_metal.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_metal.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_metal.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_oddly_breakable_by_hand.ogg b/mods/ITEMS/vox_main/sounds/default_dig_oddly_breakable_by_hand.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_oddly_breakable_by_hand.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_oddly_breakable_by_hand.ogg
diff --git a/mods/TEMP/default/sounds/default_dig_snappy.ogg b/mods/ITEMS/vox_main/sounds/default_dig_snappy.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dig_snappy.ogg
rename to mods/ITEMS/vox_main/sounds/default_dig_snappy.ogg
diff --git a/mods/TEMP/default/sounds/default_dirt_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_dirt_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dirt_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_dirt_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_dirt_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_dirt_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dirt_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_dirt_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/default_dug_metal.1.ogg b/mods/ITEMS/vox_main/sounds/default_dug_metal.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dug_metal.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_dug_metal.1.ogg
diff --git a/mods/TEMP/default/sounds/default_dug_metal.2.ogg b/mods/ITEMS/vox_main/sounds/default_dug_metal.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dug_metal.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_dug_metal.2.ogg
diff --git a/mods/TEMP/default/sounds/default_dug_node.1.ogg b/mods/ITEMS/vox_main/sounds/default_dug_node.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dug_node.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_dug_node.1.ogg
diff --git a/mods/TEMP/default/sounds/default_dug_node.2.ogg b/mods/ITEMS/vox_main/sounds/default_dug_node.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_dug_node.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_dug_node.2.ogg
diff --git a/mods/TEMP/default/sounds/default_furnace_active.ogg b/mods/ITEMS/vox_main/sounds/default_furnace_active.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_furnace_active.ogg
rename to mods/ITEMS/vox_main/sounds/default_furnace_active.ogg
diff --git a/mods/TEMP/default/sounds/default_glass_footstep.ogg b/mods/ITEMS/vox_main/sounds/default_glass_footstep.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_glass_footstep.ogg
rename to mods/ITEMS/vox_main/sounds/default_glass_footstep.ogg
diff --git a/mods/TEMP/default/sounds/default_grass_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_grass_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_grass_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_grass_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_grass_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_grass_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_grass_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_grass_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/default_grass_footstep.3.ogg b/mods/ITEMS/vox_main/sounds/default_grass_footstep.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_grass_footstep.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_grass_footstep.3.ogg
diff --git a/mods/TEMP/default/sounds/default_gravel_dig.1.ogg b/mods/ITEMS/vox_main/sounds/default_gravel_dig.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_gravel_dig.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_gravel_dig.1.ogg
diff --git a/mods/TEMP/default/sounds/default_gravel_dig.2.ogg b/mods/ITEMS/vox_main/sounds/default_gravel_dig.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_gravel_dig.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_gravel_dig.2.ogg
diff --git a/mods/TEMP/default/sounds/default_gravel_dug.1.ogg b/mods/ITEMS/vox_main/sounds/default_gravel_dug.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_gravel_dug.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_gravel_dug.1.ogg
diff --git a/mods/TEMP/default/sounds/default_gravel_dug.2.ogg b/mods/ITEMS/vox_main/sounds/default_gravel_dug.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_gravel_dug.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_gravel_dug.2.ogg
diff --git a/mods/TEMP/default/sounds/default_gravel_dug.3.ogg b/mods/ITEMS/vox_main/sounds/default_gravel_dug.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_gravel_dug.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_gravel_dug.3.ogg
diff --git a/mods/TEMP/default/sounds/default_gravel_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_gravel_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_gravel_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_gravel_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_gravel_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_gravel_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_gravel_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_gravel_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/default_gravel_footstep.3.ogg b/mods/ITEMS/vox_main/sounds/default_gravel_footstep.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_gravel_footstep.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_gravel_footstep.3.ogg
diff --git a/mods/TEMP/default/sounds/default_gravel_footstep.4.ogg b/mods/ITEMS/vox_main/sounds/default_gravel_footstep.4.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_gravel_footstep.4.ogg
rename to mods/ITEMS/vox_main/sounds/default_gravel_footstep.4.ogg
diff --git a/mods/TEMP/default/sounds/default_hard_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_hard_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_hard_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_hard_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_hard_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_hard_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_hard_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_hard_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/default_hard_footstep.3.ogg b/mods/ITEMS/vox_main/sounds/default_hard_footstep.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_hard_footstep.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_hard_footstep.3.ogg
diff --git a/mods/TEMP/default/sounds/default_ice_dig.1.ogg b/mods/ITEMS/vox_main/sounds/default_ice_dig.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_ice_dig.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_ice_dig.1.ogg
diff --git a/mods/TEMP/default/sounds/default_ice_dig.2.ogg b/mods/ITEMS/vox_main/sounds/default_ice_dig.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_ice_dig.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_ice_dig.2.ogg
diff --git a/mods/TEMP/default/sounds/default_ice_dig.3.ogg b/mods/ITEMS/vox_main/sounds/default_ice_dig.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_ice_dig.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_ice_dig.3.ogg
diff --git a/mods/TEMP/default/sounds/default_ice_dug.ogg b/mods/ITEMS/vox_main/sounds/default_ice_dug.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_ice_dug.ogg
rename to mods/ITEMS/vox_main/sounds/default_ice_dug.ogg
diff --git a/mods/TEMP/default/sounds/default_ice_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_ice_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_ice_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_ice_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_ice_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_ice_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_ice_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_ice_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/default_ice_footstep.3.ogg b/mods/ITEMS/vox_main/sounds/default_ice_footstep.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_ice_footstep.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_ice_footstep.3.ogg
diff --git a/mods/TEMP/default/sounds/default_item_smoke.ogg b/mods/ITEMS/vox_main/sounds/default_item_smoke.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_item_smoke.ogg
rename to mods/ITEMS/vox_main/sounds/default_item_smoke.ogg
diff --git a/mods/TEMP/default/sounds/default_metal_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_metal_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_metal_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_metal_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_metal_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_metal_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_metal_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_metal_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/default_metal_footstep.3.ogg b/mods/ITEMS/vox_main/sounds/default_metal_footstep.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_metal_footstep.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_metal_footstep.3.ogg
diff --git a/mods/TEMP/default/sounds/default_place_node.1.ogg b/mods/ITEMS/vox_main/sounds/default_place_node.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_place_node.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_place_node.1.ogg
diff --git a/mods/TEMP/default/sounds/default_place_node.2.ogg b/mods/ITEMS/vox_main/sounds/default_place_node.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_place_node.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_place_node.2.ogg
diff --git a/mods/TEMP/default/sounds/default_place_node.3.ogg b/mods/ITEMS/vox_main/sounds/default_place_node.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_place_node.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_place_node.3.ogg
diff --git a/mods/TEMP/default/sounds/default_place_node_hard.1.ogg b/mods/ITEMS/vox_main/sounds/default_place_node_hard.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_place_node_hard.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_place_node_hard.1.ogg
diff --git a/mods/TEMP/default/sounds/default_place_node_hard.2.ogg b/mods/ITEMS/vox_main/sounds/default_place_node_hard.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_place_node_hard.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_place_node_hard.2.ogg
diff --git a/mods/TEMP/default/sounds/default_place_node_metal.1.ogg b/mods/ITEMS/vox_main/sounds/default_place_node_metal.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_place_node_metal.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_place_node_metal.1.ogg
diff --git a/mods/TEMP/default/sounds/default_place_node_metal.2.ogg b/mods/ITEMS/vox_main/sounds/default_place_node_metal.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_place_node_metal.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_place_node_metal.2.ogg
diff --git a/mods/TEMP/default/sounds/default_sand_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_sand_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_sand_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_sand_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_sand_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_sand_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_sand_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_sand_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/default_sand_footstep.3.ogg b/mods/ITEMS/vox_main/sounds/default_sand_footstep.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_sand_footstep.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_sand_footstep.3.ogg
diff --git a/mods/TEMP/default/sounds/default_snow_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_snow_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_snow_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_snow_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_snow_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_snow_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_snow_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_snow_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/default_snow_footstep.3.ogg b/mods/ITEMS/vox_main/sounds/default_snow_footstep.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_snow_footstep.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_snow_footstep.3.ogg
diff --git a/mods/TEMP/default/sounds/default_snow_footstep.4.ogg b/mods/ITEMS/vox_main/sounds/default_snow_footstep.4.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_snow_footstep.4.ogg
rename to mods/ITEMS/vox_main/sounds/default_snow_footstep.4.ogg
diff --git a/mods/TEMP/default/sounds/default_snow_footstep.5.ogg b/mods/ITEMS/vox_main/sounds/default_snow_footstep.5.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_snow_footstep.5.ogg
rename to mods/ITEMS/vox_main/sounds/default_snow_footstep.5.ogg
diff --git a/mods/TEMP/default/sounds/default_tool_breaks.1.ogg b/mods/ITEMS/vox_main/sounds/default_tool_breaks.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_tool_breaks.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_tool_breaks.1.ogg
diff --git a/mods/TEMP/default/sounds/default_tool_breaks.2.ogg b/mods/ITEMS/vox_main/sounds/default_tool_breaks.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_tool_breaks.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_tool_breaks.2.ogg
diff --git a/mods/TEMP/default/sounds/default_tool_breaks.3.ogg b/mods/ITEMS/vox_main/sounds/default_tool_breaks.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_tool_breaks.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_tool_breaks.3.ogg
diff --git a/mods/TEMP/default/sounds/default_water_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_water_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_water_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_water_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_water_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_water_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_water_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_water_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/default_water_footstep.3.ogg b/mods/ITEMS/vox_main/sounds/default_water_footstep.3.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_water_footstep.3.ogg
rename to mods/ITEMS/vox_main/sounds/default_water_footstep.3.ogg
diff --git a/mods/TEMP/default/sounds/default_wood_footstep.1.ogg b/mods/ITEMS/vox_main/sounds/default_wood_footstep.1.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_wood_footstep.1.ogg
rename to mods/ITEMS/vox_main/sounds/default_wood_footstep.1.ogg
diff --git a/mods/TEMP/default/sounds/default_wood_footstep.2.ogg b/mods/ITEMS/vox_main/sounds/default_wood_footstep.2.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/default_wood_footstep.2.ogg
rename to mods/ITEMS/vox_main/sounds/default_wood_footstep.2.ogg
diff --git a/mods/TEMP/default/sounds/player_damage.ogg b/mods/ITEMS/vox_main/sounds/player_damage.ogg
similarity index 100%
rename from mods/TEMP/default/sounds/player_damage.ogg
rename to mods/ITEMS/vox_main/sounds/player_damage.ogg
diff --git a/mods/ITEMS/vox_main/trees.lua b/mods/ITEMS/vox_main/trees.lua
new file mode 100644
index 0000000..fcdfe35
--- /dev/null
+++ b/mods/ITEMS/vox_main/trees.lua
@@ -0,0 +1,138 @@
+-- vox_main/trees.lua
+
+-- support for MT game translation.
+local S = minetest.get_translator("vox_main")
+
+-- Placeholder for vox_main sound functions
+local function vox_main_sound_wood_defaults()
+ return {
+ footstep = {name = "vox_main_wood_footstep", gain = 0.3},
+ dug = {name = "vox_main_wood_dug", gain = 1.0},
+ place = {name = "vox_main_wood_place", gain = 1.0},
+ }
+end
+
+local function vox_main_sound_leaves_defaults()
+ return {
+ footstep = {name = "vox_main_leaves_footstep", gain = 0.45},
+ dug = {name = "vox_main_leaves_dug", gain = 0.7},
+ place = {name = "vox_main_leaves_place", gain = 1.0},
+ }
+end
+
+local function vox_main_sound_sapling_defaults()
+ return {
+ footstep = {name = "vox_main_sapling_footstep", gain = 0.2},
+ dug = {name = "vox_main_sapling_dug", gain = 0.25},
+ place = {name = "vox_main_sapling_place", gain = 1.0},
+ }
+end
+
+-- Tree nodes
+minetest.register_node("vox_main: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_main_sound_wood_defaults(),
+ on_place = minetest.rotate_node
+})
+
+minetest.register_node("vox_main: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_main_sound_wood_defaults(),
+})
+
+minetest.register_node("vox_main: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_main_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_main: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_main:sapling"}, rarity = 20},
+ {items = {"vox_main:leaves"}}
+ }
+ },
+ sounds = vox_main_sound_leaves_defaults(),
+ after_place_node = after_place_leaves,
+})
+
+minetest.register_node("vox_main: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_main_sound_leaves_defaults(),
+ after_place_node = function(pos, placer, itemstack)
+ minetest.set_node(pos, {name = "vox_main:apple", param2 = 1})
+ end,
+ after_dig_node = function(pos, oldnode, oldmetadata, digger)
+ if oldnode.param2 == 0 then
+ minetest.set_node(pos, {name = "vox_main:apple_mark"})
+ end
+ end,
+})
+
+minetest.register_node("vox_main: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_main:apple"})
+ end,
+})
\ No newline at end of file
diff --git a/mods/MAPGEN/vox_overworld/registry.lua b/mods/MAPGEN/vox_overworld/registry.lua
index b07319a..0eb6ae7 100644
--- a/mods/MAPGEN/vox_overworld/registry.lua
+++ b/mods/MAPGEN/vox_overworld/registry.lua
@@ -6,23 +6,1040 @@
-- with this program; if not, see .
---------------------------------------------------------------------------
+-- -------------------------------------------------------------- --
+-- ALIASES
+-- -------------------------------------------------------------- --
+-- Aliases for map generators
+
+-- All mapgens
+minetest.register_alias("mapgen_stone", "vox_main:stone")
+minetest.register_alias("mapgen_water_source", "vox_main:water_source")
+minetest.register_alias("mapgen_river_water_source", "vox_main:river_water_source")
+
+-- Additional aliases needed for mapgen v6
+minetest.register_alias("mapgen_lava_source", "vox_main:lava_source")
+minetest.register_alias("mapgen_dirt", "vox_main:dirt")
+minetest.register_alias("mapgen_dirt_with_grass", "vox_main:dirt_with_grass")
+minetest.register_alias("mapgen_sand", "vox_main:sand")
+minetest.register_alias("mapgen_gravel", "vox_main:gravel")
+minetest.register_alias("mapgen_desert_stone", "vox_main:desert_stone")
+minetest.register_alias("mapgen_desert_sand", "vox_main:desert_sand")
+minetest.register_alias("mapgen_dirt_with_snow", "vox_main:dirt_with_snow")
+minetest.register_alias("mapgen_snowblock", "vox_main:snowblock")
+minetest.register_alias("mapgen_snow", "vox_main:snow")
+minetest.register_alias("mapgen_ice", "vox_main:ice")
+
+minetest.register_alias("mapgen_tree", "vox_main:tree")
+minetest.register_alias("mapgen_leaves", "vox_main:leaves")
+minetest.register_alias("mapgen_apple", "vox_main:apple")
+minetest.register_alias("mapgen_jungletree", "vox_main:jungletree")
+minetest.register_alias("mapgen_jungleleaves", "vox_main:jungleleaves")
+minetest.register_alias("mapgen_junglegrass", "vox_main:junglegrass")
+minetest.register_alias("mapgen_pine_tree", "vox_main:pine_tree")
+minetest.register_alias("mapgen_pine_needles", "vox_main:pine_needles")
+
+minetest.register_alias("mapgen_cobble", "vox_main:cobble")
+minetest.register_alias("mapgen_stair_cobble", "vox_structural:stair_cobble")
+minetest.register_alias("mapgen_mossycobble", "vox_main:mossycobble")
+minetest.register_alias("mapgen_stair_desert_stone", "vox_structural:stair_desert_stone")
+
-- -------------------------------------------------------------- --
-- BIOMES
-- -------------------------------------------------------------- --
-- Grassland
-core.register_biome({
+minetest.register_biome({
name = "grassland",
- node_top = "grass",
+ node_top = "vox_main:dirt_with_grass",
depth_top = 1,
node_filler = "vox_main:dirt",
- node_stone = "vox_main:stone",
depth_filler = 3,
+ node_stone = "vox_main:stone",
+ node_river_water = "vox_main:river_water_source",
node_riverbed = "vox_main:sand",
- node_river_water = "vox_main:water_source",
depth_riverbed = 2,
- height_min = 1,
- height_max = 256,
- heat_point = 35,
- humidity_point = 50
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 4, -- Smooth transition between biomes
+ y_max = 31000,
+ y_min = 6, -- Ensure grassland spawns above beach level
+ heat_point = 50,
+ humidity_point = 35
+})
+
+-- Forest
+minetest.register_biome({
+ name = "forest",
+ node_top = "vox_main:dirt_with_grass",
+ depth_top = 1,
+ node_filler = "vox_main:dirt",
+ depth_filler = 3,
+ node_stone = "vox_main:stone",
+ node_river_water = "vox_main:river_water_source",
+ node_riverbed = "vox_main:sand",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 3, -- Smooth transition between biomes
+ y_max = 31000,
+ y_min = 6, -- Ensure forest spawns above beach level
+ heat_point = 60,
+ humidity_point = 68
+})
+
+-- Desert
+minetest.register_biome({
+ name = "desert",
+ node_top = "vox_main:desert_sand",
+ depth_top = 1,
+ node_filler = "vox_main:desert_sand",
+ depth_filler = 1,
+ node_stone = "vox_main:desert_stone",
+ node_river_water = "vox_main:river_water_source",
+ node_riverbed = "vox_main:sand",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:desert_stonebrick",
+ node_dungeon_alt = "vox_main:desert_stone",
+ node_dungeon_stair = "vox_main:desert_stonebrick",
+ vertical_blend = 3, -- Smooth transition between biomes
+ y_max = 31000,
+ y_min = 6, -- Ensure desert spawns above beach level
+ heat_point = 92,
+ humidity_point = 16
+})
+
+-- Tundra
+minetest.register_biome({
+ name = "tundra",
+ node_top = "vox_main:dirt_with_snow",
+ depth_top = 1,
+ node_filler = "vox_main:dirt",
+ depth_filler = 3,
+ node_stone = "vox_main:stone",
+ node_water_top = "vox_main:ice",
+ depth_water_top = 10,
+ node_river_water = "vox_main:river_water_source",
+ node_riverbed = "vox_main:gravel",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 1,
+ 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_main:snowblock",
+ node_top = "vox_main:snowblock",
+ depth_top = 1,
+ node_filler = "vox_main:snowblock",
+ depth_filler = 3,
+ node_stone = "vox_main:cave_ice",
+ node_water_top = "vox_main:ice",
+ depth_water_top = 10,
+ node_river_water = "vox_main:ice",
+ node_riverbed = "vox_main:gravel",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:ice",
+ node_dungeon_stair = "vox_main:stonebrick",
+ y_max = 31000,
+ y_min = 1,
+ heat_point = 0,
+ humidity_point = 73
+})
+
+-- Icesheet Ocean
+minetest.register_biome({
+ name = "icesheet_ocean",
+ node_dust = "vox_main:snowblock",
+ node_top = "vox_main:sand",
+ depth_top = 1,
+ node_filler = "vox_main:sand",
+ depth_filler = 3,
+ node_water_top = "vox_main:water_source",
+ depth_water_top = 10,
+ node_cave_liquid = "vox_main:water_source",
+ node_riverbed = "vox_main: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_main:water_source", "vox_main:lava_source"},
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main: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_main:snow",
+ node_riverbed = "vox_main:gravel",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ y_max = 31000,
+ y_min = 47,
+ heat_point = 0,
+ humidity_point = 40
+})
+
+-- Tundra Beach
+minetest.register_biome({
+ name = "tundra_beach",
+ node_top = "vox_main:gravel",
+ depth_top = 1,
+ node_filler = "vox_main:gravel",
+ depth_filler = 2,
+ node_riverbed = "vox_main:gravel",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 1,
+ y_max = 1,
+ y_min = -3,
+ heat_point = 0,
+ humidity_point = 40
+})
+
+-- Tundra Ocean
+minetest.register_biome({
+ name = "tundra_ocean",
+ node_top = "vox_main:sand",
+ depth_top = 1,
+ node_filler = "vox_main:sand",
+ depth_filler = 3,
+ node_riverbed = "vox_main:gravel",
+ depth_riverbed = 2,
+ node_cave_liquid = "vox_main:water_source",
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 1,
+ y_max = 0,
+ y_min = -255,
+ heat_point = 0,
+ humidity_point = 40
+})
+
+-- Ocean
+minetest.register_biome({
+ name = "ocean",
+ node_top = "vox_main:sand",
+ depth_top = 1,
+ node_filler = "vox_main:sand",
+ depth_filler = 3,
+ node_water_top = "vox_main:water_source",
+ depth_water_top = 10,
+ node_river_water = "vox_main:river_water_source",
+ node_riverbed = "vox_main:gravel",
+ depth_riverbed = 2,
+ 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_main:dirt_with_grass",
+ depth_top = 1,
+ node_filler = "vox_main:dirt",
+ depth_filler = 3,
+ node_river_water = "vox_main:river_water_source",
+ node_riverbed = "vox_main:sand",
+ depth_riverbed = 2,
+ 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_main:sand",
+ depth_top = 1,
+ node_filler = "vox_main:sand",
+ depth_filler = 3,
+ y_min = 0,
+ y_max = 5, -- Allow beach to vary in height
+ vertical_blend = 3, -- Smooth transition between biomes
+ heat_point = 50,
+ humidity_point = 70
+})
+
+-- Savanna
+minetest.register_biome({
+ name = "savanna",
+ node_top = "vox_main:dry_dirt_with_dry_grass",
+ depth_top = 1,
+ node_filler = "vox_main:dry_dirt",
+ depth_filler = 3,
+ node_stone = "vox_main:stone",
+ node_river_water = "vox_main:river_water_source",
+ node_riverbed = "vox_main:sand",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 3,
+ y_max = 31000,
+ y_min = 6,
+ heat_point = 85,
+ humidity_point = 20
+})
+
+-- Volcanic
+minetest.register_biome({
+ name = "volcanic",
+ node_top = "vox_main:volcanic_rock",
+ depth_top = 1,
+ node_filler = "vox_main:ash_block",
+ depth_filler = 3,
+ node_stone = "vox_main:stone",
+ node_river_water = "vox_main:lava_source",
+ node_riverbed = "vox_main:gravel",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 3,
+ y_max = 31000,
+ y_min = 6,
+ heat_point = 100,
+ humidity_point = 10
+})
+
+-- Mountain
+minetest.register_biome({
+ name = "mountain",
+ node_top = "vox_main:granite",
+ depth_top = 1,
+ node_filler = "vox_main:diorite",
+ depth_filler = 3,
+ node_stone = "vox_main:andesite",
+ node_river_water = "vox_main:river_water_source",
+ node_riverbed = "vox_main:gravel",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 3,
+ y_max = 31000,
+ y_min = 6,
+ heat_point = 30,
+ humidity_point = 40
+})
+
+-- Painted Mesa
+minetest.register_biome({
+ name = "painted_mesa",
+ node_top = "vox_main:hardened_clay",
+ depth_top = 1,
+ node_filler = "vox_main:hardened_clay",
+ depth_filler = 3,
+ node_stone = "vox_main:stone",
+ node_river_water = "vox_main:river_water_source",
+ node_riverbed = "vox_main:sand",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 3,
+ y_max = 31000,
+ y_min = 6,
+ heat_point = 75,
+ humidity_point = 25
+})
+
+-- 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_main:teracotta_" .. color,
+ depth_top = 1,
+ node_filler = "vox_main:teracotta_" .. color,
+ depth_filler = 3,
+ node_stone = "vox_main:stone",
+ node_river_water = "vox_main:river_water_source",
+ node_riverbed = "vox_main:sand",
+ depth_riverbed = 2,
+ node_dungeon = "vox_main:cobble",
+ node_dungeon_alt = "vox_main:mossycobble",
+ node_dungeon_stair = "vox_main:stonebrick",
+ vertical_blend = 3,
+ y_max = 31000,
+ y_min = 6,
+ heat_point = 75,
+ humidity_point = 25
+ })
+end
+
+-- -------------------------------------------------------------- --
+-- ORES
+-- -------------------------------------------------------------- --
+
+-- Granite
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:granite",
+ wherein = "vox_main: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 = "blob",
+ ore = "vox_main:diorite",
+ wherein = "vox_main:stone",
+ clust_scarcity = 200 * 200 * 200, -- 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
+})
+
+-- Andesite
+minetest.register_ore({
+ ore_type = "blob",
+ ore = "vox_main:andesite",
+ wherein = "vox_main:stone",
+ clust_scarcity = 200 * 200 * 200, -- 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_main:basalt",
+ wherein = "vox_main:stone",
+ clust_scarcity = 300 * 300 * 300, -- 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 = "scatter",
+ ore = "vox_main:marble",
+ wherein = "vox_main: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_main:chalk",
+ wherein = "vox_main:stone",
+ clust_scarcity = 220 * 220 * 220, -- 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 = "scatter",
+ ore = "vox_main:limestone",
+ wherein = "vox_main: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 = "scatter",
+ ore = "vox_main:obsidian",
+ wherein = "vox_main:stone",
+ clust_scarcity = 1000 * 1000 * 1000, -- Increase scarcity to reduce abundance
+ 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
+})
+
+-- Ores and Gems
+
+-- Coal Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:coal_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 60 * 60 * 60, -- Increase scarcity
+ clust_num_ores = 8,
+ clust_size = 4,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"grassland", "forest"} -- Restrict to specific biomes
+})
+
+-- Uranium Ore
+minetest.register_ore({
+ ore_type = "vein",
+ ore = "vox_main:uranium_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 900 * 900 * 900, -- Increase scarcity to reduce abundance
+ clust_num_ores = 2,
+ clust_size = 1,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"tundra", "desert"} -- Restrict to specific biomes
+})
+
+-- Bone Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:bone_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 300 * 300 * 300, -- Increase scarcity
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+})
+
+-- Sulfur Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:sulfur_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 300 * 300 * 300, -- 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"} -- Restrict to specific biomes
+})
+
+-- Salt Ore
+minetest.register_ore({
+ ore_type = "stratum",
+ ore = "vox_main:salt_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 200 * 200 * 200, -- Increase scarcity
+ clust_num_ores = 4,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"desert"} -- Restrict to specific biomes
+})
+
+-- Copper Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:copper_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 180 * 180 * 180, -- Increase scarcity
+ clust_num_ores = 6,
+ clust_size = 3,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"grassland"} -- Restrict to specific biomes
+})
+
+-- Tin Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:tin_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 200 * 200 * 200, -- Increase scarcity
+ clust_num_ores = 6,
+ clust_size = 3,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"grassland"} -- Restrict to specific biomes
+})
+
+-- Iron Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:iron_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 160 * 160 * 160, -- Increase scarcity
+ clust_num_ores = 6,
+ clust_size = 3,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"grassland", "forest"} -- Restrict to specific biomes
+})
+
+-- Gold Ore
+minetest.register_ore({
+ ore_type = "vein",
+ ore = "vox_main:gold_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 600 * 600 * 600, -- Increase scarcity to reduce abundance
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"tundra", "desert"} -- Restrict to specific biomes
+})
+
+-- Silver Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:silver_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 250 * 250 * 250, -- Increase scarcity to reduce abundance
+ clust_num_ores = 6,
+ clust_size = 3,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"grassland"} -- Restrict to specific biomes
+})
+
+-- Diamond Ore
+minetest.register_ore({
+ ore_type = "vein",
+ ore = "vox_main:diamond_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 800 * 800 * 800, -- Increase scarcity to reduce abundance
+ clust_num_ores = 2,
+ clust_size = 1,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = -50, -- Adjust for greater height
+ biomes = {"tundra", "icesheet"} -- Restrict to specific biomes
+})
+
+-- Emerald Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:emerald_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 450 * 450 * 450, -- Increase scarcity
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"forest"} -- Restrict to specific biomes
+})
+
+-- Ruby Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:ruby_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 450 * 450 * 450, -- Increase scarcity
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"forest"} -- Restrict to specific biomes
+})
+
+-- Sapphire Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:sapphire_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 450 * 450 * 450, -- Increase scarcity
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"forest"} -- Restrict to specific biomes
+})
+
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:topaz_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 450 * 450 * 450, -- 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"} -- Restrict to specific biomes
+})
+
+-- Amethyst Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:amethyst_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 450 * 450 * 450, -- Increase scarcity
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"forest"} -- Restrict to specific biomes
+})
+
+-- Opal Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:opal_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 450 * 450 * 450, -- Increase scarcity
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"grassland"} -- Restrict to specific biomes
+})
+
+-- Onyx Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:onyx_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 450 * 450 * 450, -- Increase scarcity
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"grassland"} -- Restrict to specific biomes
+})
+
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:garnet_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 450 * 450 * 450, -- Increase scarcity
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"forest"} -- Restrict to specific biomes
+})
+
+-- Peridot Ore
+minetest.register_ore({
+ ore_type = "scatter",
+ ore = "vox_main:peridot_ore",
+ wherein = "vox_main:stone",
+ clust_scarcity = 450 * 450 * 450, -- Increase scarcity
+ clust_num_ores = 3,
+ clust_size = 2,
+ y_min = -31000, -- Adjust for greater depth
+ y_max = 31000, -- Adjust for greater height
+ biomes = {"forest"} -- Restrict to specific biomes
+})
+
+-- -------------------------------------------------------------- --
+-- DECORATIONS
+-- -------------------------------------------------------------- --
+
+-- Kelp
+minetest.register_decoration({
+ name = "vox_main:kelp",
+ deco_type = "simple",
+ place_on = {"vox_main: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_main:kelp",
+ param2 = 48,
+ param2_max = 96,
+})
+
+-- Apple Tree
+minetest.register_decoration({
+ name = "vox_main:apple_tree",
+ deco_type = "schematic",
+ place_on = {"vox_main:dirt_with_grass"},
+ sidelen = 16,
+ fill_ratio = 0.02,
+ biomes = {"grassland"},
+ y_max = 31000,
+ y_min = 1,
+ schematic = minetest.get_modpath("vox_main") .. "/schematics/apple_tree.mts",
+ flags = "place_center_x, place_center_z",
+ rotation = "random",
+})
+
+-- Jungle Tree
+minetest.register_decoration({
+ name = "vox_main:jungle_tree",
+ deco_type = "schematic",
+ place_on = {"vox_main:dirt_with_rainforest_litter"},
+ sidelen = 16,
+ fill_ratio = 0.02,
+ biomes = {"rainforest"},
+ y_max = 31000,
+ y_min = 1,
+ schematic = minetest.get_modpath("vox_main") .. "/schematics/jungle_tree.mts",
+ flags = "place_center_x, place_center_z",
+ rotation = "random",
+})
+
+-- Pine Tree
+minetest.register_decoration({
+ name = "vox_main:pine_tree",
+ deco_type = "schematic",
+ place_on = {"vox_main:dirt_with_snow"},
+ sidelen = 16,
+ fill_ratio = 0.02,
+ biomes = {"taiga"},
+ y_max = 31000,
+ y_min = 1,
+ schematic = minetest.get_modpath("vox_main") .. "/schematics/pine_tree.mts",
+ flags = "place_center_x, place_center_z",
+ rotation = "random",
+})
+
+-- Acacia Tree
+minetest.register_decoration({
+ name = "vox_main:acacia_tree",
+ deco_type = "schematic",
+ place_on = {"vox_main:dry_dirt"},
+ sidelen = 16,
+ fill_ratio = 0.02,
+ biomes = {"savanna"},
+ y_max = 31000,
+ y_min = 1,
+ schematic = minetest.get_modpath("vox_main") .. "/schematics/acacia_tree.mts",
+ flags = "place_center_x, place_center_z",
+ rotation = "random",
+})
+
+-- Aspen Tree
+minetest.register_decoration({
+ name = "vox_main:aspen_tree",
+ deco_type = "schematic",
+ place_on = {"vox_main:dirt_with_grass"},
+ sidelen = 16,
+ fill_ratio = 0.02,
+ biomes = {"deciduous_forest"},
+ y_max = 31000,
+ y_min = 1,
+ schematic = minetest.get_modpath("vox_main") .. "/schematics/aspen_tree.mts",
+ flags = "place_center_x, place_center_z",
+ rotation = "random",
+})
+
+-- Grass
+for i = 1, 5 do
+ minetest.register_decoration({
+ name = "vox_main:grass_" .. i,
+ deco_type = "simple",
+ place_on = {"vox_main: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_main:grass_" .. i,
+ })
+end
+
+-- Dry Grass
+for i = 1, 5 do
+ minetest.register_decoration({
+ name = "vox_main:dry_grass_" .. i,
+ deco_type = "simple",
+ place_on = {"vox_main: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_main:dry_grass_" .. i,
+ })
+end
+
+-- Fern
+for i = 1, 3 do
+ minetest.register_decoration({
+ name = "vox_main:fern_" .. i,
+ deco_type = "simple",
+ place_on = {"vox_main: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_main:fern_" .. i,
+ })
+end
+
+-- Marram Grass
+for i = 1, 3 do
+ minetest.register_decoration({
+ name = "vox_main:marram_grass_" .. i,
+ deco_type = "simple",
+ place_on = {"vox_main: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_main:marram_grass_" .. i,
+ })
+end
+
+-- Cactus
+minetest.register_decoration({
+ name = "vox_main:cactus",
+ deco_type = "schematic",
+ place_on = {"vox_main:desert_sand"},
+ sidelen = 16,
+ fill_ratio = 0.02,
+ biomes = {"desert"},
+ y_max = 31000,
+ y_min = 1,
+ schematic = minetest.get_modpath("vox_main") .. "/schematics/cactus.mts",
+ flags = "place_center_x, place_center_z",
+ rotation = "random",
+})
+
+-- Large Cactus Seedling
+minetest.register_decoration({
+ name = "vox_main:large_cactus_seedling",
+ deco_type = "simple",
+ place_on = {"vox_main: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_main:large_cactus_seedling",
+})
+
+-- Papyrus
+minetest.register_decoration({
+ name = "vox_main:papyrus",
+ deco_type = "schematic",
+ place_on = {"vox_main:dirt"},
+ sidelen = 16,
+ fill_ratio = 0.02,
+ biomes = {"swamp"},
+ y_max = 31000,
+ y_min = 1,
+ schematic = minetest.get_modpath("vox_main") .. "/schematics/papyrus.mts",
+ flags = "place_center_x, place_center_z",
+ rotation = "random",
+})
+
+-- Dry Shrub
+minetest.register_decoration({
+ name = "vox_main:dry_shrub",
+ deco_type = "simple",
+ place_on = {"vox_main: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_main:dry_shrub",
+})
+
+-- Jungle Grass
+minetest.register_decoration({
+ name = "vox_main:junglegrass",
+ deco_type = "simple",
+ place_on = {"vox_main: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_main:junglegrass",
})
\ No newline at end of file
diff --git a/mods/TEMP/default/mod.conf b/mods/TEMP/default/mod.conf
deleted file mode 100644
index 1944251..0000000
--- a/mods/TEMP/default/mod.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-name = Default
-description = We are borrowing this stuff from the default mod.
\ No newline at end of file
diff --git a/mods/TEMP/default/schematics/acacia_bush.mts b/schematics/acacia_bush.mts
similarity index 100%
rename from mods/TEMP/default/schematics/acacia_bush.mts
rename to schematics/acacia_bush.mts
diff --git a/mods/TEMP/default/schematics/acacia_log.mts b/schematics/acacia_log.mts
similarity index 100%
rename from mods/TEMP/default/schematics/acacia_log.mts
rename to schematics/acacia_log.mts
diff --git a/mods/TEMP/default/schematics/acacia_tree.mts b/schematics/acacia_tree.mts
similarity index 100%
rename from mods/TEMP/default/schematics/acacia_tree.mts
rename to schematics/acacia_tree.mts
diff --git a/mods/TEMP/default/schematics/acacia_tree_from_sapling.mts b/schematics/acacia_tree_from_sapling.mts
similarity index 100%
rename from mods/TEMP/default/schematics/acacia_tree_from_sapling.mts
rename to schematics/acacia_tree_from_sapling.mts
diff --git a/mods/TEMP/default/schematics/apple_log.mts b/schematics/apple_log.mts
similarity index 100%
rename from mods/TEMP/default/schematics/apple_log.mts
rename to schematics/apple_log.mts
diff --git a/mods/TEMP/default/schematics/apple_tree.mts b/schematics/apple_tree.mts
similarity index 100%
rename from mods/TEMP/default/schematics/apple_tree.mts
rename to schematics/apple_tree.mts
diff --git a/mods/TEMP/default/schematics/apple_tree_from_sapling.mts b/schematics/apple_tree_from_sapling.mts
similarity index 100%
rename from mods/TEMP/default/schematics/apple_tree_from_sapling.mts
rename to schematics/apple_tree_from_sapling.mts
diff --git a/mods/TEMP/default/schematics/aspen_log.mts b/schematics/aspen_log.mts
similarity index 100%
rename from mods/TEMP/default/schematics/aspen_log.mts
rename to schematics/aspen_log.mts
diff --git a/mods/TEMP/default/schematics/aspen_tree.mts b/schematics/aspen_tree.mts
similarity index 100%
rename from mods/TEMP/default/schematics/aspen_tree.mts
rename to schematics/aspen_tree.mts
diff --git a/mods/TEMP/default/schematics/aspen_tree_from_sapling.mts b/schematics/aspen_tree_from_sapling.mts
similarity index 100%
rename from mods/TEMP/default/schematics/aspen_tree_from_sapling.mts
rename to schematics/aspen_tree_from_sapling.mts
diff --git a/mods/TEMP/default/schematics/blueberry_bush.mts b/schematics/blueberry_bush.mts
similarity index 100%
rename from mods/TEMP/default/schematics/blueberry_bush.mts
rename to schematics/blueberry_bush.mts
diff --git a/mods/TEMP/default/schematics/bush.mts b/schematics/bush.mts
similarity index 100%
rename from mods/TEMP/default/schematics/bush.mts
rename to schematics/bush.mts
diff --git a/mods/TEMP/default/schematics/emergent_jungle_tree.mts b/schematics/emergent_jungle_tree.mts
similarity index 100%
rename from mods/TEMP/default/schematics/emergent_jungle_tree.mts
rename to schematics/emergent_jungle_tree.mts
diff --git a/mods/TEMP/default/schematics/emergent_jungle_tree_from_sapling.mts b/schematics/emergent_jungle_tree_from_sapling.mts
similarity index 100%
rename from mods/TEMP/default/schematics/emergent_jungle_tree_from_sapling.mts
rename to schematics/emergent_jungle_tree_from_sapling.mts
diff --git a/mods/TEMP/default/schematics/jungle_log.mts b/schematics/jungle_log.mts
similarity index 100%
rename from mods/TEMP/default/schematics/jungle_log.mts
rename to schematics/jungle_log.mts
diff --git a/mods/TEMP/default/schematics/jungle_tree.mts b/schematics/jungle_tree.mts
similarity index 100%
rename from mods/TEMP/default/schematics/jungle_tree.mts
rename to schematics/jungle_tree.mts
diff --git a/mods/TEMP/default/schematics/jungle_tree_from_sapling.mts b/schematics/jungle_tree_from_sapling.mts
similarity index 100%
rename from mods/TEMP/default/schematics/jungle_tree_from_sapling.mts
rename to schematics/jungle_tree_from_sapling.mts
diff --git a/mods/TEMP/default/schematics/large_cactus.mts b/schematics/large_cactus.mts
similarity index 100%
rename from mods/TEMP/default/schematics/large_cactus.mts
rename to schematics/large_cactus.mts
diff --git a/mods/TEMP/default/schematics/papyrus_on_dirt.mts b/schematics/papyrus_on_dirt.mts
similarity index 100%
rename from mods/TEMP/default/schematics/papyrus_on_dirt.mts
rename to schematics/papyrus_on_dirt.mts
diff --git a/mods/TEMP/default/schematics/papyrus_on_dry_dirt.mts b/schematics/papyrus_on_dry_dirt.mts
similarity index 100%
rename from mods/TEMP/default/schematics/papyrus_on_dry_dirt.mts
rename to schematics/papyrus_on_dry_dirt.mts
diff --git a/mods/TEMP/default/schematics/pine_bush.mts b/schematics/pine_bush.mts
similarity index 100%
rename from mods/TEMP/default/schematics/pine_bush.mts
rename to schematics/pine_bush.mts
diff --git a/mods/TEMP/default/schematics/pine_log.mts b/schematics/pine_log.mts
similarity index 100%
rename from mods/TEMP/default/schematics/pine_log.mts
rename to schematics/pine_log.mts
diff --git a/mods/TEMP/default/schematics/pine_tree.mts b/schematics/pine_tree.mts
similarity index 100%
rename from mods/TEMP/default/schematics/pine_tree.mts
rename to schematics/pine_tree.mts
diff --git a/mods/TEMP/default/schematics/pine_tree_from_sapling.mts b/schematics/pine_tree_from_sapling.mts
similarity index 100%
rename from mods/TEMP/default/schematics/pine_tree_from_sapling.mts
rename to schematics/pine_tree_from_sapling.mts
diff --git a/mods/TEMP/default/schematics/small_pine_tree.mts b/schematics/small_pine_tree.mts
similarity index 100%
rename from mods/TEMP/default/schematics/small_pine_tree.mts
rename to schematics/small_pine_tree.mts
diff --git a/mods/TEMP/default/schematics/small_pine_tree_from_sapling.mts b/schematics/small_pine_tree_from_sapling.mts
similarity index 100%
rename from mods/TEMP/default/schematics/small_pine_tree_from_sapling.mts
rename to schematics/small_pine_tree_from_sapling.mts
diff --git a/mods/TEMP/default/schematics/snowy_pine_tree_from_sapling.mts b/schematics/snowy_pine_tree_from_sapling.mts
similarity index 100%
rename from mods/TEMP/default/schematics/snowy_pine_tree_from_sapling.mts
rename to schematics/snowy_pine_tree_from_sapling.mts
diff --git a/mods/TEMP/default/schematics/snowy_small_pine_tree_from_sapling.mts b/schematics/snowy_small_pine_tree_from_sapling.mts
similarity index 100%
rename from mods/TEMP/default/schematics/snowy_small_pine_tree_from_sapling.mts
rename to schematics/snowy_small_pine_tree_from_sapling.mts
diff --git a/mods/TEMP/default/textures/README.md b/textures/README.md
similarity index 100%
rename from mods/TEMP/default/textures/README.md
rename to textures/README.md
diff --git a/mods/TEMP/default/textures/bubble.png b/textures/bubble.png
similarity index 100%
rename from mods/TEMP/default/textures/bubble.png
rename to textures/bubble.png
diff --git a/mods/TEMP/default/textures/crack_anylength.png b/textures/crack_anylength.png
similarity index 100%
rename from mods/TEMP/default/textures/crack_anylength.png
rename to textures/crack_anylength.png
diff --git a/mods/TEMP/default/textures/default_acacia_bush_sapling.png b/textures/default_acacia_bush_sapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_acacia_bush_sapling.png
rename to textures/default_acacia_bush_sapling.png
diff --git a/mods/TEMP/default/textures/default_acacia_bush_stem.png b/textures/default_acacia_bush_stem.png
similarity index 100%
rename from mods/TEMP/default/textures/default_acacia_bush_stem.png
rename to textures/default_acacia_bush_stem.png
diff --git a/mods/TEMP/default/textures/default_acacia_leaves.png b/textures/default_acacia_leaves.png
similarity index 100%
rename from mods/TEMP/default/textures/default_acacia_leaves.png
rename to textures/default_acacia_leaves.png
diff --git a/mods/TEMP/default/textures/default_acacia_leaves_simple.png b/textures/default_acacia_leaves_simple.png
similarity index 100%
rename from mods/TEMP/default/textures/default_acacia_leaves_simple.png
rename to textures/default_acacia_leaves_simple.png
diff --git a/mods/TEMP/default/textures/default_acacia_sapling.png b/textures/default_acacia_sapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_acacia_sapling.png
rename to textures/default_acacia_sapling.png
diff --git a/mods/TEMP/default/textures/default_acacia_tree.png b/textures/default_acacia_tree.png
similarity index 100%
rename from mods/TEMP/default/textures/default_acacia_tree.png
rename to textures/default_acacia_tree.png
diff --git a/mods/TEMP/default/textures/default_acacia_tree_top.png b/textures/default_acacia_tree_top.png
similarity index 100%
rename from mods/TEMP/default/textures/default_acacia_tree_top.png
rename to textures/default_acacia_tree_top.png
diff --git a/mods/TEMP/default/textures/default_acacia_wood.png b/textures/default_acacia_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_acacia_wood.png
rename to textures/default_acacia_wood.png
diff --git a/mods/TEMP/default/textures/default_apple.png b/textures/default_apple.png
similarity index 100%
rename from mods/TEMP/default/textures/default_apple.png
rename to textures/default_apple.png
diff --git a/mods/TEMP/default/textures/default_aspen_leaves.png b/textures/default_aspen_leaves.png
similarity index 100%
rename from mods/TEMP/default/textures/default_aspen_leaves.png
rename to textures/default_aspen_leaves.png
diff --git a/mods/TEMP/default/textures/default_aspen_sapling.png b/textures/default_aspen_sapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_aspen_sapling.png
rename to textures/default_aspen_sapling.png
diff --git a/mods/TEMP/default/textures/default_aspen_tree.png b/textures/default_aspen_tree.png
similarity index 100%
rename from mods/TEMP/default/textures/default_aspen_tree.png
rename to textures/default_aspen_tree.png
diff --git a/mods/TEMP/default/textures/default_aspen_tree_top.png b/textures/default_aspen_tree_top.png
similarity index 100%
rename from mods/TEMP/default/textures/default_aspen_tree_top.png
rename to textures/default_aspen_tree_top.png
diff --git a/mods/TEMP/default/textures/default_aspen_wood.png b/textures/default_aspen_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_aspen_wood.png
rename to textures/default_aspen_wood.png
diff --git a/mods/TEMP/default/textures/default_blueberries.png b/textures/default_blueberries.png
similarity index 100%
rename from mods/TEMP/default/textures/default_blueberries.png
rename to textures/default_blueberries.png
diff --git a/mods/TEMP/default/textures/default_blueberry_bush_leaves.png b/textures/default_blueberry_bush_leaves.png
similarity index 100%
rename from mods/TEMP/default/textures/default_blueberry_bush_leaves.png
rename to textures/default_blueberry_bush_leaves.png
diff --git a/mods/TEMP/default/textures/default_blueberry_bush_sapling.png b/textures/default_blueberry_bush_sapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_blueberry_bush_sapling.png
rename to textures/default_blueberry_bush_sapling.png
diff --git a/mods/TEMP/default/textures/default_blueberry_overlay.png b/textures/default_blueberry_overlay.png
similarity index 100%
rename from mods/TEMP/default/textures/default_blueberry_overlay.png
rename to textures/default_blueberry_overlay.png
diff --git a/mods/TEMP/default/textures/default_book.png b/textures/default_book.png
similarity index 100%
rename from mods/TEMP/default/textures/default_book.png
rename to textures/default_book.png
diff --git a/mods/TEMP/default/textures/default_book_written.png b/textures/default_book_written.png
similarity index 100%
rename from mods/TEMP/default/textures/default_book_written.png
rename to textures/default_book_written.png
diff --git a/mods/TEMP/default/textures/default_bookshelf.png b/textures/default_bookshelf.png
similarity index 100%
rename from mods/TEMP/default/textures/default_bookshelf.png
rename to textures/default_bookshelf.png
diff --git a/mods/TEMP/default/textures/default_bookshelf_slot.png b/textures/default_bookshelf_slot.png
similarity index 100%
rename from mods/TEMP/default/textures/default_bookshelf_slot.png
rename to textures/default_bookshelf_slot.png
diff --git a/mods/TEMP/default/textures/default_brick.png b/textures/default_brick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_brick.png
rename to textures/default_brick.png
diff --git a/mods/TEMP/default/textures/default_bronze_block.png b/textures/default_bronze_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_bronze_block.png
rename to textures/default_bronze_block.png
diff --git a/mods/TEMP/default/textures/default_bronze_ingot.png b/textures/default_bronze_ingot.png
similarity index 100%
rename from mods/TEMP/default/textures/default_bronze_ingot.png
rename to textures/default_bronze_ingot.png
diff --git a/mods/TEMP/default/textures/default_bush_sapling.png b/textures/default_bush_sapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_bush_sapling.png
rename to textures/default_bush_sapling.png
diff --git a/mods/TEMP/default/textures/default_bush_stem.png b/textures/default_bush_stem.png
similarity index 100%
rename from mods/TEMP/default/textures/default_bush_stem.png
rename to textures/default_bush_stem.png
diff --git a/mods/TEMP/default/textures/default_cactus_side.png b/textures/default_cactus_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_cactus_side.png
rename to textures/default_cactus_side.png
diff --git a/mods/TEMP/default/textures/default_cactus_top.png b/textures/default_cactus_top.png
similarity index 100%
rename from mods/TEMP/default/textures/default_cactus_top.png
rename to textures/default_cactus_top.png
diff --git a/mods/TEMP/default/textures/default_chest_front.png b/textures/default_chest_front.png
similarity index 100%
rename from mods/TEMP/default/textures/default_chest_front.png
rename to textures/default_chest_front.png
diff --git a/mods/TEMP/default/textures/default_chest_inside.png b/textures/default_chest_inside.png
similarity index 100%
rename from mods/TEMP/default/textures/default_chest_inside.png
rename to textures/default_chest_inside.png
diff --git a/mods/TEMP/default/textures/default_chest_lock.png b/textures/default_chest_lock.png
similarity index 100%
rename from mods/TEMP/default/textures/default_chest_lock.png
rename to textures/default_chest_lock.png
diff --git a/mods/TEMP/default/textures/default_chest_side.png b/textures/default_chest_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_chest_side.png
rename to textures/default_chest_side.png
diff --git a/mods/TEMP/default/textures/default_chest_top.png b/textures/default_chest_top.png
similarity index 100%
rename from mods/TEMP/default/textures/default_chest_top.png
rename to textures/default_chest_top.png
diff --git a/mods/TEMP/default/textures/default_clay.png b/textures/default_clay.png
similarity index 100%
rename from mods/TEMP/default/textures/default_clay.png
rename to textures/default_clay.png
diff --git a/mods/TEMP/default/textures/default_clay_brick.png b/textures/default_clay_brick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_clay_brick.png
rename to textures/default_clay_brick.png
diff --git a/mods/TEMP/default/textures/default_clay_lump.png b/textures/default_clay_lump.png
similarity index 100%
rename from mods/TEMP/default/textures/default_clay_lump.png
rename to textures/default_clay_lump.png
diff --git a/mods/TEMP/default/textures/default_cloud.png b/textures/default_cloud.png
similarity index 100%
rename from mods/TEMP/default/textures/default_cloud.png
rename to textures/default_cloud.png
diff --git a/mods/TEMP/default/textures/default_coal_block.png b/textures/default_coal_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coal_block.png
rename to textures/default_coal_block.png
diff --git a/mods/TEMP/default/textures/default_coal_lump.png b/textures/default_coal_lump.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coal_lump.png
rename to textures/default_coal_lump.png
diff --git a/mods/TEMP/default/textures/default_cobble.png b/textures/default_cobble.png
similarity index 100%
rename from mods/TEMP/default/textures/default_cobble.png
rename to textures/default_cobble.png
diff --git a/mods/TEMP/default/textures/default_coniferous_litter.png b/textures/default_coniferous_litter.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coniferous_litter.png
rename to textures/default_coniferous_litter.png
diff --git a/mods/TEMP/default/textures/default_coniferous_litter_side.png b/textures/default_coniferous_litter_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coniferous_litter_side.png
rename to textures/default_coniferous_litter_side.png
diff --git a/mods/TEMP/default/textures/default_copper_block.png b/textures/default_copper_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_copper_block.png
rename to textures/default_copper_block.png
diff --git a/mods/TEMP/default/textures/default_copper_ingot.png b/textures/default_copper_ingot.png
similarity index 100%
rename from mods/TEMP/default/textures/default_copper_ingot.png
rename to textures/default_copper_ingot.png
diff --git a/mods/TEMP/default/textures/default_copper_lump.png b/textures/default_copper_lump.png
similarity index 100%
rename from mods/TEMP/default/textures/default_copper_lump.png
rename to textures/default_copper_lump.png
diff --git a/mods/TEMP/default/textures/default_coral_brown.png b/textures/default_coral_brown.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coral_brown.png
rename to textures/default_coral_brown.png
diff --git a/mods/TEMP/default/textures/default_coral_cyan.png b/textures/default_coral_cyan.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coral_cyan.png
rename to textures/default_coral_cyan.png
diff --git a/mods/TEMP/default/textures/default_coral_green.png b/textures/default_coral_green.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coral_green.png
rename to textures/default_coral_green.png
diff --git a/mods/TEMP/default/textures/default_coral_orange.png b/textures/default_coral_orange.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coral_orange.png
rename to textures/default_coral_orange.png
diff --git a/mods/TEMP/default/textures/default_coral_pink.png b/textures/default_coral_pink.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coral_pink.png
rename to textures/default_coral_pink.png
diff --git a/mods/TEMP/default/textures/default_coral_skeleton.png b/textures/default_coral_skeleton.png
similarity index 100%
rename from mods/TEMP/default/textures/default_coral_skeleton.png
rename to textures/default_coral_skeleton.png
diff --git a/mods/TEMP/default/textures/default_desert_cobble.png b/textures/default_desert_cobble.png
similarity index 100%
rename from mods/TEMP/default/textures/default_desert_cobble.png
rename to textures/default_desert_cobble.png
diff --git a/mods/TEMP/default/textures/default_desert_sand.png b/textures/default_desert_sand.png
similarity index 100%
rename from mods/TEMP/default/textures/default_desert_sand.png
rename to textures/default_desert_sand.png
diff --git a/mods/TEMP/default/textures/default_desert_sandstone.png b/textures/default_desert_sandstone.png
similarity index 100%
rename from mods/TEMP/default/textures/default_desert_sandstone.png
rename to textures/default_desert_sandstone.png
diff --git a/mods/TEMP/default/textures/default_desert_sandstone_block.png b/textures/default_desert_sandstone_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_desert_sandstone_block.png
rename to textures/default_desert_sandstone_block.png
diff --git a/mods/TEMP/default/textures/default_desert_sandstone_brick.png b/textures/default_desert_sandstone_brick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_desert_sandstone_brick.png
rename to textures/default_desert_sandstone_brick.png
diff --git a/mods/TEMP/default/textures/default_desert_stone.png b/textures/default_desert_stone.png
similarity index 100%
rename from mods/TEMP/default/textures/default_desert_stone.png
rename to textures/default_desert_stone.png
diff --git a/mods/TEMP/default/textures/default_desert_stone_block.png b/textures/default_desert_stone_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_desert_stone_block.png
rename to textures/default_desert_stone_block.png
diff --git a/mods/TEMP/default/textures/default_desert_stone_brick.png b/textures/default_desert_stone_brick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_desert_stone_brick.png
rename to textures/default_desert_stone_brick.png
diff --git a/mods/TEMP/default/textures/default_diamond.png b/textures/default_diamond.png
similarity index 100%
rename from mods/TEMP/default/textures/default_diamond.png
rename to textures/default_diamond.png
diff --git a/mods/TEMP/default/textures/default_diamond_block.png b/textures/default_diamond_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_diamond_block.png
rename to textures/default_diamond_block.png
diff --git a/mods/TEMP/default/textures/default_dirt.png b/textures/default_dirt.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dirt.png
rename to textures/default_dirt.png
diff --git a/mods/TEMP/default/textures/default_dry_dirt.png b/textures/default_dry_dirt.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dry_dirt.png
rename to textures/default_dry_dirt.png
diff --git a/mods/TEMP/default/textures/default_dry_grass.png b/textures/default_dry_grass.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dry_grass.png
rename to textures/default_dry_grass.png
diff --git a/mods/TEMP/default/textures/default_dry_grass_1.png b/textures/default_dry_grass_1.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dry_grass_1.png
rename to textures/default_dry_grass_1.png
diff --git a/mods/TEMP/default/textures/default_dry_grass_2.png b/textures/default_dry_grass_2.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dry_grass_2.png
rename to textures/default_dry_grass_2.png
diff --git a/mods/TEMP/default/textures/default_dry_grass_3.png b/textures/default_dry_grass_3.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dry_grass_3.png
rename to textures/default_dry_grass_3.png
diff --git a/mods/TEMP/default/textures/default_dry_grass_4.png b/textures/default_dry_grass_4.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dry_grass_4.png
rename to textures/default_dry_grass_4.png
diff --git a/mods/TEMP/default/textures/default_dry_grass_5.png b/textures/default_dry_grass_5.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dry_grass_5.png
rename to textures/default_dry_grass_5.png
diff --git a/mods/TEMP/default/textures/default_dry_grass_side.png b/textures/default_dry_grass_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dry_grass_side.png
rename to textures/default_dry_grass_side.png
diff --git a/mods/TEMP/default/textures/default_dry_shrub.png b/textures/default_dry_shrub.png
similarity index 100%
rename from mods/TEMP/default/textures/default_dry_shrub.png
rename to textures/default_dry_shrub.png
diff --git a/mods/TEMP/default/textures/default_emergent_jungle_sapling.png b/textures/default_emergent_jungle_sapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_emergent_jungle_sapling.png
rename to textures/default_emergent_jungle_sapling.png
diff --git a/mods/TEMP/default/textures/default_fence_acacia_wood.png b/textures/default_fence_acacia_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_acacia_wood.png
rename to textures/default_fence_acacia_wood.png
diff --git a/mods/TEMP/default/textures/default_fence_aspen_wood.png b/textures/default_fence_aspen_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_aspen_wood.png
rename to textures/default_fence_aspen_wood.png
diff --git a/mods/TEMP/default/textures/default_fence_junglewood.png b/textures/default_fence_junglewood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_junglewood.png
rename to textures/default_fence_junglewood.png
diff --git a/mods/TEMP/default/textures/default_fence_overlay.png b/textures/default_fence_overlay.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_overlay.png
rename to textures/default_fence_overlay.png
diff --git a/mods/TEMP/default/textures/default_fence_pine_wood.png b/textures/default_fence_pine_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_pine_wood.png
rename to textures/default_fence_pine_wood.png
diff --git a/mods/TEMP/default/textures/default_fence_rail_acacia_wood.png b/textures/default_fence_rail_acacia_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_rail_acacia_wood.png
rename to textures/default_fence_rail_acacia_wood.png
diff --git a/mods/TEMP/default/textures/default_fence_rail_aspen_wood.png b/textures/default_fence_rail_aspen_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_rail_aspen_wood.png
rename to textures/default_fence_rail_aspen_wood.png
diff --git a/mods/TEMP/default/textures/default_fence_rail_junglewood.png b/textures/default_fence_rail_junglewood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_rail_junglewood.png
rename to textures/default_fence_rail_junglewood.png
diff --git a/mods/TEMP/default/textures/default_fence_rail_overlay.png b/textures/default_fence_rail_overlay.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_rail_overlay.png
rename to textures/default_fence_rail_overlay.png
diff --git a/mods/TEMP/default/textures/default_fence_rail_pine_wood.png b/textures/default_fence_rail_pine_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_rail_pine_wood.png
rename to textures/default_fence_rail_pine_wood.png
diff --git a/mods/TEMP/default/textures/default_fence_rail_wood.png b/textures/default_fence_rail_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_rail_wood.png
rename to textures/default_fence_rail_wood.png
diff --git a/mods/TEMP/default/textures/default_fence_wood.png b/textures/default_fence_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fence_wood.png
rename to textures/default_fence_wood.png
diff --git a/mods/TEMP/default/textures/default_fern_1.png b/textures/default_fern_1.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fern_1.png
rename to textures/default_fern_1.png
diff --git a/mods/TEMP/default/textures/default_fern_2.png b/textures/default_fern_2.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fern_2.png
rename to textures/default_fern_2.png
diff --git a/mods/TEMP/default/textures/default_fern_3.png b/textures/default_fern_3.png
similarity index 100%
rename from mods/TEMP/default/textures/default_fern_3.png
rename to textures/default_fern_3.png
diff --git a/mods/TEMP/default/textures/default_flint.png b/textures/default_flint.png
similarity index 100%
rename from mods/TEMP/default/textures/default_flint.png
rename to textures/default_flint.png
diff --git a/mods/TEMP/default/textures/default_footprint.png b/textures/default_footprint.png
similarity index 100%
rename from mods/TEMP/default/textures/default_footprint.png
rename to textures/default_footprint.png
diff --git a/mods/TEMP/default/textures/default_furnace_bottom.png b/textures/default_furnace_bottom.png
similarity index 100%
rename from mods/TEMP/default/textures/default_furnace_bottom.png
rename to textures/default_furnace_bottom.png
diff --git a/mods/TEMP/default/textures/default_furnace_fire_bg.png b/textures/default_furnace_fire_bg.png
similarity index 100%
rename from mods/TEMP/default/textures/default_furnace_fire_bg.png
rename to textures/default_furnace_fire_bg.png
diff --git a/mods/TEMP/default/textures/default_furnace_fire_fg.png b/textures/default_furnace_fire_fg.png
similarity index 100%
rename from mods/TEMP/default/textures/default_furnace_fire_fg.png
rename to textures/default_furnace_fire_fg.png
diff --git a/mods/TEMP/default/textures/default_furnace_front.png b/textures/default_furnace_front.png
similarity index 100%
rename from mods/TEMP/default/textures/default_furnace_front.png
rename to textures/default_furnace_front.png
diff --git a/mods/TEMP/default/textures/default_furnace_front_active.png b/textures/default_furnace_front_active.png
similarity index 100%
rename from mods/TEMP/default/textures/default_furnace_front_active.png
rename to textures/default_furnace_front_active.png
diff --git a/mods/TEMP/default/textures/default_furnace_side.png b/textures/default_furnace_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_furnace_side.png
rename to textures/default_furnace_side.png
diff --git a/mods/TEMP/default/textures/default_furnace_top.png b/textures/default_furnace_top.png
similarity index 100%
rename from mods/TEMP/default/textures/default_furnace_top.png
rename to textures/default_furnace_top.png
diff --git a/mods/TEMP/default/textures/default_glass.png b/textures/default_glass.png
similarity index 100%
rename from mods/TEMP/default/textures/default_glass.png
rename to textures/default_glass.png
diff --git a/mods/TEMP/default/textures/default_glass_detail.png b/textures/default_glass_detail.png
similarity index 100%
rename from mods/TEMP/default/textures/default_glass_detail.png
rename to textures/default_glass_detail.png
diff --git a/mods/TEMP/default/textures/default_gold_block.png b/textures/default_gold_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_gold_block.png
rename to textures/default_gold_block.png
diff --git a/mods/TEMP/default/textures/default_gold_ingot.png b/textures/default_gold_ingot.png
similarity index 100%
rename from mods/TEMP/default/textures/default_gold_ingot.png
rename to textures/default_gold_ingot.png
diff --git a/mods/TEMP/default/textures/default_gold_lump.png b/textures/default_gold_lump.png
similarity index 100%
rename from mods/TEMP/default/textures/default_gold_lump.png
rename to textures/default_gold_lump.png
diff --git a/mods/TEMP/default/textures/default_grass.png b/textures/default_grass.png
similarity index 100%
rename from mods/TEMP/default/textures/default_grass.png
rename to textures/default_grass.png
diff --git a/mods/TEMP/default/textures/default_grass_1.png b/textures/default_grass_1.png
similarity index 100%
rename from mods/TEMP/default/textures/default_grass_1.png
rename to textures/default_grass_1.png
diff --git a/mods/TEMP/default/textures/default_grass_2.png b/textures/default_grass_2.png
similarity index 100%
rename from mods/TEMP/default/textures/default_grass_2.png
rename to textures/default_grass_2.png
diff --git a/mods/TEMP/default/textures/default_grass_3.png b/textures/default_grass_3.png
similarity index 100%
rename from mods/TEMP/default/textures/default_grass_3.png
rename to textures/default_grass_3.png
diff --git a/mods/TEMP/default/textures/default_grass_4.png b/textures/default_grass_4.png
similarity index 100%
rename from mods/TEMP/default/textures/default_grass_4.png
rename to textures/default_grass_4.png
diff --git a/mods/TEMP/default/textures/default_grass_5.png b/textures/default_grass_5.png
similarity index 100%
rename from mods/TEMP/default/textures/default_grass_5.png
rename to textures/default_grass_5.png
diff --git a/mods/TEMP/default/textures/default_grass_side.png b/textures/default_grass_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_grass_side.png
rename to textures/default_grass_side.png
diff --git a/mods/TEMP/default/textures/default_gravel.png b/textures/default_gravel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_gravel.png
rename to textures/default_gravel.png
diff --git a/mods/TEMP/default/textures/default_ice.png b/textures/default_ice.png
similarity index 100%
rename from mods/TEMP/default/textures/default_ice.png
rename to textures/default_ice.png
diff --git a/mods/TEMP/default/textures/default_invisible_node_overlay.png b/textures/default_invisible_node_overlay.png
similarity index 100%
rename from mods/TEMP/default/textures/default_invisible_node_overlay.png
rename to textures/default_invisible_node_overlay.png
diff --git a/mods/TEMP/default/textures/default_iron_lump.png b/textures/default_iron_lump.png
similarity index 100%
rename from mods/TEMP/default/textures/default_iron_lump.png
rename to textures/default_iron_lump.png
diff --git a/mods/TEMP/default/textures/default_item_smoke.png b/textures/default_item_smoke.png
similarity index 100%
rename from mods/TEMP/default/textures/default_item_smoke.png
rename to textures/default_item_smoke.png
diff --git a/mods/TEMP/default/textures/default_junglegrass.png b/textures/default_junglegrass.png
similarity index 100%
rename from mods/TEMP/default/textures/default_junglegrass.png
rename to textures/default_junglegrass.png
diff --git a/mods/TEMP/default/textures/default_jungleleaves.png b/textures/default_jungleleaves.png
similarity index 100%
rename from mods/TEMP/default/textures/default_jungleleaves.png
rename to textures/default_jungleleaves.png
diff --git a/mods/TEMP/default/textures/default_jungleleaves_simple.png b/textures/default_jungleleaves_simple.png
similarity index 100%
rename from mods/TEMP/default/textures/default_jungleleaves_simple.png
rename to textures/default_jungleleaves_simple.png
diff --git a/mods/TEMP/default/textures/default_junglesapling.png b/textures/default_junglesapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_junglesapling.png
rename to textures/default_junglesapling.png
diff --git a/mods/TEMP/default/textures/default_jungletree.png b/textures/default_jungletree.png
similarity index 100%
rename from mods/TEMP/default/textures/default_jungletree.png
rename to textures/default_jungletree.png
diff --git a/mods/TEMP/default/textures/default_jungletree_top.png b/textures/default_jungletree_top.png
similarity index 100%
rename from mods/TEMP/default/textures/default_jungletree_top.png
rename to textures/default_jungletree_top.png
diff --git a/mods/TEMP/default/textures/default_junglewood.png b/textures/default_junglewood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_junglewood.png
rename to textures/default_junglewood.png
diff --git a/mods/TEMP/default/textures/default_kelp.png b/textures/default_kelp.png
similarity index 100%
rename from mods/TEMP/default/textures/default_kelp.png
rename to textures/default_kelp.png
diff --git a/mods/TEMP/default/textures/default_ladder_steel.png b/textures/default_ladder_steel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_ladder_steel.png
rename to textures/default_ladder_steel.png
diff --git a/mods/TEMP/default/textures/default_ladder_wood.png b/textures/default_ladder_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_ladder_wood.png
rename to textures/default_ladder_wood.png
diff --git a/mods/TEMP/default/textures/default_large_cactus_seedling.png b/textures/default_large_cactus_seedling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_large_cactus_seedling.png
rename to textures/default_large_cactus_seedling.png
diff --git a/mods/TEMP/default/textures/default_lava.png b/textures/default_lava.png
similarity index 100%
rename from mods/TEMP/default/textures/default_lava.png
rename to textures/default_lava.png
diff --git a/mods/TEMP/default/textures/default_lava_flowing_animated.png b/textures/default_lava_flowing_animated.png
similarity index 100%
rename from mods/TEMP/default/textures/default_lava_flowing_animated.png
rename to textures/default_lava_flowing_animated.png
diff --git a/mods/TEMP/default/textures/default_lava_source_animated.png b/textures/default_lava_source_animated.png
similarity index 100%
rename from mods/TEMP/default/textures/default_lava_source_animated.png
rename to textures/default_lava_source_animated.png
diff --git a/mods/TEMP/default/textures/default_leaves.png b/textures/default_leaves.png
similarity index 100%
rename from mods/TEMP/default/textures/default_leaves.png
rename to textures/default_leaves.png
diff --git a/mods/TEMP/default/textures/default_leaves_simple.png b/textures/default_leaves_simple.png
similarity index 100%
rename from mods/TEMP/default/textures/default_leaves_simple.png
rename to textures/default_leaves_simple.png
diff --git a/mods/TEMP/default/textures/default_marram_grass_1.png b/textures/default_marram_grass_1.png
similarity index 100%
rename from mods/TEMP/default/textures/default_marram_grass_1.png
rename to textures/default_marram_grass_1.png
diff --git a/mods/TEMP/default/textures/default_marram_grass_2.png b/textures/default_marram_grass_2.png
similarity index 100%
rename from mods/TEMP/default/textures/default_marram_grass_2.png
rename to textures/default_marram_grass_2.png
diff --git a/mods/TEMP/default/textures/default_marram_grass_3.png b/textures/default_marram_grass_3.png
similarity index 100%
rename from mods/TEMP/default/textures/default_marram_grass_3.png
rename to textures/default_marram_grass_3.png
diff --git a/mods/TEMP/default/textures/default_mese_block.png b/textures/default_mese_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mese_block.png
rename to textures/default_mese_block.png
diff --git a/mods/TEMP/default/textures/default_mese_crystal.png b/textures/default_mese_crystal.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mese_crystal.png
rename to textures/default_mese_crystal.png
diff --git a/mods/TEMP/default/textures/default_mese_crystal_fragment.png b/textures/default_mese_crystal_fragment.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mese_crystal_fragment.png
rename to textures/default_mese_crystal_fragment.png
diff --git a/mods/TEMP/default/textures/default_mese_post_light_side.png b/textures/default_mese_post_light_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mese_post_light_side.png
rename to textures/default_mese_post_light_side.png
diff --git a/mods/TEMP/default/textures/default_mese_post_light_side_dark.png b/textures/default_mese_post_light_side_dark.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mese_post_light_side_dark.png
rename to textures/default_mese_post_light_side_dark.png
diff --git a/mods/TEMP/default/textures/default_meselamp.png b/textures/default_meselamp.png
similarity index 100%
rename from mods/TEMP/default/textures/default_meselamp.png
rename to textures/default_meselamp.png
diff --git a/mods/TEMP/default/textures/default_mineral_coal.png b/textures/default_mineral_coal.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mineral_coal.png
rename to textures/default_mineral_coal.png
diff --git a/mods/TEMP/default/textures/default_mineral_copper.png b/textures/default_mineral_copper.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mineral_copper.png
rename to textures/default_mineral_copper.png
diff --git a/mods/TEMP/default/textures/default_mineral_diamond.png b/textures/default_mineral_diamond.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mineral_diamond.png
rename to textures/default_mineral_diamond.png
diff --git a/mods/TEMP/default/textures/default_mineral_gold.png b/textures/default_mineral_gold.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mineral_gold.png
rename to textures/default_mineral_gold.png
diff --git a/mods/TEMP/default/textures/default_mineral_iron.png b/textures/default_mineral_iron.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mineral_iron.png
rename to textures/default_mineral_iron.png
diff --git a/mods/TEMP/default/textures/default_mineral_mese.png b/textures/default_mineral_mese.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mineral_mese.png
rename to textures/default_mineral_mese.png
diff --git a/mods/TEMP/default/textures/default_mineral_tin.png b/textures/default_mineral_tin.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mineral_tin.png
rename to textures/default_mineral_tin.png
diff --git a/mods/TEMP/default/textures/default_moss.png b/textures/default_moss.png
similarity index 100%
rename from mods/TEMP/default/textures/default_moss.png
rename to textures/default_moss.png
diff --git a/mods/TEMP/default/textures/default_moss_side.png b/textures/default_moss_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_moss_side.png
rename to textures/default_moss_side.png
diff --git a/mods/TEMP/default/textures/default_mossycobble.png b/textures/default_mossycobble.png
similarity index 100%
rename from mods/TEMP/default/textures/default_mossycobble.png
rename to textures/default_mossycobble.png
diff --git a/mods/TEMP/default/textures/default_obsidian.png b/textures/default_obsidian.png
similarity index 100%
rename from mods/TEMP/default/textures/default_obsidian.png
rename to textures/default_obsidian.png
diff --git a/mods/TEMP/default/textures/default_obsidian_block.png b/textures/default_obsidian_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_obsidian_block.png
rename to textures/default_obsidian_block.png
diff --git a/mods/TEMP/default/textures/default_obsidian_brick.png b/textures/default_obsidian_brick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_obsidian_brick.png
rename to textures/default_obsidian_brick.png
diff --git a/mods/TEMP/default/textures/default_obsidian_glass.png b/textures/default_obsidian_glass.png
similarity index 100%
rename from mods/TEMP/default/textures/default_obsidian_glass.png
rename to textures/default_obsidian_glass.png
diff --git a/mods/TEMP/default/textures/default_obsidian_glass_detail.png b/textures/default_obsidian_glass_detail.png
similarity index 100%
rename from mods/TEMP/default/textures/default_obsidian_glass_detail.png
rename to textures/default_obsidian_glass_detail.png
diff --git a/mods/TEMP/default/textures/default_obsidian_shard.png b/textures/default_obsidian_shard.png
similarity index 100%
rename from mods/TEMP/default/textures/default_obsidian_shard.png
rename to textures/default_obsidian_shard.png
diff --git a/mods/TEMP/default/textures/default_paper.png b/textures/default_paper.png
similarity index 100%
rename from mods/TEMP/default/textures/default_paper.png
rename to textures/default_paper.png
diff --git a/mods/TEMP/default/textures/default_papyrus.png b/textures/default_papyrus.png
similarity index 100%
rename from mods/TEMP/default/textures/default_papyrus.png
rename to textures/default_papyrus.png
diff --git a/mods/TEMP/default/textures/default_permafrost.png b/textures/default_permafrost.png
similarity index 100%
rename from mods/TEMP/default/textures/default_permafrost.png
rename to textures/default_permafrost.png
diff --git a/mods/TEMP/default/textures/default_pine_bush_sapling.png b/textures/default_pine_bush_sapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_pine_bush_sapling.png
rename to textures/default_pine_bush_sapling.png
diff --git a/mods/TEMP/default/textures/default_pine_bush_stem.png b/textures/default_pine_bush_stem.png
similarity index 100%
rename from mods/TEMP/default/textures/default_pine_bush_stem.png
rename to textures/default_pine_bush_stem.png
diff --git a/mods/TEMP/default/textures/default_pine_needles.png b/textures/default_pine_needles.png
similarity index 100%
rename from mods/TEMP/default/textures/default_pine_needles.png
rename to textures/default_pine_needles.png
diff --git a/mods/TEMP/default/textures/default_pine_sapling.png b/textures/default_pine_sapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_pine_sapling.png
rename to textures/default_pine_sapling.png
diff --git a/mods/TEMP/default/textures/default_pine_tree.png b/textures/default_pine_tree.png
similarity index 100%
rename from mods/TEMP/default/textures/default_pine_tree.png
rename to textures/default_pine_tree.png
diff --git a/mods/TEMP/default/textures/default_pine_tree_top.png b/textures/default_pine_tree_top.png
similarity index 100%
rename from mods/TEMP/default/textures/default_pine_tree_top.png
rename to textures/default_pine_tree_top.png
diff --git a/mods/TEMP/default/textures/default_pine_wood.png b/textures/default_pine_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_pine_wood.png
rename to textures/default_pine_wood.png
diff --git a/mods/TEMP/default/textures/default_rainforest_litter.png b/textures/default_rainforest_litter.png
similarity index 100%
rename from mods/TEMP/default/textures/default_rainforest_litter.png
rename to textures/default_rainforest_litter.png
diff --git a/mods/TEMP/default/textures/default_rainforest_litter_side.png b/textures/default_rainforest_litter_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_rainforest_litter_side.png
rename to textures/default_rainforest_litter_side.png
diff --git a/mods/TEMP/default/textures/default_river_water.png b/textures/default_river_water.png
similarity index 100%
rename from mods/TEMP/default/textures/default_river_water.png
rename to textures/default_river_water.png
diff --git a/mods/TEMP/default/textures/default_river_water_flowing_animated.png b/textures/default_river_water_flowing_animated.png
similarity index 100%
rename from mods/TEMP/default/textures/default_river_water_flowing_animated.png
rename to textures/default_river_water_flowing_animated.png
diff --git a/mods/TEMP/default/textures/default_river_water_source_animated.png b/textures/default_river_water_source_animated.png
similarity index 100%
rename from mods/TEMP/default/textures/default_river_water_source_animated.png
rename to textures/default_river_water_source_animated.png
diff --git a/mods/TEMP/default/textures/default_sand.png b/textures/default_sand.png
similarity index 100%
rename from mods/TEMP/default/textures/default_sand.png
rename to textures/default_sand.png
diff --git a/mods/TEMP/default/textures/default_sandstone.png b/textures/default_sandstone.png
similarity index 100%
rename from mods/TEMP/default/textures/default_sandstone.png
rename to textures/default_sandstone.png
diff --git a/mods/TEMP/default/textures/default_sandstone_block.png b/textures/default_sandstone_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_sandstone_block.png
rename to textures/default_sandstone_block.png
diff --git a/mods/TEMP/default/textures/default_sandstone_brick.png b/textures/default_sandstone_brick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_sandstone_brick.png
rename to textures/default_sandstone_brick.png
diff --git a/mods/TEMP/default/textures/default_sapling.png b/textures/default_sapling.png
similarity index 100%
rename from mods/TEMP/default/textures/default_sapling.png
rename to textures/default_sapling.png
diff --git a/mods/TEMP/default/textures/default_sign_steel.png b/textures/default_sign_steel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_sign_steel.png
rename to textures/default_sign_steel.png
diff --git a/mods/TEMP/default/textures/default_sign_wall_steel.png b/textures/default_sign_wall_steel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_sign_wall_steel.png
rename to textures/default_sign_wall_steel.png
diff --git a/mods/TEMP/default/textures/default_sign_wall_wood.png b/textures/default_sign_wall_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_sign_wall_wood.png
rename to textures/default_sign_wall_wood.png
diff --git a/mods/TEMP/default/textures/default_sign_wood.png b/textures/default_sign_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_sign_wood.png
rename to textures/default_sign_wood.png
diff --git a/mods/TEMP/default/textures/default_silver_sand.png b/textures/default_silver_sand.png
similarity index 100%
rename from mods/TEMP/default/textures/default_silver_sand.png
rename to textures/default_silver_sand.png
diff --git a/mods/TEMP/default/textures/default_silver_sandstone.png b/textures/default_silver_sandstone.png
similarity index 100%
rename from mods/TEMP/default/textures/default_silver_sandstone.png
rename to textures/default_silver_sandstone.png
diff --git a/mods/TEMP/default/textures/default_silver_sandstone_block.png b/textures/default_silver_sandstone_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_silver_sandstone_block.png
rename to textures/default_silver_sandstone_block.png
diff --git a/mods/TEMP/default/textures/default_silver_sandstone_brick.png b/textures/default_silver_sandstone_brick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_silver_sandstone_brick.png
rename to textures/default_silver_sandstone_brick.png
diff --git a/mods/TEMP/default/textures/default_snow.png b/textures/default_snow.png
similarity index 100%
rename from mods/TEMP/default/textures/default_snow.png
rename to textures/default_snow.png
diff --git a/mods/TEMP/default/textures/default_snow_side.png b/textures/default_snow_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_snow_side.png
rename to textures/default_snow_side.png
diff --git a/mods/TEMP/default/textures/default_snowball.png b/textures/default_snowball.png
similarity index 100%
rename from mods/TEMP/default/textures/default_snowball.png
rename to textures/default_snowball.png
diff --git a/mods/TEMP/default/textures/default_steel_block.png b/textures/default_steel_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_steel_block.png
rename to textures/default_steel_block.png
diff --git a/mods/TEMP/default/textures/default_steel_ingot.png b/textures/default_steel_ingot.png
similarity index 100%
rename from mods/TEMP/default/textures/default_steel_ingot.png
rename to textures/default_steel_ingot.png
diff --git a/mods/TEMP/default/textures/default_stick.png b/textures/default_stick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_stick.png
rename to textures/default_stick.png
diff --git a/mods/TEMP/default/textures/default_stone.png b/textures/default_stone.png
similarity index 100%
rename from mods/TEMP/default/textures/default_stone.png
rename to textures/default_stone.png
diff --git a/mods/TEMP/default/textures/default_stone_block.png b/textures/default_stone_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_stone_block.png
rename to textures/default_stone_block.png
diff --git a/mods/TEMP/default/textures/default_stone_brick.png b/textures/default_stone_brick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_stone_brick.png
rename to textures/default_stone_brick.png
diff --git a/mods/TEMP/default/textures/default_stones.png b/textures/default_stones.png
similarity index 100%
rename from mods/TEMP/default/textures/default_stones.png
rename to textures/default_stones.png
diff --git a/mods/TEMP/default/textures/default_stones_side.png b/textures/default_stones_side.png
similarity index 100%
rename from mods/TEMP/default/textures/default_stones_side.png
rename to textures/default_stones_side.png
diff --git a/mods/TEMP/default/textures/default_tin_block.png b/textures/default_tin_block.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tin_block.png
rename to textures/default_tin_block.png
diff --git a/mods/TEMP/default/textures/default_tin_ingot.png b/textures/default_tin_ingot.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tin_ingot.png
rename to textures/default_tin_ingot.png
diff --git a/mods/TEMP/default/textures/default_tin_lump.png b/textures/default_tin_lump.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tin_lump.png
rename to textures/default_tin_lump.png
diff --git a/mods/TEMP/default/textures/default_tool_bronzeaxe.png b/textures/default_tool_bronzeaxe.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_bronzeaxe.png
rename to textures/default_tool_bronzeaxe.png
diff --git a/mods/TEMP/default/textures/default_tool_bronzepick.png b/textures/default_tool_bronzepick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_bronzepick.png
rename to textures/default_tool_bronzepick.png
diff --git a/mods/TEMP/default/textures/default_tool_bronzeshovel.png b/textures/default_tool_bronzeshovel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_bronzeshovel.png
rename to textures/default_tool_bronzeshovel.png
diff --git a/mods/TEMP/default/textures/default_tool_bronzesword.png b/textures/default_tool_bronzesword.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_bronzesword.png
rename to textures/default_tool_bronzesword.png
diff --git a/mods/TEMP/default/textures/default_tool_diamondaxe.png b/textures/default_tool_diamondaxe.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_diamondaxe.png
rename to textures/default_tool_diamondaxe.png
diff --git a/mods/TEMP/default/textures/default_tool_diamondpick.png b/textures/default_tool_diamondpick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_diamondpick.png
rename to textures/default_tool_diamondpick.png
diff --git a/mods/TEMP/default/textures/default_tool_diamondshovel.png b/textures/default_tool_diamondshovel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_diamondshovel.png
rename to textures/default_tool_diamondshovel.png
diff --git a/mods/TEMP/default/textures/default_tool_diamondsword.png b/textures/default_tool_diamondsword.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_diamondsword.png
rename to textures/default_tool_diamondsword.png
diff --git a/mods/TEMP/default/textures/default_tool_meseaxe.png b/textures/default_tool_meseaxe.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_meseaxe.png
rename to textures/default_tool_meseaxe.png
diff --git a/mods/TEMP/default/textures/default_tool_mesepick.png b/textures/default_tool_mesepick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_mesepick.png
rename to textures/default_tool_mesepick.png
diff --git a/mods/TEMP/default/textures/default_tool_meseshovel.png b/textures/default_tool_meseshovel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_meseshovel.png
rename to textures/default_tool_meseshovel.png
diff --git a/mods/TEMP/default/textures/default_tool_mesesword.png b/textures/default_tool_mesesword.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_mesesword.png
rename to textures/default_tool_mesesword.png
diff --git a/mods/TEMP/default/textures/default_tool_steelaxe.png b/textures/default_tool_steelaxe.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_steelaxe.png
rename to textures/default_tool_steelaxe.png
diff --git a/mods/TEMP/default/textures/default_tool_steelpick.png b/textures/default_tool_steelpick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_steelpick.png
rename to textures/default_tool_steelpick.png
diff --git a/mods/TEMP/default/textures/default_tool_steelshovel.png b/textures/default_tool_steelshovel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_steelshovel.png
rename to textures/default_tool_steelshovel.png
diff --git a/mods/TEMP/default/textures/default_tool_steelsword.png b/textures/default_tool_steelsword.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_steelsword.png
rename to textures/default_tool_steelsword.png
diff --git a/mods/TEMP/default/textures/default_tool_stoneaxe.png b/textures/default_tool_stoneaxe.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_stoneaxe.png
rename to textures/default_tool_stoneaxe.png
diff --git a/mods/TEMP/default/textures/default_tool_stonepick.png b/textures/default_tool_stonepick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_stonepick.png
rename to textures/default_tool_stonepick.png
diff --git a/mods/TEMP/default/textures/default_tool_stoneshovel.png b/textures/default_tool_stoneshovel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_stoneshovel.png
rename to textures/default_tool_stoneshovel.png
diff --git a/mods/TEMP/default/textures/default_tool_stonesword.png b/textures/default_tool_stonesword.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_stonesword.png
rename to textures/default_tool_stonesword.png
diff --git a/mods/TEMP/default/textures/default_tool_woodaxe.png b/textures/default_tool_woodaxe.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_woodaxe.png
rename to textures/default_tool_woodaxe.png
diff --git a/mods/TEMP/default/textures/default_tool_woodpick.png b/textures/default_tool_woodpick.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_woodpick.png
rename to textures/default_tool_woodpick.png
diff --git a/mods/TEMP/default/textures/default_tool_woodshovel.png b/textures/default_tool_woodshovel.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_woodshovel.png
rename to textures/default_tool_woodshovel.png
diff --git a/mods/TEMP/default/textures/default_tool_woodsword.png b/textures/default_tool_woodsword.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tool_woodsword.png
rename to textures/default_tool_woodsword.png
diff --git a/mods/TEMP/default/textures/default_torch_animated.png b/textures/default_torch_animated.png
similarity index 100%
rename from mods/TEMP/default/textures/default_torch_animated.png
rename to textures/default_torch_animated.png
diff --git a/mods/TEMP/default/textures/default_torch_on_ceiling_animated.png b/textures/default_torch_on_ceiling_animated.png
similarity index 100%
rename from mods/TEMP/default/textures/default_torch_on_ceiling_animated.png
rename to textures/default_torch_on_ceiling_animated.png
diff --git a/mods/TEMP/default/textures/default_torch_on_floor.png b/textures/default_torch_on_floor.png
similarity index 100%
rename from mods/TEMP/default/textures/default_torch_on_floor.png
rename to textures/default_torch_on_floor.png
diff --git a/mods/TEMP/default/textures/default_torch_on_floor_animated.png b/textures/default_torch_on_floor_animated.png
similarity index 100%
rename from mods/TEMP/default/textures/default_torch_on_floor_animated.png
rename to textures/default_torch_on_floor_animated.png
diff --git a/mods/TEMP/default/textures/default_tree.png b/textures/default_tree.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tree.png
rename to textures/default_tree.png
diff --git a/mods/TEMP/default/textures/default_tree_top.png b/textures/default_tree_top.png
similarity index 100%
rename from mods/TEMP/default/textures/default_tree_top.png
rename to textures/default_tree_top.png
diff --git a/mods/TEMP/default/textures/default_water.png b/textures/default_water.png
similarity index 100%
rename from mods/TEMP/default/textures/default_water.png
rename to textures/default_water.png
diff --git a/mods/TEMP/default/textures/default_water_flowing_animated.png b/textures/default_water_flowing_animated.png
similarity index 100%
rename from mods/TEMP/default/textures/default_water_flowing_animated.png
rename to textures/default_water_flowing_animated.png
diff --git a/mods/TEMP/default/textures/default_water_source_animated.png b/textures/default_water_source_animated.png
similarity index 100%
rename from mods/TEMP/default/textures/default_water_source_animated.png
rename to textures/default_water_source_animated.png
diff --git a/mods/TEMP/default/textures/default_wood.png b/textures/default_wood.png
similarity index 100%
rename from mods/TEMP/default/textures/default_wood.png
rename to textures/default_wood.png
diff --git a/mods/TEMP/default/textures/gui_formbg.png b/textures/gui_formbg.png
similarity index 100%
rename from mods/TEMP/default/textures/gui_formbg.png
rename to textures/gui_formbg.png
diff --git a/mods/TEMP/default/textures/gui_furnace_arrow_bg.png b/textures/gui_furnace_arrow_bg.png
similarity index 100%
rename from mods/TEMP/default/textures/gui_furnace_arrow_bg.png
rename to textures/gui_furnace_arrow_bg.png
diff --git a/mods/TEMP/default/textures/gui_furnace_arrow_fg.png b/textures/gui_furnace_arrow_fg.png
similarity index 100%
rename from mods/TEMP/default/textures/gui_furnace_arrow_fg.png
rename to textures/gui_furnace_arrow_fg.png
diff --git a/mods/TEMP/default/textures/gui_hb_bg.png b/textures/gui_hb_bg.png
similarity index 100%
rename from mods/TEMP/default/textures/gui_hb_bg.png
rename to textures/gui_hb_bg.png
diff --git a/mods/TEMP/default/textures/gui_hotbar.png b/textures/gui_hotbar.png
similarity index 100%
rename from mods/TEMP/default/textures/gui_hotbar.png
rename to textures/gui_hotbar.png
diff --git a/mods/TEMP/default/textures/gui_hotbar_selected.png b/textures/gui_hotbar_selected.png
similarity index 100%
rename from mods/TEMP/default/textures/gui_hotbar_selected.png
rename to textures/gui_hotbar_selected.png
diff --git a/mods/TEMP/default/textures/heart.png b/textures/heart.png
similarity index 100%
rename from mods/TEMP/default/textures/heart.png
rename to textures/heart.png
diff --git a/mods/TEMP/default/textures/wieldhand.png b/textures/wieldhand.png
similarity index 100%
rename from mods/TEMP/default/textures/wieldhand.png
rename to textures/wieldhand.png