Whoops, forgot this one.

master
user 2012-06-28 21:24:51 +00:00
parent 04a9cb53b0
commit 1b000c8dc5
1 changed files with 0 additions and 356 deletions

View File

@ -1,356 +0,0 @@
GLOWLIKE('growlamp','Growlamp','plantlike')
minetest.register_node("madblocks:promix", {
description = "Promix",
tile_images = {"madblocks_promix.png"},
is_ground_content = true,
groups = {crumbly=3},
sounds = default.node_sound_dirt_defaults(),
})
get_plantname = {} -- plants index by nodenames (tomato1, tomato2, seeds_tomato, etc..)
get_plantbynumber = {} -- plants index by number (for random select)
get_wildplants = {} -- wildplant nodenames (pop control)
local is_specialharvest = function(plantname)
local result = 'madblocks:hydroponics_'..plantname
if HYDROPONICS_PLANTS[plantname].give_on_harvest ~= nil then result = HYDROPONICS_PLANTS[plantname].give_on_harvest end
return result
end
for index,plant in pairs(HYDROPONICS_PLANTS) do
-- define nodes
minetest.register_node("madblocks:hydroponics_wild_"..plant.name, {
description = "Wild Plant",
drawtype = "plantlike",
visual_scale = 1.0,
tile_images = {"madblocks_hydroponics_wildplant.png"},
paramtype = "light",
walkable = false,
groups = {snappy=3,flammable=3},
sounds = default.node_sound_leaves_defaults(),
drop = 'madblocks:hydroponics_seeds_'..plant.name..' 4',
selection_box = {
type = "fixed",
fixed = {-1/3, -1/2, -1/3, 1/3, 1/6, 1/3},
},
})
minetest.register_node("madblocks:hydroponics_seeds_"..plant.name, {
description = plant.name.." Seeds",
drawtype = "signlike",
tile_images = {"madblocks_hydroponics_seeds.png"},
inventory_image = "madblocks_hydroponics_seeds.png",
wield_image = "madblocks_hydroponics_seeds.png",
paramtype = "light",
paramtype2 = "wallmounted",
is_ground_content = true,
walkable = false,
climbable = false,
selection_box = {
type = "wallmounted",
--wall_top = = <default>
--wall_bottom = = <default>
--wall_side = = <default>
},
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3},
legacy_wallmounted = true,
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node('madblocks:hydroponics_seedlings_'..plant.name, {
drawtype = 'plantlike',
visual_scale = 1.0,
tile_images = { 'madblocks_hydroponics_seedlings.png' },
inventory_image = 'madblocks_hydroponics_seedlings.png',
sunlight_propagates = true,
paramtype = 'light',
walkable = false,
furnace_burntime = 1,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
drop = '',
})
minetest.register_node('madblocks:hydroponics_sproutlings_' .. plant.name, {
drawtype = 'plantlike',
visual_scale = 1.0,
tile_images = { 'madblocks_hydroponics_sproutlings.png' },
inventory_image = 'madblocks_hydroponics_sproutlings.png',
sunlight_propagates = true,
paramtype = 'light',
walkable = false,
furnace_burntime = 1,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
drop = '',
})
minetest.register_node('madblocks:hydroponics_'..plant.name..'1', {
description = 'Tomato Plant (Young)',
drawtype = 'plantlike',
visual_scale = 1.0,
tile_images = { 'madblocks_hydroponics_'..plant.name..'1.png' },
inventory_image = 'madblocks_hydroponics_'..plant.name..'1.png',
sunlight_propagates = true,
paramtype = 'light',
walkable = false,
furnace_burntime = 1,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
drop = '',
})
local ondig = nil
if plant.growtype == 'permaculture' then
plant.growtype = 'growshort'
ondig = function(pos,node)
minetest.env:add_node(pos,{type='node',name='madblocks:hydroponics_'..plant.name..'1'})
end
end
minetest.register_node('madblocks:hydroponics_'..plant.name..'2', {
description = 'Tomato Plant (Youngish)',
drawtype = 'plantlike',
visual_scale = 1.0,
tile_images = { 'madblocks_hydroponics_'..plant.name..'2.png' },
inventory_image = 'madblocks_hydroponics_'..plant.name..'2.png',
sunlight_propagates = true,
paramtype = 'light',
walkable = false,
furnace_burntime = 1,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
on_dig = ondig,
drop = '',
})
minetest.register_node('madblocks:hydroponics_'..plant.name..'3', {
description = 'Tomato Plant (Fruitings)',
drawtype = 'plantlike',
visual_scale = 1.0,
tile_images = { 'madblocks_hydroponics_'..plant.name..'3.png' },
inventory_image = 'madblocks_hydroponics_'..plant.name..'3.png',
sunlight_propagates = true,
paramtype = 'light',
walkable = false,
furnace_burntime = 1,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
on_dig = ondig,
drop = '',
})
local harvest = 'madblocks:hydroponics_'..plant.name
if plant.give_on_harvest ~= nil then harvest = plant.give_on_harvest end
minetest.register_node('madblocks:hydroponics_'..plant.name..'4', {
description = 'Tomato Plant (Ripe)',
drawtype = 'plantlike',
visual_scale = 1.0,
tile_images = { 'madblocks_hydroponics_'..plant.name..'4.png' },
inventory_image = 'madblocks_hydroponics_'..plant.name..'4.png',
sunlight_propagates = true,
paramtype = 'light',
walkable = false,
furnace_burntime = 1,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
on_dig = ondig,
drop = {
items = {
{ items = {'madblocks:hydroponics_seeds_'..plant.name..' 4'},
rarity = 6,
},
{
items = {harvest..' 4'},
}
}
},
})
if plant.give_on_harvest == nil then
minetest.register_node("madblocks:hydroponics_"..plant.name, {
description = plant.name,
drawtype = "plantlike",
visual_scale = 1.0,
tile_images = {"madblocks_hydroponics_"..plant.name..".png"},
inventory_image = "madblocks_hydroponics_"..plant.name..".png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
groups = {fleshy=3,dig_immediate=3,flammable=2},
on_use = minetest.item_eat(4),
sounds = default.node_sound_defaults(),
})
end
table.insert(get_wildplants, 'madblocks:hydroponics_wild_'..plant.name)
table.insert(get_plantbynumber, plant.name)
get_plantname["madblocks:hydroponics_"..plant.name.."4"] = plant.name
get_plantname["madblocks:hydroponics_"..plant.name.."3"] = plant.name
get_plantname["madblocks:hydroponics_"..plant.name.."2"] = plant.name
get_plantname["madblocks:hydroponics_"..plant.name.."1"] = plant.name
get_plantname['madblocks:hydroponics_sproutlings_'..plant.name] = plant.name
get_plantname['madblocks:hydroponics_seedlings_'..plant.name] = plant.name
get_plantname['madblocks:hydroponics_seeds_'..plant.name] = plant.name
end
-- GROW (TALL) FUNCTION
growtall = function (plantname, nodename, grnode)
if nodename == 'madblocks:hydroponics_'..plantname..'3' then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_"..plantname.."4"})
minetest.env:add_node(grnode.grow2,{type="node",name="madblocks:hydroponics_"..plantname.."4"})
elseif nodename == 'madblocks:hydroponics_'..plantname..'2' then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_"..plantname.."3"})
minetest.env:add_node(grnode.grow2,{type="node",name="madblocks:hydroponics_"..plantname.."3"})
elseif nodename == 'madblocks:hydroponics_'..plantname..'1' then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_"..plantname.."2"})
minetest.env:add_node(grnode.grow2,{type="node",name="madblocks:hydroponics_"..plantname.."2"})
elseif nodename =='madblocks:hydroponics_sproutlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_"..plantname.."1"})
elseif nodename == 'madblocks:hydroponics_seedlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_sproutlings_"..plantname})
elseif nodename == 'madblocks:hydroponics_seeds_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_seedlings_"..plantname})
end
end
growshort = function (plantname, nodename, grnode)
if nodename == 'madblocks:hydroponics_'..plantname..'3' then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_"..plantname.."4"})
-- minetest.env:add_node(grnode.grow2,{type="node",name="madblocks:hydroponics_"..plantname.."4"})
elseif nodename == 'madblocks:hydroponics_'..plantname..'2' then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_"..plantname.."3"})
-- minetest.env:add_node(grnode.grow2,{type="node",name="madblocks:hydroponics_"..plantname.."3"})
elseif nodename == 'madblocks:hydroponics_'..plantname..'1' then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_"..plantname.."2"})
-- minetest.env:add_node(grnode.grow2,{type="node",name="madblocks:hydroponics_"..plantname.."2"})
elseif nodename =='madblocks:hydroponics_sproutlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_"..plantname.."1"})
elseif nodename == 'madblocks:hydroponics_seedlings_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_sproutlings_"..plantname})
elseif nodename == 'madblocks:hydroponics_seeds_'..plantname then minetest.env:add_node(grnode.grow1,{type="node",name="madblocks:hydroponics_seedlings_"..plantname})
end
end
-- WILD PLANTS/SEEDS GENERATING
minetest.register_abm({
nodenames = { "default:dirt_with_grass" },
interval = NATURE_GROW_INTERVAL,
chance = 80,
action = function(pos, node, active_object_count, active_object_count_wider)
local air = { x=pos.x, y=pos.y+1,z=pos.z }
local is_air = minetest.env:get_node_or_nil(air)
if is_air ~= nil and is_air.name == 'air' then
local count = table.getn(get_plantbynumber)
local random_plant = math.random(1,count)
local nodename = "madblocks:hydroponics_wild_"..get_plantbynumber[random_plant]
minetest.env:add_node({x=pos.x,y=pos.y+1,z=pos.z},{type="node",name=nodename})
end
end
})
minetest.register_abm({
nodenames = get_wildplants,
interval = NATURE_GROW_INTERVAL,
chance = 2,
action = function(pos, node, active_object_count, active_object_count_wider)
minetest.env:remove_node({x=pos.x,y=pos.y,z=pos.z})
end
})
-- GROWING
minetest.register_abm({
nodenames = { "madblocks:growlamp" },
interval = HYDRO_GROW_INTERVAL,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local grnode1 = {water = {x=pos.x,y=pos.y-5,z=pos.z}, mix = {x=pos.x,y=pos.y-4,z=pos.z},grow1 = {x=pos.x,y=pos.y-3,z=pos.z}, grow2 = {x=pos.x,y=pos.y-2,z=pos.z}}
local grnode2 = {water = {x=pos.x-1,y=pos.y-5,z=pos.z}, mix = {x=pos.x-1,y=pos.y-4,z=pos.z},grow1 = {x=pos.x-1, y=pos.y-3,z=pos.z}, grow2 = {x=pos.x-1,y=pos.y-2,z=pos.z}}
local grnode3 = {water = {x=pos.x+1,y=pos.y-5,z=pos.z}, mix = {x=pos.x+1,y=pos.y-4,z=pos.z},grow1 = {x=pos.x+1, y=pos.y-3,z=pos.z}, grow2 = {x=pos.x+1,y=pos.y-2,z=pos.z}}
local grnode4 = {water = {x=pos.x,y=pos.y-5,z=pos.z-1}, mix = {x=pos.x,y=pos.y-4,z=pos.z-1},grow1 = {x=pos.x, y=pos.y-3, z=pos.z-1}, grow2 = {x=pos.x,y=pos.y-2,z=pos.z-1}}
local grnode5 = {water = {x=pos.x,y=pos.y-5,z=pos.z+1}, mix = {x=pos.x,y=pos.y-4,z=pos.z+1},grow1 = {x=pos.x, y=pos.y-3, z=pos.z+1}, grow2 = {x=pos.x,y=pos.y-2,z=pos.z+1}}
local grnode6 = {water = {x=pos.x-1,y=pos.y-5,z=pos.z-1}, mix = {x=pos.x-1,y=pos.y-4,z=pos.z-1},grow1 = {x=pos.x-1,y=pos.y-3,z=pos.z-1}, grow2 = {x=pos.x-1,y=pos.y-2,z=pos.z-1}}
local grnode7 = {water = {x=pos.x-1,y=pos.y-5,z=pos.z+1}, mix = {x=pos.x-1,y=pos.y-4,z=pos.z+1},grow1 = {x=pos.x-1,y=pos.y-3,z=pos.z+1}, grow2 = {x=pos.x-1,y=pos.y-2,z=pos.z+1}}
local grnode8 = {water = {x=pos.x+1,y=pos.y-5,z=pos.z-1}, mix = {x=pos.x+1,y=pos.y-4,z=pos.z-1},grow1 = {x=pos.x+1,y=pos.y-3,z=pos.z-1}, grow2 = {x=pos.x+1,y=pos.y-2,z=pos.z-1}}
local grnode9 = {water = {x=pos.x+1,y=pos.y-5,z=pos.z+1}, mix = {x=pos.x+1,y=pos.y-4,z=pos.z+1},grow1 = {x=pos.x+1,y=pos.y-3,z=pos.z+1}, grow2 = {x=pos.x+1,y=pos.y-2,z=pos.z+1}}
local water1 = minetest.env:get_node(grnode1.water)
if water1.name == 'default:water_source' or water1.name == 'default:water_flowing' then water1 = true end
local ismix1 = minetest.env:get_node(grnode1.mix)
local water2 = minetest.env:get_node(grnode2.water)
if water2.name == 'default:water_source' or water2.name == 'default:water_flowing' then water2 = true end
local ismix2 = minetest.env:get_node(grnode2.mix)
local water3 = minetest.env:get_node(grnode3.water)
if water3.name == 'default:water_source' or water3.name == 'default:water_flowing' then water3 = true end
local ismix3 = minetest.env:get_node(grnode3.mix)
local water4 = minetest.env:get_node(grnode4.water)
if water4.name == 'default:water_source' or water4.name == 'default:water_flowing' then water4 = true end
local ismix4 = minetest.env:get_node(grnode4.mix)
local water5 = minetest.env:get_node(grnode5.water)
if water5.name == 'default:water_source' or water5.name == 'default:water_flowing' then water5 = true end
local ismix5 = minetest.env:get_node(grnode5.mix)
local water6 = minetest.env:get_node(grnode6.water)
if water6.name == 'default:water_source' or water6.name == 'default:water_flowing' then water6 = true end
local ismix6 = minetest.env:get_node(grnode6.mix)
local water7 = minetest.env:get_node(grnode7.water)
if water7.name == 'default:water_source' or water7.name == 'default:water_flowing' then water7 = true end
local ismix7 = minetest.env:get_node(grnode7.mix)
local water8 = minetest.env:get_node(grnode8.water)
if water8.name == 'default:water_source' or water8.name == 'default:water_flowing' then water8 = true end
local ismix8 = minetest.env:get_node(grnode8.mix)
local water9 = minetest.env:get_node(grnode9.water)
if water9.name == 'default:water_source' or water9.name == 'default:water_flowing' then water9 = true end
local ismix9 = minetest.env:get_node(grnode9.mix)
if water1 == true and ismix1.name == 'madblocks:promix' then
local grow1 = minetest.env:get_node(grnode1.grow1)
local curplant = get_plantname[grow1.name]
if curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow1.name,grnode1) -- *** GENERIC GROW FUNCTION
elseif curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow1.name,grnode1) end -- *** GENERIC GROW FUNCTION
end
if water2 == true and ismix2.name == 'madblocks:promix' then
local grow2 = minetest.env:get_node(grnode2.grow1)
local curplant = get_plantname[grow2.name]
if curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow2.name,grnode2) -- *** GENERIC GROW FUNCTION
elseif curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow2.name,grnode2) end -- *** GENERIC GROW FUNCTION
end
if water3 == true and ismix3.name == 'madblocks:promix' then
local grow3 = minetest.env:get_node(grnode3.grow1)
local curplant = get_plantname[grow3.name]
if curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow3.name,grnode3) -- *** GENERIC GROW FUNCTION
elseif curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow3.name,grnode3) end -- *** GENERIC GROW FUNCTION
end
if water4 == true and ismix4.name == 'madblocks:promix' then
local grow4 = minetest.env:get_node(grnode4.grow1)
local curplant = get_plantname[grow4.name]
if curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow4.name,grnode4) -- *** GENERIC GROW FUNCTION
elseif curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow4.name,grnode4) end -- *** GENERIC GROW FUNCTION
end
if water5 == true and ismix5.name == 'madblocks:promix' then
local grow5 = minetest.env:get_node(grnode5.grow1)
local curplant = get_plantname[grow5.name]
if curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow5.name,grnode5) -- *** GENERIC GROW FUNCTION
elseif curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow5.name,grnode5) end -- *** GENERIC GROW FUNCTION
end
if water6 == true and ismix6.name == 'madblocks:promix' then
local grow6 = minetest.env:get_node(grnode6.grow1)
local curplant = get_plantname[grow6.name]
if curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow6.name,grnode6) -- *** GENERIC GROW FUNCTION
elseif curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow6.name,grnode6) end -- *** GENERIC GROW FUNCTION
end
if water7 == true and ismix7.name == 'madblocks:promix' then
local grow7 = minetest.env:get_node(grnode7.grow1)
local curplant = get_plantname[grow7.name]
if curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow7.name,grnode7) -- *** GENERIC GROW FUNCTION
elseif curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow7.name,grnode7) end -- *** GENERIC GROW FUNCTION
end
if water8 == true and ismix8.name == 'madblocks:promix' then
local grow8 = minetest.env:get_node(grnode8.grow1)
local curplant = get_plantname[grow8.name]
if curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow8.name,grnode8) -- *** GENERIC GROW FUNCTION
elseif curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow8.name,grnode8) end -- *** GENERIC GROW FUNCTION
end
if water9 == true and ismix9.name == 'madblocks:promix' then
local grow9 = minetest.env:get_node(grnode9.grow1)
local curplant = get_plantname[grow9.name]
if curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growtall' then growtall(curplant,grow9.name,grnode9) -- *** GENERIC GROW FUNCTION
elseif curplant ~= nil and HYDROPONICS_PLANTS[curplant].growtype == 'growshort' then growshort(curplant,grow9.name,grnode9) end -- *** GENERIC GROW FUNCTION
end
end
})