Changed Bamboo biome, added bamboo tree, bush, tidied code

master
TenPlus1 2015-08-31 17:40:29 +01:00
parent 1bcdfc56fd
commit 39938949b0
15 changed files with 256 additions and 70 deletions

View File

@ -7,6 +7,13 @@ Ethereal v7 Mapgen mod for Minetest
## Changelog
### 1.17
- Added new Glacier biome filled with snow and ice
- Changed Mesa biome to have more coloured clay patterns
- Changed Bamboo biome to have tall tree-like stalks with leaves that give
bamboo sprouts to grow new stalks
### 1.16
- Added new tree schematics that change when placed with random leaves, fruit and height

View File

@ -4,7 +4,11 @@ minetest.override_item("default:dirt", {is_ground_content = false})
-- green dirt
minetest.register_node("ethereal:green_dirt", {
description = "Green Dirt",
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
tiles = {
"default_grass.png",
"default_dirt.png",
"default_dirt.png^default_grass_side.png"
},
is_ground_content = false,
groups = {crumbly = 3, soil = 1, ethereal_grass = 1},
drop = "default:dirt",
@ -40,8 +44,11 @@ for _, row in ipairs(dirt.type) do
minetest.register_node("ethereal:"..name.."_dirt", {
description = desc.." Dirt",
tiles = {"ethereal_grass_"..name.."_top.png", "default_dirt.png",
"default_dirt.png^ethereal_grass_"..name.."_side.png"},
tiles = {
"ethereal_grass_"..name.."_top.png",
"default_dirt.png",
"default_dirt.png^ethereal_grass_"..name.."_side.png"
},
is_ground_content = false,
groups = {crumbly = 3, soil = 1, ethereal_grass = 1},
drop = "default:dirt",
@ -113,13 +120,6 @@ if not minetest.get_modpath("bakedclay") then
sounds = default.node_sound_stone_defaults(),
})
stairs.register_stair_and_slab("bakedclay_red", "bakedclay:red",
{cracky=3, not_in_craft_guide=1},
{"baked_clay_red.png"},
"Baked Clay Red Stair",
"Baked Clay Red Slab",
default.node_sound_stone_defaults())
minetest.register_node(":bakedclay:orange", {
description = "Orange Baked Clay",
tiles = {"baked_clay_orange.png"},
@ -128,13 +128,6 @@ if not minetest.get_modpath("bakedclay") then
sounds = default.node_sound_stone_defaults(),
})
stairs.register_stair_and_slab("bakedclay_orange", "bakedclay:orange",
{cracky=3, not_in_craft_guide=1},
{"baked_clay_orange.png"},
"Baked Clay Orange Stair",
"Baked Clay Orange Slab",
default.node_sound_stone_defaults())
minetest.register_node(":bakedclay:grey", {
description = "Grey Baked Clay",
tiles = {"baked_clay_grey.png"},
@ -143,11 +136,4 @@ if not minetest.get_modpath("bakedclay") then
sounds = default.node_sound_stone_defaults(),
})
stairs.register_stair_and_slab("bakedclay_grey", "bakedclay:grey",
{cracky=3, not_in_craft_guide=1},
{"baked_clay_grey.png"},
"Baked Clay Grey Stair",
"Baked Clay Grey Slab",
default.node_sound_stone_defaults())
end

View File

@ -1,6 +1,6 @@
--[[
Minetest Ethereal Mod 1.16 (27th July 2015)
Minetest Ethereal Mod 1.16 (31st August 2015)
Created by ChinChow
@ -12,7 +12,7 @@ ethereal = {}
ethereal.leaftype = 0 -- 0 for 2D plantlike, 1 for 3D allfaces
-- Set following to 1 to enable biome or 0 to disable
ethereal.glacier = 1 -- Huge ice glaciers with snow
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
@ -36,27 +36,31 @@ ethereal.plains = 1 -- Dry dirt with scorched trees
ethereal.fiery = 1 -- Red grass with lava craters
ethereal.sandclay = 1 -- Sand areas with clay underneath
dofile(minetest.get_modpath("ethereal").."/plantlife.lua")
dofile(minetest.get_modpath("ethereal").."/mushroom.lua")
dofile(minetest.get_modpath("ethereal").."/onion.lua")
dofile(minetest.get_modpath("ethereal").."/crystal.lua")
dofile(minetest.get_modpath("ethereal").."/papyrus.lua")
dofile(minetest.get_modpath("ethereal").."/flowers.lua")
dofile(minetest.get_modpath("ethereal").."/water.lua")
dofile(minetest.get_modpath("ethereal").."/dirt.lua")
dofile(minetest.get_modpath("ethereal").."/leaves.lua")
dofile(minetest.get_modpath("ethereal").."/wood.lua")
dofile(minetest.get_modpath("ethereal").."/sapling.lua")
dofile(minetest.get_modpath("ethereal").."/strawberry.lua")
dofile(minetest.get_modpath("ethereal").."/fishing.lua")
dofile(minetest.get_modpath("ethereal").."/extra.lua")
dofile(minetest.get_modpath("ethereal").."/sealife.lua")
dofile(minetest.get_modpath("ethereal").."/fences.lua")
dofile(minetest.get_modpath("ethereal").."/gates.lua")
if stairs and not stairs.mod then
dofile(minetest.get_modpath("ethereal").."/stairs.lua")
end
dofile(minetest.get_modpath("ethereal").."/mapgen_v7n.lua") -- 0.4.12+
local path = minetest.get_modpath("ethereal")
-- Xanadu server Only
--dofile(minetest.get_modpath("ethereal").."/plantpack.lua")
dofile(path.."/plantlife.lua")
dofile(path.."/mushroom.lua")
dofile(path.."/onion.lua")
dofile(path.."/crystal.lua")
dofile(path.."/papyrus.lua")
dofile(path.."/flowers.lua")
dofile(path.."/water.lua")
dofile(path.."/dirt.lua")
dofile(path.."/leaves.lua")
dofile(path.."/wood.lua")
dofile(path.."/sapling.lua")
dofile(path.."/strawberry.lua")
dofile(path.."/fishing.lua")
dofile(path.."/extra.lua")
dofile(path.."/sealife.lua")
dofile(path.."/fences.lua")
dofile(path.."/gates.lua")
dofile(path.."/mapgen_v7n.lua") -- 0.4.12+
if minetest.get_modpath("xanadu") then
dofile(path.."/plantpack.lua")
else
dofile(path.."/stairs.lua")
end
print ("[MOD] Ethereal mod loaded")

View File

@ -283,4 +283,44 @@ minetest.register_node("ethereal:mushroom_pore", {
flammable = 2, disable_jump = 1, fall_damage_add_percent = -100
},
sounds = default.node_sound_dirt_defaults(),
})
-- Hedge Block
minetest.register_node("ethereal:bush", {
description = "Bush",
tiles = {"ethereal_bush.png"},
walkable = true,
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft({
output = "ethereal:bush",
recipe = {
{"group:leaves", "group:leaves", "group:leaves"},
{"group:leaves", "group:leaves", "group:leaves"},
{"group:leaves", "group:leaves", "group:leaves"},
}
})
-- Bamboo Leaves
minetest.register_node("ethereal:bamboo_leaves", {
description = "Bamboo Leaves",
drawtype = leaftype,
visual_scale = 1.2,
tiles = {"bamboo_leaves.png"},
inventory_image = "bamboo_leaves.png",
paramtype = "light",
walkable = false,
waving = 1,
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
drop = {
max_items = 1,
items = {
{items = {"ethereal:bamboo_sprout"}, rarity = 10},
{items = {"ethereal:bamboo_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})

View File

@ -8,6 +8,8 @@ local path = minetest.get_modpath("ethereal").."/schematics/"
dofile(path.."apple_tree.lua")
dofile(path.."orange_tree.lua")
dofile(path.."banana_tree.lua")
dofile(path.."bamboo_tree.lua")
dofile(path.."bush.lua")
--= Biomes (Minetest 0.4.12 and above)
@ -514,7 +516,7 @@ minetest.register_decoration({
deco_type = "schematic",
place_on = "default:dirt_with_snow",
sidelen = 80,
fill_ratio = 0.04,
fill_ratio = 0.015,
biomes = {"alpine"},
y_min = 100,
y_max = 140,
@ -666,7 +668,7 @@ minetest.register_decoration({
height_max = 6,
})
-- bamboo stalks
--[[ bamboo stalks
minetest.register_decoration({
deco_type = "simple",
place_on = "ethereal:bamboo_dirt",
@ -675,6 +677,28 @@ minetest.register_decoration({
biomes = {"bamboo"},
decoration = "ethereal:bamboo",
height_max = 5,
})--]]
-- bamboo tree
minetest.register_decoration({
deco_type = "schematic",
place_on = "ethereal:bamboo_dirt",
sidelen = 80,
fill_ratio = 0.03,
biomes = {"bamboo"},
schematic = ethereal.bambootree,
flags = "place_center_x, place_center_z",
})
-- bush
minetest.register_decoration({
deco_type = "schematic",
place_on = "ethereal:bamboo_dirt",
sidelen = 80,
fill_ratio = 0.08,
biomes = {"bamboo"},
schematic = ethereal.bush,
flags = "place_center_x, place_center_z",
})
-- bamboo sprouts & grass
@ -682,9 +706,10 @@ minetest.register_decoration({
deco_type = "simple",
place_on = "ethereal:bamboo_dirt",
sidelen = 80,
fill_ratio = 0.25,
fill_ratio = 0.35,
biomes = {"bamboo"},
decoration = {"ethereal:bamboo_sprout", "default:grass_2", "default:grass_3"},
--decoration = {"ethereal:bamboo_sprout", "default:grass_2", "default:grass_3"},
decoration = {"default:grass_2", "default:grass_3"},
})
-- dry shrub
@ -692,7 +717,7 @@ minetest.register_decoration({
deco_type = "simple",
place_on = {
"ethereal:dry_dirt", "default:sand", "default:desert_sand",
"sandstone", "bakedclay:red"
"sandstone", "bakedclay:red", "bakedclay:orange"
},
sidelen = 80,
fill_ratio = 0.015,

View File

@ -1,7 +1,7 @@
-- override default papyrus to make it walkable
minetest.override_item("default:papyrus", {walkable = true, sunlight_propagates = true})
-- have papyrus grow up to 4 high and bamboo grow up to 5 in height (shared abm)
-- have papyrus grow up to 4 high and bamboo grow up to 8 in height (shared abm)
minetest.register_abm({
nodenames = {"default:papyrus", "ethereal:bamboo"},
neighbors = {"group:soil"},
@ -9,6 +9,7 @@ minetest.register_abm({
chance = 20,
action = function(pos, node)
local oripos = pos.y
local high = 4
pos.y = pos.y - 1
@ -21,20 +22,33 @@ minetest.register_abm({
end
if node.name == "ethereal:bamboo" then
high = 5
high = 8 -- was 5
end
pos.y = pos.y + 1
local height = 0
while minetest.get_node(pos).name == node.name and height < high do
while height < high
and minetest.get_node(pos).name == node.name do
height = height + 1
pos.y = pos.y + 1
end
nod = minetest.get_node_or_nil(pos)
if nod and nod.name == "air" and height < high then
minetest.set_node(pos, {name = node.name})
if nod
and nod.name == "air"
and height < high then
if node.name == "ethereal:bamboo"
and height == (high - 1) then
ethereal.add_tree({
x = pos.x,
y = oripos,
z = pos.z
}, 1, 1, ethereal.bambootree)
else
minetest.set_node(pos, {name = node.name})
end
end
end,

View File

@ -281,7 +281,7 @@ minetest.register_node("ethereal:bamboo", {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
},
groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2},
groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2, tree = 1}, -- added tree
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
@ -304,9 +304,14 @@ minetest.register_node("ethereal:bamboo_sprout", {
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
--buildable_to = true,
--groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 2},
groups = {
snappy = 3, attached_node = 1, flammable = 2,
dig_immediate = 3, ethereal_sapling = 1
},
--sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},

View File

@ -115,6 +115,10 @@ ethereal.grow_sapling = function (pos, node)
elseif node.name == "ethereal:acacia_sapling"
and under == "default:desert_sand" then
ethereal.add_tree(pos, 5, 5, path .. "acaciatree.mts")
elseif node.name == "ethereal:bamboo_sprout"
and under == "ethereal:bamboo_dirt" then
ethereal.add_tree(pos, 1, 1, ethereal.bambootree)
end
end

View File

@ -0,0 +1,73 @@
-- Bamboo Tree (built column by column, bottom to top)
local i = "air"
local t = "ethereal:bamboo"
local l = "ethereal:bamboo_leaves"
ethereal.bambootree = {
size = {x=3, y=18, z=3},
data = {
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=l, param1=100}, {name=l, param1=255}, {name=l, param1=100},
{name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
{name=l, param1=100}, {name=l, param1=255}, {name=l, param1=100},
{name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=l, param1=127}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=l, param1=100}, {name=l, param1=255}, {name=l, param1=100},
{name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
},
yslice_prob = {
{ypos=3, prob=127},
},
}

35
schematics/bush.lua Normal file
View File

@ -0,0 +1,35 @@
-- Bush (built column by column, bottom to top)
local i = "air"
local b = "ethereal:bush"
ethereal.bush = {
size = {x=5, y=3, z=5},
data = {
{name=b, param1=100}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=100},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255},
{name=i, param1=000}, {name=b, param1=100}, {name=b, param1=255}, {name=b, param1=100}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255},
{name=i, param1=000}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=b, param1=100}, {name=i, param1=000}, {name=i, param1=000},
{name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255},
{name=i, param1=000}, {name=b, param1=100}, {name=b, param1=255}, {name=b, param1=100}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=b, param1=100}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=100},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
},
yslice_prob = {
{ypos=1, prob=127},
},
}

View File

@ -86,10 +86,3 @@ stairs.register_stair_and_slab("redwood_wood", "ethereal:redwood_wood",
"Redwood stair",
"Redwood Slab",
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("acacia_wood", "ethereal:acacia_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3, not_in_craft_guide = 1},
{"moretrees_acacia_wood.png"},
"Acacia Wood Stair",
"Acacia Wood Slab",
default.node_sound_wood_defaults())

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 207 B

BIN
textures/bamboo_OLD.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

BIN
textures/bamboo_leaves.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

BIN
textures/ethereal_bush.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B