152 lines
4.5 KiB
Lua
152 lines
4.5 KiB
Lua
-- This file supplies jungle grass for the plantlife modpack
|
|
-- Last revision: 2013-01-24
|
|
|
|
local SPAWN_DELAY = 1000
|
|
local SPAWN_CHANCE = 200
|
|
local GROW_DELAY = 500
|
|
local GROW_CHANCE = 30
|
|
local junglegrass_seed_diff = 329
|
|
|
|
local grasses_list = {
|
|
{"junglegrass:shortest","junglegrass:short" },
|
|
{"junglegrass:short" ,"junglegrass:medium" },
|
|
{"junglegrass:medium" ,"default:junglegrass" },
|
|
{"default:junglegrass" , nil}
|
|
}
|
|
|
|
minetest.register_node('junglegrass:medium', {
|
|
description = "Jungle Grass (medium height)",
|
|
drawtype = 'nodebox',
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.125, -0.5, -0.125, 0.125, 0.0625, 0.125}, -- NodeBox18
|
|
{0.125, 0.0625, -0.125, 0.375, 0.3125, 0.125}, -- NodeBox19
|
|
{0.25, -0.5, 0.25, 0.5, -0.25, 0.5}, -- NodeBox20
|
|
{-0.5, -0.5, 0.25, -0.25, -0.375, 0.5}, -- NodeBox21
|
|
{0.25, -0.5, -0.5, 0.5, -0.3125, -0.25}, -- NodeBox22
|
|
{-0.5, -0.5, -0.5, -0.25, -0.1875, -0.25}, -- NodeBox23
|
|
}
|
|
},
|
|
tile_images = { 'junglegrass.png' },
|
|
inventory_image = 'junglegrass_medium.png',
|
|
wield_image = 'junglegrass_medium.png',
|
|
sunlight_propagates = true,
|
|
paramtype = 'light',
|
|
paramtype2 = "facedir",
|
|
walkable = false,
|
|
groups = { snappy = 3, flammable=2, junglegrass=1, flora=1 },
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
drop = 'default:junglegrass',
|
|
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.4, -0.5, -0.4, 0.4, 0.5, 0.4},
|
|
},
|
|
buildable_to = true,
|
|
})
|
|
|
|
minetest.register_node('junglegrass:short', {
|
|
description = "Jungle Grass (short)",
|
|
drawtype = 'nodebox',
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.125, -0.5, -0.125, 0.125, -0.0625, 0.125}, -- NodeBox18
|
|
{0.125, -0.0625, -0.125, 0.375, 0.1875, 0.125}, -- NodeBox19
|
|
{0.25, -0.5, 0.25, 0.5, -0.3125, 0.5}, -- NodeBox20
|
|
{-0.5, -0.5, 0.25, -0.25, -0.4375, 0.5}, -- NodeBox21
|
|
{0.25, -0.5, -0.5, 0.5, -0.375, -0.25}, -- NodeBox22
|
|
{-0.5, -0.5, -0.5, -0.25, -0.3125, -0.25}, -- NodeBox23
|
|
}
|
|
},
|
|
tile_images = { 'junglegrass.png' },
|
|
inventory_image = 'junglegrass_short.png',
|
|
wield_image = 'junglegrass_short.png',
|
|
sunlight_propagates = true,
|
|
paramtype = 'light',
|
|
paramtype2 = "facedir",
|
|
walkable = false,
|
|
groups = { snappy = 3, flammable=2, junglegrass=1, flora=1 },
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
drop = 'default:junglegrass',
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.4, -0.5, -0.4, 0.4, 0.3, 0.4},
|
|
},
|
|
buildable_to = true,
|
|
})
|
|
|
|
minetest.register_node('junglegrass:shortest', {
|
|
description = "Jungle Grass (very short)",
|
|
drawtype = "nodebox",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.125, -0.5, -0.125, 0.125, -0.0625, 0.125}, -- NodeBox18
|
|
{0.125, -0.0625, -0.125, 0.375, 0.1875, 0.125}, -- NodeBox19
|
|
}
|
|
},
|
|
tile_images = { 'junglegrass.png' },
|
|
inventory_image = 'junglegrass_shortest.png',
|
|
wield_image = 'junglegrass_shortest.png',
|
|
sunlight_propagates = true,
|
|
paramtype = 'light',
|
|
paramtype2 = "facedir",
|
|
walkable = false,
|
|
groups = { snappy = 3, flammable=2, junglegrass=1, flora=1 },
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
drop = 'default:junglegrass',
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3},
|
|
},
|
|
buildable_to = true,
|
|
})
|
|
|
|
plantslib:spawn_on_surfaces({
|
|
spawn_delay = SPAWN_DELAY,
|
|
spawn_plants = {"junglegrass:shortest"},
|
|
avoid_radius = 4,
|
|
spawn_chance = SPAWN_CHANCE,
|
|
spawn_surfaces = {"default:dirt_with_grass", "default:cactus", "default:papyrus"},
|
|
avoid_nodes = {"group:junglegrass", "default:junglegrass", "default:dry_shrub"},
|
|
seed_diff = junglegrass_seed_diff,
|
|
light_min = 5
|
|
})
|
|
|
|
plantslib:spawn_on_surfaces({
|
|
spawn_delay = SPAWN_DELAY,
|
|
spawn_plants = {"junglegrass:shortest"},
|
|
avoid_radius = 4,
|
|
spawn_chance = SPAWN_CHANCE*2,
|
|
spawn_surfaces = {"default:sand"},
|
|
avoid_nodes = {"group:junglegrass", "default:junglegrass", "default:dry_shrub"},
|
|
seed_diff = junglegrass_seed_diff,
|
|
light_min = 5
|
|
})
|
|
|
|
plantslib:spawn_on_surfaces({
|
|
spawn_delay = SPAWN_DELAY,
|
|
spawn_plants = {"junglegrass:shortest"},
|
|
avoid_radius = 4,
|
|
spawn_chance = SPAWN_CHANCE*5,
|
|
spawn_surfaces = {"default:desert_sand"},
|
|
avoid_nodes = {"group:junglegrass", "default:junglegrass", "default:dry_shrub"},
|
|
seed_diff = junglegrass_seed_diff,
|
|
light_min = 5
|
|
})
|
|
|
|
for i in ipairs(grasses_list) do
|
|
plantslib:grow_plants({
|
|
grow_delay = GROW_DELAY,
|
|
grow_chance = GROW_CHANCE/2,
|
|
grow_plant = grasses_list[i][1],
|
|
grow_result = grasses_list[i][2],
|
|
dry_early_node = "default:desert_sand",
|
|
grow_nodes = {"default:dirt_with_grass", "default:sand", "default:desert_sand"}
|
|
})
|
|
end
|
|
|
|
print("[Junglegrass] Loaded.")
|