From d95be676d7efa30fd02ae6b35efb6d84121d9f9a Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Sun, 9 Nov 2014 19:06:28 +0000 Subject: [PATCH] Signed-off-by: tenplus1 --- README.txt | 129 +++++++++++ blueberry.lua | 93 ++++++++ carrot.lua | 157 +++++++++++++ cocoa.lua | 157 +++++++++++++ coffee.lua | 186 +++++++++++++++ compatibility.lua | 97 ++++++++ corn.lua | 175 ++++++++++++++ cotton.lua | 183 +++++++++++++++ cucumber.lua | 74 ++++++ depends.txt | 2 + donut.lua | 45 ++++ grass.lua | 28 +++ hoes.lua | 150 ++++++++++++ init.lua | 195 ++++++++++++++++ license.txt | 14 ++ mapgen.lua | 85 +++++++ melon.lua | 141 ++++++++++++ potato.lua | 97 ++++++++ pumpkin.lua | 216 ++++++++++++++++++ raspberry.lua | 95 ++++++++ rhubarb.lua | 79 +++++++ soil.lua | 58 +++++ sugar.lua | 15 ++ textures/default_junglegrass.png | Bin 0 -> 262 bytes textures/farming_baked_potato.png | Bin 0 -> 321 bytes textures/farming_blueberries.png | Bin 0 -> 164 bytes textures/farming_blueberry_1.png | Bin 0 -> 114 bytes textures/farming_blueberry_2.png | Bin 0 -> 223 bytes textures/farming_blueberry_3.png | Bin 0 -> 231 bytes textures/farming_blueberry_4.png | Bin 0 -> 317 bytes textures/farming_blueberry_muffin.png | Bin 0 -> 236 bytes textures/farming_bottle_ethanol.png | Bin 0 -> 221 bytes textures/farming_bread.png | Bin 0 -> 552 bytes textures/farming_carrot.png | Bin 0 -> 220 bytes textures/farming_carrot_1.png | Bin 0 -> 108 bytes textures/farming_carrot_2.png | Bin 0 -> 111 bytes textures/farming_carrot_3.png | Bin 0 -> 113 bytes textures/farming_carrot_4.png | Bin 0 -> 119 bytes textures/farming_carrot_5.png | Bin 0 -> 123 bytes textures/farming_carrot_6.png | Bin 0 -> 129 bytes textures/farming_carrot_7.png | Bin 0 -> 144 bytes textures/farming_carrot_8.png | Bin 0 -> 160 bytes textures/farming_carrot_gold.png | Bin 0 -> 207 bytes textures/farming_chocolate_dark.png | Bin 0 -> 194 bytes textures/farming_cocoa_1.png | Bin 0 -> 230 bytes textures/farming_cocoa_2.png | Bin 0 -> 244 bytes textures/farming_cocoa_3.png | Bin 0 -> 253 bytes textures/farming_cocoa_beans.png | Bin 0 -> 187 bytes textures/farming_coffee_1.png | Bin 0 -> 135 bytes textures/farming_coffee_2.png | Bin 0 -> 145 bytes textures/farming_coffee_3.png | Bin 0 -> 171 bytes textures/farming_coffee_4.png | Bin 0 -> 192 bytes textures/farming_coffee_5.png | Bin 0 -> 192 bytes textures/farming_coffee_beans.png | Bin 0 -> 204 bytes textures/farming_coffee_cup.png | Bin 0 -> 164 bytes textures/farming_coffee_cup_hot.png | Bin 0 -> 183 bytes textures/farming_cookie.png | Bin 0 -> 566 bytes textures/farming_corn.png | Bin 0 -> 197 bytes textures/farming_corn_1.png | Bin 0 -> 107 bytes textures/farming_corn_2.png | Bin 0 -> 121 bytes textures/farming_corn_3.png | Bin 0 -> 142 bytes textures/farming_corn_4.png | Bin 0 -> 154 bytes textures/farming_corn_5.png | Bin 0 -> 161 bytes textures/farming_corn_6.png | Bin 0 -> 268 bytes textures/farming_corn_7.png | Bin 0 -> 275 bytes textures/farming_corn_8.png | Bin 0 -> 311 bytes textures/farming_corn_cob.png | Bin 0 -> 182 bytes textures/farming_cotton.png | Bin 0 -> 341 bytes textures/farming_cotton_1.png | Bin 0 -> 136 bytes textures/farming_cotton_2.png | Bin 0 -> 161 bytes textures/farming_cotton_3.png | Bin 0 -> 189 bytes textures/farming_cotton_4.png | Bin 0 -> 220 bytes textures/farming_cotton_5.png | Bin 0 -> 263 bytes textures/farming_cotton_6.png | Bin 0 -> 342 bytes textures/farming_cotton_7.png | Bin 0 -> 359 bytes textures/farming_cotton_8.png | Bin 0 -> 339 bytes textures/farming_cotton_seed.png | Bin 0 -> 348 bytes textures/farming_cucumber.png | Bin 0 -> 185 bytes textures/farming_cucumber_1.png | Bin 0 -> 119 bytes textures/farming_cucumber_2.png | Bin 0 -> 145 bytes textures/farming_cucumber_3.png | Bin 0 -> 217 bytes textures/farming_cucumber_4.png | Bin 0 -> 275 bytes textures/farming_desert_sand_soil.png | Bin 0 -> 637 bytes textures/farming_desert_sand_soil_wet.png | Bin 0 -> 590 bytes .../farming_desert_sand_soil_wet_side.png | Bin 0 -> 601 bytes textures/farming_donut.png | Bin 0 -> 258 bytes textures/farming_donut_apple.png | Bin 0 -> 252 bytes textures/farming_donut_chocolate.png | Bin 0 -> 256 bytes textures/farming_flour.png | Bin 0 -> 378 bytes textures/farming_melon_1.png | Bin 0 -> 138 bytes textures/farming_melon_2.png | Bin 0 -> 161 bytes textures/farming_melon_3.png | Bin 0 -> 177 bytes textures/farming_melon_4.png | Bin 0 -> 181 bytes textures/farming_melon_5.png | Bin 0 -> 196 bytes textures/farming_melon_6.png | Bin 0 -> 219 bytes textures/farming_melon_7.png | Bin 0 -> 247 bytes textures/farming_melon_side.png | Bin 0 -> 270 bytes textures/farming_melon_slice.png | Bin 0 -> 227 bytes textures/farming_melon_top.png | Bin 0 -> 272 bytes textures/farming_potato.png | Bin 0 -> 252 bytes textures/farming_potato_1.png | Bin 0 -> 132 bytes textures/farming_potato_2.png | Bin 0 -> 187 bytes textures/farming_potato_3.png | Bin 0 -> 237 bytes textures/farming_potato_4.png | Bin 0 -> 283 bytes textures/farming_pumpkin_1.png | Bin 0 -> 159 bytes textures/farming_pumpkin_2.png | Bin 0 -> 182 bytes textures/farming_pumpkin_3.png | Bin 0 -> 199 bytes textures/farming_pumpkin_4.png | Bin 0 -> 230 bytes textures/farming_pumpkin_5.png | Bin 0 -> 259 bytes textures/farming_pumpkin_6.png | Bin 0 -> 263 bytes textures/farming_pumpkin_7.png | Bin 0 -> 271 bytes textures/farming_pumpkin_8.png | Bin 0 -> 275 bytes textures/farming_pumpkin_bread.png | Bin 0 -> 200 bytes textures/farming_pumpkin_dough.png | Bin 0 -> 193 bytes textures/farming_pumpkin_face_off.png | Bin 0 -> 259 bytes textures/farming_pumpkin_face_on.png | Bin 0 -> 269 bytes textures/farming_pumpkin_side.png | Bin 0 -> 231 bytes textures/farming_pumpkin_slice.png | Bin 0 -> 204 bytes textures/farming_pumpkin_top.png | Bin 0 -> 272 bytes textures/farming_raspberries.png | Bin 0 -> 230 bytes textures/farming_raspberry_1.png | Bin 0 -> 100 bytes textures/farming_raspberry_2.png | Bin 0 -> 223 bytes textures/farming_raspberry_3.png | Bin 0 -> 231 bytes textures/farming_raspberry_4.png | Bin 0 -> 239 bytes textures/farming_raspberry_smoothie.png | Bin 0 -> 231 bytes textures/farming_rhubarb.png | Bin 0 -> 165 bytes textures/farming_rhubarb_1.png | Bin 0 -> 119 bytes textures/farming_rhubarb_2.png | Bin 0 -> 152 bytes textures/farming_rhubarb_3.png | Bin 0 -> 167 bytes textures/farming_rhubarb_pie.png | Bin 0 -> 198 bytes textures/farming_soil.png | Bin 0 -> 713 bytes textures/farming_soil_wet.png | Bin 0 -> 659 bytes textures/farming_soil_wet_side.png | Bin 0 -> 721 bytes textures/farming_sugar.png | Bin 0 -> 142 bytes textures/farming_tomato.png | Bin 0 -> 488 bytes textures/farming_tomato_1.png | Bin 0 -> 207 bytes textures/farming_tomato_2.png | Bin 0 -> 223 bytes textures/farming_tomato_3.png | Bin 0 -> 250 bytes textures/farming_tomato_4.png | Bin 0 -> 269 bytes textures/farming_tomato_5.png | Bin 0 -> 320 bytes textures/farming_tomato_6.png | Bin 0 -> 490 bytes textures/farming_tomato_7.png | Bin 0 -> 570 bytes textures/farming_tomato_8.png | Bin 0 -> 510 bytes textures/farming_tool_bronzehoe.png | Bin 0 -> 258 bytes textures/farming_tool_diamondhoe.png | Bin 0 -> 244 bytes textures/farming_tool_mesehoe.png | Bin 0 -> 230 bytes textures/farming_tool_steelhoe.png | Bin 0 -> 230 bytes textures/farming_tool_stonehoe.png | Bin 0 -> 263 bytes textures/farming_tool_woodhoe.png | Bin 0 -> 222 bytes textures/farming_wheat.png | Bin 0 -> 566 bytes textures/farming_wheat_1.png | Bin 0 -> 146 bytes textures/farming_wheat_2.png | Bin 0 -> 185 bytes textures/farming_wheat_3.png | Bin 0 -> 228 bytes textures/farming_wheat_4.png | Bin 0 -> 270 bytes textures/farming_wheat_5.png | Bin 0 -> 354 bytes textures/farming_wheat_6.png | Bin 0 -> 456 bytes textures/farming_wheat_7.png | Bin 0 -> 523 bytes textures/farming_wheat_8.png | Bin 0 -> 635 bytes textures/farming_wheat_seed.png | Bin 0 -> 372 bytes textures/vessels_drinking_cup.png | Bin 0 -> 200 bytes tomato.lua | 138 +++++++++++ wheat.lua | 203 ++++++++++++++++ 162 files changed, 2812 insertions(+) create mode 100644 README.txt create mode 100644 blueberry.lua create mode 100644 carrot.lua create mode 100644 cocoa.lua create mode 100644 coffee.lua create mode 100644 compatibility.lua create mode 100644 corn.lua create mode 100644 cotton.lua create mode 100644 cucumber.lua create mode 100644 depends.txt create mode 100644 donut.lua create mode 100644 grass.lua create mode 100644 hoes.lua create mode 100644 init.lua create mode 100644 license.txt create mode 100644 mapgen.lua create mode 100644 melon.lua create mode 100644 potato.lua create mode 100644 pumpkin.lua create mode 100644 raspberry.lua create mode 100644 rhubarb.lua create mode 100644 soil.lua create mode 100644 sugar.lua create mode 100644 textures/default_junglegrass.png create mode 100644 textures/farming_baked_potato.png create mode 100644 textures/farming_blueberries.png create mode 100644 textures/farming_blueberry_1.png create mode 100644 textures/farming_blueberry_2.png create mode 100644 textures/farming_blueberry_3.png create mode 100644 textures/farming_blueberry_4.png create mode 100644 textures/farming_blueberry_muffin.png create mode 100644 textures/farming_bottle_ethanol.png create mode 100644 textures/farming_bread.png create mode 100644 textures/farming_carrot.png create mode 100644 textures/farming_carrot_1.png create mode 100644 textures/farming_carrot_2.png create mode 100644 textures/farming_carrot_3.png create mode 100644 textures/farming_carrot_4.png create mode 100644 textures/farming_carrot_5.png create mode 100644 textures/farming_carrot_6.png create mode 100644 textures/farming_carrot_7.png create mode 100644 textures/farming_carrot_8.png create mode 100644 textures/farming_carrot_gold.png create mode 100644 textures/farming_chocolate_dark.png create mode 100644 textures/farming_cocoa_1.png create mode 100644 textures/farming_cocoa_2.png create mode 100644 textures/farming_cocoa_3.png create mode 100644 textures/farming_cocoa_beans.png create mode 100644 textures/farming_coffee_1.png create mode 100644 textures/farming_coffee_2.png create mode 100644 textures/farming_coffee_3.png create mode 100644 textures/farming_coffee_4.png create mode 100644 textures/farming_coffee_5.png create mode 100644 textures/farming_coffee_beans.png create mode 100644 textures/farming_coffee_cup.png create mode 100644 textures/farming_coffee_cup_hot.png create mode 100644 textures/farming_cookie.png create mode 100644 textures/farming_corn.png create mode 100644 textures/farming_corn_1.png create mode 100644 textures/farming_corn_2.png create mode 100644 textures/farming_corn_3.png create mode 100644 textures/farming_corn_4.png create mode 100644 textures/farming_corn_5.png create mode 100644 textures/farming_corn_6.png create mode 100644 textures/farming_corn_7.png create mode 100644 textures/farming_corn_8.png create mode 100644 textures/farming_corn_cob.png create mode 100644 textures/farming_cotton.png create mode 100644 textures/farming_cotton_1.png create mode 100644 textures/farming_cotton_2.png create mode 100644 textures/farming_cotton_3.png create mode 100644 textures/farming_cotton_4.png create mode 100644 textures/farming_cotton_5.png create mode 100644 textures/farming_cotton_6.png create mode 100644 textures/farming_cotton_7.png create mode 100644 textures/farming_cotton_8.png create mode 100644 textures/farming_cotton_seed.png create mode 100644 textures/farming_cucumber.png create mode 100644 textures/farming_cucumber_1.png create mode 100644 textures/farming_cucumber_2.png create mode 100644 textures/farming_cucumber_3.png create mode 100644 textures/farming_cucumber_4.png create mode 100644 textures/farming_desert_sand_soil.png create mode 100644 textures/farming_desert_sand_soil_wet.png create mode 100644 textures/farming_desert_sand_soil_wet_side.png create mode 100644 textures/farming_donut.png create mode 100644 textures/farming_donut_apple.png create mode 100644 textures/farming_donut_chocolate.png create mode 100644 textures/farming_flour.png create mode 100644 textures/farming_melon_1.png create mode 100644 textures/farming_melon_2.png create mode 100644 textures/farming_melon_3.png create mode 100644 textures/farming_melon_4.png create mode 100644 textures/farming_melon_5.png create mode 100644 textures/farming_melon_6.png create mode 100644 textures/farming_melon_7.png create mode 100644 textures/farming_melon_side.png create mode 100644 textures/farming_melon_slice.png create mode 100644 textures/farming_melon_top.png create mode 100644 textures/farming_potato.png create mode 100644 textures/farming_potato_1.png create mode 100644 textures/farming_potato_2.png create mode 100644 textures/farming_potato_3.png create mode 100644 textures/farming_potato_4.png create mode 100644 textures/farming_pumpkin_1.png create mode 100644 textures/farming_pumpkin_2.png create mode 100644 textures/farming_pumpkin_3.png create mode 100644 textures/farming_pumpkin_4.png create mode 100644 textures/farming_pumpkin_5.png create mode 100644 textures/farming_pumpkin_6.png create mode 100644 textures/farming_pumpkin_7.png create mode 100644 textures/farming_pumpkin_8.png create mode 100644 textures/farming_pumpkin_bread.png create mode 100644 textures/farming_pumpkin_dough.png create mode 100644 textures/farming_pumpkin_face_off.png create mode 100644 textures/farming_pumpkin_face_on.png create mode 100644 textures/farming_pumpkin_side.png create mode 100644 textures/farming_pumpkin_slice.png create mode 100644 textures/farming_pumpkin_top.png create mode 100644 textures/farming_raspberries.png create mode 100644 textures/farming_raspberry_1.png create mode 100644 textures/farming_raspberry_2.png create mode 100644 textures/farming_raspberry_3.png create mode 100644 textures/farming_raspberry_4.png create mode 100644 textures/farming_raspberry_smoothie.png create mode 100644 textures/farming_rhubarb.png create mode 100644 textures/farming_rhubarb_1.png create mode 100644 textures/farming_rhubarb_2.png create mode 100644 textures/farming_rhubarb_3.png create mode 100644 textures/farming_rhubarb_pie.png create mode 100644 textures/farming_soil.png create mode 100644 textures/farming_soil_wet.png create mode 100644 textures/farming_soil_wet_side.png create mode 100644 textures/farming_sugar.png create mode 100644 textures/farming_tomato.png create mode 100644 textures/farming_tomato_1.png create mode 100644 textures/farming_tomato_2.png create mode 100644 textures/farming_tomato_3.png create mode 100644 textures/farming_tomato_4.png create mode 100644 textures/farming_tomato_5.png create mode 100644 textures/farming_tomato_6.png create mode 100644 textures/farming_tomato_7.png create mode 100644 textures/farming_tomato_8.png create mode 100644 textures/farming_tool_bronzehoe.png create mode 100644 textures/farming_tool_diamondhoe.png create mode 100644 textures/farming_tool_mesehoe.png create mode 100644 textures/farming_tool_steelhoe.png create mode 100644 textures/farming_tool_stonehoe.png create mode 100644 textures/farming_tool_woodhoe.png create mode 100644 textures/farming_wheat.png create mode 100644 textures/farming_wheat_1.png create mode 100644 textures/farming_wheat_2.png create mode 100644 textures/farming_wheat_3.png create mode 100644 textures/farming_wheat_4.png create mode 100644 textures/farming_wheat_5.png create mode 100644 textures/farming_wheat_6.png create mode 100644 textures/farming_wheat_7.png create mode 100644 textures/farming_wheat_8.png create mode 100644 textures/farming_wheat_seed.png create mode 100644 textures/vessels_drinking_cup.png create mode 100644 tomato.lua create mode 100644 wheat.lua diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..bfc001a --- /dev/null +++ b/README.txt @@ -0,0 +1,129 @@ +Minetest Farming Redo Mod +by TenPlus1 + +based on + +Minetest 0.4 mod: farming +========================= + +License of source code: +----------------------- +Copyright (C) 2012-2013 PilzAdam + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + +License of media (textures): +---------------------------- +Created by PilzAdam (License: WTFPL): + farming_bread.png + farming_soil.png + farming_soil_wet.png + farming_soil_wet_side.png + farming_string.png + +Created by Calinou (License: CC BY-SA): + farming_tool_bronzehoe.png + farming_tool_steelhoe.png + farming_tool_stonehoe.png + farming_tool_woodhoe.png + farming_tool_mesehoe.png + farming_tool_diamondhoe.png + +Created by VanessaE (License: WTFPL): + farming_cotton_seed.png + farming_wheat_seed.png + farming_flour.png + farming_wheat.png + farming_wheat_1.png + farming_wheat_2.png + farming_wheat_3.png + farming_wheat_4.png + farming_wheat_5.png + farming_wheat_5.png + farming_wheat_7.png + farming_wheat_8.png + farming_cotton_1.png + farming_cotton_2.png + farming_cotton_3.png + farming_cotton_4.png + farming_cotton_5.png + farming_cotton_6.png + farming_cotton_7.png + farming_cotton_8.png + +Created by Doc (License: WTFPL): + farming_cucumber.png + farming_cucumber_1.png + farming_cucumber_2.png + farming_cucumber_3.png + farming_cucumber_4.png + farming_potato.png + farming_potato_1.png + farming_potato_2.png + farming_potato_3.png + farming_potato_4.png + farming_raspberries.png + farming_raspberry_1.png + farming_raspberry_2.png + farming_raspberry_3.png + farming_raspberry_4.png + +Created by Gambit: + default_junglegrass.png + farming_carrot.png + farming_carrot_1.png + farming_carrot_2.png + farming_carrot_3.png + farming_carrot_4.png + farming_carrot_5.png + farming_carrot_6.png + farming_carrot_7.png + farming_carrot_8.png + +Created by JoseTheCrafter and edited by TenPlus1: + farming_tomato.png + farming_tomato_1.png + farming_tomato_2.png + farming_tomato_3.png + farming_tomato_4.png + farming_tomato_5.png + farming_tomato_6.png + farming_tomato_7.png + farming_tomato_8.png + +Created by GeMinecraft and edited by TenPlus1: + farming_corn.png + farming_corn_cob.png + farming_corn_1.png + farming_corn_2.png + farming_corn_3.png + farming_corn_4.png + farming_corn_5.png + farming_corn_6.png + farming_corn_7.png + farming_corn_8.png + +Created by TenPlus1 + farming_cocoa_1.png + farming_cocoa_2.png + farming_cocoa_3.png + farming_cocoa_beans.png + farming_cookie.png + farming_raspberry_smoothie.png + farming_rhubarb_1.png + farming_rhubarb_2.png + farming_rhubarb_3.png + farming_rhubarb.png + farming_rhubarb_pie.png \ No newline at end of file diff --git a/blueberry.lua b/blueberry.lua new file mode 100644 index 0000000..6b3422d --- /dev/null +++ b/blueberry.lua @@ -0,0 +1,93 @@ + +--= Blueberries + +minetest.register_craftitem("farming:blueberries", { + description = "Blueberries", + inventory_image = "farming_blueberries.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:blueberry_1") + end, + on_use = minetest.item_eat(1), +}) + +-- Blueberry Muffin (Thanks to sosogirl123 for muffin image in deviantart.com) + +minetest.register_craftitem("farming:muffin_blueberry", { + description = "Blueberry Muffin", + inventory_image = "farming_blueberry_muffin.png", + on_use = minetest.item_eat(2), +}) + +minetest.register_craft({ + output = "farming:muffin_blueberry 2", + recipe = { + {"farming:blueberries", "farming:bread", "farming:blueberries"}, + } +}) + +-- Define Blueberry growth stages + +minetest.register_node("farming:blueberry_1", { + drawtype = "plantlike", + tiles = {"farming_blueberry_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:blueberry_2", { + drawtype = "plantlike", + tiles = {"farming_blueberry_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:blueberry_3", { + drawtype = "plantlike", + tiles = {"farming_blueberry_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Blueberry growth does not have growing=1 so abm never has to check these + +minetest.register_node("farming:blueberry_4", { + drawtype = "plantlike", + tiles = {"farming_blueberry_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:blueberries 2'},rarity=1}, + {items = {'farming:blueberries'},rarity=2}, + {items = {'farming:blueberries'},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/carrot.lua b/carrot.lua new file mode 100644 index 0000000..43e7a72 --- /dev/null +++ b/carrot.lua @@ -0,0 +1,157 @@ + +--= Carrot (Original textures from PixelBox texture pack) +-- https://forum.minetest.net/viewtopic.php?id=4990 + +minetest.register_craftitem("farming:carrot", { + description = "Carrot", + inventory_image = "farming_carrot.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:carrot_1") + end, + on_use = minetest.item_eat(4), +}) + +-- Golden Carrot + +minetest.register_craftitem("farming:carrot_gold", { + description = "Golden Carrot", + inventory_image = "farming_carrot_gold.png", + on_use = minetest.item_eat(6), +}) + +minetest.register_craft({ + output = "farming:carrot_gold", + recipe = { + {"", "default:gold_lump", ""}, + {"default:gold_lump", "farming:carrot", "default:gold_lump"}, + {"", "default:gold_lump", ""}, + } +}) + +-- Define Carrot growth stages + +minetest.register_node("farming:carrot_1", { + drawtype = "plantlike", + tiles = {"farming_carrot_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:carrot_2", { + drawtype = "plantlike", + tiles = {"farming_carrot_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:carrot_3", { + drawtype = "plantlike", + tiles = {"farming_carrot_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:carrot_4", { + drawtype = "plantlike", + tiles = {"farming_carrot_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:carrot_5", { + drawtype = "plantlike", + tiles = {"farming_carrot_5.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:carrot_6", { + drawtype = "plantlike", + tiles = {"farming_carrot_6.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:carrot_7", { + drawtype = "plantlike", + tiles = {"farming_carrot_7.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:carrot'},rarity=1}, + {items = {'farming:carrot 2'},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Carrot growth doesnnot have growing=1 so abm never has to check these + +minetest.register_node("farming:carrot_8", { + drawtype = "plantlike", + tiles = {"farming_carrot_8.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:carrot 2'},rarity=1}, + {items = {'farming:carrot 3'},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/cocoa.lua b/cocoa.lua new file mode 100644 index 0000000..7ca61b3 --- /dev/null +++ b/cocoa.lua @@ -0,0 +1,157 @@ + +-- Override default jungletree, add tree=2 for cocoa placement + +minetest.override_item("default:jungletree", {groups = {tree=2,choppy=2,oddly_breakable_by_hand=1,flammable=2}}) + +-- Place Cocoa + +function place_cocoa(itemstack, placer, pointed_thing, plantname) + local pt = pointed_thing + + -- check if pointing at a node + if not pt and pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] then + return + end + + -- check if pointing at jungletree + if minetest.get_item_group(under.name, "tree") ~= 2 then + return + end + + -- add the node and remove 1 item from the itemstack + minetest.add_node(pt.above, {name=plantname}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack +end + +--= Cocoa + +minetest.register_craftitem("farming:cocoa_beans", { + description = "Cocoa Beans", + inventory_image = "farming_cocoa_beans.png", + on_place = function(itemstack, placer, pointed_thing) + return place_cocoa(itemstack, placer, pointed_thing, "farming:cocoa_1") + end, +}) + +minetest.register_craft( { + output = "dye:brown 2", + recipe = { + { "farming:cocoa_beans" }, + } +}) + +-- Cookie + +minetest.register_craftitem("farming:cookie", { + description = "Cookie", + inventory_image = "farming_cookie.png", + on_use = minetest.item_eat(2), +}) + +minetest.register_craft( { + output = "farming:cookie 8", + recipe = { + { "farming:wheat", "farming:cocoa_beans", "farming:wheat" }, + } +}) + +-- Bar of Dark Chocolate (Thanks to Ice Pandora for her deviantart.com chocolate tutorial) + +minetest.register_craftitem("farming:chocolate_dark", { + description = "Bar of Dark Chocolate", + inventory_image = "farming_chocolate_dark.png", + on_use = minetest.item_eat(3), +}) + +minetest.register_craft( { + output = "farming:chocolate_dark", + recipe = { + { "farming:cocoa_beans", "farming:cocoa_beans", "farming:cocoa_beans" }, + } +}) + +-- Define Coffee growth stages + +minetest.register_node("farming:cocoa_1", { + drawtype = "plantlike", + tiles = {"farming_cocoa_1.png"}, + paramtype = "light", + walkable = true, + drop = { + items = { + {items = {'farming:cocoa_beans 1'},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cocoa_2", { + drawtype = "plantlike", + tiles = {"farming_cocoa_2.png"}, + paramtype = "light", + walkable = true, + drop = { + items = { + {items = {'farming:cocoa_beans 1'},rarity=1}, + } + }, + selection_box = {type = "fixed",fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Cocoa growth does not have growing=1 so abm never has to check these + +minetest.register_node("farming:cocoa_3", { + drawtype = "plantlike", + tiles = {"farming_cocoa_3.png"}, + paramtype = "light", + walkable = true, + drop = { + items = { + {items = {'farming:cocoa_beans 2'},rarity=1}, + {items = {'farming:cocoa_beans 1'},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Abm to add random Cocoa Pod to Jungle Tree trunks + +minetest.register_abm({ + nodenames = {"default:jungletree"}, + neighbors = {"default:jungleleaves", "moretrees:jungletree_leaves_green"}, + interval = 80, + chance = 20, + action = function(pos, node) + + local dir = math.random(1,50) + + if dir == 1 then pos.x = pos.x + 1 + elseif dir == 2 then pos.x = pos.x - 1 + elseif dir == 3 then pos.z = pos.z + 1 + elseif dir == 4 then pos.z = pos.z -1 + else return + end + + if minetest.get_node(pos).name == "air" and minetest.get_node_light(pos) > 11 then +-- print ("COCOA", pos.x, pos.y, pos.z) + minetest.set_node(pos,{name="farming:cocoa_"..tostring(math.random(1,3))}) + end + + end, +}) diff --git a/coffee.lua b/coffee.lua new file mode 100644 index 0000000..a0d15cf --- /dev/null +++ b/coffee.lua @@ -0,0 +1,186 @@ + +--= Coffee + +minetest.register_craftitem("farming:coffee_beans", { + description = "Coffee Beans", + inventory_image = "farming_coffee_beans.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:coffee_1") + end, +}) + +--= Glass Cup +--minetest.register_craftitem("farming:drinking_cup", { +-- description = "Drinking Cup", +-- inventory_image = "vessels_drinking_cup.png", +--}) + +minetest.register_node("farming:drinking_cup", { + description = "Drinking Cup (empty)", + drawtype = "plantlike", + tiles = {"vessels_drinking_cup.png"}, + inventory_image = "vessels_drinking_cup.png", + wield_image = "vessels_drinking_cup.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25} + }, + groups = {vessel=1,dig_immediate=3,attached_node=1}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_craft( { + output = "farming:drinking_cup 5", + recipe = { + { "default:glass", "", "default:glass" }, + {"", "default:glass",""}, + } +}) + +--= Cold Cup of Coffee +--minetest.register_craftitem("farming:coffee_cup", { +-- description = "Cold Cup of Coffee", +-- inventory_image = "farming_coffee_cup.png", +-- on_use = minetest.item_eat(2, "farming:drinking_cup"), +--}) + +minetest.register_node("farming:coffee_cup", { + description = "Cup of Coffee (cold)", + drawtype = "plantlike", + tiles = {"farming_coffee_cup.png"}, + inventory_image = "farming_coffee_cup.png", + wield_image = "farming_coffee_cup.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25} + }, + groups = {vessel=1,dig_immediate=3,attached_node=1}, + on_use = minetest.item_eat(2, "farming:drinking_cup"), + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_craft( { + output = "farming:coffee_cup", + recipe = { + {"farming:drinking_cup", "farming:coffee_beans","bucket:bucket_water"}, + {"","",""}, + {"","",""} + }, + replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}} +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 5, + output = "farming:coffee_cup_hot", + recipe = "farming:coffee_cup" +}) + +--= Hot Cup of Coffee +--minetest.register_craftitem("farming:coffee_cup_hot", { +-- description = "Hot Cup of Coffee", +-- inventory_image = "farming_coffee_cup_hot.png", +-- on_use = minetest.item_eat(3, "farming:drinking_cup"), +--}) + +minetest.register_node("farming:coffee_cup_hot", { + description = "Cup of Coffee (hot)", + drawtype = "plantlike", + tiles = {"farming_coffee_cup_hot.png"}, + inventory_image = "farming_coffee_cup_hot.png", + wield_image = "farming_coffee_cup_hot.png", + paramtype = "light", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25} + }, + groups = {vessel=1,dig_immediate=3,attached_node=1}, + on_use = minetest.item_eat(3, "farming:drinking_cup"), + sounds = default.node_sound_glass_defaults(), +}) + +-- Define Coffee growth stages + +minetest.register_node("farming:coffee_1", { + drawtype = "plantlike", + tiles = {"farming_coffee_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:coffee_2", { + drawtype = "plantlike", + tiles = {"farming_coffee_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:coffee_3", { + drawtype = "plantlike", + tiles = {"farming_coffee_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:coffee_4", { + drawtype = "plantlike", + tiles = {"farming_coffee_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Coffee growth doesnnot have growing=1 so abm never has to check these + +minetest.register_node("farming:coffee_5", { + drawtype = "plantlike", + tiles = {"farming_coffee_5.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:coffee_beans 2'},rarity=1}, + {items = {'farming:coffee_beans 2'},rarity=2}, + {items = {'farming:coffee_beans 2'},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/compatibility.lua b/compatibility.lua new file mode 100644 index 0000000..a875d9b --- /dev/null +++ b/compatibility.lua @@ -0,0 +1,97 @@ +-- is Ethereal mod installed? +local eth = minetest.get_modpath("ethereal") or nil + +-- Banana +if eth then + minetest.register_alias("farming_plus:banana_sapling", "ethereal:banana_tree_sapling") + minetest.register_alias("farming_plus:banana_leaves", "ethereal:bananaleaves") + minetest.register_alias("farming_plus:banana", "ethereal:banana") +else + minetest.register_alias("farming_plus:banana_sapling", "default:sapling") + minetest.register_alias("farming_plus:banana_leaves", "default:leaves") + minetest.register_alias("farming_plus:banana", "default:apple") +end + +-- Carrot +minetest.register_alias("farming_plus:carrot_seed", "farming:carrot") +minetest.register_alias("farming_plus:carrot_1", "farming:carrot_1") +minetest.register_alias("farming_plus:carrot_2", "farming:carrot_4") +minetest.register_alias("farming_plus:carrot_3", "farming:carrot_6") +minetest.register_alias("farming_plus:carrot", "farming:carrot_8") + +-- Cocoa + +minetest.register_alias("farming_plus:cocoa_sapling", "farming:cocoa_beans") +minetest.register_alias("farming_plus:cocoa_leaves", "default:leaves") +minetest.register_alias("farming_plus:cocoa", "default:apple") +minetest.register_alias("farming_plus:cocoa_bean", "farming:cocoa_beans") + +-- Orange +minetest.register_alias("farming_plus:orange_1", "farming:tomato_1") +minetest.register_alias("farming_plus:orange_2", "farming:tomato_4") +minetest.register_alias("farming_plus:orange_3", "farming:tomato_6") +minetest.register_alias("farming_plus:orange", "farming:tomato_8") + +if eth then + minetest.register_alias("farming_plus:orange_item", "ethereal:orange") + minetest.register_alias("farming_plus:orange_seed", "ethereal:orange_tree_sapling") +else + minetest.register_alias("farming_plus:orange_item", "default:apple") + minetest.register_alias("farming_plus:orange_seed", "default:sapling") +end + +-- Potato +minetest.register_alias("farming_plus:potato_item", "farming:potato") +minetest.register_alias("farming_plus:potato_1", "farming:potato_1") +minetest.register_alias("farming_plus:potato_2", "farming:potato_2") +minetest.register_alias("farming_plus:potato", "farming:potato_3") +minetest.register_alias("farming_plus:potato_seed", "farming:potato") + +-- Pumpkin +minetest.register_alias("farming:pumpkin_seed", "farming:pumpkin_slice") +minetest.register_alias("farming:pumpkin_face", "farming:pumpkin") +minetest.register_alias("farming:pumpkin_face_light", "farming:jackolantern") +minetest.register_alias("farming:big_pumpkin", "farming:pumpkin") +minetest.register_alias("farming:big_pumpkin_side", "air") +minetest.register_alias("farming:big_pumpkin_corner", "air") +minetest.register_alias("farming:big_pumpkin_top", "air") +minetest.register_alias("farming:scarecrow", "farming:pumpkin") +minetest.register_alias("farming:scarecrow_bottom", "default:fence_wood") +minetest.register_alias("farming:scarecrow_light", "farming:jackolantern") +minetest.register_alias("farming:pumpkin_flour", "farming:pumpkin_dough") + +-- Rhubarb +minetest.register_alias("farming_plus:rhubarb_seed", "farming:rhubarb") +minetest.register_alias("farming_plus:rhubarb_1", "farming:rhubarb_1") +minetest.register_alias("farming_plus:rhubarb_2", "farming:rhubarb_2") +minetest.register_alias("farming_plus:rhubarb", "farming:rhubarb_3") +minetest.register_alias("farming_plus:rhubarb_item", "farming:rhubarb") + +-- Strawberry +if eth then + minetest.register_alias("farming_plus:strawberry_item", "ethereal:strawberry") + minetest.register_alias("farming_plus:strawberry_seed", "ethereal:strawberry") + minetest.register_alias("farming_plus:strawberry_1", "ethereal:strawberry_1") + minetest.register_alias("farming_plus:strawberry_2", "ethereal:strawberry_3") + minetest.register_alias("farming_plus:strawberry_3", "ethereal:strawberry_5") + minetest.register_alias("farming_plus:strawberry", "ethereal:strawberry_7") +else + minetest.register_alias("farming_plus:strawberry_item", "farming:raspberries") + minetest.register_alias("farming_plus:strawberry_seed", "farming:raspberries") + minetest.register_alias("farming_plus:strawberry_1", "farming:raspberry_1") + minetest.register_alias("farming_plus:strawberry_2", "farming:raspberry_2") + minetest.register_alias("farming_plus:strawberry_3", "farming:raspberry_3") + minetest.register_alias("farming_plus:strawberry", "farming:raspberry_4") + +end + +-- Tomato +minetest.register_alias("farming_plus:tomato_seed", "farming:tomato") +minetest.register_alias("farming_plus:tomato_item", "farming:tomato") +minetest.register_alias("farming_plus:tomato_1", "farming:tomato_2") +minetest.register_alias("farming_plus:tomato_2", "farming:tomato_4") +minetest.register_alias("farming_plus:tomato_3", "farming:tomato_6") +minetest.register_alias("farming_plus:tomato", "farming:tomato_8") + +-- Weed +minetest.register_alias("farming:weed", "default:grass_2") diff --git a/corn.lua b/corn.lua new file mode 100644 index 0000000..9232518 --- /dev/null +++ b/corn.lua @@ -0,0 +1,175 @@ + +--= Corn (Original textures from GeMinecraft) +-- http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/1440575-1-2-5-generation-minecraft-beta-1-2-farming-and + +minetest.register_craftitem("farming:corn", { + description = "Corn", + inventory_image = "farming_corn.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:corn_1") + end, + on_use = minetest.item_eat(3), +}) + +--= Corn on the Cob (Texture by TenPlus1) + +minetest.register_craftitem("farming:corn_cob", { + description = "Corn on the Cob", + inventory_image = "farming_corn_cob.png", + on_use = minetest.item_eat(5), +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 10, + output = "farming:corn_cob", + recipe = "farming:corn" +}) + +--= Ethanol (Thanks to JKMurray for this idea) + +minetest.register_craftitem("farming:bottle_ethanol", { + description = "Bottle of Ethanol", + inventory_image = "farming_bottle_ethanol.png", +}) + +minetest.register_craft( { + output = "farming:bottle_ethanol", + recipe = { + { "vessels:glass_bottle", "farming:corn", "farming:corn"}, + { "farming:corn", "farming:corn", "farming:corn"}, + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:bottle_ethanol", + burntime = 60, + replacements = {{ "farming:bottle_ethanol", "vessels:glass_bottle"}} +}) + +-- Define Corn growth stages + +minetest.register_node("farming:corn_1", { + drawtype = "plantlike", + tiles = {"farming_corn_1.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:corn_2", { + drawtype = "plantlike", + tiles = {"farming_corn_2.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:corn_3", { + drawtype = "plantlike", + tiles = {"farming_corn_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:corn_4", { + drawtype = "plantlike", + tiles = {"farming_corn_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:corn_5", { + drawtype = "plantlike", + tiles = {"farming_corn_5.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:corn_6", { + drawtype = "plantlike", + tiles = {"farming_corn_6.png"}, + visual_scale = 1.45, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:corn_7", { + drawtype = "plantlike", + tiles = {"farming_corn_7.png"}, + visual_scale = 1.45, + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:corn'},rarity=1}, + {items = {'farming:corn'},rarity=2}, + {items = {'farming:corn'},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Corn growth doesnnot have growing=1 so abm never has to check these + +minetest.register_node("farming:corn_8", { + drawtype = "plantlike", + tiles = {"farming_corn_8.png"}, + visual_scale = 1.45, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:corn 2'},rarity=1}, + {items = {'farming:corn 2'},rarity=2}, + {items = {'farming:corn 2'},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/cotton.lua b/cotton.lua new file mode 100644 index 0000000..f7d307f --- /dev/null +++ b/cotton.lua @@ -0,0 +1,183 @@ +-- Cotton Seed + +--minetest.register_craftitem("farming:seed_cotton", { +-- description = "Cotton Seed", +-- inventory_image = "farming_cotton_seed.png", +-- on_place = function(itemstack, placer, pointed_thing) +-- return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1") +-- end, +--}) + +minetest.register_node("farming:seed_cotton", { + description = "Cotton Seed", + tiles = {"farming_cotton_seed.png"}, + inventory_image = "farming_cotton_seed.png", + wield_image = "farming_cotton_seed.png", + drawtype = "signlike", + groups = {seed = 1, snappy = 3, attached_node = 1}, + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + sunlight_propagates = true, + selection_box = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1") + end, +}) + +-- Cotton + +minetest.register_craftitem("farming:cotton", { + description = "Cotton", + inventory_image = "farming_cotton.png", +}) + +minetest.register_alias("farming:string", "farming:cotton") + +-- String to Wool + +minetest.register_craft({ + output = "wool:white", + recipe = { + {"farming:string", "farming:string"}, + {"farming:string", "farming:string"}, + } +}) + +-- Define Cotton growth stages + +minetest.register_node("farming:cotton_1", { + drawtype = "plantlike", + tiles = {"farming_cotton_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton_2", { + drawtype = "plantlike", + tiles = {"farming_cotton_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton_3", { + drawtype = "plantlike", + tiles = {"farming_cotton_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton_4", { + drawtype = "plantlike", + tiles = {"farming_cotton_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton_5", { + drawtype = "plantlike", + tiles = {"farming_cotton_5.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = { + items = { + {items = {"farming:seed_cotton"},rarity=1}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton_6", { + drawtype = "plantlike", + tiles = {"farming_cotton_6.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + drop = { + items = { + {items = {"farming:cotton"},rarity=1}, + {items = {"farming:cotton"},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cotton_7", { + drawtype = "plantlike", + tiles = {"farming_cotton_7.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + drop = { + items = { + {items = {"farming:cotton"},rarity=1}, + {items = {"farming:cotton"},rarity=2}, + {items = {"farming:seed_cotton"},rarity=1}, + {items = {"farming:seed_cotton"},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Define last stage of Cotton growth separate and without growing=1 so abm never has to check these + +minetest.register_node("farming:cotton_8", { + drawtype = "plantlike", + tiles = {"farming_cotton_8.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + drop = { + items = { + {items = {"farming:string"},rarity=1}, + {items = {"farming:string"},rarity=2}, + {items = {"farming:string"},rarity=3}, + {items = {"farming:seed_cotton"},rarity=1}, + {items = {"farming:seed_cotton"},rarity=2}, + {items = {"farming:seed_cotton"},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/cucumber.lua b/cucumber.lua new file mode 100644 index 0000000..4301890 --- /dev/null +++ b/cucumber.lua @@ -0,0 +1,74 @@ + +--= Cucumber (Original textures from DocFarming mod) +-- https://forum.minetest.net/viewtopic.php?id=3948 + +minetest.register_craftitem("farming:cucumber", { + description = "Cucumber", + inventory_image = "farming_cucumber.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:cucumber_1") + end, + on_use = minetest.item_eat(4), +}) + +-- Define Cucumber growth stages + +minetest.register_node("farming:cucumber_1", { + drawtype = "plantlike", + tiles = {"farming_cucumber_1.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cucumber_2", { + drawtype = "plantlike", + tiles = {"farming_cucumber_2.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:cucumber_3", { + drawtype = "plantlike", + tiles = {"farming_cucumber_3.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Cucumber growth doesnnot have growing=1 so abm never has to check these + +minetest.register_node("farming:cucumber_4", { + drawtype = "plantlike", + tiles = {"farming_cucumber_4.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:cucumber'},rarity=1}, + {items = {'farming:cucumber 2'},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..be420a3 --- /dev/null +++ b/depends.txt @@ -0,0 +1,2 @@ +default +wool \ No newline at end of file diff --git a/donut.lua b/donut.lua new file mode 100644 index 0000000..6dc385a --- /dev/null +++ b/donut.lua @@ -0,0 +1,45 @@ +-- Donut (thanks to Bockwurst for making the donut images) +minetest.register_craftitem("farming:donut", { + description = "Donut", + inventory_image = "farming_donut.png", + on_use = minetest.item_eat(4), +}) + +minetest.register_craft({ + output = "farming:donut 3", + recipe = { + {'', 'farming:wheat', ''}, + {'farming:wheat', '', 'farming:wheat'}, + {'', 'farming:wheat', ''}, + } +}) + +-- Chocolate Donut +minetest.register_craftitem("farming:donut_chocolate", { + description = "Chocolate Donut", + inventory_image = "farming_donut_chocolate.png", + on_use = minetest.item_eat(6), +}) + +minetest.register_craft({ + output = "farming:donut_chocolate", + recipe = { + {'farming:cocoa_beans'}, + {'farming:donut'}, + } +}) + +-- Apple Donut +minetest.register_craftitem("farming:donut_apple", { + description = "Apple Donut", + inventory_image = "farming_donut_apple.png", + on_use = minetest.item_eat(6), +}) + +minetest.register_craft({ + output = "farming:donut_apple", + recipe = { + {'default:apple'}, + {'farming:donut'}, + } +}) diff --git a/grass.lua b/grass.lua new file mode 100644 index 0000000..e3d1b6c --- /dev/null +++ b/grass.lua @@ -0,0 +1,28 @@ + +-- Override default grass and have it drop Wheat Seeds + +for i=1,5 do + + minetest.override_item("default:grass_"..i, { + drop = { + max_items = 1, + items = { + {items = {'farming:seed_wheat'},rarity = 5}, + {items = {'default:grass_1'}}, + } + }, + }) + +end + +-- Override default Jungle Grass and have it drop Cotton Seeds + +minetest.override_item("default:junglegrass", { + drop = { + max_items = 1, + items = { + {items = {'farming:seed_cotton'},rarity = 8}, + {items = {'default:junglegrass'}}, + } + }, +}) diff --git a/hoes.lua b/hoes.lua new file mode 100644 index 0000000..cd00f5e --- /dev/null +++ b/hoes.lua @@ -0,0 +1,150 @@ + +-- Hoe registration function + +farming.register_hoe = function(name, def) + -- Check for : prefix (register new hoes in your mod's namespace) + if name:sub(1,1) ~= ":" then + name = ":" .. name + end + -- Check def table + if def.description == nil then + def.description = "Hoe" + end + if def.inventory_image == nil then + def.inventory_image = "unknown_item.png" + end + if def.recipe == nil then + def.recipe = { + {"air","air",""}, + {"","group:stick",""}, + {"","group:stick",""} + } + end + if def.max_uses == nil then + def.max_uses = 30 + end + -- Register the tool + minetest.register_tool(name, { + description = def.description, + inventory_image = def.inventory_image, + on_use = function(itemstack, user, pointed_thing) + return farming.hoe_on_use(itemstack, user, pointed_thing, def.max_uses) + end + }) + -- Register its recipe + minetest.register_craft({ + output = name:gsub(":", "", 1), + recipe = def.recipe + }) +end + +-- Turns dirt with group soil=1 into soil + +function farming.hoe_on_use(itemstack, user, pointed_thing, uses) + local pt = pointed_thing + -- check if pointing at a node + if not pt or pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + local upos = pointed_thing.under + + if minetest.is_protected(upos, user:get_player_name()) then + minetest.record_protection_violation(upos, user:get_player_name()) + return + end + + local p = {x=pt.under.x, y=pt.under.y+1, z=pt.under.z} + local above = minetest.get_node(p) + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] + or not minetest.registered_nodes[above.name] then + return + end + + -- check if the node above the pointed thing is air + if above.name ~= "air" then + return + end + + -- check if pointing at dirt + if minetest.get_item_group(under.name, "soil") ~= 1 then + return + end + + -- turn the node into soil, wear out item and play sound + minetest.set_node(pt.under, {name="farming:soil"}) + minetest.sound_play("default_dig_crumbly", {pos = pt.under, gain = 0.5,}) + itemstack:add_wear(65535/(uses-1)) + return itemstack +end + +-- Define Hoes + +farming.register_hoe(":farming:hoe_wood", { + description = "Wooden Hoe", + inventory_image = "farming_tool_woodhoe.png", + max_uses = 30, + recipe = { + {"group:wood", "group:wood"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) + +farming.register_hoe(":farming:hoe_stone", { + description = "Stone Hoe", + inventory_image = "farming_tool_stonehoe.png", + max_uses = 90, + recipe = { + {"group:stone", "group:stone"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) + +farming.register_hoe(":farming:hoe_steel", { + description = "Steel Hoe", + inventory_image = "farming_tool_steelhoe.png", + max_uses = 200, + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) + +farming.register_hoe(":farming:hoe_bronze", { + description = "Bronze Hoe", + inventory_image = "farming_tool_bronzehoe.png", + max_uses = 220, + recipe = { + {"default:bronze_ingot", "default:bronze_ingot"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) + +farming.register_hoe(":farming:hoe_mese", { + description = "Mese Hoe", + inventory_image = "farming_tool_mesehoe.png", + max_uses = 350, + recipe = { + {"default:mese_crystal", "default:mese_crystal"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) + +farming.register_hoe(":farming:hoe_diamond", { + description = "Diamond Hoe", + inventory_image = "farming_tool_diamondhoe.png", + max_uses = 500, + recipe = { + {"default:diamond", "default:diamond"}, + {"", "group:stick"}, + {"", "group:stick"}, + } +}) diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..6fb997a --- /dev/null +++ b/init.lua @@ -0,0 +1,195 @@ +--[[ + Minetest Farming Redo Mod 1.10 (4th November 2014) + by TenPlus1 +]] + +farming = {} +farming.mod = "redo" +farming.hoe_on_use = default.hoe_on_use + +dofile(minetest.get_modpath("farming").."/soil.lua") +dofile(minetest.get_modpath("farming").."/hoes.lua") +dofile(minetest.get_modpath("farming").."/grass.lua") +dofile(minetest.get_modpath("farming").."/wheat.lua") +dofile(minetest.get_modpath("farming").."/cotton.lua") +dofile(minetest.get_modpath("farming").."/carrot.lua") +dofile(minetest.get_modpath("farming").."/potato.lua") +dofile(minetest.get_modpath("farming").."/tomato.lua") +dofile(minetest.get_modpath("farming").."/cucumber.lua") +dofile(minetest.get_modpath("farming").."/corn.lua") +dofile(minetest.get_modpath("farming").."/coffee.lua") +dofile(minetest.get_modpath("farming").."/melon.lua") +dofile(minetest.get_modpath("farming").."/sugar.lua") +dofile(minetest.get_modpath("farming").."/pumpkin.lua") +dofile(minetest.get_modpath("farming").."/cocoa.lua") +dofile(minetest.get_modpath("farming").."/raspberry.lua") +dofile(minetest.get_modpath("farming").."/blueberry.lua") +dofile(minetest.get_modpath("farming").."/rhubarb.lua") +dofile(minetest.get_modpath("farming").."/donut.lua") -- sweet treat +dofile(minetest.get_modpath("farming").."/mapgen.lua") +dofile(minetest.get_modpath("farming").."/compatibility.lua") -- Farming Plus compatibility + +-- Place Seeds on Soil + +function farming.place_seed(itemstack, placer, pointed_thing, plantname) + local pt = pointed_thing + + -- check if pointing at a node + if not pt and pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + local above = minetest.get_node(pt.above) + + -- check if pointing at the top of the node + if pt.above.y ~= pt.under.y+1 then + return + end + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] + or not minetest.registered_nodes[above.name] then + return + end + + -- can I replace above node, and am I pointing at soil + if not minetest.registered_nodes[above.name].buildable_to + or minetest.get_item_group(under.name, "soil") < 2 then + return + end + + -- add the node and remove 1 item from the itemstack + minetest.add_node(pt.above, {name=plantname}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack +end + +-- Single ABM Handles Growing of All Plants + +minetest.register_abm({ + nodenames = {"group:growing"}, + neighbors = {"farming:soil_wet", "default:jungletree"}, + interval = 60, + chance = 2, + + action = function(pos, node) + + -- get node type (e.g. farming:wheat_1) + + local data = nil + data = string.split(node.name, '_', 2) + local plant = data[1].."_" + local numb = data[2] + + -- check if fully grown + if not minetest.registered_nodes[plant..(numb + 1)] then return end + + -- Check for Cocoa Pod + if plant == "farming:cocoa_" and minetest.find_node_near(pos, 1, {"default:jungletree"}) then + + else + + -- check if on wet soil + pos.y = pos.y-1 + if minetest.get_node(pos).name ~= "farming:soil_wet" then return end + pos.y = pos.y+1 + + -- check light + if minetest.get_node_light(pos) < 13 then return end + + end + + -- grow + minetest.set_node(pos, {name=plant..(numb + 1)}) + + end +}) + +-- Function to register plants (for compatibility) + +farming.register_plant = function(name, def) + local mname = name:split(":")[1] + local pname = name:split(":")[2] + + -- Check def table + if not def.description then + def.description = "Seed" + end + if not def.inventory_image then + def.inventory_image = "unknown_item.png" + end + if not def.steps then + return nil + end + + -- Register seed + minetest.register_node(":" .. mname .. ":seed_" .. pname, { + description = def.description, + tiles = {def.inventory_image}, + inventory_image = def.inventory_image, + wield_image = def.inventory_image, + drawtype = "signlike", + groups = {seed = 1, snappy = 3, attached_node = 1}, + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + sunlight_propagates = true, + selection_box = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, mname .. ":"..pname.."_1") + end + }) + + -- Register harvest + minetest.register_craftitem(":" .. mname .. ":" .. pname, { + description = pname:gsub("^%l", string.upper), + inventory_image = mname .. "_" .. pname .. ".png", + }) + + -- Register growing steps + for i=1,def.steps do + local drop = { + items = { + {items = {mname .. ":" .. pname}, rarity = 9 - i}, + {items = {mname .. ":" .. pname}, rarity= 18 - i * 2}, + {items = {mname .. ":seed_" .. pname}, rarity = 9 - i}, + {items = {mname .. ":seed_" .. pname}, rarity = 18 - i * 2}, + } + } + + local g = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, growing = 1} + -- Last step doesn't need growing=1 so Abm never has to check these + if i == def.steps then + g = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1} + end + + minetest.register_node(mname .. ":" .. pname .. "_" .. i, { + drawtype = "plantlike", + waving = 1, + tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = drop, + selection_box = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = g, + sounds = default.node_sound_leaves_defaults(), + }) + end + + -- Return info + local r = {seed = mname .. ":seed_" .. pname, harvest = mname .. ":" .. pname} + return r +end + +--[[ Cotton (example, is already registered in cotton.lua) +farming.register_plant("farming:cotton", { + description = "Cotton seed", + inventory_image = "farming_cotton_seed.png", + steps = 8, +}) +--]] diff --git a/license.txt b/license.txt new file mode 100644 index 0000000..5d30c14 --- /dev/null +++ b/license.txt @@ -0,0 +1,14 @@ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. \ No newline at end of file diff --git a/mapgen.lua b/mapgen.lua new file mode 100644 index 0000000..c7f990b --- /dev/null +++ b/mapgen.lua @@ -0,0 +1,85 @@ + +-- Generate new foods on map + +minetest.register_on_generated(function(minp, maxp, seed) + + local perlin1 = minetest.get_perlin(329, 3, 0.6, 100) + + -- Assume X and Z lengths are equal + local divlen = 16 + local divs = (maxp.x-minp.x)/divlen+1; + + for divx=0,divs-1 do + for divz=0,divs-1 do + + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + + -- Determine plant amount from perlin noise + local grass_amount = math.floor(perlin1:get2d({x=x0, y=z0}) ^ 3 * 9) + + -- Find random positions for plant based on this random + local pr = PseudoRandom(seed+1) + + for i=0,grass_amount do + + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + + -- Find ground level (0...15) + local ground_y = nil + + for y=30,0,-1 do + if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then + ground_y = y + break + end + end + + if ground_y then + + local p = {x=x,y=ground_y+1,z=z} + local nn = minetest.get_node(p).name + + -- Check if the node can be replaced + if minetest.registered_nodes[nn] and + + minetest.registered_nodes[nn].buildable_to then + nn = minetest.get_node({x=x,y=ground_y,z=z}).name + + -- If dirt with grass, add plant in various stages of maturity + if nn == "default:dirt_with_grass" then + + local type = math.random(1,11) + if type == 1 and ground_y > 15 then + minetest.set_node(p,{name="farming:potato_"..pr:next(3, 4)}) + elseif type == 2 then + minetest.set_node(p,{name="farming:tomato_"..pr:next(7, 8)}) + elseif type == 3 then + minetest.set_node(p,{name="farming:carrot_"..pr:next(7, 8)}) + elseif type == 4 then + minetest.set_node(p,{name="farming:cucumber_4"}) + elseif type == 5 then + minetest.set_node(p,{name="farming:corn_"..pr:next(7, 8)}) + elseif type == 6 and ground_y > 20 then + minetest.set_node(p,{name="farming:coffee_5"}) + elseif type == 7 and minetest.find_node_near(p, 3, {"group:water"}) then + minetest.set_node(p,{name="farming:melon_8"}) + elseif type == 8 and ground_y > 15 then + minetest.set_node(p,{name="farming:pumpkin_8"}) + elseif type == 9 and ground_y > 5 then + minetest.set_node(p,{name="farming:raspberry_4"}) + elseif type == 10 and ground_y > 10 then + minetest.set_node(p,{name="farming:rhubarb_3"}) + elseif type == 11 and ground_y > 5 then + minetest.set_node(p,{name="farming:blueberry_4"}) + end + end + end + end + end + end + end +end) diff --git a/melon.lua b/melon.lua new file mode 100644 index 0000000..390b8bd --- /dev/null +++ b/melon.lua @@ -0,0 +1,141 @@ + +--= Melon + +minetest.register_craftitem("farming:melon_slice", { + description = "Melon Slice", + inventory_image = "farming_melon_slice.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:melon_1") + end, + on_use = minetest.item_eat(2), +}) + +minetest.register_craft({ + output = "farming:melon_8", + recipe = { + {"farming:melon_slice", "farming:melon_slice", "farming:melon_slice"}, + {"farming:melon_slice", "farming:melon_slice", "farming:melon_slice"}, + {"farming:melon_slice", "farming:melon_slice", "farming:melon_slice"}, + } +}) + +minetest.register_craft({ + output = "farming:melon_slice 9", + recipe = { + {"", "farming:melon_8", ""}, + } +}) + +-- Define Melon growth stages + +minetest.register_node("farming:melon_1", { + drawtype = "plantlike", + tiles = {"farming_melon_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:melon_2", { + drawtype = "plantlike", + tiles = {"farming_melon_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:melon_3", { + drawtype = "plantlike", + tiles = {"farming_melon_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:melon_4", { + drawtype = "plantlike", + tiles = {"farming_melon_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:melon_5", { + drawtype = "plantlike", + tiles = {"farming_melon_5.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:melon_6", { + drawtype = "plantlike", + tiles = {"farming_melon_6.png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:melon_7", { + drawtype = "plantlike", + tiles = {"farming_melon_7.png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Melon growth doesnnot have growing=1 so abm never has to check these + +minetest.register_node("farming:melon_8", { + drawtype = "nodebox", + description = "Melon", + tiles = {"farming_melon_top.png", "farming_melon_top.png", "farming_melon_side.png"}, + paramtype = "light", + walkable = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:melon_slice 9'},rarity=1}, + } + }, + groups = {snappy=3,flammable=2,plant=1}, + sounds = default.node_sound_wood_defaults(), +}) diff --git a/potato.lua b/potato.lua new file mode 100644 index 0000000..9d4a4a7 --- /dev/null +++ b/potato.lua @@ -0,0 +1,97 @@ + +--= Potato (Original textures from DocFarming mod) +-- https://forum.minetest.net/viewtopic.php?id=3948 + +minetest.register_craftitem("farming:potato", { + description = "Potato", + inventory_image = "farming_potato.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:potato_1") + end, + on_use = minetest.item_eat(1), +}) + +minetest.register_craftitem("farming:baked_potato", { + description = "Baked Potato", + inventory_image = "farming_baked_potato.png", + on_use = minetest.item_eat(6), +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 10, + output = "farming:baked_potato", + recipe = "farming:potato" +}) + +-- Define Potato growth stages + +minetest.register_node("farming:potato_1", { + drawtype = "plantlike", + tiles = {"farming_potato_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:potato_2", { + drawtype = "plantlike", + tiles = {"farming_potato_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:potato_3", { + drawtype = "plantlike", + tiles = {"farming_potato_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:potato'},rarity=1}, + {items = {'farming:potato'},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Potato growth doesnnot have growing=1 so abm never has to check these + +minetest.register_node("farming:potato_4", { + drawtype = "plantlike", + tiles = {"farming_potato_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:potato 2'},rarity=1}, + {items = {'farming:potato 3'},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/pumpkin.lua b/pumpkin.lua new file mode 100644 index 0000000..b7808b1 --- /dev/null +++ b/pumpkin.lua @@ -0,0 +1,216 @@ + +--= Pumpkin (Big thanks to the PainterlyPack.net for Minecraft for allowing me to use these textures) + +minetest.register_node("farming:pumpkin", { + description = "Pumpkin", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png"}, + groups = {snappy=3,flammable=2,plant=1}, + drop = { + items = { + {items = {'farming:pumpkin_slice 9'},rarity=1}, + } + }, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_craftitem("farming:pumpkin_slice", { + description = "Pumpkin Slice", + inventory_image = "farming_pumpkin_slice.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:pumpkin_1") + end, + on_use = minetest.item_eat(2), +}) + +minetest.register_craft({ + output = "farming:pumpkin", + recipe = { + {"farming:pumpkin_slice", "farming:pumpkin_slice", "farming:pumpkin_slice"}, + {"farming:pumpkin_slice", "farming:pumpkin_slice", "farming:pumpkin_slice"}, + {"farming:pumpkin_slice", "farming:pumpkin_slice", "farming:pumpkin_slice"}, + } +}) + +minetest.register_craft({ + output = "farming:pumpkin_slice 9", + recipe = { + {"", "farming:pumpkin", ""}, + } +}) + +-- Jack 'O Lantern +minetest.register_node("farming:jackolantern", { + description = "Jack 'O Lantern", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face_off.png"}, + paramtype2 = "facedir", + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_wood_defaults(), + on_punch = function(pos, node, puncher) + node.name = "farming:jackolantern_on" + minetest.set_node(pos, node) + end, +}) + +minetest.register_node("farming:jackolantern_on", { + description = "Jack 'O Lantern", + tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face_on.png"}, + light_source = 14, + paramtype2 = "facedir", + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_wood_defaults(), + drop = "farming:jackolantern", + on_punch = function(pos, node, puncher) + node.name = "farming:jackolantern" + minetest.set_node(pos, node) + end, +}) + +minetest.register_craft({ + output = "farming:jackolantern", + recipe = { + {"", "", ""}, + {"", "default:torch", ""}, + {"", "farming:pumpkin", ""}, + } +}) + +-- Pumpkin Bread +minetest.register_craftitem("farming:pumpkin_bread", { + description = ("Pumpkin Bread"), + inventory_image = "farming_pumpkin_bread.png", + on_use = minetest.item_eat(8) +}) + +minetest.register_craftitem("farming:pumpkin_dough", { + description = "Pumpkin Dough", + inventory_image = "farming_pumpkin_dough.png", +}) + +minetest.register_craft({ + output = "farming:pumpkin_dough", + type = "shapeless", + recipe = {"farming:flour", "farming:pumpkin_slice", "farming:pumpkin_slice"} +}) + +minetest.register_craft({ + type = "cooking", + output = "farming:pumpkin_bread", + recipe = "farming:pumpkin_dough", + cooktime = 10 +}) + +-- Define Pumpkin growth stages + +minetest.register_node("farming:pumpkin_1", { + drawtype = "plantlike", + tiles = {"farming_pumpkin_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:pumpkin_2", { + drawtype = "plantlike", + tiles = {"farming_pumpkin_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:pumpkin_3", { + drawtype = "plantlike", + tiles = {"farming_pumpkin_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:pumpkin_4", { + drawtype = "plantlike", + tiles = {"farming_pumpkin_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:pumpkin_5", { + drawtype = "plantlike", + tiles = {"farming_pumpkin_5.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:pumpkin_6", { + drawtype = "plantlike", + tiles = {"farming_pumpkin_6.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:pumpkin_7", { + drawtype = "plantlike", + tiles = {"farming_pumpkin_7.png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Pumpkin growth does not have growing=1 so abm never has to check these + +minetest.register_node("farming:pumpkin_8", { + drawtype = "plantlike", + tiles = {"farming_pumpkin_8.png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:pumpkin_slice 9'},rarity=1}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1}, + sounds = default.node_sound_defaults(), +}) diff --git a/raspberry.lua b/raspberry.lua new file mode 100644 index 0000000..48eea25 --- /dev/null +++ b/raspberry.lua @@ -0,0 +1,95 @@ + +--= Raspberries + +minetest.register_craftitem("farming:raspberries", { + description = "Raspberries", + inventory_image = "farming_raspberries.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:raspberry_1") + end, + on_use = minetest.item_eat(1), +}) + +-- Raspberry Smoothie + +minetest.register_craftitem("farming:smoothie_raspberry", { + description = "Raspberry Smoothie", + inventory_image = "farming_raspberry_smoothie.png", + on_use = minetest.item_eat(2, "vessels:drinking_glass"), +}) + +minetest.register_craft({ + output = "farming:smoothie_raspberry", + recipe = { + {"default:snow"}, + {"farming:raspberries"}, + {"vessels:drinking_glass"}, + } +}) + +-- Define Raspberry growth stages + +minetest.register_node("farming:raspberry_1", { + drawtype = "plantlike", + tiles = {"farming_raspberry_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:raspberry_2", { + drawtype = "plantlike", + tiles = {"farming_raspberry_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:raspberry_3", { + drawtype = "plantlike", + tiles = {"farming_raspberry_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Raspberry growth does not have growing=1 so abm never has to check these + +minetest.register_node("farming:raspberry_4", { + drawtype = "plantlike", + tiles = {"farming_raspberry_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:raspberries 2'},rarity=1}, + {items = {'farming:raspberries'},rarity=2}, + {items = {'farming:raspberries'},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/rhubarb.lua b/rhubarb.lua new file mode 100644 index 0000000..37bd401 --- /dev/null +++ b/rhubarb.lua @@ -0,0 +1,79 @@ + +--= Rhubarb + +minetest.register_craftitem("farming:rhubarb", { + description = "Rhubarb", + inventory_image = "farming_rhubarb.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:rhubarb_1") + end, + on_use = minetest.item_eat(1), +}) + +minetest.register_craftitem("farming:rhubarb_pie", { + description = "Rhubarb Pie", + inventory_image = "farming_rhubarb_pie.png", + on_use = minetest.item_eat(6), +}) + +minetest.register_craft({ + output = "farming:rhubarb_pie", + recipe = { + {"", "farming:sugar", ""}, + {"farming:rhubarb", "farming:rhubarb", "farming:rhubarb"}, + {"farming:wheat", "farming:wheat", "farming:wheat"}, + } +}) + +-- Define Rhubarb growth stages + +minetest.register_node("farming:rhubarb_1", { + drawtype = "plantlike", + tiles = {"farming_rhubarb_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:rhubarb_2", { + drawtype = "plantlike", + tiles = {"farming_rhubarb_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Rhubarb growth doesnnot have growing=1 so abm never has to check these + +minetest.register_node("farming:rhubarb_3", { + drawtype = "plantlike", + tiles = {"farming_rhubarb_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:rhubarb 2'},rarity=1}, + {items = {'farming:rhubarb'},rarity=2}, + {items = {'farming:rhubarb'},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/soil.lua b/soil.lua new file mode 100644 index 0000000..b459273 --- /dev/null +++ b/soil.lua @@ -0,0 +1,58 @@ + +--= Soil Functions + +-- Normal Soil + +minetest.register_node("farming:soil", { + description = "Soil", + tiles = {"farming_soil.png", "default_dirt.png"}, + drop = "default:dirt", + is_ground_content = true, + groups = {crumbly=3, not_in_creative_inventory=1, soil=2}, + sounds = default.node_sound_dirt_defaults(), +}) +minetest.register_alias("farming:desert_sand_soil", "farming:soil") + +-- Wet Soil + +minetest.register_node("farming:soil_wet", { + description = "Wet Soil", + tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, + drop = "default:dirt", + is_ground_content = true, + groups = {crumbly=3, not_in_creative_inventory=1, soil=3}, + sounds = default.node_sound_dirt_defaults(), +}) +minetest.register_alias("farming:desert_sand_soil_wet", "farming:soil_wet") + +-- If Water near Soil then turn into Wet Soil + +minetest.register_abm({ + nodenames = {"farming:soil", "farming:soil_wet"}, + interval = 15, + chance = 4, + action = function(pos, node) + + pos.y = pos.y+1 + local nn = minetest.get_node(pos).name + pos.y = pos.y-1 + + -- what's on top of soil, if solid/not plant change soil to dirt + if minetest.registered_nodes[nn] + and minetest.registered_nodes[nn].walkable + and minetest.get_item_group(nn, "plant") == 0 then + minetest.set_node(pos, {name="default:dirt"}) + end + + -- check if there is water nearby and change soil accordingly + if minetest.find_node_near(pos, 3, {"group:water"}) then + if node.name == "farming:soil" then + minetest.set_node(pos, {name="farming:soil_wet"}) + end + elseif node.name == "farming:soil_wet" then + minetest.set_node(pos, {name="farming:soil"}) + elseif node.name == "farming:soil" then + minetest.set_node(pos, {name="default:dirt"}) + end + end, +}) diff --git a/sugar.lua b/sugar.lua new file mode 100644 index 0000000..15bd9fa --- /dev/null +++ b/sugar.lua @@ -0,0 +1,15 @@ + +--= Sugar + +minetest.register_craftitem("farming:sugar", { + description = "Sugar", + inventory_image = "farming_sugar.png", +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 3, + output = "farming:sugar 2", + recipe = "default:papyrus", +}) + diff --git a/textures/default_junglegrass.png b/textures/default_junglegrass.png new file mode 100644 index 0000000000000000000000000000000000000000..5d8cdbca17d37713fb2941f135c402c29128f8ea GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs|5ptrmd2mhnkt2s-wTA zb*Q#usIF6-v0tK*Z-zx+u3>PgLt>F_WP@9FpL_G%!0l&N&o{o@1=P-1666=m;PC85 z8j#cI>Eak7aXGa&n(wdy2g~%l0|EAve$U?~@O*Jl&dCFB6qwf+?>+IW``s4%!&SGo z{)~Kl$7%n?HM3S;zrFpZ?s@L3UoI>WZeyMQ#@`ViQ4~+wv!Zf@O{5h#P zb9&;DjRMUrhP+vE%&oVaIJRUYGEOw`^=OGY5#hui`1A+kj#JE!W*jv<0CWt4r>mdK II;Vst0OFNmo#s5c-QvbhvnFBV6pi5vjf;1dI z?giEi!nbb4{=axJ{BQP$7!J}rD~$oW?Hg+$ z27qjX8C2uJ@PA4I!~X+4I5fflNC7Bh8+;i4cZD(hZwX-dU+>NEe`YGg)&)5X_@i!9 z9mD@^O%TP4^BMk6OM=iKgK9k)h>LfS29T3MPMw|%!6YZy?r?_x`PO7;Bo_bxNuTQ` TQlETq00000NkvXXu0mjfmmPBdEnV zmC3VVrUK^%Edl=7S_bwuf;x{FmmEk^Xnkl9TX4I9fuU*%*L>$Uk3)b)FnGH9xvX$ZR|6JHC@W!tw1D8g70 zk;uyklJvl*vMMOe^MMi?9N`j})P-6!J10MrZdH|!oHc%CVr>mdK II;Vst03L!ESpWb4 literal 0 HcmV?d00001 diff --git a/textures/farming_blueberry_2.png b/textures/farming_blueberry_2.png new file mode 100644 index 0000000000000000000000000000000000000000..308a0caf006a7d617319c7cc98453d7a36d8e55b GIT binary patch literal 223 zcmV<503iQ~P)h@_o(N*kEDlq_MDpfx^<_@_uNhOZC!QT2eMpOHmS^?`&TPXZ(4@sY%cA zl0Ne_9U^u^NIGpFGEo8&0@ojGm;88dLFHYfOeTPFrK;OW-U$p&5#YGGh@MlB^Cmfb zWPd}r$K`-w?vG&d7cJ`L!QKv;LafsNG$q1uSqDGCEqex*5DA=q}lDyOs9=l?9XkQhdkU? zdA_gnC*U(5xxYq^mnc9Hh={sk^>o1k?oN@typvRADj-)A^*RU@C?k)O65!6x8m>ZQ z%K4CDF4_M8w$t0Gaoj2sR}(q@zBeSTvO3K#t7hf60d-Vp|FQ~fYG49Q0!V>s?P^~) hprJiz53o6Y;uowDqLJPOy4wH%002ovPDHLkV1k`AU_Af; literal 0 HcmV?d00001 diff --git a/textures/farming_blueberry_4.png b/textures/farming_blueberry_4.png new file mode 100644 index 0000000000000000000000000000000000000000..75fb69a0ee637f2bcfd309bd8b3c1e8ddd049559 GIT binary patch literal 317 zcmV-D0mA-?P)EJl!N5h5>1s;&t8sh>gb_^9sCPZ`kin0Dz*7 zDZR4II2tjpz||JtBIgz8MDBuRn-O_s!MaJP45*ugVG3mevAdCQoPeBAJp>9-8H;l! zQmZXES#*^9BVnoSk)Cc6H%=5f_dRfav)|-i)G^;*J|h5FYH&IQW;5V;=SDgURafPeRJjAo%Jt|_3c=7)EcOTu_VYZn8D%MjWi&q*we)^gyVX0 zLPCOwh)4nhlUrwBpPPVpMD^FSUbh7flh3Vj)-LBT@OWcc{Orlh%e_2@W~KLBn`61= zgu<3*J(p$$PZp6>c{V4qluhNRhVACX$=z9ifz~s4y85}Sb4q9e08e;RLI3~& literal 0 HcmV?d00001 diff --git a/textures/farming_bottle_ethanol.png b/textures/farming_bottle_ethanol.png new file mode 100644 index 0000000000000000000000000000000000000000..84e6162de837acf5f930477d9c6ee8877d35229f GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=3pm&!lD{!JP~7dHDYce{k<=MVsk>iBic20p~P(_^K!~ zL-&a;Uf5VD?|otpPlZcMA+>7ELAOQ!1V-uzL|CcCh_)FWLgFA5 zvGq6Vd;H>Y0oE!)wHkBqy+!A!ARXomGs`e9Xf@i*8K_)@%P~Y?81p&P(>O+m7DkwDL%_&g^5`h%3o&rPg)&T*D zfd!Q3AWZGv+0-xTSF`}9;ILR6D0nC;%7ltCacc)*OqlWP_J*oE1%*!D!(v#{5HzB% q18(j#gjsK&T=V!_d-W}!f8i%XZ^E3%vu4Er0000q|v6C`4u zBWO{^JvUCuu9bUvs=Rxrz`imq|5*azOT{kLtKID~d@|dYO{aVtP&;EukY6x^!?PP{ zKu)-)i(`ny<*9w1LJbN$EQ;L@90&jJ58E>3X!p}QRxf8A*(smcHg&7U`53cKXHUjZ zvkU1$t0Xrz{HTsEKh1Hmd|{#5b!ok07w7xUU)Fr^Q%^7FbpH4sbD3S;nLJmoom2<3 Og2B_(&t;ucLK6UaE=pej literal 0 HcmV?d00001 diff --git a/textures/farming_carrot_1.png b/textures/farming_carrot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bbeae7e8a3ca2915c4b76dba28933e95a6ebdc0b GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uId~D{<8$amx`^jo6-jq zWGo5t3ubV5b|VeQ5%hF%4B@z*oUlMBgCR+cosEGdjNx!I_xT$@Nd`|>KbLh*2~7Z+ CK^ZXs literal 0 HcmV?d00001 diff --git a/textures/farming_carrot_2.png b/textures/farming_carrot_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b24ecc05049160fe0965788b1c5b767530ae92b5 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t{xl${<8$amx^gVx%C?; z$XF8O7tG-B>_!@pBjV}e7{YNqIbnf}34@_>M?z5o0|QqaqYL-egkwN?22WQ%mvv4F FO#mQi8odAj literal 0 HcmV?d00001 diff --git a/textures/farming_carrot_3.png b/textures/farming_carrot_3.png new file mode 100644 index 0000000000000000000000000000000000000000..840050570f0fb4f23654553e1a90026f3defe895 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u1cH&{<8$amx}2yUyKI| zGL{7S1v5B2yO9Ruh%YY?E4sHEZY|a0#z`0y85}S Ib4q9e00lT2M*si- literal 0 HcmV?d00001 diff --git a/textures/farming_carrot_4.png b/textures/farming_carrot_4.png new file mode 100644 index 0000000000000000000000000000000000000000..32ee26245c9e8c2a2821d3fae65a911b4abdedbb GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0YzoQ^0?gK=@Lz`)+;~ zKt5whkY6x^!?PP{K#ruRi(?4K_2h&FECnVEoXeOUnu-}ao*rOe5MRM$=KRjmdKI;Vst0KR`6IRF3v literal 0 HcmV?d00001 diff --git a/textures/farming_carrot_5.png b/textures/farming_carrot_5.png new file mode 100644 index 0000000000000000000000000000000000000000..0bcd9c1e3baf7dcc4ce9c88dbf3dcfe4ca6dc1bd GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0YzoQ^0?gK=@Lz`)+;~ zKt5whkY6x^!?PP{K#r`Zi(?4K_2dKv;Q|u|&Sl09O~s5IPZ?As_zf5sR2i6=nXX@q Q04ikgboFyt=akR{0P;>7g#Z8m literal 0 HcmV?d00001 diff --git a/textures/farming_carrot_6.png b/textures/farming_carrot_6.png new file mode 100644 index 0000000000000000000000000000000000000000..a17c6b2bbff968e6e4946726acf6442f54f92bcf GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0YzoQ^0?gK=@Lz`)+;~ zKt5whkY6x^!?PP{K#sDfi(?4K_2dKvUI~VcuFMk>te90S#2Gl1*%b~}FsM8`z`)?- Wz;T{J7 literal 0 HcmV?d00001 diff --git a/textures/farming_carrot_7.png b/textures/farming_carrot_7.png new file mode 100644 index 0000000000000000000000000000000000000000..d26eee7cce6a0d6cc021517a73d615b470958d6b GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZWnj>>DC4$k<#z8BaOo59 zpCu5!R4n1wn;$?0j3q&S!3+-1ZlnP@nw~C>Asp9}6Be*07&inkG79Wt%ywdG5tZQz nJ($H1c=*5@hO0+Z7*rTaYMHGL_B2cdYGUwo^>bP0l+XkK-Pb3p literal 0 HcmV?d00001 diff --git a/textures/farming_carrot_8.png b/textures/farming_carrot_8.png new file mode 100644 index 0000000000000000000000000000000000000000..00b6d92885e473fd0ca76295b14c1294559d9765 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnY1=1E}+;*+p?wtZIeFFQ+ zwESlYgfA7lRIhfo%kar;Upb}x)j&mzB|(0{3=Yq3qyag)o-U3d9M_W*7APf{Hw18U z3hZNyc4TasI)^RvU>ZZ<;RA0Nt{zcgNIjFqD#Wl#j%9yxW zDB~{3;k9e!cJCDMpCu5!RBZ7g_k;VSE?+i&|32&Y?@M18c|is-mIV0)GdMiEkp|@W zdb&7$25|E$vl_U=5cVDjCxgN1oEBVV>8g9xwSQID##Z-53fc)I$ztaD0e0stTJ BMu`9b literal 0 HcmV?d00001 diff --git a/textures/farming_chocolate_dark.png b/textures/farming_chocolate_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..03243b274bcacd462e39b4042b2c364fbdee6007 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6O!VDyj#A@{cDgFST5LZP826GvPRAZ)e6NU~K z##)8j+CVABk|4ie28U-i(tw;qPZ!4!j_bbt7X=R}a5xt-mohgCU*MhcH(je^>$7&7 zzGjClAx5&ITmDqb6!CLv38-&bpa04@nCo<{Lh#iW{1zQeOZ{1Fx}F|A&~=OF_qJD| p->yC>5L#nhvwUaqw%^Tf<8Ry-Qj|ClUjej?!PC{xWt~$(69D9SLB9Y1 literal 0 HcmV?d00001 diff --git a/textures/farming_cocoa_1.png b/textures/farming_cocoa_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f887a1fb1b758229c763a7f60d4bd15436877b8e GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VYl>^Oil2&hvcBVF6_gTe~DWM4f?R-~> literal 0 HcmV?d00001 diff --git a/textures/farming_cocoa_2.png b/textures/farming_cocoa_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d393532509e2d9c2aae1735feff65735cafe99 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VYl>;Uil2&hvi__tq4k{% zN9QqIn9J~J6T_Wt3_njWd_O7ozo$iOpB-Kg)XrEE9`#i+@Rf5OstdO^*N$;BSKlD_7nqT#Gab8NqXM3P_#*!evU5E&^1fZW1~Xy1dW!13K|+5 f8yU0s^cWa6ALXe3yedx!Xg-6dtDnm{r-UW|E!{Vd literal 0 HcmV?d00001 diff --git a/textures/farming_coffee_1.png b/textures/farming_coffee_1.png new file mode 100644 index 0000000000000000000000000000000000000000..97c207a313610e5e4e8316d762ab75d8e8236aad GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRbXJ?3guI(Qc@;KxK?2L4Lsu4$p3+0Xb5hE{-7_*OL<#=xekX-jG?q!^f)8 de3ik2fkAvRqo}92{sN#X22WQ%mvv4FO#q!(BT@hW literal 0 HcmV?d00001 diff --git a/textures/farming_coffee_2.png b/textures/farming_coffee_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a659f851fd94fe9e9025d2ef700b41bb19714e01 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRbXJ?4B(Nhlrx)a6Llym z`9fObi<*XaRb5~EjM74dfyx+5g8YIR9G=}s19DV6T^vI=t|uofkmG1EjCjbytkLYt ocL&V_ils_RF7~fa)1MUHx3vIVCg!0Fnal#7TQD| zib^@3TJ)&2{ZmK7QinM}X~vQuzhDN3XE)M-96L`J#}JO|$q5R48xBgc1+eYTWNbOO zP=IgQ=}V#tLVPk@0j4sqQUi{jQ{ziuTg~Lm6rmuxO0CtGAx~8>m!CkB O7(8A5T-G@yGywoQ%rRa7 literal 0 HcmV?d00001 diff --git a/textures/farming_coffee_4.png b/textures/farming_coffee_4.png new file mode 100644 index 0000000000000000000000000000000000000000..37a609f66d24cd61f8aed53098d2f0eb4a19578f GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRbXJ?4&jlhRxq1tYqQWM z>QGe5`P8CErR|?Oaz20h1ysgZ666=m;PC858jut0>Eal|aXmS~fr%|(mZ6}U5L0po zr-Nh;TY%W^Oh?8UiVG$9u7yln$1t&AV*tbI#PlZt`pqlS%FPNHj9o;J2s>=4Smng& l(PDelcLBqqHeMG-23`lwI{$O`*n!3~c)I$ztaD0e0suJ!Ix7GG literal 0 HcmV?d00001 diff --git a/textures/farming_coffee_5.png b/textures/farming_coffee_5.png new file mode 100644 index 0000000000000000000000000000000000000000..e624fbebe1129c5c884a7c3abd76d86350e62e8c GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRbXJ?^y6M^&LC5*U^dm( zW}!{u>7=4ZrR|?OmWRFS2P$JM3GxeOaCmkj4af=hba4#fxSpKgz{D3YOH)v75?AsH zO$W&wz5ub^(T2Z?7p4WwY)Hf7ON6Hxp?`) zua9p(eS7-h+sAI6D}q2Zj3q&S!3+-1ZlnP@R-P`7Asp9}6BY<;Sh}=zsValy8-=(^ zh6#y0EUa%%@Te*{ByLdQ;_6z?Bx<~an`>GFZ<3~dc|rmM!;xOD{YKWQEkIKkJYD@< J);T3K0RRauGzb6y literal 0 HcmV?d00001 diff --git a/textures/farming_coffee_cup_hot.png b/textures/farming_coffee_cup_hot.png new file mode 100644 index 0000000000000000000000000000000000000000..f4fae904142e3ac14ccd50da6311f4074b9a2e9e GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUO)Ovtu@TDh5pRl>xp?`) zua9p(eS7-h+sAI6D}q2Zj3q&S!3+-1ZlnP@zMd|QAsp9}6C4=W#n{*d&K{d^fK4oc zk+YF8K!MSfS7yV~rL9XFpWJZV^NB&>umlI!jfs+84h@GAJViuA{8_cq3dBWp8Y9Bu c_)H`jZvW$TpwF8eK4VnkVej4iHHIL|Z{@0du{7%sg@=)F1|2u;yki%fWHt zfSZ)#AZ*{LgV+NMJMkx2kCZSdl?6nyM(3RHfD8~YU9-C{p(YLhHQE?~hz$nF-e3nH zkB4oXW1dKHge0oep@A|{XUGBonUfml9FmwF?Y0280KhEAEffi+N9&xdRfoG1%f5<~ ziSBjeP*%GP{ntgzU3FwQ#NkH$rs{;6}Zn*(S7C2{?1z5*?m2&qR z4($ShzF1}V4hj94C|N^@wKwSWx_#sLgxHWcvcvU6`~Yja46a=ygM+Q6ecH9(!sQNa16E5n*d qPfvj(=?Nl2DG4mxoK6}R3=H$q`CGmUMxOz5*r z?Xl13bDgm%Zjp@19iSSp z?RU?c>{>bBYubjSmC7G^fyx+5g8YIR9G=}s19EgdT^vI=t|uobh>AG8WMkKGc3!}E yC}ERF1DE7M5$OXNj60Gvnnl%)PG~s8!0=-~OVCWWTg!nO89ZJ6T-G@yGywoEeJ!Z~ literal 0 HcmV?d00001 diff --git a/textures/farming_corn_5.png b/textures/farming_corn_5.png new file mode 100644 index 0000000000000000000000000000000000000000..7b6fb02b707ae653e7b29c5b384271e3e94dd93f GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRbXK7E;o#9HBD}Hi0?7W zndDwI&$Dhp$kdH-Pt4_R0+lhA1o;IsI6S+N2IQD{x;Tb#Tu)9oz%Qd9BHeTF#sr3` z8ymU|HdvWBMoKXzteW7+tEJ2k93#gNyoSNpl0lo9p}dQYy)kBP0#HALr>mdKI;Vst E0Bim&3jhEB literal 0 HcmV?d00001 diff --git a/textures/farming_corn_6.png b/textures/farming_corn_6.png new file mode 100644 index 0000000000000000000000000000000000000000..313697b90653b62819b4df7606ac80e65157911d GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy#sNMduHAMEG?QgK%MC)BO`==v z;@d5wJB?F%>=OGdGA4OtPj)Su>{dS4y>ms#v<*qKHpNZfme@0)dJ0fGV@Z%-FoVOh z8)+a;lDE4HLkFv@2av;A;1OBOz`!jG!i)^F=12eq*-JcqUD@w(3UlgNWwtGQ2NVkO zba4!^IGvmz!McUP=g*YY4;~~WJV-sVys6i*L2|v|nwp9ymNOf;Dn4XBPf1KT`rfU~ zFO6wm!twPC5?pUu4s~`1cog-wskpEzvc|NCENE9@SkuY4r?JYY2xvNkr>mdKI;Vst E0JTIseMktGlFuaxD`!yE1MZqJlm&sj)#`cJ#(O5#*!evUYh7ML)4Ealo zaXvXgBE&&Hw&A5SFVdQ&MBb@0HPvQCjbBd literal 0 HcmV?d00001 diff --git a/textures/farming_corn_8.png b/textures/farming_corn_8.png new file mode 100644 index 0000000000000000000000000000000000000000..77e442b09977c3945e4b2cd3aec4cbe34a897e6d GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy#sNMdu8%LS&`y>y$}(Las^eZ^ zU{PxsP-Pm{YLeJto!Dm)JR>M;vU|~F*Zk?8`&%+=7yETBk95DqEeX`lSQ6wH%;50s zMjD8d z^N5Wh^?P>0zf+r-`=@bT-ol5$D=qIum}J7} z`#h|Rc0GF7E>|PmdWZAEe~-_>zmENVvcrGTC04#yKXMNM9m3%0>gTe~DWM4f`<8Ex literal 0 HcmV?d00001 diff --git a/textures/farming_corn_cob.png b/textures/farming_corn_cob.png new file mode 100644 index 0000000000000000000000000000000000000000..a2fd9da7d09358e8ac76ea460d817656b5031c12 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUO)OxLiBVE6RA1gEdT=Vk zskyAT*T~%7pSjar_Y6=CV@Z%-FoVOh8)-m}kEe@c2*>s0ga!sijkziu3vc>}DwJep zFwF?eOJZAg(>rDXlWJN5TlG$FDVGCBC3Ox=d&DE?QCMckU_2?dM{(II3uhLIR-OxQ bS{WIpvT*Bw{#}JFtSA#71jwtY)`5!-l{{z>8 z7P+9HAUCccmaXB!Cxa3;JItJWOyXGc`qZD?5!sq84$mtmO_@|Dc^#>apP1AWs!$^)n|9#&oX_D5r>aDDtloT}P{u@S>!Drirk>dMo<%SsnJ4$Q zn-j;OkY!Sx3#KjJy3g&F?9!lDN)L|zmcE}X-*)zhzsGjbc3Hj4!THO?yEY$)W4L>B aKa+f2-3gA5xrLKKKJ|3{XE z)7O>#E~_Xnlf;vYPq=|X>Ygr+Ar}702@mH!FE9BT3qk{i_25MpOboFyt=akR{0CmP9UH||9 literal 0 HcmV?d00001 diff --git a/textures/farming_cotton_2.png b/textures/farming_cotton_2.png new file mode 100644 index 0000000000000000000000000000000000000000..dc1025ba7064260a077ccd8e8cae4749e35a59ba GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_Xnlf;vYPq=|X4xTQKAr}702@0H>S|F&wcXtG2+%ABPgg&ebxsLQ E0M5WN@c;k- literal 0 HcmV?d00001 diff --git a/textures/farming_cotton_3.png b/textures/farming_cotton_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a1fe3b64fc851558082ca81c6196f85eda968ecf GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_Xnlf;vYPq=|XF`h1tAr_~T6C_v{CtP5(<=yyy$CDi2l>fpe2M+qY+rQRu znUl2g%>T=FO={s~&^DX)Gk=NdNBP(umGwI!wEnbP-n``SYk%`jnM}5ZhSgIa)lWEk iV~>jo!%d$PKN;rmOK)YJ^Xf6s9tKZWKbLh*2~7ZsJVBfQ literal 0 HcmV?d00001 diff --git a/textures/farming_cotton_4.png b/textures/farming_cotton_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d0096da395270fa79bff41fabd7658972f73d47f GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_XnljP)USLOnRsy$sCLo7}wCrGd!=DZsq z2gC1I|Murt2i6^b#uc${XE z)7O>#E~_XnlN8teR&}7zGEW!B5R22v2@+;ZwBFqrfg@Pm9bi%ds>0Xr2qX_)mEhTwSD?uI4fsyd)Dr)>%P=aP?NatCcgi* zM2wF}fXEAtu0QU4;w9pV4Asn$JG6aFRUUTvURC|y9OGQV(;%Y!duqnn4Gl(@r~K-d z%U!pu>;J}M3}y_U*mSZS?>Y5JE@C_p7Hw-}sx0kvf`MUWzVpW!i5cZU7c+Re`njxg HN@xNA?`~je literal 0 HcmV?d00001 diff --git a/textures/farming_cotton_6.png b/textures/farming_cotton_6.png new file mode 100644 index 0000000000000000000000000000000000000000..13343046cbcd7f320ab16cf11803deb4dc4b5e93 GIT binary patch literal 342 zcmV-c0jd6pP)Nkl08}8z6Vq*0F|76V56gz-Kug;~JPUmf@ru|T}IWHgt1z;@6H=dbeYGbwYs^JjXSk(-v1OSlzee1=6 zfG!h`=Ac>|HuFz)i7M9J@{S?dHEl;3N#Z2 o3-haj3iwp5{9IrkxALg~4+>0lpThL3=*POdm){^zW3UqDE}A4;^NFGtiH2Nx&Ami{GsO< zG^wR1L_=9Lbdng&e4K&+AcGr(Snn4T?;N0RAwl>ex2qbhS{V+oDyr1HZ0dAB?PZ6Z ze2nax=Bf(p0Ivlyh^(4!?sugO%SjqD^+74g0eJJAAx34DX7zONegG8Ju7`y*%G5|v zJrm{mhXW4;7p|lC>?5`ZLyzzrR}x3{jiOS6DR}_@S#hD;aYum;yoRlrlV%5*%}6H9 z;ijDp{YO5wKW9sOSr!Pt3aDb7b}sf?qZk%js8!KI37$yMj^TVzu;Bmz002ovPDHLk FV1g%{XE z)7O>#E~_XnlXUHkts8+tpFCY0Lo8084Z6wKWFYWFz9vxcLr>GAMk#%fBd-ts_& zETjlYC=?=usnN*$Fg8>O)3p6M zUzR$Cl_+M-lsd__U&f>!hmi{kLO1OP6COqlalTr8@FP!|VA@DvW0cTI`UJr&hQYg? zS$PHU{o@FhUa%3K)qe_4A!Y0bRXBqOdEoEle2P$w=Z#UotcE>JV#-dr?1<7kQ@*!a=Ti2YI;;B?-ht%kH uTG(`Qk=T;TK#O@cf4Ux*d*m>!qJ?|+p;0iq>WL5F(thzheea+CfA~;T#88w zQaJ)zopr0F+lb?f?J) literal 0 HcmV?d00001 diff --git a/textures/farming_cucumber_1.png b/textures/farming_cucumber_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e008fd12aef55c66f70a05c7d444c0ad69eca6d5 GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`cAhSdAr-fh6C_v{Cx{5}-sv;? z!@u{?hxr<}1CrGePVcx!&=f9@W zfh6n0^>eSTXlsc}{J}4zev9EKE5}iVvkJ@;W81DzRq&jV`@fOli2F5$Ny;yzCNQNm z?{x;uhBhM ztpmcH2lO@;Mu!w7fENmcKVfppLLlVSJ8P#?b7PU|5&=+-7MJ7%T9d8jG6{Xerfm_k z><&QdSnTc7ff3MNWjhGSN00006VoOIv0RI600RN!9r;`8x0t!h) zK~yMHJ<&;S6G0RJ&_7l6V8?M1j06jWI2TvrIGh6(AOs|FoY>tp{DB36E4+uFKYjf2 z^Zxtsl#+z@!+!tnaK{Lb&*j(i%l&d;2ncYa+w1AW-GROxpN^#vQe90Q*VYYecQuX! zmDV{zjU}g??0Qb~O!V+l&Aj#|i5L+8d%)ANl&*Q;P#Y8UVjjcYZr4;P2||#N03Zr6 z;lurTydq2(rktdCAj3FtS&fnDD(68k3AmZMU#bHk5TjC4BcTjo4xpBqy#u{_eY2lt zMhT2)7@>@D`n}E*w_w+(VHjZGOKZ1>iO6Zcoe*Oh1_M{KuKwyUPiZ)8M<&z~^Gr*3 z&UjgrhEcj%Ep{$zL_kD0t)|;uy4lTLaUO=&W0WL7+FTxAo*&MOB}#xmpo)gTM5XnY zr2uwJ0@klL6Bx6ESm06{N2v2S5@@^IkKpk2{^@a95vi_5j757&mWPSll!^SmH{_Y} zTI$28xY_?70#c?hli!aQ?_H8K4`N7!y#_}J!K%preuVLKTCjxduQtcBkWf~yjv}zx zrrVq8STCwQ0#wZrF4f6mM~c(Aw(ja{1VY5QR1g0H XybyEF)T0<%00000NkvXXu0mjf*|Hr( literal 0 HcmV?d00001 diff --git a/textures/farming_desert_sand_soil_wet.png b/textures/farming_desert_sand_soil_wet.png new file mode 100644 index 0000000000000000000000000000000000000000..cffa955d6689ad88d675921a3e033256869343f7 GIT binary patch literal 590 zcmV-U0TPe1t@7;T-w)^~?9) zmtV`GsxUjv^Yi&g!Sz=E-0zolB?3Sg4|Dl^JoD#uxz;LRt8RhXyTkXpQVMJ9M3_@k zO3CISjRSePS9fpLR7nv)dSJQM+Iubv^O9iIBg%2VZ)Qv?2&yOmQBv@Fd6XR`NtjW! zJ3y4ex;cg1<(w5s5$@)`wg3SkjLl3`62b#8&t!D)`Fxm%k)k0HT_TKv+sif&)fh%udoanm8FNu{tJNNLivS|JS#_KC z>98BR$(VERQB)PQ=IMIBUmlw)6#>FbT%aPg_4`&K9jfBC9|t(8NFLZ)d-E=Zkan62 z0zY1s*L8dQAyKWTRaBBi3sGR2(%~>HZ8hr%n7Iko>f)Aq<1{Aw&)eWVjO3@M({UW- z{l~+VczT*RmVBBD<=wkQ-C9HxVoC`fZ$BQMvr@^V+?Ue*pZAb;$a!7*m=sliy2+ zH91To`P;3^doPf5RFgz&Hwb0-5XkF|FL5WZbM{o1T|bcQv91-$`Zf>`FwO0KD9J-; zB-?&nha<^nkqvKpA!UHKTc0`RZJD>ZbHKx_A*q4@o_;kYUtGz$>&yBsu+91WO6wAk z&3w!ovLA)wZFM6J2#(K9-tGC`4-`4gsO|zT~Q~``^I4EOL z>7-`Q{JEid)bUTz<7swwX2};X8%KmzY}TPj_G9%(fSt0vZ~9fuNv#fDkSrxDEMb8L zK--uqAik+ctnA0BBTvTm-Ko-|M<%HAI1mP4hSt3bzs|s!o{td!Fmi&WPy!egWDr8& zwhaPVek)<80J>TZJasq$HE25x7GIxS+#x1 z2KIYZ!NA=Enlu0(XCYZwWfLWQ3e}n~e_H2m!L&wzb{oCrmotgm6{H%NP)Yx-Q{f`< zH@JO-3eZ`a@+U&YmBnK_2Q1)?O?ZRdhUZQdDj+yK>Q(Rh3NFdZ=TG7>NIAI_??n!m z_&4Bw=&L%yD+{WZtr9sn0=#FV02K@&nKJ~oIqCbdYF)_k>$#~cas%rKG#CJ|#wxE+ nMIKmUBX=JleSSG%=DPSlp*&w|_r}1_00000NkvXXu0mjfA;%Mv literal 0 HcmV?d00001 diff --git a/textures/farming_donut.png b/textures/farming_donut.png new file mode 100644 index 0000000000000000000000000000000000000000..8985299bb01d7abc91a4a81270891b52f0e933fb GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs|5qYrYT`trw8qt8?kRr z#F2%u2NuVkTpE3JdDPkEVHZ~?Uf&RZbwldq%?USmR*2>u50K%;a(!5;&F3d7)zEetIr{yH9G^m*Xn9Bc^4fBRn&2MuymLFy;*aW(>PKZ z{L+-}Up~daIAiWaDR;m3IlFX39w=DfD&8YybEEFxXI`5HY|cmXe$E3rgu&C*&t;uc GLK6UdziDj% literal 0 HcmV?d00001 diff --git a/textures/farming_donut_apple.png b/textures/farming_donut_apple.png new file mode 100644 index 0000000000000000000000000000000000000000..6dfe63d5980364e3abe99d0ec5168b03d247dd93 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vt4g8Q5?0Aw{4$@F^q+=$ zz6y7EloIqbBjav<(!-*H+ZAaK8fx!%w!EJ_<>-p!_w(l6-&-UjlX(EBov|dyFPOpM z*^M+Hr`*%UF+}2WZ;!XoVFQk%GPfHz@Bf~^P32w6rP!^L6XLS}FI>g_AT{YQ&#$~w z*A5@@X<5IhD&nP+v`ER*)8jIBIPrMdhs+sfr`9}*YDnPuVz!EZYSNT|`ghCEMw)Up3a@2buy?yp>x<3T zUB9&}eO{qum=rvvv&Z6~$mJs^JElvTMcn)Se13ee1#9}B-gTe~DWM4f D3aex3 literal 0 HcmV?d00001 diff --git a/textures/farming_flour.png b/textures/farming_flour.png new file mode 100644 index 0000000000000000000000000000000000000000..a526b2027e2d20d68bd3ce88b6d64814d03aed13 GIT binary patch literal 378 zcmV-=0fqjFP)#&MK0Yh70nqN5Kd_xl}XSxO_x z+qR+a`}d+SaboB58C6vw%d(dctuZgv>0+8Du}=bTCAn!D`A>|+K8kQxeBa0Ib`z@v zNT$fLEJ7y6VjRwfLhRvyZQF*j-|rQFWow7c2#_-A&)A#RvfBf+J|3B7hCqoQSFJnoNUoeBivm0qZ zj=ZOfV+hCfM(|FKecZ~FnYGnNGT1v5B2 zyO9Ru=yx`w!m#{)Sl}dYKQ@%UBZR7tG-B>_!@p zW9;eT7{YNqIpF}eP(n|$!7(0*W^cx08Vwij>%Yg-IWj@@l q;aj-vSx=sr*2e!qIkfJ=U2eX)fsD4sWg9^5WbkzLb6Mw<&;$T^KR~en literal 0 HcmV?d00001 diff --git a/textures/farming_melon_6.png b/textures/farming_melon_6.png new file mode 100644 index 0000000000000000000000000000000000000000..b31a5b4c42108dd21eb2bad0bea009707f5f2e6e GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs|5ptxjAFHpHy@-Lq-Ni zWFA9i4MR~oLuZFT^(2O_#SHUzG3?o`dghGL(`OEE-Z=gH8}?_d>OY`%#*!evU^3zkiFVX<4v0sH;<#nrmV*ttQk2+nN|o-3$(atY{kf&&vYqwCs!=c O1_n=8KbLh*2~7aaq)apb literal 0 HcmV?d00001 diff --git a/textures/farming_melon_7.png b/textures/farming_melon_7.png new file mode 100644 index 0000000000000000000000000000000000000000..3aebfdd6d6d9d11483acb45d81b10f914b1d958c GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VYihrtxjAFHpHy@-Lq-Ni zWFA9i4MR~oLuZFT^(2O_#SHUzG3?o`dghGL(`OEE-Z=gH8`gE|vL8@8V@Z%-FoVOh z8)-mJk*AAeh{WaG-ax)X20YH@9-h5Xdb%@PXD&()nygzeNfBt{Ob*zfaDlQ#URWsXMpIAuL$a|56#tmiT?43xT#Xc)I$ztaD0e0ss=dT&@5B literal 0 HcmV?d00001 diff --git a/textures/farming_melon_side.png b/textures/farming_melon_side.png new file mode 100644 index 0000000000000000000000000000000000000000..88e40c6a08421585274e41b58ecd19c88cc0a567 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU4U7?v%ixdBP{=6K$S#$s zZPcu3mhPS?(>qCf#yqX1a}?&xmtVbBcl~DNotss6?NL|JS|ktDJJZv}F@)oK@{YLA z^^yPPZrRLp{n9`G*Y<)^rweqxl z-n}%AK{7bxo$hJ7cV&Hv-LL;A&$B+1W|-4m@m;67`nFx$%gz7uPTSqB6=OIp>~5eJ S&Y}l&B!j1`pUXO@geCyK literal 0 HcmV?d00001 diff --git a/textures/farming_melon_slice.png b/textures/farming_melon_slice.png new file mode 100644 index 0000000000000000000000000000000000000000..6ee977577899412a6e1423c94cf160f1037e3c97 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs|5ptFAGz#fWUEC^^@|l zM^qK}tE=CU(>bHA;TOYO(=7Ub=92AuRNfvx@#XT4|4&c+cz>mT&8kyC?TjTse!&b5 z&u*jvIdPsYjv*44d;4zk9Z=w4`52*9apnL2TUnPQJbzuNyxqtvP^)k>P50}D&(mi1 zzBs7(u2+tMMS0TgGiwa`=lh0XQU88U1;r=|W{BDyd&ujIF1Xv@Ds Z#&hD#3zFP&3xPHQzo(4u{&UX$0PoR*-laKwya4X=gWi+Ly?p?@_+i_~$-7nnRLexK z2pW0Z093n#Zw3<0>;P08eRME7yX*kD5k!(n-7*{i?#d9WV-XZ40Pc7dz@QxcHUPOH zUhwf3&TIg=1Yhy<0=}#O>Dumo?wDxo0NL&7e!H48oB+Q6`?>%8ddUFHySrM;yU*+? WGEAu4rZoWo0000OT3}^k{ zY@qj3^!${6!l?p2iXCp(TFw{nOg~_7P+p|k`JU7U1VdMGwZ@ri4C4A f`Yxd@-h2#9D@^8Jt}t~38q476>gTe~DWM4f8{R9! literal 0 HcmV?d00001 diff --git a/textures/farming_potato_2.png b/textures/farming_potato_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c81830c40bcf17038f5b7e927a2779f9a63f2e6a GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar-fh6C_xjIo4Dx`!YYp z_x66Nf9_@rekw5MIWLPB{nLN$xLVs~h6yiSr4`H?ZW!F2klT8)nTKg7$IaFP0kc-d zqbm)X6D8JbPssI(<1l17^6k}u64to02GbR!o8HCFVLM>b$a5f7+b>+fTftg7mTx)Z liEX#8FVbq-$upOi;n>^MqwF@kM}e+k@O1TaS?83{1OWb|L(~8O literal 0 HcmV?d00001 diff --git a/textures/farming_potato_3.png b/textures/farming_potato_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a3d7920918e958a2283b9ded3ed89b32830827b3 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`TRdGHLn>}1CoEvU@$c#f`$(zf z@uDo*F&}+8ZI~UTX7d~UQO{toQ*Vl4EavpPzCgNR4abt58O(?4Qw}?&gskyLHuiU!j^1z1-hTX)78&qol`;+05CpP;{X5v literal 0 HcmV?d00001 diff --git a/textures/farming_potato_4.png b/textures/farming_potato_4.png new file mode 100644 index 0000000000000000000000000000000000000000..405b7e56d71be2991d1330f58325f12b9c0934ec GIT binary patch literal 283 zcmV+$0p$LPP)^*=N$PMhRY&?KqZD*Oz+Df!n6hu335TY1d8DWxrzX*a0VfVeA znVq*0`DeVeQsh<9)1Szf>sgVPx9)d=@?L06WU`i8fR2KARuA3oHj3=`=KGG~0~wg8 z2;OKNSj!-fa;Y8Q3|A7H#2Nse35JNh3!M0>oJ1gM>m+!NFF^9~bok_K(FjBriY5Ud zQxHJ*AVPQ8Q}p)^XW}f0)^Tt5&>D6c>cO-Tw9iPA>BNe(E!+u`Ads4xbYUCTw%egi=o^~tu%ABX?|002ovPDHLkV1lGBd`18O literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_1.png b/textures/farming_pumpkin_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b9a2bf946b3957a96b53dc9c6c7d1b87183fe5 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRbXHcHDplmV$hH0u_#h@ zZI(!Gt3e3veDNJsEn~B$S;_|;n|HeAjinl#W95AdUC=7#)QHKqZzXmrwBLi zWb8=1v?M``A&FzRre%|>gzuE2a}IV*acSX|lwj!8Wmy^d*kvbBH-o3EpUXO@geCyk C%q)Qb literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_2.png b/textures/farming_pumpkin_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d977e8c22021375b2d19f1e0fdba16ba159bfbe7 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeXWe{W#HDplmV$cs`(vRn{ zC{lK9mPl^o&+OvsUZxymd_xnclCdPnFPOpM*^M+H$Ia8lF@)oKa>4?;gu^%3F>n9? literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_3.png b/textures/farming_pumpkin_3.png new file mode 100644 index 0000000000000000000000000000000000000000..83f81905173ce0e5c5e113435a0e758b0280416b GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeXWl&@gHDplmV$cs`(vRn{ zC{lK9mPl^o&+OvsUZ%_>?U@c#$ygHP7tG-B>_!@p6YlBa7{YNqIbi{Vfn@Uu0d}^t z0&LS5u1RY81ba)wEYHx|xpFtV;SLuq!yPM^SQ+ftCAPDLa}~qYc9v8%BU8q&7Mjym rb!jw}tmZasTW!f8spY5>Eb7hBlgzKH?>b=~&Ea`*IyjKSvyt?&7$Sjt1 zg`J9q^~6lUfd0uzt5d2D~Dc#Ol8eSv1V+QytvmaO}ND_6-XPCE2J@X^C3w=|Y9 ZFf3jx5kBXP&J>`n44$rjF6*2UngA7SP2B(h literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_5.png b/textures/farming_pumpkin_5.png new file mode 100644 index 0000000000000000000000000000000000000000..59fa78eb0ebc9e5d8dc3b6989e3eeb22cb31eaec GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUZEWQfHDplmV$cs`(vRn{ zC{lK9mbje2l-$UFDw`p*i|>CiWA`%Ux6>K^Z(;aEpoGJUMCgst%iBYSoiThlDXj%CUQ)lD;i+8IlN{DK)Ap4~_T za+*9{977~7_x1&fF$HosU6o9GvGnP`aOr(f4*woDa;N>j|1fRGy7^H{?AM%@4FZlj*U%tHD7ss+=p9Sqg-4sN=MbFGNbZ3n@HQCr> zqVb&@-sfVYXD=6YjJ$I8?Bu>9TMW$jFSee&a_r$k235P@Tdc})w{qqHUBlq%>gTe~ HDWM4fdKz5H literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_7.png b/textures/farming_pumpkin_7.png new file mode 100644 index 0000000000000000000000000000000000000000..79190e09ec135158eee1ff6ccff404b3c09eed69 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs|5oCwkx;TbNTrTaqEyS$I;T)T^NHpy4|Mj|Mzpu>vbYQ|^)hVCM&(t~iHbw0(RbML= zmah3Gt@h`Gi|4L%M=-F@xfeKtWy7R~$2Swo1IjP6&g=HLl(*IF>4wKnd!{A5+gUm{ zeO2c63q7``KVG~!Hj}e9$8>Ya&pUN)FS=&PPvAV>%2j@Hzg29TicRNJ-V9yVJMnV@ RI)ScY@O1TaS?83{1OR`rVs`)l literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_8.png b/textures/farming_pumpkin_8.png new file mode 100644 index 0000000000000000000000000000000000000000..b941442cc236ebf2b29362ba98433dd05c6f9a0e GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs|5oCn*+_C z`i?bO?9oT2zJA@Z_tzc=+bvnTM?Hg^x>{FESN3CEJB^3;d&QSkaX!YTv5T@7-nA%Y VQ{5#yV>i%c44$rjF6*2UngHtQU9$iH literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_bread.png b/textures/farming_pumpkin_bread.png new file mode 100644 index 0000000000000000000000000000000000000000..0dfae08fd83a2c6ee7a88c67adaceb5f2882215f GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnY1=5pT85V>v?8;?1-@tu$ zisZX(_P0(nyg8fu>ewF_r}R1v5B2yO9RugnGI-hHzX@PHam-GLS`c)I$ztaD0e0stQ@K=%Lu literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_dough.png b/textures/farming_pumpkin_dough.png new file mode 100644 index 0000000000000000000000000000000000000000..62ea7a65ffadc1aac24e9c9fde35a25130509537 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRbXIvzcu3H!Gcd`y1!gn z{PpUluQ&F6yM6lm{R_f6o7#cO7)yfuf*Bm1-ADs+LOfj@LpZJ{Cmdj(5gW^UprpcM z7iWjyyn7QbzB_Q>fK*^$T%6pq0|`O5xKg$*Gn%o?ZHxPs>1@U`mbC3!w%c0TNMiSn p9ZRgNcN-XJNJ?upt zSecodDm-G9dCc&sLW*P8$K|^|vZx;B)p5&rIM643&|^cT=HE-lU3U7d+N8Qo$gA|H zSY+K|r~8&C8lHFdC)`~uTT$6DEzw7rGke+e$Nzk67JE&qcKy=Pbo7tZqv^5tx92-X zyg1_Ay8ag1O#d+oNvf3iChV#LI+4NC)z4*} HQ$iB}bbn|M literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_face_on.png b/textures/farming_pumpkin_face_on.png new file mode 100644 index 0000000000000000000000000000000000000000..fa71c9d474c140e8b123c3da04fe468ad6d2846f GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZZ3$?r(G2H0m{6C-J(F)E-+c>|UVfcU7{{PEnvHLM=ff{Ffx;Tb#TxXoXkpG{7 zFZ;nkr+4;FRNM&)qp<%wXz! z_TGcLcbpl_&c2n)cnD+&$;vUOEe=y;U`|#uOKLU(`c2TtSXo$*VNJ5p$41TVzktqU N@O1TaS?83{1OVymUPS-^ literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_side.png b/textures/farming_pumpkin_side.png new file mode 100644 index 0000000000000000000000000000000000000000..2d30f203570c434bdb20c0deaa49834c4a2ff3a4 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aZ3$KDxKFNRRa>P%mRikY6x^!?PP{ zK#rHEi(?4K_2h&D+!4(p3R^BsQZP`y6MLFlXUV1~=R4UZ_;}Vnd&B9#Hu>_&+U<@! z$7WUP8#{VQ*yi1Dkx<@f&Uh$c9 A`Tzg` literal 0 HcmV?d00001 diff --git a/textures/farming_pumpkin_top.png b/textures/farming_pumpkin_top.png new file mode 100644 index 0000000000000000000000000000000000000000..79283454ef1f0d5ab418e9c6366b49a5783c1579 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU`;dA-N*M-pFDn@;q;uFcjnxzz0I)a=A7GmZ~ooGP&xPHHo@vWL{YYc}}S{MaAoXQ!pi&F}1CrGevVRa8t`9J@1 z@IU`)$7WBf`tN9RvhB?@u^;;*XE3i3bUAEr!l7wac(HMVX%o-Pg9jRt1bk$cKU3A= zNnllIRXD3)cfw&p+6;>`3TxO7h%~+6TfnGL-^|k}$x_UC?L&hmgXX;B3 zV_4a^lcUAZNp^|EGKQOBDbpK|JagRJ{*Y+`(+oueUIQsHyAwHU5*aS_$jv=bGh_9N eX+e%+3=F%)R;U`^(L4!sID@CFpUXO@geCwLQB*h@_o(N*kEDlq_MDpfx^<_@_uNhOZC!QT2eMpOHmS^?`&TPXZ(4@sY%cA zl0Ne_9U^u^NIGpFGEo8&0@ojGm;88dLFHYfOeTPFrK;OW-U$p&5#YGGh@MlB^Cmfb zWPd}r$K`-w?vG&d7cJ`L!QKv;LafsNG$q1uSqDGCEqex*5DA=q}lDyOs9=l?9XkQhdkU? zdA_gnC*U(5xxYq^mnc9Hh={sk^>o1k?oN@typvRADj-)A^*RU@C?k)O65!6x8m>ZQ z%K4CDF4_M8w$t0Gaoj2sR}(q@zBeSTvO3K#t7hf60d-Vp|FQ~fYG49Q0!V>s?P^~) hprJiz53o6Y;uowDqLJPOy4wH%002ovPDHLkV1k`AU_Af; literal 0 HcmV?d00001 diff --git a/textures/farming_raspberry_4.png b/textures/farming_raspberry_4.png new file mode 100644 index 0000000000000000000000000000000000000000..32da6b9fb11cb9c6a88566d4b66c4cc1ea7a235f GIT binary patch literal 239 zcmV~)tMMF*!<2lGZ|Ke{5Ga~VrqiGIUOT1y?KgH` zE#s@k{yLBSFpJY|5g#+|E+w|-68HcBWNreOCDPa(%Y>1*AXrsKLb)(zH%7bv6%0#`N>tf{-75Ee|)Ii;1}dZx_t`&rzI{0vRj< p5C!Dg(MAe#Q@ha2uB{L6_XBqktmj>mMT`Id002ovPDHLkV1g?AU84X1 literal 0 HcmV?d00001 diff --git a/textures/farming_raspberry_smoothie.png b/textures/farming_raspberry_smoothie.png new file mode 100644 index 0000000000000000000000000000000000000000..fe178d114214e7f35ed7bf02d40ddf466237088e GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs|5qYGz*J)c6Q6`?KeBS z%=Px!;o<31CU7t&?oetlF4stYMu@ilNf4KUKTW%b%HA czx*cqoJQtdn-4@818rmQboFyt=akR{0OU1RPyhe` literal 0 HcmV?d00001 diff --git a/textures/farming_rhubarb.png b/textures/farming_rhubarb.png new file mode 100644 index 0000000000000000000000000000000000000000..7d416ab21b752b0d4c59c01e5abf428d1d072db1 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRbXI~gZa+;6dc z_CeQcbLKwSwEpe+vjMHf=Yh%?OM?7@862M7NCR>#JY5_^IIbrrD6lv!Fj>tpWg&-X zqF7mj!6XsIpd7Db3l$Xmo@`+en7{ZY&!PoqdCsIKtj|zLk!F}B#dg-tebFSK84RAT KelF{r5}E+AIyGtl literal 0 HcmV?d00001 diff --git a/textures/farming_rhubarb_1.png b/textures/farming_rhubarb_1.png new file mode 100644 index 0000000000000000000000000000000000000000..01585b1bee3fcf44ad3e39e1cd562728576e0616 GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t{=BCWF7Q;bN+muf!bc6 zAY)08UoeBivm0qZj*O>^V+hCf&XcU{2MGR4Gb(9B>i->`1G_C6y4awT*U;M vC3_rrm^GRYHXM{VX3$_X;~@{53LC>^S?05Qc*Pe1jbQL}^>bP0l+XkK&Zs9( literal 0 HcmV?d00001 diff --git a/textures/farming_rhubarb_3.png b/textures/farming_rhubarb_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b412f7e0105cdf29452d5c44e378ae73745dd3c0 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?bKe4jKI@=o z!oo>#3(3IS&|cxLoW%%h0DVbHM{9#=G^)+7>Mg zc=+Jp+zIjmLhQNf#xw+RozDKEWt&^CE*a@_PucJJ3W1 MPgg&ebxsLQ0P7VvcmMzZ literal 0 HcmV?d00001 diff --git a/textures/farming_rhubarb_pie.png b/textures/farming_rhubarb_pie.png new file mode 100644 index 0000000000000000000000000000000000000000..1f77b535cc6a30729099d3ba2f1cbe7f2c8bdf08 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aElDk2Y;Be0Z@k&rWuvF} z?!ch>6rZmA@M+b_%Y#h|fyx+5g8YIR9G=}s19BogT^vI=t|uoPV83ztH1~m$jT<*w zbg(XI)LFpLVP>Y2@Ib)KjF;CmFX2IkNtvh!537+CQ!g_stF*)nBP**W5msRdi7QrC rQZp_!+?sjCN=iY^SW`1$t02SnRKb}pI-9NnEn)C<^>bP0l+XkKFLyjV literal 0 HcmV?d00001 diff --git a/textures/farming_soil.png b/textures/farming_soil.png new file mode 100644 index 0000000000000000000000000000000000000000..0be94e3c9ef086f529907a178160f139f619fdba GIT binary patch literal 713 zcmV;)0yh1LP)&vJoL>v@?c;Cw6dT$+-s0&;7MKtNW z7G1y>jp6ey!)04Rj|I?7`5<(Z0Ct%l@9G(}l5Xs)5$qR298@Q;PWEG1#>WmrGv>rq zJI9;!2-nFH!Afu*rH})PG>fFuf-Vc89CaeMILqU(BGXv_8iClN4LPdIc&yNIEB-kM z9_tj`<_SoaNwCm7=ZhrSS5=TX$IA}3lFGp zGv-3xtN(%>38#hI&2c2C(MGPi(HXMtHXB4Y+Bm+*(B#%mPGBhJAB=-zB%pk2 zD!Y&sty~9c*?x^OO{^m6?xucv`qglcJSx4hO15<-Lx0S>oga=0_w7p vuP_nuEgaCCd>yD5m1Vrxh(Wjia!0{`Dj&JfT&El)00000NkvXXu0mjf`~gpF literal 0 HcmV?d00001 diff --git a/textures/farming_soil_wet.png b/textures/farming_soil_wet.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e335ef30558faafda5da5df2541be28abb7bff GIT binary patch literal 659 zcmV;E0&M+>P)Q5-sH9NLC#>Tt71_I=*Ohmk-p8^P6ZMGl#8->AX_ ztH}`RMi`bxC`1TjVW63bU}cFUW}7DG5^%XmcsZ^s#|U2EYJ33{BSMs+F@zEFPKld* zMfc+zlXsZhNrw^USp5&WDY%cwjQ9izB5V{iIH@oSQNj|(HWN9#Imv?Hq zqibW=(lN+K@v@c2dAopl&A_)=178o<@auIKS7RGPCVf8?a9RDc4HIwJemYuPhFjLr zGgWLCRSZfo49gm3jv<>*HgkB^FmDOw^)$Sp+idZxM>$YYA-SrYm_@K5ky-aJTZ=JsMpP%k-$3E;N z`SP8!XU|#XnhO|LQ#iBJu=Nmn**GrUb=)3qU@NJxy%K^$=QVo2@h!Y-S-5JLXj_YL zj2KkYTtv%Sz=gdAHx))Vw}fssAt0N;O!ncZjJHh-&a%Rkz}%!wxaK+$v@&sY2;ik7 zsPcuqEM69qXskxCyBfyFlT887+8OMvM$s@LLe97rsaLKMhOH^MbU5!7;OSv`ceD`d zx{^96ElbVzGD28RDAY76YN&`^0F#Q2Kl2_Qj!U@f7tu_IFs^9mWEQY*#+X2qT@%SJ zje1XGJ@iXZ%z9|W@blc0gY&w9z&7BM{9Z1O?u$k2)Biy!iR0pPB7P>LO#KW78%d~X zGlK&&DxD@fI)a@P69|z*GJgafE@~z7Egn1u zp44rp$jOM*K~ck?tjXnBJ1=3{g`X*z>e00000NkvXXu0mjf DCze;k literal 0 HcmV?d00001 diff --git a/textures/farming_sugar.png b/textures/farming_sugar.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb7fa01e3f66a0e0b46c0b5132aa92a4a32351f GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0VR{&Yh1RKmPy!|Fl)J zJb--0k|4ie28U-i(tsQTPZ!4!j_b(@2e|kc3_r6e9Nf+1apNqb(5>~2NA~|><~j58 mwUoq+vj5DhewNC|Dl@d7;PEOytjht^%i!ti=d#Wzp$PzctS;mL literal 0 HcmV?d00001 diff --git a/textures/farming_tomato.png b/textures/farming_tomato.png new file mode 100644 index 0000000000000000000000000000000000000000..586aa56de584ab5f8b9eeb101b430fb075f9c9f9 GIT binary patch literal 488 zcmVP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv00043NklJ3R~Lh!4Iq!i`I%-K~U7Y=v|*PZ?k0!N_!Cu3@^!>nM|^4%>NrJiF7Lj_KN{c3WHmhurOFJ z8&t8_1)&c2W8D1;^E-!oTxo#$rHj4?(-uI@@CvI~WFYK7+`?5(QM(R(?Dv2U)<>xO z5Z3`}M!p0cX+ZEjx*<#yx%d!hV4elx=;>vbs_&uc$(A!J3^R%~wkK!lvI6;>1s;*b z3=DiLK$uZE^yx&PAbW|YuPgg)E*W+$v8qKk&45BuC9V-A!TD(=<%vb93;~Imc_n&& zt|1C##(JiDhKBB+oy>u%EIeHtLoEE0B^(dzi<`%KO6H8iz4$nWQ!=cF*_Y^U`ahrX wNPu3YLT=;T|4$;zo=8vHc0sP6k%xyNK#QN#bJ3nxKr!lvI6;>1s;*b z3=DiLK$uZE^yx&PAbW|YuPgg)E*W+$v8qKk&45BuC9V-A!TD(=<%vb93;~Imc_n&& zt|1C##(JiDhKBB+oy>u%JUm?-LoEE0B^(dzi<`%KO6H8iz4$nWQ!=bq*d)8({CA$Y zr14Vfy8o9?T;*X>IGb{tkLhLi+yBdTH~gM&bGnZyTxZMiWCmtthWm~Zc9Xt@hyu-I N@O1TaS?83{1OSgGMg{-? literal 0 HcmV?d00001 diff --git a/textures/farming_tomato_3.png b/textures/farming_tomato_3.png new file mode 100644 index 0000000000000000000000000000000000000000..fe3dcf0a1302c0353d2e64930465cb80214af8a4 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DiLK$uZE^yx&PAbW|YuPgg)E*W+$v8qKk&45BuC9V-A!TD(=<%vb93;~Imc_n&& zt|1C##(JiDhKBB+oy>u%l0973YF9D)@w|z zxUlE4_!>>t6_&{p|Nh_7`fZ71(5^FI?N3ZFS@7(OYswA=7Kd4m+njeUY5sE5VY&W> q-~M3|4G#ZL3T(JvD1G1n14E~g#?M+?^V>k{7(8A5T-G@yGywoVyHw}^ literal 0 HcmV?d00001 diff --git a/textures/farming_tomato_4.png b/textures/farming_tomato_4.png new file mode 100644 index 0000000000000000000000000000000000000000..27c32828dce42efbb2933fbf355752f46dc0335f GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DiLK$uZE^yx&PAbW|YuPgg)E*W+$v8qKk&45BuC9V-A!TD(=<%vb93;~Imc_n&& zt|1C##(JiDhKBB+oy>u%$~;{hLoEE0B^(dzi<`%KO6H8iz4$nWQ%m?fqBFkBpHh)k zIlt*Q|DgcA%mtOp^?%NCWJqD)aNe14-C^bt<{6Bd4re91-~3;$yG8x%giERG62g}- znl9H@I?Sq&-fYsG)6O-K?~*w4+zopr09PwkEC2ui literal 0 HcmV?d00001 diff --git a/textures/farming_tomato_5.png b/textures/farming_tomato_5.png new file mode 100644 index 0000000000000000000000000000000000000000..f369a68f4f864f7868965b3c05bfb649abb69e2b GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DiLK$uZE^yx&PAbW|YuPgg)E*W+$v8qKk&45BuC9V-A!TD(=<%vb93;~Imc_n&& zt|1C##(JiDhKBB+oy>u%R(iTPhFJI~OE@0b7dMaf)DiwaQNI72XBIFB9aigOoD(Iw zb9VW!MH(tm#vCVppXQ#TSNxaXn8l^}$3fvU9mWi74zms|oAsZ6W(wCf+ng@TOtuy# z)5%XtQUs!szuPb14lQ=ruKAIz^7+jF?2=5}?3-elj1TPR6=6&J@2oa!Vw!-CnNtI! zgjFk#ctZ|1<1L>e9);!$E7J~`Fm!sY5XfBcKZS#Fzp()WgX{d%rxFTE1wcnLc)I$z JtaD0e0sub-W`_U( literal 0 HcmV?d00001 diff --git a/textures/farming_tomato_6.png b/textures/farming_tomato_6.png new file mode 100644 index 0000000000000000000000000000000000000000..0135cb53beaee8d64cf0e39ce57bafabecedd70b GIT binary patch literal 490 zcmV1wBo#8Bznu=<=V)-qia7Mqkx zEdBwpAfciZxAz{4HbpBEi!+^^H|LkGbI2OEjRWWdJZDDu*RP1LLGZoT?fRLU$5i=F44hY9O?q44qdivT}n%bArT#Jg~ z5z=#~0$?SxQVB3hjbp=k=C<|m?v=&8Nd;Kko7Aq(ChELW)1m-OZw)FyA!l>2a3S&S zalOeGa2*#h3N1%;el9$x1QyyP6-9+jPVMx3HDF*~F+0hP;UBBJ(_L#1EG zRt`7Msw$`lI9Ry&^k^m`+B@pU`iM_{h}oz%w3d&{J0jrm3DK1i{Tg9S06-}XkG~GZ zB^YSLN@l%A_P)EKkv0YY^l+Ns8=eSVd$kH8j`v=G09l|0;AD{q_g}PIydph#NF#PH$+i&(I z3YDN2QmJ`57I0t!dL}|qDm71o?huspH3P+-%n3zdcP0o*&k@Ew&b(pf`X#_24RZDS_hy0od5s;07*qo IM6N<$f&{?&$N&HU literal 0 HcmV?d00001 diff --git a/textures/farming_tomato_8.png b/textures/farming_tomato_8.png new file mode 100644 index 0000000000000000000000000000000000000000..0b490257f0dab5ec4a4d4e67775159ea75594e3d GIT binary patch literal 510 zcmVH;LN@>a0cS}>K~y+TwUWI~!!QuXyD+eI zB8lC^B_VY@GL#9aZvaTBYNrN_RSggs6nn!*{k*7aCyUCq=pQ-T!=N zyY??+{RU)x4#wsnPC~MM+Pw^hH=SMUZsNr9A}WjEA3+;GE#9$9n?NGrBW}SWO5x}( z19@e{*oB-jP}6m>4Ma!O)r7+v&tbtbm7kd%V7YsAQ_70+zEBp)ykr=os%Ep+QC1@VtQ#wbaH8_f0+cnIQk0e^10q&wmu zFC!?%9Ms4hoDF@)pBw!`i?Mb5(5LRSU0LMo+-WzY*(s<=dl89ot$o{E+U08ek!WXK zz=r;YKN8-I8Z&4O%@{W2XZ(?*KEz@i(rsW2i@Z0?29#U{CQAK~lrG@J$TH61**oy9 zxK<1OxblH{iS7nmcaK4`LVqhR`S`x|%j~t>x6IT|NsAQD93B4$Y-V` zV67@(ttsNHFYcx*>Tk*$XepE9DLl=Oe{-z#zGQ`inc9cTbaH8#Np!rNCL4H7c$|j$+0P>l{$UdT;yk4ZInNgqIb78> zYu}}-Yjk0m$MP#&JXbhZNP^&&i9Z^8&VIPf${NS?h3~*4H=s2Pp00i_>zopr0L^e- A+5i9m literal 0 HcmV?d00001 diff --git a/textures/farming_tool_diamondhoe.png b/textures/farming_tool_diamondhoe.png new file mode 100644 index 0000000000000000000000000000000000000000..093acb821c6a8da2e1ec642f0f0401fa01b3f587 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!M}SX=D}!$7|NsAm%S&}9^cl+W z8Y=RcDG6As3Rr83I4)V_v~;nvzPR(!#csNyUTaqRoAL%)$^>rO5V&Pij;C<$g>wa$ zFP7iD-u3o1`}*2ypqWf1L4H89%O;<-0P-R|T^vIyZpEJQ6l+ira6WiJ!=igZ!T;G- z7xuVq`n{DS#8{)^()8~Y(;rICeR+e$&a1F6n{Aq*?>06bt03Ob_k^_y7HTiQBgS-x lbq5&682o5Fse9oK+o^3#pNh?erT{Hr@O1TaS?83{1OPfLR!RT> literal 0 HcmV?d00001 diff --git a/textures/farming_tool_mesehoe.png b/textures/farming_tool_mesehoe.png new file mode 100644 index 0000000000000000000000000000000000000000..ffd597a49544f1a65c7ebf8466d9949720badf42 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAh>xo5q|Ns9tl;bs2WIX+IQxMyB~PQ%96t;@=9}p{tEFG;u~%{E-e4| b@CEzcwM+}0=9Omx&1dj*^>bP0l+XkKCcsp* literal 0 HcmV?d00001 diff --git a/textures/farming_tool_steelhoe.png b/textures/farming_tool_steelhoe.png new file mode 100644 index 0000000000000000000000000000000000000000..893a6958e4b4d2763513392378c2e1fe92cd2ac8 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAh>jG=O|Ns9R%JCX1@|h_K zSgQ(HYl=AQi@WKH`kV3wTFT^j3h&*!_sp3yj~+dG{P^*+XV2chfB*UO=kMRY12rlv z`8*G36jMo%AJE9M$!9Hqybw!wLZNn(b-`tCzVFXNC64T9aO~-Gwq^as`jzb~o1v7&mSd9J Z{;g7H>h2IuS_L$p!PC{xWt~$(69CsBRk{EG literal 0 HcmV?d00001 diff --git a/textures/farming_tool_stonehoe.png b/textures/farming_tool_stonehoe.png new file mode 100644 index 0000000000000000000000000000000000000000..4f8dade01c39dad208f481013cffc14369eeb91a GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}RDe&2>jqc8|Ns9R%JCX1@|h_K zSgQ(HYl_&Z2srDDyXlJhoAL%)$|NTzr=+B$rKRO~3g_hHeI=6ciN|m6es1 zmzP&mR8&@0R##Wo)YR11*EcjYG&MCXo3?H>&=#hWAU~jOWs}cZfb8^iaSV|Nk3D0~ z)Sw{3axu`bDe2t3|Fgst>h9*nZFJc$c<|cXaQ+7NjOV2jfM3|Ns9R%JCX1@|h_K zSgQ(HYl=AQi@WKH`kV3wTFOM)ibvVh@`s7rMpSxcnX)^z7+~IgsCLR z4`^7~#t_#CmVH Q15Ib}boFyt=akR{0M|c8ZvX%Q literal 0 HcmV?d00001 diff --git a/textures/farming_wheat.png b/textures/farming_wheat.png new file mode 100644 index 0000000000000000000000000000000000000000..8ecd735064606ba600bf4e45e2c6ae1c31141eeb GIT binary patch literal 566 zcmV-60?GY}P)?wsU4=eq9ey3WyPo^yrP znsDSbAhB=3Wyk{R-9^73d490ojJV&3M@i0uEjZaR;`;D2PIpcB@qh_2pAmOa+x^Xv zmBFHq!%c%S(S;y5*l32&-2ehaAIOr*s239|EVWxF`sd(~h@f z&^ZyE2hE6XtJv|aRAFhnkf#NIeIP4{2=J9qLOIc$MA*VTMS`)fIZWUf(89Z1gVTT! zfuD^Cdp6?&a(L$T80yHv&Pt^SQU<-ks-qkfERm=ZxTcCR-J8cX z)31fkRRxkvVO|RV1Xh(_Qt%Qztr>9i<+BavgpPOrYPASeMp&pg_R7i%-sPo2dXs`u zT^hcBE5t;14*G2pHWu~RbXMR*{D(i`R?dQ6gA_5)ZGR8fWD(@LbmU7fxU3&v!#SqI zV0$)OS)0>y27hC1*cSw6duA?;T}U16%toJ8!a%zOL+vXRX;T&bZMo`sYC@>^-yH7D zglD!4Q$4vD>B@TipR28Ia|U~L+e@BCKx=O3?UTU&06Il_hK}P_vj6}907*qoM6N<$ Ef}8pVQvd(} literal 0 HcmV?d00001 diff --git a/textures/farming_wheat_1.png b/textures/farming_wheat_1.png new file mode 100644 index 0000000000000000000000000000000000000000..49430003b0b9c176c8dc8ea2ece63efc32446ac3 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_XnlMo9FuP9K+(9^{+#G*GjL4tL0f(TF0g*t^t_8YUJ`CAmPl*xAg>esok n$y`J)a{XE z)7O>#E~_XnlMo9FuP9I`!qdeu#G*GjL4tL0f=B|ZFn{}h^{BTCIefORoz3*`@e~*4 zx6w@kSykU!8Z3QZ|M{o<*>OQOd(+*0rUK{Q-IVPzU`R`TAJ>uaU9UwgrR@2)1dHlR c6FdGh{9CVM&dB$y4QL00r>mdKI;Vst0J-Ek?f?J) literal 0 HcmV?d00001 diff --git a/textures/farming_wheat_3.png b/textures/farming_wheat_3.png new file mode 100644 index 0000000000000000000000000000000000000000..00a8c661d1097c7ac19f69cfb45d30465b30b763 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_XnlW;M!Z8K1)+0(@_#Nu>vf&}a02C;-!>n8jcku-Q-pmLGzOD@-e5bM_t zED;44SI+pK5_xUErGUfK2{W-Ro)dq8TgSpv) z%bZl6$#yec=I(R{XE z)7O>#E~_XnlW;M!Z8K14t*47)h{fsT1PRu|f@|zWKF(KS4tvA3@Jz$b*MAPMt+^%q zZNARwY43U1xb<#GcwA`UZC4h|y7s2|28VI!LAU?^Z{$R6QRO%nw~hHEtHHTBTlf9H z=o`P4ePO}Ju$I$l>puPDpB}SI_R$w#cSWhhIL5}UzYjlrqpQB?!JDhq&i@b3W#25Q z(~+WmBKyR-Hc7T1{;>L*=sbH|kxloe7)v;Zv5d=MCh;R|k$eoYRkh0A`#e&C P4rlOm^>bP0l+XkKKGtJx literal 0 HcmV?d00001 diff --git a/textures/farming_wheat_5.png b/textures/farming_wheat_5.png new file mode 100644 index 0000000000000000000000000000000000000000..1023f0cc2be40c18c278ab0404e6edfe91d3e34b GIT binary patch literal 354 zcmV-o0iFJdP)yz6FUfCQZesweT|c;5$@Ot zrA!GoQ7?EoBOJwluo}gb%7 literal 0 HcmV?d00001 diff --git a/textures/farming_wheat_6.png b/textures/farming_wheat_6.png new file mode 100644 index 0000000000000000000000000000000000000000..591c1383b3028a0d77e90b79539da4be85701295 GIT binary patch literal 456 zcmV;(0XP1MP)%TB^j5bfV7QmXY4 zH*7UViK6JAfNfQTKA<2XSU?R4320*=VuFu_M*Wttb8qIBF4(wqHuv1l%$alMR+9c# ze2y~kJwAj#6ZkjV@aFF`f>Cz|Uhem1l1&D?Fzlv4dVNTXqOYe6{5&7Ad*9m>coqT6 zKi;JPCsU$cSY#NJ?|w)=8Kfg*IJno`0O@0R0Mjb$TwLHrk&~enveWmrM81|!KokUF zW#;(ok7J_1ZzuUObwv=8OP9BKKn%sy00000 z)E6H##-Jkj8v>$)Rfbh$5l|t3AR<8|M8!Q4^;atG<=%leADv{>SI=k1 z2KO}!{FVQHvopuu+~xYcxhS*_bP0_SJw{1&S(Xk+AGUe(_XE>g9dYe zL@tJr4?z)Ooi|-bMuBsF9pRsz9qO4?A;8yZrp=6-^=aWWpr?=HL-n}00GQ`u#Uqoz z8Lx(L$}=b5CFf_!gqsOe;`5?d2-ebxFP#T8%iA;$Sfs6U2$uzk~?{xO*$R0QK}dpmM*o z4CsozY;WZ9+u;7>c2W^{t;Wn$keoA+bg5{1BW0!`$YGAu5O=DG_Y10)+jEP)@r!?^`ETH`Zjx~Z|#@;UDsag z`?h7BIKO&RID9n@>p#!eoypU+-Np^Pe{)NM1p3*V7W-p6hNI1>Db76{Jj0kgri*yk z{O)zs0JNOzV*l8mLhprQ_WNKOZRZ;Jy43D(+ysM69=wd=OIOkQ+=+oXv9~5q#aoq8 z>@~*}0Cj)cjZ5-qGlt{s3ByP?{W-jCz&>>*u+tb72D;CxJQ*@gEYSAT#}~xjT_3}T zmYU7+b{y5*i1=ErwVd>#wiFVlwRTDF^?Vo_Kx@}?vhRD&(*FK7{%;GbDW5oN3yMuP z;e}%>&}Ke@MkZv6b-a}F!>Xo(;*=Nta@VpdS$O0#4P>M3(n0_$^QyKu=hkS4XasZY zfB~#$6nG;WK{h!c_WYf5hRrf#-RiJ7^;{V42f;?+B2Ln*riaijU&fYmr4JUuvz%ho zD!aXGvhR72pH%~E79(<#S*J3L^n>#Tlpyw95A@8k36}wb#aSOZ&Q;hm11K*BK>geX zC2&LaOxSEluYB+M2$p8NaQ{G1C^13W91PdTCW47P*DlTZMSD3FK*bKak9fgetJc@r z=ue;jfgsg%82Q8?3Q3;~mIJ0=&*`lNlr$!(mGtx$m?RrYp+s(kuag;l4v#h;`wJxt V)j>way?g)w002ovPDHLkV1iU;Bgp^& literal 0 HcmV?d00001 diff --git a/textures/farming_wheat_seed.png b/textures/farming_wheat_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..9afcd4dd8e010644340f54e36cf47e64b2f158d1 GIT binary patch literal 372 zcmV-)0gL{LP)4 zpEZP@xIKbSh=x^I_eSz!7Z;6u)j=ZjShN^EM+TA5Rqa#ayROXT>i>RVBXBtaPum2o zj|vppPpHofZ;b~WClxgp(-uy%R9Sa%eFr8i9vQ5{E7Cyj$mP4EjYG$h*K|25!n`T- z83-uXOY^Q}c&3y?kDW96nr5}Y(Re$lMwUMO-{X)oI_*CnRNUjagxq)VUwi`<*~Fo! SeH@+u0000;OkH}&M25w;xW@MN(M*=9wUgGKN z%6^Z7jaSIrGOINgC}ia6;uyklJvm{4fPu8MwzM>Zq>jS8Zl);@4>V0b$Z_Rh5=+P# mg+m7(aF}&mJnGue$jGpSjrr{wFMmy-ZU#?RKbLh*2~7Ypr#ry_ literal 0 HcmV?d00001 diff --git a/tomato.lua b/tomato.lua new file mode 100644 index 0000000..3ec20f7 --- /dev/null +++ b/tomato.lua @@ -0,0 +1,138 @@ + +--= Tomato (Original textures from link below) +-- http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288375-food-plus-mod-more-food-than-you-can-imagine-v2-9) + +minetest.register_craftitem("farming:tomato", { + description = "Tomato", + inventory_image = "farming_tomato.png", + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:tomato_1") + end, + on_use = minetest.item_eat(4), +}) + +-- Define Tomato growth stages + +minetest.register_node("farming:tomato_1", { + drawtype = "plantlike", + tiles = {"farming_tomato_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:tomato_2", { + drawtype = "plantlike", + tiles = {"farming_tomato_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:tomato_3", { + drawtype = "plantlike", + tiles = {"farming_tomato_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:tomato_4", { + drawtype = "plantlike", + tiles = {"farming_tomato_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:tomato_5", { + drawtype = "plantlike", + tiles = {"farming_tomato_5.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:tomato_6", { + drawtype = "plantlike", + tiles = {"farming_tomato_6.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:tomato_7", { + drawtype = "plantlike", + tiles = {"farming_tomato_7.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:tomato'},rarity=1}, + {items = {'farming:tomato'},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Carrot growth doesnnot have growing=1 so abm never has to check these + +minetest.register_node("farming:tomato_8", { + drawtype = "plantlike", + tiles = {"farming_tomato_8.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + is_ground_content = true, + drop = { + items = { + {items = {'farming:tomato 3'},rarity=1}, + {items = {'farming:tomato 3'},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +}) diff --git a/wheat.lua b/wheat.lua new file mode 100644 index 0000000..4acf4f8 --- /dev/null +++ b/wheat.lua @@ -0,0 +1,203 @@ + +--= Wheat + +-- Wheat Seed + +--minetest.register_craftitem("farming:seed_wheat", { +-- description = "Wheat Seed", +-- inventory_image = "farming_wheat_seed.png", +-- on_place = function(itemstack, placer, pointed_thing) +-- return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1") +-- end, +--}) + +minetest.register_node("farming:seed_wheat", { + description = "Wheat Seed", + tiles = {"farming_wheat_seed.png"}, + inventory_image = "farming_wheat_seed.png", + wield_image = "farming_wheat_seed.png", + drawtype = "signlike", + groups = {seed = 1, snappy = 3, attached_node = 1}, + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + sunlight_propagates = true, + selection_box = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1") + end, +}) + +-- Harvested Wheat + +minetest.register_craftitem("farming:wheat", { + description = "Wheat", + inventory_image = "farming_wheat.png", +}) + +-- flour + +minetest.register_craftitem("farming:flour", { + description = "Flour", + inventory_image = "farming_flour.png", +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:flour", + recipe = {"farming:wheat", "farming:wheat", "farming:wheat", "farming:wheat"} +}) + +-- Bread + +minetest.register_craftitem("farming:bread", { + description = "Bread", + inventory_image = "farming_bread.png", + on_use = minetest.item_eat(4), +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 15, + output = "farming:bread", + recipe = "farming:flour" +}) + +-- Define Wheat growth stages + +minetest.register_node("farming:wheat_1", { + drawtype = "plantlike", + tiles = {"farming_wheat_1.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:wheat_2", { + drawtype = "plantlike", + tiles = {"farming_wheat_2.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:wheat_3", { + drawtype = "plantlike", + tiles = {"farming_wheat_3.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:wheat_4", { + drawtype = "plantlike", + tiles = {"farming_wheat_4.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = "", + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:wheat_5", { + drawtype = "plantlike", + tiles = {"farming_wheat_5.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = { + items = { + {items = {'farming:wheat'},rarity=2}, + {items = {'farming:seed_wheat'},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:wheat_6", { + drawtype = "plantlike", + tiles = {"farming_wheat_6.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = { + items = { + {items = {'farming:wheat'},rarity=2}, + {items = {'farming:seed_wheat'},rarity=1}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("farming:wheat_7", { + drawtype = "plantlike", + tiles = {"farming_wheat_7.png"}, + paramtype = "light", + sunlight_propagates = true, + waving = 1, + walkable = false, + buildable_to = true, + drop = { + items = { + {items = {'farming:wheat'},rarity=1}, + {items = {'farming:wheat'},rarity=3}, + {items = {'farming:seed_wheat'},rarity=1}, + {items = {'farming:seed_wheat'},rarity=3}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1,growing=1}, + sounds = default.node_sound_leaves_defaults(), +}) + +-- Last stage of Wheat growth doesnnot have growing=1 so abm never has to check these + +minetest.register_node("farming:wheat_8", { + drawtype = "plantlike", + tiles = {"farming_wheat_8.png"}, + paramtype = "light", + waving = 1, + walkable = false, + buildable_to = true, + drop = { + items = { + {items = {'farming:wheat'},rarity=1}, + {items = {'farming:wheat'},rarity=2}, + {items = {'farming:seed_wheat'},rarity=1}, + {items = {'farming:seed_wheat'},rarity=2}, + } + }, + selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, + groups = {snappy=3,flammable=2,plant=1,not_in_creative_inventory=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), +})