Added grape bush, grapes and trellis for growing
@ -13,6 +13,7 @@ This mod works by adding your new plant to the {growing=1} group and numbering t
|
|||||||
|
|
||||||
Changelog:
|
Changelog:
|
||||||
|
|
||||||
|
1.22 - Added grape bushes at high climates which can be cultivated into grape vines using trellis (9 sticks).
|
||||||
1.21 - Added auto-refill code for planting crops (thanks crabman77), also fixed a few bugs
|
1.21 - Added auto-refill code for planting crops (thanks crabman77), also fixed a few bugs
|
||||||
1.20b- Tidied code, made api compatible with new 0.4.13 changes and changed to soil texture overlays
|
1.20b- Tidied code, made api compatible with new 0.4.13 changes and changed to soil texture overlays
|
||||||
1.20 - NEW growing routine added that allows crops to grow while player is away doing other things (thanks prestidigitator)
|
1.20 - NEW growing routine added that allows crops to grow while player is away doing other things (thanks prestidigitator)
|
||||||
|
288
grapes.lua
Normal file
@ -0,0 +1,288 @@
|
|||||||
|
-- Grapes
|
||||||
|
|
||||||
|
minetest.register_craftitem("farming:grapes", {
|
||||||
|
description = "Grapes",
|
||||||
|
inventory_image = "farming_grapes.png",
|
||||||
|
on_use = minetest.item_eat(2),
|
||||||
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
|
local nod = minetest.get_node_or_nil(pointed_thing.under)
|
||||||
|
if nod and nod.name == "farming:trellis" then
|
||||||
|
minetest.set_node(pointed_thing.under, {name="farming:grapes_1"})
|
||||||
|
else
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if not minetest.setting_getbool("creative_mode") then
|
||||||
|
itemstack:take_item()
|
||||||
|
-- check for refill
|
||||||
|
if itemstack:get_count() == 0 then
|
||||||
|
minetest.after(0.20,
|
||||||
|
farming.refill_plant,
|
||||||
|
placer,
|
||||||
|
"farming:grapes",
|
||||||
|
placer:get_wield_index()
|
||||||
|
)
|
||||||
|
end -- END refill
|
||||||
|
end
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Grapes can be used for violet dye
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "dye:violet",
|
||||||
|
recipe = {
|
||||||
|
{'farming:grapes'},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Trellis
|
||||||
|
|
||||||
|
minetest.register_node("farming:trellis", {
|
||||||
|
description = "Trellis (place on soil before planting grapes)",
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_trellis.png"},
|
||||||
|
inventory_image = "farming_trellis.png",
|
||||||
|
visual_scale = 1.45,
|
||||||
|
paramtype = "light",
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:trellis'}, rarity = 1},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 2, attached_node = 1,
|
||||||
|
not_in_creative_inventory = 1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
|
local nod = minetest.get_node_or_nil(pointed_thing.under)
|
||||||
|
if nod and minetest.get_item_group(nod.name, "soil") < 2 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local top = {
|
||||||
|
x = pointed_thing.above.x,
|
||||||
|
y = pointed_thing.above.y + 1,
|
||||||
|
z = pointed_thing.above.z
|
||||||
|
}
|
||||||
|
nod = minetest.get_node_or_nil(top)
|
||||||
|
if nod and nod.name ~= "air" then return end
|
||||||
|
minetest.set_node(pointed_thing.above, {name = "farming:trellis"})
|
||||||
|
if not minetest.setting_getbool("creative_mode") then
|
||||||
|
itemstack:take_item()
|
||||||
|
end
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "farming:trellis",
|
||||||
|
recipe = {
|
||||||
|
{'default:stick', 'default:stick', 'default:stick'},
|
||||||
|
{'default:stick', 'default:stick', 'default:stick'},
|
||||||
|
{'default:stick', 'default:stick', 'default:stick'},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Define Grapes growth stages
|
||||||
|
|
||||||
|
minetest.register_node("farming:grapes_1", {
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_grapes_1.png"},
|
||||||
|
visual_scale = 1.45,
|
||||||
|
paramtype = "light",
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:trellis'}, rarity = 1},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 3, not_in_creative_inventory = 1,
|
||||||
|
attached_node = 1, growing = 1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("farming:grapes_2", {
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_grapes_2.png"},
|
||||||
|
visual_scale = 1.45,
|
||||||
|
paramtype = "light",
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:trellis'}, rarity = 1},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||||
|
not_in_creative_inventory = 1, growing = 1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("farming:grapes_3", {
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_grapes_3.png"},
|
||||||
|
visual_scale = 1.45,
|
||||||
|
paramtype = "light",
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:trellis'}, rarity = 1},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||||
|
not_in_creative_inventory = 1, growing = 1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("farming:grapes_4", {
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_grapes_4.png"},
|
||||||
|
visual_scale = 1.45,
|
||||||
|
paramtype = "light",
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:trellis'}, rarity = 1},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||||
|
not_in_creative_inventory = 1, growing = 1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("farming:grapes_5", {
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_grapes_5.png"},
|
||||||
|
visual_scale = 1.45,
|
||||||
|
paramtype = "light",
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:trellis'}, rarity = 1},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||||
|
not_in_creative_inventory = 1, growing = 1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("farming:grapes_6", {
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_grapes_6.png"},
|
||||||
|
visual_scale = 1.45,
|
||||||
|
paramtype = "light",
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:trellis'}, rarity = 1},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||||
|
not_in_creative_inventory = 1, growing = 1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("farming:grapes_7", {
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_grapes_7.png"},
|
||||||
|
visual_scale = 1.45,
|
||||||
|
paramtype = "light",
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:trellis'}, rarity = 1},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||||
|
not_in_creative_inventory = 1, growing = 1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Last stage of growth does not have growing group so abm never checks these
|
||||||
|
|
||||||
|
minetest.register_node("farming:grapes_8", {
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_grapes_8.png"},
|
||||||
|
visual_scale = 1.45,
|
||||||
|
paramtype = "light",
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:trellis'}, rarity = 1},
|
||||||
|
{items = {'farming:grapes 3'}, rarity = 1},
|
||||||
|
{items = {'farming:grapes 1'}, rarity = 2},
|
||||||
|
{items = {'farming:grapes 1'}, rarity = 3},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||||
|
not_in_creative_inventory = 1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Wild Grape Vine (this is what you find on the map)
|
||||||
|
|
||||||
|
minetest.register_node("farming:grapebush", {
|
||||||
|
drawtype = "plantlike",
|
||||||
|
tiles = {"farming_grapebush.png"},
|
||||||
|
paramtype = "light",
|
||||||
|
waving = 1,
|
||||||
|
walkable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
drop = {
|
||||||
|
items = {
|
||||||
|
{items = {'farming:grapes 1'}, rarity = 1},
|
||||||
|
{items = {'farming:grapes 1'}, rarity = 2},
|
||||||
|
{items = {'farming:grapes 1'}, rarity = 3},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = farming.select,
|
||||||
|
groups = {
|
||||||
|
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||||
|
not_in_creative_inventory=1
|
||||||
|
},
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
})
|
3
init.lua
@ -1,5 +1,5 @@
|
|||||||
--[[
|
--[[
|
||||||
Minetest Farming Redo Mod 1.21 (29th August 2015)
|
Minetest Farming Redo Mod 1.22 (26th October 2015)
|
||||||
by TenPlus1
|
by TenPlus1
|
||||||
NEW growing routine by prestidigitator
|
NEW growing routine by prestidigitator
|
||||||
auto-refill by crabman77
|
auto-refill by crabman77
|
||||||
@ -65,6 +65,7 @@ dofile(farming.path.."/raspberry.lua")
|
|||||||
dofile(farming.path.."/blueberry.lua")
|
dofile(farming.path.."/blueberry.lua")
|
||||||
dofile(farming.path.."/rhubarb.lua")
|
dofile(farming.path.."/rhubarb.lua")
|
||||||
dofile(farming.path.."/beanpole.lua")
|
dofile(farming.path.."/beanpole.lua")
|
||||||
|
dofile(farming.path.."/grapes.lua")
|
||||||
dofile(farming.path.."/donut.lua")
|
dofile(farming.path.."/donut.lua")
|
||||||
dofile(farming.path.."/mapgen.lua")
|
dofile(farming.path.."/mapgen.lua")
|
||||||
dofile(farming.path.."/compatibility.lua") -- Farming Plus compatibility
|
dofile(farming.path.."/compatibility.lua") -- Farming Plus compatibility
|
||||||
|
@ -34,6 +34,7 @@ function farming.register_mgv6_decorations()
|
|||||||
register_plant("rhubarb_3", 3, 15, "group:tree", 1)
|
register_plant("rhubarb_3", 3, 15, "group:tree", 1)
|
||||||
register_plant("blueberry_4", 3, 10, "", -1)
|
register_plant("blueberry_4", 3, 10, "", -1)
|
||||||
register_plant("beanbush", 18, 35, "", -1)
|
register_plant("beanbush", 18, 35, "", -1)
|
||||||
|
register_plant("grapebush", 25, 45, "", -1)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- v7 maps have a beach so plants growing near water is limited to 6- high
|
-- v7 maps have a beach so plants growing near water is limited to 6- high
|
||||||
@ -51,6 +52,7 @@ function farming.register_mgv7_decorations()
|
|||||||
register_plant("rhubarb_3", 3, 15, "group:tree", 1)
|
register_plant("rhubarb_3", 3, 15, "group:tree", 1)
|
||||||
register_plant("blueberry_4", 3, 10, "", -1)
|
register_plant("blueberry_4", 3, 10, "", -1)
|
||||||
register_plant("beanbush", 18, 35, "", -1)
|
register_plant("beanbush", 18, 35, "", -1)
|
||||||
|
register_plant("grapebush", 25, 45, "", -1)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- detect mapgen
|
-- detect mapgen
|
||||||
|
BIN
textures/farming_grapebush.png
Normal file
After Width: | Height: | Size: 144 B |
BIN
textures/farming_grapes.png
Normal file
After Width: | Height: | Size: 175 B |
BIN
textures/farming_grapes_1.png
Normal file
After Width: | Height: | Size: 255 B |
BIN
textures/farming_grapes_2.png
Normal file
After Width: | Height: | Size: 290 B |
BIN
textures/farming_grapes_3.png
Normal file
After Width: | Height: | Size: 307 B |
BIN
textures/farming_grapes_4.png
Normal file
After Width: | Height: | Size: 330 B |
BIN
textures/farming_grapes_5.png
Normal file
After Width: | Height: | Size: 338 B |
BIN
textures/farming_grapes_6.png
Normal file
After Width: | Height: | Size: 347 B |
BIN
textures/farming_grapes_7.png
Normal file
After Width: | Height: | Size: 358 B |
BIN
textures/farming_grapes_8.png
Normal file
After Width: | Height: | Size: 350 B |
BIN
textures/farming_trellis.png
Normal file
After Width: | Height: | Size: 227 B |