solve mergeconflicts

master
Milan* 2017-05-27 08:35:25 +02:00
commit 09f5dac536
39 changed files with 631 additions and 125 deletions

View File

@ -1 +1,2 @@
# This is not the original ethereal mod. Things may be broken on your setup. Please use [the original](https://github.com/tenplus1/ethereal) ethereal mod!

View File

@ -76,6 +76,7 @@ local crops = {
{"ethereal:strawberry_", 8},
{"ethereal:onion_", 5},
{"farming:barley_", 7},
{"farming:hemp_", 8},
}
-- check if sapling has enough height room to grow
@ -92,6 +93,25 @@ local function enough_height(pos, height)
end
end
-- moretrees specific function
local function more_tree(pos, object)
if type(object) == "table" and object.axiom then
-- grow L-system tree
minetest.remove_node(pos)
minetest.spawn_tree(pos, object)
elseif type(object) == "string" and minetest.registered_nodes[object] then
-- place node
minetest.set_node(pos, {name = object})
elseif type(object) == "function" then
-- function
object(pos)
end
end
-- growing routine
local function growth(pointed_thing)
@ -185,6 +205,41 @@ local function growth(pointed_thing)
elseif node.name == "ethereal:birch_sapling" then
ethereal.grow_birch_tree(pos)
-- grow moretree's sapling
elseif node.name == "moretrees:beech_sapling" then
more_tree(pos, moretrees.spawn_beech_object)
elseif node.name == "moretrees:apple_tree_sapling" then
more_tree(pos, moretrees.spawn_apple_tree_object)
elseif node.name == "moretrees:oak_sapling" then
more_tree(pos, moretrees.spawn_oak_object)
elseif node.name == "moretrees:sequoia_sapling" then
more_tree(pos, moretrees.spawn_sequoia_object)
elseif node.name == "moretrees:birch_sapling" then
--more_tree(pos, moretrees.spawn_birch_object)
moretrees.grow_birch(pos)
elseif node.name == "moretrees:palm_sapling" then
more_tree(pos, moretrees.spawn_palm_object)
elseif node.name == "moretrees:date_palm_sapling" then
more_tree(pos, moretrees.spawn_date_palm_object)
elseif node.name == "moretrees:spruce_sapling" then
--more_tree(pos, moretrees.spawn_spruce_object)
moretrees.grow_spruce(pos)
elseif node.name == "moretrees:cedar_sapling" then
more_tree(pos, moretrees.spawn_cedar_object)
elseif node.name == "moretrees:poplar_sapling" then
more_tree(pos, moretrees.spawn_poplar_object)
elseif node.name == "moretrees:willow_sapling" then
more_tree(pos, moretrees.spawn_willow_object)
elseif node.name == "moretrees:rubber_tree_sapling" then
more_tree(pos, moretrees.spawn_rubber_tree_object)
elseif node.name == "moretrees:fir_sapling" then
--more_tree(pos, moretrees.spawn_fir_object)
if minetest.find_node_near(pos, 1, {"default:snow"}) then
moretrees.grow_fir_snow(pos)
else
moretrees.grow_fir(pos)
end
-- grow default tree
elseif node.name == "default:sapling"
and enough_height(pos, 7) then

View File

