ethereal/init.lua

179 lines
4.5 KiB
Lua
Raw Normal View History

2019-03-14 00:05:35 +03:00
--[[
Minetest Ethereal Mod
Created by ChinChow
Updated by TenPlus1
]]
2022-04-05 10:27:51 +03:00
2024-07-27 10:29:54 +03:00
ethereal = {version = "20240727"}
2022-04-05 10:27:51 +03:00
local function setting(stype, name, default)
local value
if stype == "bool" then
value = minetest.settings:get_bool("ethereal." .. name)
elseif stype == "string" then
value = minetest.settings:get("ethereal." .. name)
elseif stype == "number" then
value = tonumber(minetest.settings:get("ethereal." .. name))
end
if value == nil then
value = default
end
ethereal[name] = value
end
-- DO NOT change settings below, use the settings.conf file instead
setting("number", "leaftype", 0)
setting("bool", "leafwalk", false)
setting("bool", "cavedirt", true)
setting("bool", "torchdrop", true)
setting("bool", "papyruswalk", true)
setting("bool", "lilywalk", true)
setting("bool", "xcraft", true)
setting("bool", "flight", true)
setting("number", "glacier", 1)
setting("number", "bamboo", 1)
setting("number", "mesa", 1)
setting("number", "alpine", 1)
setting("number", "healing", 1)
setting("number", "snowy", 1)
setting("number", "frost", 1)
setting("number", "grassy", 1)
setting("number", "caves", 1)
setting("number", "grayness", 1)
setting("number", "grassytwo", 1)
setting("number", "prairie", 1)
setting("number", "jumble", 1)
setting("number", "junglee", 1)
setting("number", "desert", 1)
setting("number", "grove", 1)
setting("number", "mushroom", 1)
setting("number", "sandstone", 1)
setting("number", "quicksand", 1)
setting("number", "plains", 1)
setting("number", "savanna", 1)
setting("number", "fiery", 1)
setting("number", "sandclay", 1)
setting("number", "swamp", 1)
setting("number", "sealife", 1)
setting("number", "reefs", 1)
setting("number", "sakura", 1)
setting("number", "tundra", 1)
setting("number", "mediterranean", 1)
setting("number", "logs", 1)
setting("bool", "wood_rotate", true)
2022-04-05 10:27:51 +03:00
2019-03-14 00:05:35 +03:00
local path = minetest.get_modpath("ethereal")
2022-04-05 10:27:51 +03:00
-- Load settings.conf file if found
2019-03-14 00:05:35 +03:00
local input = io.open(path.."/settings.conf", "r")
2019-03-14 00:05:35 +03:00
if input then
dofile(path .. "/settings.conf")
input:close()
input = nil
end
2023-08-14 10:08:04 +03:00
-- Translation support
ethereal.translate = minetest.get_translator("ethereal")
2019-03-14 00:05:35 +03:00
-- Falling node function
ethereal.check_falling = minetest.check_for_falling or nodeupdate
-- creative check
local creative_mode_cache = minetest.settings:get_bool("creative_mode")
function ethereal.check_creative(name)
return creative_mode_cache or minetest.check_player_privs(name, {creative = true})
end
2024-07-26 18:54:52 +03:00
-- helper function to add {eatable} group to food items
local mod_tt_base = minetest.get_modpath("tt_base") -- mod does similar to infotext
function ethereal.add_eatable(item, hp)
local def = minetest.registered_items[item]
if def then
local grps = def.groups or {}
2024-07-27 10:29:54 +03:00
local txt = " (" ; if hp > 0 then txt = txt .. "+" end
txt = txt .. hp .. " HP)"
2024-07-26 18:54:52 +03:00
grps.eatable = hp ; grps.flammable = 2
if mod_tt_base == nil then
2024-07-27 10:29:54 +03:00
def.description = def.description .. txt
2024-07-26 18:54:52 +03:00
end
minetest.override_item(item, {description = def.description, groups = grps})
end
end
if minetest.get_modpath("farming") and farming.mod and farming.mod == "redo" then
-- farming redo already has strawberry included
else
dofile(path .. "/strawberry.lua")
end
2019-03-14 00:05:35 +03:00
dofile(path .. "/plantlife.lua")
dofile(path .. "/onion.lua")
dofile(path .. "/crystal.lua")
dofile(path .. "/water.lua")
dofile(path .. "/dirt.lua")
dofile(path .. "/food.lua")
dofile(path .. "/wood.lua")
dofile(path .. "/leaves.lua")
dofile(path .. "/sapling.lua")
dofile(path .. "/fishing.lua")
dofile(path .. "/extra.lua")
dofile(path .. "/sealife.lua")
dofile(path .. "/fences.lua")
if minetest.settings:get_bool("ethereal.clear_default_biomes", true) then
dofile(path .. "/biomes_init.lua")
end
2020-05-28 16:20:31 +03:00
dofile(path .. "/biomes.lua")
dofile(path .. "/ores.lua")
dofile(path .. "/schems.lua")
2020-05-28 16:20:31 +03:00
dofile(path .. "/decor.lua")
2019-03-14 00:05:35 +03:00
dofile(path .. "/compatibility.lua")
dofile(path .. "/stairs.lua")
-- add flight if enabled
2021-02-10 15:08:46 +03:00
if ethereal.flight then
dofile(path .. "/flight.lua")
end
-- add lucky blocks if mod active
if minetest.get_modpath("lucky_block") then
dofile(path .. "/lucky_block.lua")
end
2019-03-14 00:05:35 +03:00
-- Set bonemeal aliases
if minetest.get_modpath("bonemeal") then
minetest.register_alias("ethereal:bone", "bonemeal:bone")
minetest.register_alias("ethereal:bonemeal", "bonemeal:bonemeal")
else -- or return to where it came from
minetest.register_alias("ethereal:bone", "default:dirt")
minetest.register_alias("ethereal:bonemeal", "default:dirt")
end
if minetest.get_modpath("xanadu") then
dofile(path .. "/plantpack.lua")
end
2021-10-29 09:41:32 +03:00
print ("[MOD] Ethereal loaded")