Overlen variable. Remove autumn trees, freshwater bucket, schem folder
@ -1,4 +1,4 @@
|
|||||||
riverdev 0.4.4 by paramat
|
riverdev 0.4.5 by paramat
|
||||||
For latest stable Minetest back to 0.4.8
|
For latest stable Minetest back to 0.4.8
|
||||||
Depends default
|
Depends default
|
||||||
Licenses: code WTFPL
|
Licenses: code WTFPL
|
||||||
|
@ -36,41 +36,6 @@ function riverdev_appletree(x, y, z, area, data)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function riverdev_autumntree(x, y, z, area, data)
|
|
||||||
local c_tree = minetest.get_content_id("default:tree")
|
|
||||||
local c_yellowleaf = minetest.get_content_id("riverdev:yellowleaf")
|
|
||||||
local c_yellowleafinit = minetest.get_content_id("riverdev:yellowleafinit")
|
|
||||||
local top = 3 + math.random(2)
|
|
||||||
for j = -2, top do
|
|
||||||
if j == top - 1 or j == top then
|
|
||||||
for k = -2, 2 do
|
|
||||||
local vi = area:index(x - 2, y + j, z + k)
|
|
||||||
for i = -2, 2 do
|
|
||||||
if math.random() < 0.6 then
|
|
||||||
data[vi] = c_yellowleaf
|
|
||||||
end
|
|
||||||
vi = vi + 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
elseif j == top - 2 then
|
|
||||||
for k = -1, 1 do
|
|
||||||
local vi = area:index(x - 1, y + j, z + k)
|
|
||||||
for i = -1, 1 do
|
|
||||||
if math.abs(i) + math.abs(k) == 2 then
|
|
||||||
data[vi] = c_tree
|
|
||||||
end
|
|
||||||
vi = vi + 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
local vi = area:index(x, y + j, z)
|
|
||||||
data[vi] = c_tree
|
|
||||||
end
|
|
||||||
end
|
|
||||||
local vi = area:index(x, y + top, z)
|
|
||||||
data[vi] = c_yellowleafinit
|
|
||||||
end
|
|
||||||
|
|
||||||
function riverdev_pinetree(x, y, z, area, data)
|
function riverdev_pinetree(x, y, z, area, data)
|
||||||
local c_pinetree = minetest.get_content_id("riverdev:pinetree")
|
local c_pinetree = minetest.get_content_id("riverdev:pinetree")
|
||||||
local c_needles = minetest.get_content_id("riverdev:needles")
|
local c_needles = minetest.get_content_id("riverdev:needles")
|
||||||
@ -193,38 +158,3 @@ minetest.register_abm({
|
|||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Spawn yellow leaves on ground
|
|
||||||
|
|
||||||
minetest.register_abm({
|
|
||||||
nodenames = {"riverdev:yellowleafinit"},
|
|
||||||
interval = 13,
|
|
||||||
chance = 1,
|
|
||||||
action = function(pos, node)
|
|
||||||
local x = pos.x
|
|
||||||
local y = pos.y
|
|
||||||
local z = pos.z
|
|
||||||
local c_yellowleaf = minetest.get_content_id("riverdev:yellowleaf")
|
|
||||||
local c_grass = minetest.get_content_id("riverdev:grass")
|
|
||||||
local c_yellowleafgrass = minetest.get_content_id("riverdev:yellowleafgrass")
|
|
||||||
|
|
||||||
local vm = minetest.get_voxel_manip()
|
|
||||||
local pos1 = {x=x-3, y=y-12, z=z-3}
|
|
||||||
local pos2 = {x=x+3, y=y, z=z+3}
|
|
||||||
local emin, emax = vm:read_from_map(pos1, pos2)
|
|
||||||
local area = VoxelArea:new({MinEdge=emin, MaxEdge=emax})
|
|
||||||
local data = vm:get_data()
|
|
||||||
|
|
||||||
local vi = area:index(x, y, z)
|
|
||||||
data[vi] = c_yellowleaf
|
|
||||||
for vi in area:iterp(pos1, pos2) do
|
|
||||||
if data[vi] == c_grass then
|
|
||||||
data[vi] = c_yellowleafgrass
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
vm:set_data(data)
|
|
||||||
vm:write_to_map()
|
|
||||||
vm:update_map()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
|
24
init.lua
@ -1,11 +1,12 @@
|
|||||||
-- riverdev 0.4.4 by paramat
|
-- riverdev 0.4.5 by paramat
|
||||||
-- For latest stable Minetest and back to 0.4.8
|
-- For latest stable Minetest and back to 0.4.8
|
||||||
-- Depends default
|
-- Depends default
|
||||||
-- License: code WTFPL
|
-- License: code WTFPL
|
||||||
|
|
||||||
-- mod nodes drop default dirt for farming
|
-- overlen variable
|
||||||
-- trees now have vi = vi + 1 optimisation
|
-- remove autumn trees
|
||||||
-- emerlen used for vertical columns
|
-- remove freshwater bucket
|
||||||
|
-- remove unused schem folder
|
||||||
|
|
||||||
-- Parameters
|
-- Parameters
|
||||||
|
|
||||||
@ -184,10 +185,11 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||||||
local c_mixwaterflow = minetest.get_content_id("riverdev:mixwaterflow")
|
local c_mixwaterflow = minetest.get_content_id("riverdev:mixwaterflow")
|
||||||
|
|
||||||
local sidelen = x1 - x0 + 1 -- chunk sidelen
|
local sidelen = x1 - x0 + 1 -- chunk sidelen
|
||||||
|
local overlen = sidelen + 1 -- overgeneration sidelen
|
||||||
local emerlen = sidelen + 32 -- voxelmanip emerged area sidelen
|
local emerlen = sidelen + 32 -- voxelmanip emerged area sidelen
|
||||||
local chulensxyz = {x=sidelen+1, y=sidelen+2, z=sidelen+1}
|
local chulensxyz = {x=overlen, y=sidelen+2, z=overlen}
|
||||||
local minposxyz = {x=x0-1, y=y0-1, z=z0-1}
|
local minposxyz = {x=x0-1, y=y0-1, z=z0-1}
|
||||||
local chulensxz = {x=sidelen+1, y=sidelen+1, z=sidelen} -- different because here x=x, y=z
|
local chulensxz = {x=overlen, y=overlen, z=sidelen} -- different because here x=x, y=z
|
||||||
local minposxz = {x=x0-1, y=z0-1}
|
local minposxz = {x=x0-1, y=z0-1}
|
||||||
|
|
||||||
local nvals_terrain = minetest.get_perlin_map(np_terrain, chulensxyz):get3dMap_flat(minposxyz)
|
local nvals_terrain = minetest.get_perlin_map(np_terrain, chulensxyz):get3dMap_flat(minposxyz)
|
||||||
@ -224,11 +226,11 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||||||
|
|
||||||
local n_patha = nvals_patha[nixz]
|
local n_patha = nvals_patha[nixz]
|
||||||
local n_abspatha = math.abs(n_patha)
|
local n_abspatha = math.abs(n_patha)
|
||||||
local n_zprepatha = nvals_patha[(nixz - sidelen - 1)]
|
local n_zprepatha = nvals_patha[(nixz - overlen)]
|
||||||
|
|
||||||
local n_pathb = nvals_pathb[nixz]
|
local n_pathb = nvals_pathb[nixz]
|
||||||
local n_abspathb = math.abs(n_pathb)
|
local n_abspathb = math.abs(n_pathb)
|
||||||
local n_zprepathb = nvals_pathb[(nixz - sidelen - 1)]
|
local n_zprepathb = nvals_pathb[(nixz - overlen)]
|
||||||
|
|
||||||
local n_terrain = (nvals_terrain[nixyz] + 2) / 2
|
local n_terrain = (nvals_terrain[nixyz] + 2) / 2
|
||||||
local n_absmid = (math.abs(nvals_mid[nixz])) ^ 0.8
|
local n_absmid = (math.abs(nvals_mid[nixz])) ^ 0.8
|
||||||
@ -379,7 +381,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||||||
local vi = area:index(x, y-2, z)
|
local vi = area:index(x, y-2, z)
|
||||||
for j = 1, 16 do
|
for j = 1, 16 do
|
||||||
data[vi] = c_wood
|
data[vi] = c_wood
|
||||||
vi = vi - 112
|
vi = vi - emerlen
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
for k = -1, 1 do
|
for k = -1, 1 do
|
||||||
@ -409,9 +411,9 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||||||
viu = viu + 1
|
viu = viu + 1
|
||||||
si = si + 1
|
si = si + 1
|
||||||
end
|
end
|
||||||
nixz = nixz - sidelen - 1
|
nixz = nixz - overlen
|
||||||
end
|
end
|
||||||
nixz = nixz + sidelen + 1
|
nixz = nixz + overlen
|
||||||
end
|
end
|
||||||
|
|
||||||
vm:set_data(data)
|
vm:set_data(data)
|
||||||
|
129
nodes.lua
@ -27,39 +27,6 @@ minetest.register_node("riverdev:grass", {
|
|||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("riverdev:yellowleafgrass", {
|
|
||||||
description = "Grass With Yellow Leaves",
|
|
||||||
tiles = {"default_grass.png^riverdev_yellowleaf.png", "default_dirt.png", "default_grass.png"},
|
|
||||||
is_ground_content = false,
|
|
||||||
groups = {crumbly=3},
|
|
||||||
drop = "default:dirt",
|
|
||||||
sounds = default.node_sound_dirt_defaults({
|
|
||||||
footstep = {name="default_grass_footstep", gain=0.25},
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("riverdev:orangeleafgrass", {
|
|
||||||
description = "Grass With Orange Leaves",
|
|
||||||
tiles = {"default_grass.png^riverdev_orangeleaf.png", "default_dirt.png", "default_grass.png"},
|
|
||||||
is_ground_content = false,
|
|
||||||
groups = {crumbly=3},
|
|
||||||
drop = "default:dirt",
|
|
||||||
sounds = default.node_sound_dirt_defaults({
|
|
||||||
footstep = {name="default_grass_footstep", gain=0.25},
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("riverdev:redleafgrass", {
|
|
||||||
description = "Grass With Red Leaves",
|
|
||||||
tiles = {"default_grass.png^riverdev_redleaf.png", "default_dirt.png", "default_grass.png"},
|
|
||||||
is_ground_content = false,
|
|
||||||
groups = {crumbly=3},
|
|
||||||
drop = "default:dirt",
|
|
||||||
sounds = default.node_sound_dirt_defaults({
|
|
||||||
footstep = {name="default_grass_footstep", gain=0.25},
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("riverdev:path", {
|
minetest.register_node("riverdev:path", {
|
||||||
description = "Dirt Path",
|
description = "Dirt Path",
|
||||||
tiles = {"riverdev_path.png"},
|
tiles = {"riverdev_path.png"},
|
||||||
@ -87,78 +54,6 @@ minetest.register_node("riverdev:appleleaf", {
|
|||||||
sounds = default.node_sound_leaves_defaults(),
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("riverdev:yellowleaf", {
|
|
||||||
description = "Yellow Leaves",
|
|
||||||
drawtype = "allfaces_optional",
|
|
||||||
visual_scale = 1.3,
|
|
||||||
tiles = {"riverdev_yellowleaf.png"},
|
|
||||||
paramtype = "light",
|
|
||||||
is_ground_content = false,
|
|
||||||
groups = {snappy=3, flammable=2},
|
|
||||||
drop = "",
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("riverdev:yellowleafinit", {
|
|
||||||
description = "Initial Yellow Leaves",
|
|
||||||
drawtype = "allfaces_optional",
|
|
||||||
visual_scale = 1.3,
|
|
||||||
tiles = {"riverdev_yellowleaf.png"},
|
|
||||||
paramtype = "light",
|
|
||||||
is_ground_content = false,
|
|
||||||
groups = {snappy=3, flammable=2},
|
|
||||||
drop = "",
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("riverdev:orangeleaf", {
|
|
||||||
description = "Orange Leaves",
|
|
||||||
drawtype = "allfaces_optional",
|
|
||||||
visual_scale = 1.3,
|
|
||||||
tiles = {"riverdev_orangeleaf.png"},
|
|
||||||
paramtype = "light",
|
|
||||||
is_ground_content = false,
|
|
||||||
groups = {snappy=3, flammable=2},
|
|
||||||
drop = "",
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("riverdev:orangeleafinit", {
|
|
||||||
description = "Initial Orange Leaves",
|
|
||||||
drawtype = "allfaces_optional",
|
|
||||||
visual_scale = 1.3,
|
|
||||||
tiles = {"riverdev_orangeleaf.png"},
|
|
||||||
paramtype = "light",
|
|
||||||
is_ground_content = false,
|
|
||||||
groups = {snappy=3, flammable=2},
|
|
||||||
drop = "",
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("riverdev:redleaf", {
|
|
||||||
description = "Red Leaves",
|
|
||||||
drawtype = "allfaces_optional",
|
|
||||||
visual_scale = 1.3,
|
|
||||||
tiles = {"riverdev_redleaf.png"},
|
|
||||||
paramtype = "light",
|
|
||||||
is_ground_content = false,
|
|
||||||
groups = {snappy=3, flammable=2},
|
|
||||||
drop = "",
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("riverdev:redleafinit", {
|
|
||||||
description = "Initial Red Leaves",
|
|
||||||
drawtype = "allfaces_optional",
|
|
||||||
visual_scale = 1.3,
|
|
||||||
tiles = {"riverdev_redleaf.png"},
|
|
||||||
paramtype = "light",
|
|
||||||
is_ground_content = false,
|
|
||||||
groups = {snappy=3, flammable=2},
|
|
||||||
drop = "",
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("riverdev:appling", {
|
minetest.register_node("riverdev:appling", {
|
||||||
description = "Appletree Sapling",
|
description = "Appletree Sapling",
|
||||||
drawtype = "plantlike",
|
drawtype = "plantlike",
|
||||||
@ -391,19 +286,13 @@ minetest.register_craft({
|
|||||||
|
|
||||||
-- Register stairs and slabs
|
-- Register stairs and slabs
|
||||||
|
|
||||||
stairs.register_stair_and_slab("pinewood", "riverdev:pinewood",
|
stairs.register_stair_and_slab(
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
"pinewood",
|
||||||
{"riverdev_pinewood.png"},
|
"riverdev:pinewood",
|
||||||
"Pinewood stair",
|
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
||||||
"Pinewood slab",
|
{"riverdev_pinewood.png"},
|
||||||
default.node_sound_wood_defaults())
|
"Pinewood stair",
|
||||||
|
"Pinewood slab",
|
||||||
-- Buckets
|
default.node_sound_wood_defaults()
|
||||||
|
|
||||||
bucket.register_liquid(
|
|
||||||
"riverdev:freshwater",
|
|
||||||
"riverdev:freshwaterflow",
|
|
||||||
"riverdev:bucket_freshwater",
|
|
||||||
"riverdev_bucketfreshwater.png",
|
|
||||||
"Fresh Water Bucket"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
BIN
schems/flat.mts
Before Width: | Height: | Size: 193 B |
Before Width: | Height: | Size: 330 B |
Before Width: | Height: | Size: 860 B After Width: | Height: | Size: 732 B |
Before Width: | Height: | Size: 250 B |
Before Width: | Height: | Size: 250 B |
Before Width: | Height: | Size: 250 B |