@ -13,11 +13,11 @@ minetest.register_node("ethereal:crystal_spike", {
sunlight_propagates = true,
walkable = false,
damage_per_second = 1,
groups = {cracky = 1, falling_node = 1, puts_out_fire = 1},
groups = {cracky = 1, falling_node = 1, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_glass_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 0.41, 5 / 16},
},
})
@ -50,7 +50,7 @@ minetest.register_node("ethereal:crystal_block", {
tiles = {"crystal_block.png"},
light_source = 9,
is_ground_content = false,
groups = {cracky = 1, level = 2, puts_out_fire = 1},
groups = {cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_glass_defaults(),
})
@ -110,8 +110,8 @@ minetest.register_tool("ethereal:axe_crystal", {
groupcaps = {
choppy = {
times = {[1] = 2.00, [2] = 0.80, [3] = 0.40},
uses = 30,
maxlevel = 2
uses = 40,
maxlevel = 3
},
},
damage_groups = {fleshy = 7},
@ -152,7 +152,7 @@ minetest.register_tool("ethereal:pick_crystal", {
maxlevel = 3
},
},
damage_groups = {fleshy = 7},
damage_groups = {fleshy = 6},
},
sound = {breaks = "default_tool_breaks"},
})
@ -193,15 +193,20 @@ minetest.register_tool("ethereal:shovel_crystal", {
minetest.remove_node(pointed_thing.under)
nodeupdate(pos)
ethereal.check_falling(pos)
inv:add_item("main", {name = nn})
if minetest.setting_getbool("creative_mode") then
if not minetest.setting_getbool("creative_mode") then
if not inv:contains_item("main", {name = nn}) then
inv:add_item("main", {name = nn})
end
else
inv:add_item("main", {name = nn})
itemstack:add_wear(65535 / 100) -- 111 uses
end
minetest.sound_play("default_dirt_footstep", {pos = pos, gain = 0.35})
minetest.sound_play("default_dig_crumbly", {pos = pos, gain = 0.4})
return itemstack
end

View File

@ -8,4 +8,6 @@ mobs_slimes
caverealms?
bakedclay?
moreblocks?
moretrees?
intllib?
lucky_block?

View File

@ -4,7 +4,7 @@ local S = ethereal.intllib
-- override default dirt (to stop caves cutting away dirt)
minetest.override_item("default:dirt", {is_ground_content = ethereal.cavedirt})
-- green dirt
--[[ green dirt
minetest.register_node("ethereal:green_dirt", {
description = S("Green Dirt"),
tiles = {
@ -23,7 +23,8 @@ minetest.register_node("ethereal:green_dirt", {
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
})]]
minetest.register_alias("ethereal:green_dirt", "default:dirt_with_grass")
-- dry dirt
minetest.register_node("ethereal:dry_dirt", {
@ -68,7 +69,9 @@ for n = 1, #dirts do
wet = "farming:soil_wet"
},
drop = "default:dirt",
sounds = default.node_sound_dirt_defaults()
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
end
@ -107,8 +110,9 @@ local grass_spread = function(pos, node)
local positions, grasses = minetest.find_nodes_in_area(
{x = pos.x - 1, y = pos.y - 2, z = pos.z - 1},
{x = pos.x + 1, y = pos.y + 2, z = pos.z + 1},
{"group:ethereal_grass", "default:dirt_with_grass",
"default:dirt_with_dry_grass", "default:dirt_with_snow"})
-- {"group:ethereal_grass", "default:dirt_with_grass",
-- "default:dirt_with_dry_grass", "default:dirt_with_snow"})
dirts)
-- count new grass nodes
for n = 1, #dirts do
@ -159,7 +163,12 @@ local flower_spread = function(pos, node)
local pos0 = {x = pos.x - 4, y = pos.y - 2, z = pos.z - 4}
local pos1 = {x = pos.x + 4, y = pos.y + 2, z = pos.z + 4}
local num = #minetest.find_nodes_in_area_under_air(pos0, pos1, "group:flora")
local num = #minetest.find_nodes_in_area(pos0, pos1, "group:flora")
-- stop flowers spreading too much just below top of map block
if minetest.find_node_near(pos, 2, "ignore") then
return
end
if num > 3
and node.name == "ethereal:crystalgrass" then
@ -404,3 +413,16 @@ minetest.register_node("ethereal:quicksand2", {
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults(),
})
-- craft quicksand
minetest.register_craft({
output = "ethereal:quicksand2",
recipe = {
{"group:sand", "group:sand", "group:sand"},
{"group:sand", "group:water_bucket", "group:sand"},
{"group:sand", "group:sand", "group:sand"},
},
replacements = {
{"group:water_bucket", "bucket:bucket_empty"}
}
})

View File

@ -42,6 +42,8 @@ minetest.register_craft({
}
})
if ethereal.xcraft == true then
-- X pattern craft recipes (5x 'a' in X pattern gives 5 of 'b')
local cheat = {
{"default:cobble", "default:gravel", 5},
@ -63,6 +65,8 @@ for n = 1, #cheat do
})
end
end -- END if
-- Paper (2x3 string = 4 paper)
minetest.register_craft({
output = "default:paper 4",
@ -112,7 +116,7 @@ minetest.register_node("ethereal:candle", {
sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }
fixed = { -0.15, -0.5, -0.15, 0.15, 0, 0.15 }
},
})
@ -215,10 +219,9 @@ minetest.register_node("ethereal:glostone", {
})
minetest.register_craft({
type = "shapeless",
output = "ethereal:glostone",
recipe = {
{"default:torch", "default:stone", "dye:yellow"},
}
recipe = {"default:torch", "default:stone", "dye:yellow"}
})
-- Charcoal Lump

View File

@ -71,14 +71,14 @@ minetest.register_craft({
})
-- default ethereal fish
local fish = {
ethereal.fish = {
{"ethereal:fish_raw"},
}
-- xanadu server additional fish
if minetest.get_modpath("xanadu") then
fish[2] = {"mobs:clownfish_raw"}
fish[3] = {"mobs:bluefish_raw"}
ethereal.fish[2] = {"mobs:clownfish_raw"}
ethereal.fish[3] = {"mobs:bluefish_raw"}
end
-- Fishing Rod (Baited)
@ -101,7 +101,7 @@ minetest.register_craftitem("ethereal:fishing_rod_baited", {
or node == "default:river_water_source")
and math.random(1, 100) < 5 then
local type = fish[math.random(1, #fish)][1]
local type = ethereal.fish[math.random(1, #ethereal.fish)][1]
local inv = user:get_inventory()
if inv:room_for_item("main", {name = type}) then

View File

@ -1,16 +1,10 @@
local S = ethereal.intllib
-- fix apples hanging in sky when no tree around
minetest.override_item("default:apple", {
drop = "default:apple",
})
-- Banana (Heals one heart when eaten)
minetest.register_node("ethereal:banana", {
description = S("Banana"),
drawtype = "torchlike",
visual_scale = 1.0,
tiles = {"banana_single.png"},
inventory_image = "banana_single.png",
wield_image = "banana_single.png",
@ -19,7 +13,7 @@ minetest.register_node("ethereal:banana", {
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.2, -0.5, -0.2, 0.2, 0.2, 0.2}
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
fleshy = 3, dig_immediate = 3, flammable = 2,
@ -58,7 +52,6 @@ minetest.register_craft({
minetest.register_node("ethereal:orange", {
description = S("Orange"),
drawtype = "plantlike",
visual_scale = 1.0,
tiles = {"farming_orange.png"},
inventory_image = "farming_orange.png",
wield_image = "farming_orange.png",
@ -67,7 +60,7 @@ minetest.register_node("ethereal:orange", {
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
fixed = {-0.27, -0.37, -0.27, 0.27, 0.44, 0.27}
},
groups = {
fleshy = 3, dig_immediate = 3, flammable = 2,
@ -111,7 +104,7 @@ minetest.register_node("ethereal:coconut", {
wield_image = "moretrees_coconut.png",
selection_box = {
type = "fixed",
fixed = {-0.35, -0.35, -0.35, 0.35, 0.35, 0.35}
fixed = {-0.31, -0.43, -0.31, 0.31, 0.44, 0.31}
},
groups = {
snappy = 1, oddly_breakable_by_hand = 1, cracky = 1,
@ -133,7 +126,6 @@ minetest.register_craftitem("ethereal:coconut_slice", {
minetest.register_node("ethereal:golden_apple", {
description = S("Golden Apple"),
drawtype = "plantlike",
visual_scale = 1.0,
tiles = {"default_apple_gold.png"},
inventory_image = "default_apple_gold.png",
wield_image = "default_apple_gold.png",
@ -142,7 +134,7 @@ minetest.register_node("ethereal:golden_apple", {
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
fixed = {-0.2, -0.37, -0.2, 0.2, 0.31, 0.2}
},
groups = {
fleshy = 3, dig_immediate = 3,

View File

@ -1,6 +1,6 @@
--[[
Minetest Ethereal Mod (1st December 2016)
Minetest Ethereal Mod (1st March 2017)
Created by ChinChow
@ -8,14 +8,15 @@
]]
ethereal = {}
ethereal = {} -- DO NOT change settings below, use the settings.conf file
ethereal.version = "1.22"
ethereal.leaftype = 0 -- 0 for 2D plantlike, 1 for 3D allfaces
ethereal.leafwalk = true -- true for walkable leaves, false to fall through
ethereal.cavedirt = true -- caves chop through dirt when true
ethereal.torchdrop = true -- torches drop when touching water
ethereal.papyruswalk = true -- papyrus can be walked on
-- Set following to 1 to enable biome or 0 to disable
ethereal.lilywalk = true -- waterlilies can be walked on
ethereal.xcraft = true -- allow cheat crafts for cobble->gravel->dirt->sand, ice->snow, dry dirt->desert sand
ethereal.glacier = 1 -- Ice glaciers with snow
ethereal.bamboo = 1 -- Bamboo with sprouts
ethereal.mesa = 1 -- Mesa red and orange clay with giant redwood
@ -40,6 +41,18 @@ ethereal.savannah = 1 -- Dry yellow grass with acacia tree's
ethereal.fiery = 1 -- Red grass with lava craters
ethereal.sandclay = 1 -- Sand areas with clay underneath
ethereal.swamp = 1 -- Swamp areas with vines on tree's, mushrooms, lilly's and clay sand
ethereal.sealife = 1 -- Enable coral and seaweed
ethereal.reefs = 1 -- Enable new 0.4.15 coral reefs in default
local path = minetest.get_modpath("ethereal")
-- Load new settings if found
local input = io.open(path.."/settings.conf", "r")
if input then
dofile(path .. "/settings.conf")
input:close()
input = nil
end
-- Intllib
local S
@ -50,7 +63,8 @@ else
end
ethereal.intllib = S
local path = minetest.get_modpath("ethereal")
-- Falling node function
ethereal.check_falling = minetest.check_for_falling or nodeupdate
dofile(path .. "/plantlife.lua")
dofile(path .. "/mushroom.lua")
@ -58,8 +72,9 @@ dofile(path .. "/onion.lua")
dofile(path .. "/crystal.lua")
dofile(path .. "/water.lua")
dofile(path .. "/dirt.lua")
dofile(path .. "/leaves.lua")
dofile(path .. "/food.lua")
dofile(path .. "/wood.lua")
dofile(path .. "/leaves.lua")
dofile(path .. "/sapling.lua")
dofile(path .. "/strawberry.lua")
dofile(path .. "/fishing.lua")
@ -68,10 +83,17 @@ dofile(path .. "/sealife.lua")
dofile(path .. "/fences.lua")
dofile(path .. "/gates.lua")
dofile(path .. "/mapgen.lua")
dofile(path .. "/food.lua")
dofile(path .. "/bonemeal.lua")
dofile(path .. "/compatibility.lua")
dofile(path .. "/stairs.lua")
dofile(path .. "/lucky_block.lua")
-- Use bonemeal mod instead of ethereal's own if found
if minetest.get_modpath("bonemeal") then
minetest.register_alias("ethereal:bone", "bonemeal:bone")
minetest.register_alias("ethereal:bonemeal", "bonemeal:bonemeal")
else
dofile(path .. "/bonemeal.lua")
end
if minetest.get_modpath("xanadu") then
dofile(path .. "/plantpack.lua")

View File

@ -11,7 +11,7 @@ end
-- default apple tree leaves
minetest.override_item("default:leaves", {
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
inventory_image = "default_leaves.png",
wield_image = "default_leaves.png",
walkable = ethereal.leafwalk,
@ -28,7 +28,7 @@ minetest.override_item("default:leaves", {
-- default jungle tree leaves
minetest.override_item("default:jungleleaves", {
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
inventory_image = "default_jungleleaves.png",
wield_image = "default_jungleleaves.png",
walkable = ethereal.leafwalk,
@ -45,7 +45,7 @@ minetest.override_item("default:jungleleaves", {
-- default pine tree leaves
minetest.override_item("default:pine_needles", {
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
inventory_image = "default_pine_needles.png",
wield_image = "default_pine_needles.png",
walkable = ethereal.leafwalk,
@ -63,10 +63,9 @@ minetest.override_item("default:pine_needles", {
-- default acacia tree leaves
minetest.override_item("default:acacia_leaves", {
drawtype = leaftype,
-- tiles = {"moretrees_acacia_leaves.png"},
inventory_image = "default_acacia_leaves.png",
wield_image = "default_acacia_leaves.png",
visual_scale = 1.2,
visual_scale = 1.4,
walkable = ethereal.leafwalk,
drop = {
max_items = 1,
@ -84,7 +83,7 @@ minetest.override_item("default:aspen_leaves", {
drawtype = leaftype,
inventory_image = "default_aspen_leaves.png",
wield_image = "default_aspen_leaves.png",
visual_scale = 1.2,
visual_scale = 1.4,
walkable = ethereal.leafwalk,
drop = {
max_items = 1,
@ -105,7 +104,7 @@ minetest.register_node("ethereal:willow_twig", {
wield_image = "willow_twig.png",
paramtype = "light",
walkable = ethereal.leafwalk,
visual_scale = 1.2,
visual_scale = 1.4,
waving = 1,
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
drop = {
@ -124,7 +123,7 @@ minetest.register_node("ethereal:willow_twig", {
minetest.register_node("ethereal:redwood_leaves", {
description = S("Redwood Leaves"),
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
tiles = {"redwood_leaves.png"},
inventory_image = "redwood_leaves.png",
wield_image = "redwood_leaves.png",
@ -148,7 +147,7 @@ minetest.register_node("ethereal:redwood_leaves", {
minetest.register_node("ethereal:orange_leaves", {
description = S("Orange Leaves"),
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
tiles = {"orange_leaves.png"},
inventory_image = "orange_leaves.png",
wield_image = "orange_leaves.png",
@ -172,7 +171,7 @@ minetest.register_node("ethereal:orange_leaves", {
minetest.register_node("ethereal:bananaleaves", {
description = S("Banana Leaves"),
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
tiles = {"banana_leaf.png"},
inventory_image = "banana_leaf.png",
wield_image = "banana_leaf.png",
@ -196,7 +195,7 @@ minetest.register_node("ethereal:bananaleaves", {
minetest.register_node("ethereal:yellowleaves", {
description = S("Healing Tree Leaves"),
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
tiles = {"yellow_leaves.png"},
inventory_image = "yellow_leaves.png",
wield_image = "yellow_leaves.png",
@ -223,7 +222,7 @@ minetest.register_node("ethereal:yellowleaves", {
minetest.register_node("ethereal:palmleaves", {
description = S("Palm Leaves"),
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
tiles = {"moretrees_palm_leaves.png"},
inventory_image = "moretrees_palm_leaves.png",
wield_image = "moretrees_palm_leaves.png",
@ -247,7 +246,7 @@ minetest.register_node("ethereal:palmleaves", {
minetest.register_node("ethereal:birch_leaves", {
description = S("Birch Leaves"),
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
tiles = {"moretrees_birch_leaves.png"},
inventory_image = "moretrees_birch_leaves.png",
wield_image = "moretrees_birch_leaves.png",
@ -271,7 +270,7 @@ minetest.register_node("ethereal:birch_leaves", {
minetest.register_node("ethereal:frost_leaves", {
description = S("Frost Leaves"),
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
tiles = {"ethereal_frost_leaves.png"},
inventory_image = "ethereal_frost_leaves.png",
wield_image = "ethereal_frost_leaves.png",
@ -296,7 +295,7 @@ minetest.register_node("ethereal:frost_leaves", {
minetest.register_node("ethereal:bamboo_leaves", {
description = S("Bamboo Leaves"),
drawtype = leaftype,
visual_scale = 1.2,
visual_scale = 1.4,
tiles = {"bamboo_leaves.png"},
inventory_image = "bamboo_leaves.png",
wield_image = "bamboo_leaves.png",
@ -348,6 +347,12 @@ minetest.register_node("ethereal:mushroom_pore", {
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_craft({
type = "fuel",
recipe = "ethereal:mushroom_pore",
burntime = 3,
})
-- hedge block
minetest.register_node("ethereal:bush", {
description = S("Bush"),
@ -366,6 +371,12 @@ minetest.register_craft({
}
})
minetest.register_craft({
type = "fuel",
recipe = "ethereal:bush",
burntime = 1,
})
-- bush block #2
minetest.register_node("ethereal:bush2", {
drawtype = "allfaces_optional",
@ -386,6 +397,12 @@ minetest.register_craft({
}
})
minetest.register_craft({
type = "fuel",
recipe = "ethereal:bush2",
burntime = 1,
})
-- bush block #3
minetest.register_node("ethereal:bush3", {
drawtype = "allfaces_optional",
@ -405,3 +422,68 @@ minetest.register_craft({
{"group:leaves", "group:leaves", "group:leaves"},
}
})
minetest.register_craft({
type = "fuel",
recipe = "ethereal:bush3",
burntime = 1,
})
-- compatibility check for new mt version with leafdecay function
if minetest.registered_nodes["default:dirt_with_rainforest_litter"] then
default.register_leafdecay({
trunks = {"default:tree"},
leaves = {"default:apple", "default:leaves", "ethereal:orange", "ethereal:orange_leaves"},
radius = 3
})
default.register_leafdecay({
trunks = {"ethereal:willow_trunk"},
leaves = {"ethereal:willow_twig"},
radius = 3
})
default.register_leafdecay({
trunks = {"ethereal:redwood_trunk"},
leaves = {"ethereal:redwood_leaves"},
radius = 3
})
default.register_leafdecay({
trunks = {"ethereal:frost_tree"},
leaves = {"ethereal:frost_leaves"},
radius = 3
})
default.register_leafdecay({
trunks = {"ethereal:yellow_trunk"},
leaves = {"ethereal:yellowleaves", "ethereal:golden_apple"},
radius = 3
})
default.register_leafdecay({
trunks = {"ethereal:palm_trunk"},
leaves = {"ethereal:palmleaves", "ethereal:coconut"},
radius = 3
})
default.register_leafdecay({
trunks = {"ethereal:banana_trunk"},
leaves = {"ethereal:bananaleaves", "ethereal:banana"},
radius = 3
})
default.register_leafdecay({
trunks = {"ethereal:birch_trunk"},
leaves = {"ethereal:birch_leaves"},
radius = 3
})
default.register_leafdecay({
trunks = {"ethereal:bamboo"},
leaves = {"ethereal:bamboo_leaves"},
radius = 2
})
end

59
lucky_block.lua Normal file
View File

@ -0,0 +1,59 @@
-- add lucky blocks
if minetest.get_modpath("lucky_block") then
local epath = minetest.get_modpath("ethereal") .. "/schematics/"
lucky_block:add_schematics({
{"pinetree", epath .. "pinetree.mts", {x = 3, y = 0, z = 3}},
{"palmtree", epath .. "palmtree.mts", {x = 4, y = 0, z = 4}},
{"bananatree", ethereal.bananatree, {x = 3, y = 0, z = 3}},
{"orangetree", ethereal.orangetree, {x = 1, y = 0, z = 1}},
{"birchtree", ethereal.birchtree, {x = 2, y = 0, z = 2}},
})
lucky_block:add_blocks({
{"nod", "ethereal:crystal_spike", 1},
{"sch", "pinetree", 0, false},
{"dro", {"ethereal:orange"}, 10},
{"sch", "appletree", 0, false},
{"dro", {"ethereal:strawberry"}, 10},
{"sch", "bananatree", 0, false},
{"sch", "orangetree", 0, false},
{"dro", {"ethereal:banana"}, 10},
{"sch", "acaciatree", 0, false},
{"dro", {"ethereal:golden_apple"}, 3},
{"sch", "palmtree", 0, false},
{"dro", {"ethereal:tree_sapling", "ethereal:orange_tree_sapling", "ethereal:banana_tree_sapling"}, 10},
{"dro", {"ethereal:green_dirt", "ethereal:prairie_dirt", "ethereal:grove_dirt", "ethereal:cold_dirt"}, 10},
{"dro", {"ethereal:axe_crystal"}, 1},
{"nod", "ethereal:fire_flower", 1},
{"dro", {"ethereal:sword_crystal"}, 1},
{"dro", {"ethereal:pick_crystal"}, 1},
{"sch", "birchtree", 0, false},
{"dro", {"ethereal:fish_raw"}, 1},
{"dro", {"ethereal:shovel_crystal"}, 1},
{"dro", {"ethereal:fishing_rod_baited"}, 1},
{"exp"},
{"dro", {"ethereal:fire_dust"}, 2},
})
if minetest.get_modpath("3d_armor") then
lucky_block:add_blocks({
{"dro", {"3d_armor:helmet_crystal"}, 1},
{"dro", {"3d_armor:chestplate_crystal"}, 1},
{"dro", {"3d_armor:leggings_crystal"}, 1},
{"dro", {"3d_armor:boots_crystal"}, 1},
{"lig"},
})
end
if minetest.get_modpath("shields") then
lucky_block:add_blocks({
{"dro", {"shields:shield_crystal"}, 1},
{"exp"},
})
end
end -- END IF

View File

@ -222,6 +222,12 @@ add_biome("swamp", nil, "ethereal:swamp_dirt", 1, "default:dirt", 3,
add_biome("swamp_ocean", nil, "default:sand", 2, "default:clay", 2,
nil, nil, nil, nil, nil, -192, 1, 80, 95, ethereal.swamp)
add_biome("swamp", nil, "ethereal:green_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 1, 7, 80, 90, ethereal.swamp)
add_biome("swamp_ocean", nil, "default:sand", 2, "default:clay", 2,
nil, nil, nil, nil, nil, -192, 1, 80, 90, ethereal.swamp)
--= schematic decorations
local add_schem = function(a, b, c, d, e, f, g)
@ -357,6 +363,52 @@ add_schem({"ethereal:bamboo_dirt"}, 0.08, {"bamboo"}, 1, 120, ethereal.bush, eth
-- vine tree
add_schem({"ethereal:swamp_dirt"}, 0.02, {"swamp"}, 1, 100, path .. "vinetree.mts", ethereal.swamp)
-- bushes
if minetest.registered_nodes["default:acacia_bush_stem"] then
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_grass", "default:dirt_with_snow"},
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 3,
persist = 0.7,
},
biomes = {"grassy", "grassytwo", "jumble"},
y_min = 1,
y_max = 31000,
schematic = dpath .. "/bush.mts",
flags = "place_center_x, place_center_z",
})
-- Acacia bush
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_dry_grass"},
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 90155,
octaves = 3,
persist = 0.7,
},
biomes = {"savannah", "mesa"},
y_min = 1,
y_max = 31000,
schematic = dpath .. "/acacia_bush.mts",
flags = "place_center_x, place_center_z",
})
end
--= simple decorations
local add_node = function(a, b, c, d, e, f, g, h, i, j)
@ -400,6 +452,8 @@ add_node({"default:sand", "default:desert_sand", "default:dirt_with_dry_grass"},
-- dry grass
add_node({"default:dirt_with_dry_grass"}, 0.25, {"savannah"}, 1, 100, {"default:dry_grass_2",
"default:dry_grass_3", "default:dry_grass_4", "default:dry_grass_5"}, nil, nil, nil, ethereal.savannah)
add_node({"default:dirt_with_dry_grass"}, 0.10, {"mesa"}, 1, 100, {"default:dry_grass_2",
"default:dry_grass_3", "default:dry_grass_4", "default:dry_grass_5"}, nil, nil, nil, ethereal.mesa)
-- flowers & strawberry
add_node({"ethereal:green_dirt"}, 0.025, {"grassy"}, 1, 100, {"flowers:dandelion_white",
@ -453,7 +507,7 @@ for _, row in pairs(list) do
if row[3] == 1 then
minetest.register_decoration({
deco_type = "simple",
place_on = {row[2]},
place_on = row[2],
sidelen = 16,
noise_params = {
offset = 0,
@ -473,7 +527,7 @@ end
end
-- jungle grass
add_node({"ethereal:jungle_dirt"}, 0.10, {"junglee"}, 1, 100, {"default:junglegrass"}, nil, nil, nil, ethereal.junglee)
add_node({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"}, 0.10, {"junglee"}, 1, 100, {"default:junglegrass"}, nil, nil, nil, ethereal.junglee)
add_node({"ethereal:green_dirt"}, 0.15, {"jumble"}, 1, 100, {"default:junglegrass"}, nil, nil, nil, ethereal.jumble)
add_node({"ethereal:mesa_dirt"}, 0.10, {"mesa"}, 1, 100, {"default:junglegrass"}, nil, nil, nil, ethereal.mesa)
add_node({"ethereal:green_dirt"}, 0.25, {"swamp"}, 1, 100, {"default:junglegrass"}, nil, nil, nil, ethereal.swamp)
@ -522,8 +576,8 @@ add_node({"ethereal:cold_dirt"}, 0.15, {"caves_coldtop"}, 123, 180, {"ethereal:o
-- papyrus
add_node({"ethereal:green_dirt"}, 0.1, {"grassy"}, 1, 1, {"default:papyrus"}, 4, "default:water_source", 1, ethereal.grassy)
add_node({"ethereal:jungle_dirt"}, 0.1, {"junglee"}, 1, 1, {"default:papyrus"}, 4, "default:water_source", 1, ethereal.junglee)
add_node({"ethereal:swamp_dirt"}, 0.1, {"swamp"}, 1, 1, {"default:papyrus"}, 4, "default:water_source", 1, ethereal.swamp)
add_node({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"}, 0.1, {"junglee"}, 1, 1, {"default:papyrus"}, 4, "default:water_source", 1, ethereal.junglee)
add_node({"ethereal:green_dirt"}, 0.1, {"swamp"}, 1, 1, {"default:papyrus"}, 4, "default:water_source", 1, ethereal.swamp)
--= Farming Redo plants
@ -532,7 +586,7 @@ if farming and farming.mod and farming.mod == "redo" then
print ("[MOD] Ethereal - Farming Redo detected and in use")
-- potato
add_node({"ethereal:jungle_dirt"}, 0.035, {"junglee"}, 1, 100, {"farming:potato_3"}, nil, nil, nil, ethereal.junglee)
add_node({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"}, 0.035, {"junglee"}, 1, 100, {"farming:potato_3"}, nil, nil, nil, ethereal.junglee)
-- carrot, cucumber, potato, tomato, corn, coffee, raspberry, rhubarb
add_node({"ethereal:green_dirt"}, 0.05, {"grassytwo", "stone_grassland", "sandstone_grassland"}, 1, 200, {"farming:carrot_7", "farming:cucumber_4",
@ -549,7 +603,7 @@ add_node({"ethereal:prairie_dirt"}, 0.05, {"prairie"}, 1, 200, {"farming:carrot_
"farming:raspberry_4", "farming:rhubarb_3", "farming:blueberry_4"}, nil, nil, nil, ethereal.prairie)
-- melon and pumpkin
add_node({"ethereal:jungle_dirt"}, 0.015, {"junglee"}, 1, 1, {"farming:melon_8", "farming:pumpkin_8"}, nil, "default:water_source", 1, ethereal.junglee)
add_node({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"}, 0.015, {"junglee"}, 1, 1, {"farming:melon_8", "farming:pumpkin_8"}, nil, "default:water_source", 1, ethereal.junglee)
add_node({"ethereal:green_dirt"}, 0.015, {"grassy"}, 1, 1, {"farming:melon_8", "farming:pumpkin_8"}, nil, "default:water_source", 1, ethereal.grassy)
add_node({"ethereal:green_dirt"}, 0.015, {"grassytwo"}, 1, 1, {"farming:melon_8", "farming:pumpkin_8"}, nil, "default:water_source", 1, ethereal.grassytwo)
add_node({"ethereal:green_dirt"}, 0.015, {"jumble"}, 1, 1, {"farming:melon_8", "farming:pumpkin_8"}, nil, "default:water_source", 1, ethereal.jumble)
@ -563,6 +617,28 @@ add_node({"ethereal:green_dirt"}, 0.025, {"grassytwo"}, 1, 140, {"farming:grapeb
add_node({"ethereal:green_dirt"}, 0.025, {"grassy"}, 1, 140, {"farming:grapebush"}, nil, nil, nil, ethereal.grassy)
add_node({"ethereal:prairie_dirt"}, 0.025, {"prairie"}, 1, 140, {"farming:grapebush"}, nil, nil, nil, ethereal.prairie)
minetest.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "ethereal:prairie_dirt",
"default:dirt_with_rainforest_litter",
},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.06,
spread = {x = 100, y = 100, z = 100},
seed = 420,
octaves = 3,
persist = 0.6
},
y_min = 5,
y_max = 35,
decoration = "farming:hemp_7",
spawn_by = "group:tree",
num_spawn_by = 1,
})
end
-- place waterlily in beach areas
@ -632,3 +708,118 @@ minetest.register_on_generated(function(minp, maxp)
end
end
end)
-- coral reef (0.4.15 only)
if ethereal.reefs == 1 and minetest.registered_nodes["default:coral_orange"] then
-- override corals so crystal shovel can pick them up intact
minetest.override_item("default:coral_skeleton", {groups = {crumbly = 3}})
minetest.override_item("default:coral_orange", {groups = {crumbly = 3}})
minetest.override_item("default:coral_brown", {groups = {crumbly = 3}})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
noise_params = {
offset = -0.15,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 7013,
octaves = 3,
persist = 1,
},
biomes = {
"desert_ocean",
"grove_ocean",
},
y_min = -8,
y_max = -2,
schematic = dpath .. "corals.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
end
-- is baked clay mod active? add new flowers if so
if minetest.get_modpath("bakedclay") then
minetest.register_decoration({
deco_type = "simple",
place_on = {
"ethereal:prairie_grass", "ethereal:green_dirt",
"ethereal:grove_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.004,
spread = {x = 100, y = 100, z = 100},
seed = 7133,
octaves = 3,
persist = 0.6
},
y_min = 10,
y_max = 90,
decoration = "bakedclay:delphinium",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {
"ethereal:prairie_grass", "ethereal:green_dirt",
"ethereal:grove_dirt", "ethereal:bamboo_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.004,
spread = {x = 100, y = 100, z = 100},
seed = 7134,
octaves = 3,
persist = 0.6
},
y_min = 15,
y_max = 90,
decoration = "bakedclay:thistle",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 7135,
octaves = 3,
persist = 0.6
},
y_min = 1,
y_max = 90,
decoration = "bakedclay:lazarus",
spawn_by = "default:jungletree",
num_spawn_by = 1,
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"ethereal:green_dirt", "default:sand"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.009,
spread = {x = 100, y = 100, z = 100},
seed = 7136,
octaves = 3,
persist = 0.6
},
y_min = 1,
y_max = 15,
decoration = "bakedclay:mannagrass",
spawn_by = "group:water",
num_spawn_by = 1,
})
end

View File

@ -18,7 +18,7 @@ minetest.register_node("ethereal:fire_flower", {
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 1 / 2, 5 / 16},
},
on_punch = function(pos, node, puncher)
@ -118,7 +118,7 @@ minetest.register_craft({
minetest.register_node("ethereal:fern", {
description = S("Fern"),
drawtype = "plantlike",
visual_scale = 1.2,
visual_scale = 1.4,
tiles = {"fern.png"},
inventory_image = "fern.png",
wield_image = "fern.png",
@ -138,7 +138,7 @@ minetest.register_node("ethereal:fern", {
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 0.67, 5 / 16},
},
})
@ -153,7 +153,6 @@ minetest.register_craftitem("ethereal:fern_tubers", {
minetest.register_node("ethereal:dry_shrub", {
description = S("Fiery Dry Shrub"),
drawtype = "plantlike",
visual_scale = 1.0,
tiles = {"ethereal_dry_shrub.png"},
inventory_image = "ethereal_dry_shrub.png",
wield_image = "ethereal_dry_shrub.png",
@ -166,7 +165,7 @@ minetest.register_node("ethereal:dry_shrub", {
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 4 / 16, 5 / 16},
},
})
@ -187,7 +186,7 @@ minetest.register_node("ethereal:snowygrass", {
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 5 / 16, 5 / 16},
},
})
@ -208,7 +207,7 @@ minetest.register_node("ethereal:crystalgrass", {
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 5 / 16, 5 / 16},
},
})
@ -251,7 +250,7 @@ minetest.register_node("ethereal:illumishroom", {
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.47, 6 / 16},
},
})
@ -269,7 +268,7 @@ minetest.register_node("ethereal:illumishroom2", {
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.47, 6 / 16},
},
})
@ -287,7 +286,7 @@ minetest.register_node("ethereal:illumishroom3", {
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.47, 6 / 16},
},
})

View File

@ -81,7 +81,7 @@ minetest.register_decoration({
place_on = {
"ethereal:prairie_grass", "ethereal:green_dirt",
"ethereal:grove_dirt", "ethereal:jungle_grass",
"ethereal:gray_dirt"
"ethereal:gray_dirt", "default:dirt_with_rainforest_litter"
},
sidelen = 16,
fill_ratio = 0.005,
@ -96,7 +96,7 @@ minetest.register_decoration({
minetest.register_decoration({
deco_type = "simple",
place_on = {"ethereal:jungle_dirt", "ethereal:green_dirt"},
place_on = {"ethereal:jungle_dirt", "ethereal:green_dirt", "default:dirt_with_rainforest_litter"},
sidelen = 16,
fill_ratio = 0.007,
biomes = {"junglee", "jumble"},
@ -144,7 +144,7 @@ minetest.register_decoration({
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand", "default:green_dirt"},
place_on = {"default:sand", "ethereal:green_dirt"},
sidelen = 16,
fill_ratio = 0.015,
biomes = {"sandclay", "grassy_ocean", "grassy", "grassytwo", "jumble", "swamp"},
@ -166,7 +166,8 @@ minetest.register_decoration({
"ethereal:dirt_with_snow", "ethereal:jungle_dirt",
"ethereal:prairie_dirt", "ethereal:grove_dirt",
"ethereal:dry_dirt", "ethereal:fiery_dirt", "default:sand",
"default:desert_sand", "xanadu:red", "ethereal:bamboo_dirt"
"default:desert_sand", "xanadu:red", "ethereal:bamboo_dirt",
"default:dirt_with_rainforest_litter"
},
sidelen = 16,
fill_ratio = 0.004,

View File

@ -18,9 +18,9 @@ minetest.register_node("ethereal:bamboo_sprout", {
sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0, 4 / 16}
},
on_use = minetest.item_eat(-2),
on_use = minetest.item_eat(2),
grown_height = 11,
})
@ -30,7 +30,6 @@ ethereal.register_sapling = function(name, desc, texture, height)
minetest.register_node(name .. "_sapling", {
description = S(desc .. " Tree Sapling"),
drawtype = "plantlike",
visual_scale = 1.0,
tiles = {texture .. ".png"},
inventory_image = texture .. ".png",
wield_image = texture .. ".png",
@ -40,13 +39,13 @@ ethereal.register_sapling = function(name, desc, texture, height)
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {
snappy = 2, dig_immediate = 3, flammable = 2,
ethereal_sapling = 1, sapling = 1, attached_node = 1
ethereal_sapling = 1, attached_node = 1, sapling = 1
},
sounds = default.node_sound_defaults(),
sounds = default.node_sound_leaves_defaults(),
grown_height = height,
})
end
@ -161,7 +160,8 @@ ethereal.grow_sapling = function (pos, node)
ethereal.grow_yellow_tree(pos)
elseif node.name == "ethereal:big_tree_sapling"
and under == "ethereal:green_dirt" then
--and under == "ethereal:green_dirt" then
and under == "default:dirt_with_grass" then
ethereal.grow_big_tree(pos)
elseif node.name == "ethereal:banana_tree_sapling"
@ -197,7 +197,8 @@ ethereal.grow_sapling = function (pos, node)
ethereal.grow_bamboo_tree(pos)
elseif node.name == "ethereal:birch_sapling"
and under == "ethereal:green_dirt" then
--and under == "ethereal:green_dirt" then
and under == "default:dirt_with_grass" then
ethereal.grow_birch_tree(pos)
end
@ -221,3 +222,11 @@ minetest.register_abm({
ethereal.grow_sapling(pos, node)
end,
})
--[[ burn saplings
minetest.register_craft({
type = "fuel",
recipe = "group:ethereal_sapling",
burntime = 10,
})
]]

View File

@ -12,6 +12,9 @@ ethereal.waterlily = {
},
}
minetest.override_item("flowers:waterlily", {
walkable = true,
})
if ethereal.lilywalk == true then
minetest.override_item("flowers:waterlily", {
walkable = true,
})
end

View File

@ -41,7 +41,7 @@ minetest.register_node("ethereal:coral2", {
paramtype = "light",
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 1 / 4, 6 / 16},
},
light_source = 3,
groups = {snappy = 3},
@ -64,7 +64,7 @@ minetest.register_node("ethereal:coral3", {
paramtype = "light",
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 1 / 4, 6 / 16},
},
light_source = 3,
groups = {snappy = 3},
@ -87,7 +87,7 @@ minetest.register_node("ethereal:coral4", {
paramtype = "light",
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 8 / 16, 6 / 16},
},
light_source = 3,
groups = {snappy = 3},
@ -110,7 +110,7 @@ minetest.register_node("ethereal:coral5", {
paramtype = "light",
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 3 / 16, 6 / 16},
},
light_source = 3,
groups = {snappy = 3},
@ -136,6 +136,7 @@ minetest.register_node("ethereal:sandy", {
})
-- randomly generate coral or seaweed and have seaweed grow up to 14 high
if ethereal.sealife == 1 then
minetest.register_abm({
label = "Grow coral/seaweed",
nodenames = {"ethereal:sandy"},
@ -185,3 +186,4 @@ minetest.register_abm({
end,
})
end

41
settings.conf_example Normal file
View File

@ -0,0 +1,41 @@
--[[
Ethereal Settings can be changed here and kept even after the mod
has been updated
--]]
ethereal.leaftype = 0 -- 0 for 2D plantlike, 1 for 3D allfaces
ethereal.leafwalk = false -- true for walkable leaves, false to fall through
ethereal.cavedirt = true -- caves chop through dirt when true
ethereal.torchdrop = true -- torches drop when touching water
ethereal.papyruswalk = true -- papyrus can be walked on
ethereal.lilywalk = true -- waterlilies can be walked on
ethereal.xcraft = true -- allow cheat crafts for cobble->gravel->dirt->sand, ice->snow, dry dirt->desert sand
-- Set following to 1 to enable biome or 0 to disable
ethereal.glacier = 1 -- Ice glaciers with snow
ethereal.bamboo = 1 -- Bamboo with sprouts
ethereal.mesa = 1 -- Mesa red and orange clay with giant redwood
ethereal.alpine = 1 -- Snowy grass
ethereal.healing = 1 -- Snowy peaks with healing trees
ethereal.snowy = 1 -- Cold grass with pine trees and snow spots
ethereal.frost = 1 -- Blue dirt with blue/pink frost trees
ethereal.grassy = 1 -- Green grass with flowers and trees
ethereal.caves = 1 -- Desert stone ares with huge caverns underneath
ethereal.grayness = 1 -- Grey grass with willow trees
ethereal.grassytwo = 1 -- Sparse trees with old trees and flowers
ethereal.prairie = 1 -- Flowery grass with many plants and flowers
ethereal.jumble = 1 -- Green grass with trees and jungle grass
ethereal.junglee = 1 -- Jungle grass with tall jungle trees
ethereal.desert = 1 -- Desert sand with cactus
ethereal.grove = 1 -- Banana groves and ferns
ethereal.mushroom = 1 -- Purple grass with giant mushrooms
ethereal.sandstone = 1 -- Sandstone with smaller cactus
ethereal.quicksand = 1 -- Quicksand banks
ethereal.plains = 1 -- Dry dirt with scorched trees
ethereal.savannah = 1 -- Dry yellow grass with acacia tree's
ethereal.fiery = 1 -- Red grass with lava craters
ethereal.sandclay = 1 -- Sand areas with clay underneath
ethereal.swamp = 1 -- Swamp areas with vines on tree's, mushrooms, lilly's and clay sand
ethereal.sealife = 1 -- Enable coral and seaweed
ethereal.reefs = 1 -- Enable new coral reefs in default

View File

@ -5,21 +5,21 @@ local S = ethereal.intllib
if stairs and stairs.mod and stairs.mod == "redo" then
stairs.register_all("crystal_block", "ethereal:crystal_block",
{cracky = 1, level = 2},
{cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
{"crystal_block.png"},
S("Crystal Block Stair"),
S("Crystal Block Slab"),
default.node_sound_glass_defaults())
stairs.register_all("icebrick", "ethereal:icebrick",
{crumbly = 3, melts = 1},
{cracky = 3, puts_out_fire = 1, cools_lava = 1},
{"brick_ice.png"},
S("Ice Brick Stair"),
S("Ice Brick Slab"),
default.node_sound_glass_defaults())
stairs.register_all("snowbrick", "ethereal:snowbrick",
{crumbly = 3, melts = 1},
{crumbly = 3, puts_out_fire = 1, cools_lava = 1},
{"brick_snow.png"},
S("Snow Brick Stair"),
S("Snow Brick Slab"),
@ -31,8 +31,8 @@ stairs.register_all("snowbrick", "ethereal:snowbrick",
stairs.register_all("dry_dirt", "ethereal:dry_dirt",
{crumbly = 3},
{"ethereal_dry_dirt.png"},
S("Dry Dirt Stair"),
S("Dry Dirt Slab"),
S("Dried Dirt Stair"),
S("Dried Dirt Slab"),
default.node_sound_dirt_defaults())
stairs.register_all("mushroom_trunk", "ethereal:mushroom_trunk",
@ -111,21 +111,21 @@ elseif minetest.global_exists("stairsplus") then
stairsplus:register_all("ethereal", "crystal_block", "ethereal:crystal_block", {
description = S("Crystal block"),
tiles = {"crystal_block.png"},
groups = {cracky = 1, falling_node = 1, puts_out_fire = 1},
groups = {cracky = 1, falling_node = 1, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_glass_defaults(),
})
stairsplus:register_all("ethereal", "icebrick", "ethereal:icebrick", {
description = S("Ice Brick"),
tiles = {"brick_ice.png"},
groups = {crumbly = 3, melts = 1},
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_glass_defaults(),
})
stairsplus:register_all("ethereal", "snowbrick", "ethereal:snowbrick", {
description = S("Snow Brick"),
tiles = {"brick_snow.png"},
groups = {crumbly = 3, melts = 1},
groups = {crumbly = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.25},
dug = {name = "default_snow_footstep", gain = 0.75},
@ -133,7 +133,7 @@ stairsplus:register_all("ethereal", "snowbrick", "ethereal:snowbrick", {
})
stairsplus:register_all("ethereal", "dry_dirt", "ethereal:dry_dirt", {
description = S("Dry Dirt"),
description = S("Dried Dirt"),
tiles = {"ethereal_dry_dirt.png"},
groups = {crumbly = 3},
sounds = default.node_sound_dirt_defaults(),
@ -213,34 +213,35 @@ stairsplus:register_all("ethereal", "bamboo_wood", "ethereal:bamboo_floor", {
else
stairs.register_stair_and_slab("crystal_block", "ethereal:crystal_block",
{cracky = 1, level = 2},
{cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
{"crystal_block.png"},
S("Crystal Block Stair"),
S("Crystal Block Slab"),
default.node_sound_glass_defaults())
stairs.register_stair_and_slab("icebrick", "ethereal:icebrick",
{crumbly = 3, melts = 1},
{cracky = 3, puts_out_fire = 1, cools_lava = 1},
{"brick_ice.png"},
S("Ice Brick Stair"),
S("Ice Brick Slab"),
default.node_sound_glass_defaults())
stairs.register_stair_and_slab("snowbrick", "ethereal:snowbrick",
{crumbly = 3, melts = 1},
{crumbly = 3, puts_out_fire = 1, cools_lava = 1},
{"brick_snow.png"},
S("Snow Brick Stair"),
S("Snow Brick Slab"),
default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.25},
dug = {name = "default_snow_footstep", gain = 0.75},
footstep = {name = "default_snow_footstep", gain = 0.15},
dug = {name = "default_snow_footstep", gain = 0.2},
dig = {name = "default_snow_footstep", gain = 0.2}
}))
stairs.register_stair_and_slab("dry_dirt", "ethereal:dry_dirt",
{crumbly = 3},
{"ethereal_dry_dirt.png"},
S("Dry Dirt Stair"),
S("Dry Dirt Slab"),
S("Dried Dirt Stair"),
S("Dried Dirt Slab"),
default.node_sound_dirt_defaults())
stairs.register_stair_and_slab("mushroom_trunk", "ethereal:mushroom_trunk",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 B

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 473 B

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 754 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 B

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 559 B

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 735 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 515 B

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 677 B

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 B

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 384 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 B

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 749 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 436 B

After

Width:  |  Height:  |  Size: 527 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 465 B

After

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 829 B

After

Width:  |  Height:  |  Size: 461 B

BIN
textures/stony_sand.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -8,7 +8,7 @@ minetest.register_node("ethereal:icebrick", {
paramtype = "light",
freezemelt = "default:water_source",
is_ground_content = false,
groups = {cracky = 3, melts = 1},
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_glass_defaults(),
})
@ -27,7 +27,7 @@ minetest.register_node("ethereal:snowbrick", {
paramtype = "light",
freezemelt = "default:water_source",
is_ground_content = false,
groups = {crumbly = 3, melts = 1},
groups = {crumbly = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.15},
dug = {name = "default_snow_footstep", gain = 0.2},
@ -74,7 +74,7 @@ minetest.register_abm({
},
neighbors = {
"fire:basic_fire", "default:lava_source", "default:lava_flowing",
"default:furnace_active", "default:torch"
"default:furnace_active", "group:torch", "default:torch"
},
interval = 5,
chance = 4,
@ -100,7 +100,7 @@ minetest.register_abm({
minetest.swap_node(pos, {name = "default:dirt_with_grass"})
end
nodeupdate(pos)
ethereal.check_falling(pos)
end,
})
@ -125,9 +125,18 @@ minetest.register_abm({
-- If torch touching water then drop as item (when enabled)
if ethereal.torchdrop == true then
local torch_drop = {"default:torch", "group:torch"}
local drop_sound = "fire_extinguish_flame"
if minetest.get_modpath("real_torch") then
torch_drop = "real_torch:torch"
drop_sound = "real_torch_extinguish"
end
minetest.register_abm({
label = "Ethereal drop torch",
nodenames = {"default:torch", "group:torch"}, -- group:torch for new 3d torches
nodenames = {"default:torch", "default:torch_wall", "default:torch_ceiling",
"real_torch:torch", "real_torch:torch_wall", "real_torch:torch_ceiling"},
neighbors = {"group:water"},
interval = 5,
chance = 1,
@ -139,21 +148,28 @@ minetest.register_abm({
{x = pos.x + 1, y = pos.y, z = pos.z},
{"group:water"})
num = num + #minetest.find_nodes_in_area(
{x = pos.x, y = pos.y, z = pos.z - 1},
{x = pos.x, y = pos.y, z = pos.z + 1},
{"group:water"})
if num == 0 then
num = num + #minetest.find_nodes_in_area(
{x = pos.x, y = pos.y, z = pos.z - 1},
{x = pos.x, y = pos.y, z = pos.z + 1},
{"group:water"})
end
num = num + #minetest.find_nodes_in_area(
{x = pos.x, y = pos.y + 1, z = pos.z},
{x = pos.x, y = pos.y + 1, z = pos.z},
{"group:water"})
if num == 0 then
num = num + #minetest.find_nodes_in_area(
{x = pos.x, y = pos.y + 1, z = pos.z},
{x = pos.x, y = pos.y + 1, z = pos.z},
{"group:water"})
end
if num > 0 then
minetest.swap_node(pos, {name = "air"})
minetest.set_node(pos, {name = "air"})
minetest.add_item(pos, {name = "default:torch"})
minetest.sound_play({name = drop_sound, gain = 0.2},
{pos = pos, max_hear_distance = 10})
minetest.add_item(pos, {name = torch_drop})
end
end,
})