ANOTHER EDIT: If you want to have it so the dirt bed doesn't revert to dirt see bottom of post for code change. Will be fixed next version
Decided to try my hand at doing a mod and decided to do one others may not be likely to do.
So, I modded the wheat mod done by Victor Hackeridze hackeridze@gmail.com and created a weed mod. Very early stages but seems to work.
License: DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
License URL: http://sam.zoy.org/wtfpl/COPYING
TODO:
* Grow lights
* Better graphics (feel free to contribute)
* Some other stuff I may come up with
Depends:
default
So it works by creating a "weed dirt bed":
dirt, sand, dirt = 3 weed dirt beds
(there should also be wild weed plants now) Initially you will have to give yourself seeds ( /giveme weed:weed_seeds 99 ). Craft weed dirt beds. Sow "seeds" (looks like a weed nugget at the moment) into weed dirt bed. Currently growth is only 3 graphics. A sprout, a pot plant and a brownish pot plant (yea I know needs better graphics). When it's a brownish pot plant you can harvest.
You can then make weed flour:
wheat seeds, wheat seeds
weed seeds, weed seeds
Create weed form:
wood in the shape of a U
Put water in the form like you would a bucket.
From there you can make weed brownie dough:
weed flour, weed flour, weed flour
weed flour, weed_form_water, weed flour
weed flour, weed flour, weed flour
Throw the result in a furnace.
Download sdzen's version: Screenshots:
*links broken*
EDIT: To make it so the dirt bed doesn't revert to dirt, open the init.lua file and find the following code:
And change it to:minetest.register_abm({
nodenames = "weed:dirt_bed",
interval = 40,
chance = 3,
action = function(pos, node, _, __)
local p = {x = pos.x,y = pos.y +1,z = pos.z}
local above_node = minetest.env:get_node(p)
for i, plant in ipairs(DIRT_BED_TO_GRASS) do
if (above_node.name == plant) then return; end
end
minetest.env:remove_node(pos)
minetest.env:add_node(pos, {name = "default:dirt"})
end
minetest.register_abm({
nodenames = "weed:dirt_bed",
interval = 40,
chance = 3,
action = function(pos, node, _, __)
local p = {x = pos.x,y = pos.y +1,z = pos.z}
local above_node = minetest.env:get_node(p)
for i, plant in ipairs(DIRT_BED_TO_GRASS) do
if (above_node.name == plant) then return; end
end
minetest.env:remove_node(pos)
minetest.env:add_node(pos, {name = "weed:dirt_bed"})
end