forked from Mineclonia/Mineclonia
Generate new grass color
This commit is contained in:
parent
6002cd0af5
commit
62096c723a
|
@ -1639,6 +1639,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
||||||
local data = vm:get_data(lvm_buffer)
|
local data = vm:get_data(lvm_buffer)
|
||||||
local param2_data = vm:get_param2_data(lvm_buffer_param2)
|
local param2_data = vm:get_param2_data(lvm_buffer_param2)
|
||||||
local area = VoxelArea:new({MinEdge=emin, MaxEdge=emax})
|
local area = VoxelArea:new({MinEdge=emin, MaxEdge=emax})
|
||||||
|
local aream = VoxelArea:new({MinEdge={x=minp.x, y=0, z=minp.z}, MaxEdge={x=maxp.x, y=0, z=maxp.z}})
|
||||||
local lvm_used = false
|
local lvm_used = false
|
||||||
local biomemap
|
local biomemap
|
||||||
|
|
||||||
|
@ -1792,13 +1793,25 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
||||||
|
|
||||||
|
|
||||||
-- Non-v6 mapgens:
|
-- Non-v6 mapgens:
|
||||||
-- Clear snowy grass blocks without snow above to ensure consistency.
|
|
||||||
else
|
else
|
||||||
local nodes = minetest.find_nodes_in_area(minp, maxp, {"mcl_core:dirt_with_grass_snow"})
|
-- Set param2 (=color) of grass blocks.
|
||||||
|
-- Clear snowy grass blocks without snow above to ensure consistency.
|
||||||
|
local nodes = minetest.find_nodes_in_area(minp, maxp, {"mcl_core:dirt_with_grass", "mcl_core:dirt_with_grass_snow"})
|
||||||
for n=1, #nodes do
|
for n=1, #nodes do
|
||||||
local p_pos = area:index(nodes[n].x, nodes[n].y, nodes[n].z)
|
local p_pos = area:index(nodes[n].x, nodes[n].y, nodes[n].z)
|
||||||
local p_pos_above = area:index(nodes[n].x, nodes[n].y+1, nodes[n].z)
|
local p_pos_above = area:index(nodes[n].x, nodes[n].y+1, nodes[n].z)
|
||||||
local p_pos_below = area:index(nodes[n].x, nodes[n].y-1, nodes[n].z)
|
local p_pos_below = area:index(nodes[n].x, nodes[n].y-1, nodes[n].z)
|
||||||
|
local b_pos = aream:index(nodes[n].x, 0, nodes[n].z)
|
||||||
|
local bn = minetest.get_biome_name(biomemap[b_pos])
|
||||||
|
if bn then
|
||||||
|
local biome = minetest.registered_biomes[bn]
|
||||||
|
if biome then
|
||||||
|
if biome._mcl_biome_type == "hot" then
|
||||||
|
param2_data[p_pos] = 1
|
||||||
|
lvm_used = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
if data[p_pos] == c_dirt_with_grass_snow and p_pos_above and data[p_pos_above] ~= c_top_snow and data[p_pos_above] ~= c_snow_block then
|
if data[p_pos] == c_dirt_with_grass_snow and p_pos_above and data[p_pos_above] ~= c_top_snow and data[p_pos_above] ~= c_snow_block then
|
||||||
data[p_pos] = c_dirt_with_grass
|
data[p_pos] = c_dirt_with_grass
|
||||||
lvm_used = true
|
lvm_used = true
|
||||||
|
|
Loading…
Reference in New Issue