summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.txt1
-rw-r--r--grapes.lua288
-rw-r--r--init.lua3
-rw-r--r--mapgen.lua2
-rw-r--r--textures/farming_grapebush.pngbin0 -> 144 bytes
-rw-r--r--textures/farming_grapes.pngbin0 -> 175 bytes
-rw-r--r--textures/farming_grapes_1.pngbin0 -> 255 bytes
-rw-r--r--textures/farming_grapes_2.pngbin0 -> 290 bytes
-rw-r--r--textures/farming_grapes_3.pngbin0 -> 307 bytes
-rw-r--r--textures/farming_grapes_4.pngbin0 -> 330 bytes
-rw-r--r--textures/farming_grapes_5.pngbin0 -> 338 bytes
-rw-r--r--textures/farming_grapes_6.pngbin0 -> 347 bytes
-rw-r--r--textures/farming_grapes_7.pngbin0 -> 358 bytes
-rw-r--r--textures/farming_grapes_8.pngbin0 -> 350 bytes
-rw-r--r--textures/farming_trellis.pngbin0 -> 227 bytes
15 files changed, 293 insertions, 1 deletions
diff --git a/README.txt b/README.txt
index 12ea62d..6792338 100644
--- a/README.txt
+++ b/README.txt
@@ -13,6 +13,7 @@ This mod works by adding your new plant to the {growing=1} group and numbering t
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.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)
diff --git a/grapes.lua b/grapes.lua
new file mode 100644
index 0000000..28060f4
--- /dev/null
+++ b/grapes.lua
@@ -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(),
+})
diff --git a/init.lua b/init.lua
index e523148..4a1a3dd 100644
--- a/init.lua
+++ b/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
NEW growing routine by prestidigitator
auto-refill by crabman77
@@ -65,6 +65,7 @@ dofile(farming.path.."/raspberry.lua")
dofile(farming.path.."/blueberry.lua")
dofile(farming.path.."/rhubarb.lua")
dofile(farming.path.."/beanpole.lua")
+dofile(farming.path.."/grapes.lua")
dofile(farming.path.."/donut.lua")
dofile(farming.path.."/mapgen.lua")
dofile(farming.path.."/compatibility.lua") -- Farming Plus compatibility
diff --git a/mapgen.lua b/mapgen.lua
index f799222..00d4fd1 100644
--- a/mapgen.lua
+++ b/mapgen.lua
@@ -34,6 +34,7 @@ function farming.register_mgv6_decorations()
register_plant("rhubarb_3", 3, 15, "group:tree", 1)
register_plant("blueberry_4", 3, 10, "", -1)
register_plant("beanbush", 18, 35, "", -1)
+ register_plant("grapebush", 25, 45, "", -1)
end
-- 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("blueberry_4", 3, 10, "", -1)
register_plant("beanbush", 18, 35, "", -1)
+ register_plant("grapebush", 25, 45, "", -1)
end
-- detect mapgen
diff --git a/textures/farming_grapebush.png b/textures/farming_grapebush.png
new file mode 100644
index 0000000..c2e6620
--- /dev/null
+++ b/textures/farming_grapebush.png
Binary files differ
diff --git a/textures/farming_grapes.png b/textures/farming_grapes.png
new file mode 100644
index 0000000..aa00ed6
--- /dev/null
+++ b/textures/farming_grapes.png
Binary files differ
diff --git a/textures/farming_grapes_1.png b/textures/farming_grapes_1.png
new file mode 100644
index 0000000..64a935d
--- /dev/null
+++ b/textures/farming_grapes_1.png
Binary files differ
diff --git a/textures/farming_grapes_2.png b/textures/farming_grapes_2.png
new file mode 100644
index 0000000..6cc2a33
--- /dev/null
+++ b/textures/farming_grapes_2.png
Binary files differ
diff --git a/textures/farming_grapes_3.png b/textures/farming_grapes_3.png
new file mode 100644
index 0000000..66d6310
--- /dev/null
+++ b/textures/farming_grapes_3.png
Binary files differ
diff --git a/textures/farming_grapes_4.png b/textures/farming_grapes_4.png
new file mode 100644
index 0000000..57cdc73
--- /dev/null
+++ b/textures/farming_grapes_4.png
Binary files differ
diff --git a/textures/farming_grapes_5.png b/textures/farming_grapes_5.png
new file mode 100644
index 0000000..aad41f4
--- /dev/null
+++ b/textures/farming_grapes_5.png
Binary files differ
diff --git a/textures/farming_grapes_6.png b/textures/farming_grapes_6.png
new file mode 100644
index 0000000..2e23a3c
--- /dev/null
+++ b/textures/farming_grapes_6.png
Binary files differ
diff --git a/textures/farming_grapes_7.png b/textures/farming_grapes_7.png
new file mode 100644
index 0000000..9e70b6d
--- /dev/null
+++ b/textures/farming_grapes_7.png
Binary files differ
diff --git a/textures/farming_grapes_8.png b/textures/farming_grapes_8.png
new file mode 100644
index 0000000..5093a06
--- /dev/null
+++ b/textures/farming_grapes_8.png
Binary files differ
diff --git a/textures/farming_trellis.png b/textures/farming_trellis.png
new file mode 100644
index 0000000..855b932
--- /dev/null
+++ b/textures/farming_trellis.png
Binary files differ