From 5d11a34b04da7ea4f677cfca17e8397d3730540f Mon Sep 17 00:00:00 2001
From: PilzAdam <adam-k@outlook.com>
Date: Sun, 11 Nov 2012 11:47:53 +0100
Subject: [PATCH] Add farming mod

---
 mods/default/nodes.lua                        |   2 +-
 mods/farming/README.txt                       |  57 ++
 mods/farming/depends.txt                      |   2 +
 mods/farming/init.lua                         | 492 ++++++++++++++++++
 mods/farming/textures/farming_bread.png       | Bin 0 -> 559 bytes
 mods/farming/textures/farming_cotton_1.png    | Bin 0 -> 145 bytes
 mods/farming/textures/farming_cotton_2.png    | Bin 0 -> 183 bytes
 mods/farming/textures/farming_cotton_3.png    | Bin 0 -> 230 bytes
 mods/farming/textures/farming_cotton_4.png    | Bin 0 -> 285 bytes
 mods/farming/textures/farming_cotton_5.png    | Bin 0 -> 347 bytes
 mods/farming/textures/farming_cotton_6.png    | Bin 0 -> 506 bytes
 mods/farming/textures/farming_cotton_7.png    | Bin 0 -> 512 bytes
 mods/farming/textures/farming_cotton_8.png    | Bin 0 -> 468 bytes
 mods/farming/textures/farming_cotton_seed.png | Bin 0 -> 485 bytes
 mods/farming/textures/farming_flour.png       | Bin 0 -> 459 bytes
 mods/farming/textures/farming_soil.png        | Bin 0 -> 883 bytes
 mods/farming/textures/farming_soil_wet.png    | Bin 0 -> 823 bytes
 .../textures/farming_soil_wet_side.png        | Bin 0 -> 889 bytes
 mods/farming/textures/farming_string.png      | Bin 0 -> 367 bytes
 .../textures/farming_tool_bronzehoe.png       | Bin 0 -> 334 bytes
 .../textures/farming_tool_steelhoe.png        | Bin 0 -> 331 bytes
 .../textures/farming_tool_stonehoe.png        | Bin 0 -> 362 bytes
 .../farming/textures/farming_tool_woodhoe.png | Bin 0 -> 285 bytes
 mods/farming/textures/farming_wheat.png       | Bin 0 -> 658 bytes
 mods/farming/textures/farming_wheat_1.png     | Bin 0 -> 159 bytes
 mods/farming/textures/farming_wheat_2.png     | Bin 0 -> 209 bytes
 mods/farming/textures/farming_wheat_3.png     | Bin 0 -> 261 bytes
 mods/farming/textures/farming_wheat_4.png     | Bin 0 -> 304 bytes
 mods/farming/textures/farming_wheat_5.png     | Bin 0 -> 454 bytes
 mods/farming/textures/farming_wheat_6.png     | Bin 0 -> 607 bytes
 mods/farming/textures/farming_wheat_7.png     | Bin 0 -> 676 bytes
 mods/farming/textures/farming_wheat_8.png     | Bin 0 -> 811 bytes
 mods/farming/textures/farming_wheat_seed.png  | Bin 0 -> 467 bytes
 33 files changed, 552 insertions(+), 1 deletion(-)
 create mode 100644 mods/farming/README.txt
 create mode 100644 mods/farming/depends.txt
 create mode 100644 mods/farming/init.lua
 create mode 100644 mods/farming/textures/farming_bread.png
 create mode 100644 mods/farming/textures/farming_cotton_1.png
 create mode 100644 mods/farming/textures/farming_cotton_2.png
 create mode 100644 mods/farming/textures/farming_cotton_3.png
 create mode 100644 mods/farming/textures/farming_cotton_4.png
 create mode 100644 mods/farming/textures/farming_cotton_5.png
 create mode 100644 mods/farming/textures/farming_cotton_6.png
 create mode 100644 mods/farming/textures/farming_cotton_7.png
 create mode 100644 mods/farming/textures/farming_cotton_8.png
 create mode 100644 mods/farming/textures/farming_cotton_seed.png
 create mode 100644 mods/farming/textures/farming_flour.png
 create mode 100644 mods/farming/textures/farming_soil.png
 create mode 100644 mods/farming/textures/farming_soil_wet.png
 create mode 100644 mods/farming/textures/farming_soil_wet_side.png
 create mode 100644 mods/farming/textures/farming_string.png
 create mode 100644 mods/farming/textures/farming_tool_bronzehoe.png
 create mode 100644 mods/farming/textures/farming_tool_steelhoe.png
 create mode 100644 mods/farming/textures/farming_tool_stonehoe.png
 create mode 100644 mods/farming/textures/farming_tool_woodhoe.png
 create mode 100644 mods/farming/textures/farming_wheat.png
 create mode 100644 mods/farming/textures/farming_wheat_1.png
 create mode 100644 mods/farming/textures/farming_wheat_2.png
 create mode 100644 mods/farming/textures/farming_wheat_3.png
 create mode 100644 mods/farming/textures/farming_wheat_4.png
 create mode 100644 mods/farming/textures/farming_wheat_5.png
 create mode 100644 mods/farming/textures/farming_wheat_6.png
 create mode 100644 mods/farming/textures/farming_wheat_7.png
 create mode 100644 mods/farming/textures/farming_wheat_8.png
 create mode 100644 mods/farming/textures/farming_wheat_seed.png

diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua
index e2f81aa..3a0cf49 100644
--- a/mods/default/nodes.lua
+++ b/mods/default/nodes.lua
@@ -1125,7 +1125,7 @@ minetest.register_node("default:apple", {
 		fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
 	},
 	groups = {fleshy=3,dig_immediate=3,flammable=2,leafdecay=1,leafdecay_drop=1},
-	on_use = minetest.item_eat(4),
+	on_use = minetest.item_eat(1),
 	sounds = default.node_sound_defaults(),
 	after_place_node = function(pos, placer, itemstack)
 		if placer:is_player() then
diff --git a/mods/farming/README.txt b/mods/farming/README.txt
new file mode 100644
index 0000000..b92e0be
--- /dev/null
+++ b/mods/farming/README.txt
@@ -0,0 +1,57 @@
+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 <sam@hocevar.net>
+
+ 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
+
+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
diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt
new file mode 100644
index 0000000..470ec30
--- /dev/null
+++ b/mods/farming/depends.txt
@@ -0,0 +1,2 @@
+default
+wool
diff --git a/mods/farming/init.lua b/mods/farming/init.lua
new file mode 100644
index 0000000..1fc22a8
--- /dev/null
+++ b/mods/farming/init.lua
@@ -0,0 +1,492 @@
+-- Minetest 0.4 mod: farming
+-- See README.txt for licensing and other information.
+
+--
+-- 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_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_abm({
+	nodenames = {"farming:soil", "farming:soil_wet"},
+	interval = 15,
+	chance = 4,
+	action = function(pos, node)
+		pos.y = pos.y+1
+		local nn = minetest.env:get_node(pos).name
+		pos.y = pos.y-1
+		if minetest.registered_nodes[nn] and minetest.registered_nodes[nn].walkable then
+			minetest.env:set_node(pos, {name="default:dirt"})
+		end
+		-- check if there is water nearby
+		if minetest.env:find_node_near(pos, 3, {"group:water"}) then
+			-- if it is dry soil turn it into wet soil
+			if node.name == "farming:soil" then
+				minetest.env:set_node(pos, {name="farming:soil_wet"})
+			end
+		else
+			-- turn it back into dirt if it is already dry
+			if node.name == "farming:soil" then
+				-- only turn it back if there is no plant on top of it
+				if minetest.get_item_group(nn, "plant") == 0 then
+					minetest.env:set_node(pos, {name="default:dirt"})
+				end
+				
+			-- if its wet turn it back into dry soil
+			elseif node.name == "farming:soil_wet" then
+				minetest.env:set_node(pos, {name="farming:soil"})
+			end
+		end
+	end,
+})
+
+--
+-- Hoes
+--
+-- turns nodes with group soil=1 into soil; drop seeds if plowing grass
+local function hoe_on_use(itemstack, user, pointed_thing, uses)
+	local pt = pointed_thing
+	-- check if pointing at a node
+	if not pt then
+		return
+	end
+	if pt.type ~= "node" then
+		return
+	end
+	
+	local under = minetest.env:get_node(pt.under)
+	local p = {x=pt.under.x, y=pt.under.y+1, z=pt.under.z}
+	local above = minetest.env:get_node(p)
+	
+	-- return if any of the nodes is not registered
+	if not minetest.registered_nodes[under.name] then
+		return
+	end
+	if 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.env: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
+
+minetest.register_tool("farming:hoe_wood", {
+	description = "Wooden Hoe",
+	inventory_image = "farming_tool_woodhoe.png",
+	
+	on_use = function(itemstack, user, pointed_thing)
+		return hoe_on_use(itemstack, user, pointed_thing, 30)
+	end,
+})
+
+minetest.register_tool("farming:hoe_stone", {
+	description = "Stone Hoe",
+	inventory_image = "farming_tool_stonehoe.png",
+	
+	on_use = function(itemstack, user, pointed_thing)
+		return hoe_on_use(itemstack, user, pointed_thing, 90)
+	end,
+})
+
+minetest.register_tool("farming:hoe_steel", {
+	description = "Steel Hoe",
+	inventory_image = "farming_tool_steelhoe.png",
+	
+	on_use = function(itemstack, user, pointed_thing)
+		return hoe_on_use(itemstack, user, pointed_thing, 200)
+	end,
+})
+
+minetest.register_tool("farming:hoe_bronze", {
+	description = "Bronze Hoe",
+	inventory_image = "farming_tool_bronzehoe.png",
+	
+	on_use = function(itemstack, user, pointed_thing)
+		return hoe_on_use(itemstack, user, pointed_thing, 220)
+	end,
+})
+
+minetest.register_craft({
+	output = "farming:hoe_wood",
+	recipe = {
+		{"group:wood", "group:wood"},
+		{"", "default:stick"},
+		{"", "default:stick"},
+	}
+})
+
+minetest.register_craft({
+	output = "farming:hoe_stone",
+	recipe = {
+		{"group:stone", "group:stone"},
+		{"", "default:stick"},
+		{"", "default:stick"},
+	}
+})
+
+minetest.register_craft({
+	output = "farming:hoe_steel",
+	recipe = {
+		{"default:steel_ingot", "default:steel_ingot"},
+		{"", "default:stick"},
+		{"", "default:stick"},
+	}
+})
+
+minetest.register_craft({
+	output = "farming:hoe_bronze",
+	recipe = {
+		{"default:bronze_ingot", "default:bronze_ingot"},
+		{"", "default:stick"},
+		{"", "default:stick"},
+	}
+})
+
+--
+-- Override grass for drops
+--
+minetest.register_node(":default:grass_1", {
+	description = "Grass",
+	drawtype = "plantlike",
+	tiles = {"default_grass_1.png"},
+	-- use a bigger inventory image
+	inventory_image = "default_grass_3.png",
+	wield_image = "default_grass_3.png",
+	paramtype = "light",
+	walkable = false,
+	buildable_to = true,
+	drop = {
+		max_items = 1,
+		items = {
+			{items = {'farming:seed'},rarity = 20},
+			{items = {'default:grass_1'}},
+		}
+	},
+	groups = {snappy=3,flammable=3,flora=1,attached_node=1},
+	sounds = default.node_sound_leaves_defaults(),
+	selection_box = {
+		type = "fixed",
+		fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+	},
+	on_place = function(itemstack, placer, pointed_thing)
+		-- place a random grass node
+		local stack = ItemStack("default:grass_"..math.random(1,5))
+		local ret = minetest.item_place(stack, placer, pointed_thing)
+		return ItemStack("default:grass_1 "..itemstack:get_count()-(1-ret:get_count()))
+	end,
+})
+
+for i=2,5 do
+	minetest.register_node(":default:grass_"..i, {
+		description = "Grass",
+		drawtype = "plantlike",
+		tiles = {"default_grass_"..i..".png"},
+		inventory_image = "default_grass_"..i..".png",
+		wield_image = "default_grass_"..i..".png",
+		paramtype = "light",
+		walkable = false,
+		buildable_to = true,
+		is_ground_content = true,
+		drop = {
+			max_items = 1,
+			items = {
+				{items = {'farming:seed_wheat'},rarity = 20},
+				{items = {'default:grass_1'}},
+			}
+		},
+		groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1},
+		sounds = default.node_sound_leaves_defaults(),
+		selection_box = {
+			type = "fixed",
+			fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+		},
+	})
+end
+
+minetest.register_node(":default:junglegrass", {
+	description = "Jungle Grass",
+	drawtype = "plantlike",
+	visual_scale = 1.3,
+	tiles = {"default_junglegrass.png"},
+	inventory_image = "default_junglegrass.png",
+	wield_image = "default_junglegrass.png",
+	paramtype = "light",
+	walkable = false,
+	buildable_to = true,
+	is_ground_content = true,
+	drop = {
+		max_items = 1,
+		items = {
+			{items = {'farming:seed_cotton'},rarity = 20},
+			{items = {'default:junglegrass'}},
+		}
+	},
+	groups = {snappy=3,flammable=2,flora=1,attached_node=1},
+	sounds = default.node_sound_leaves_defaults(),
+	selection_box = {
+		type = "fixed",
+		fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+	},
+})
+
+--
+-- Place seeds
+--
+local function place_seed(itemstack, placer, pointed_thing, plantname)
+	local pt = pointed_thing
+	-- check if pointing at a node
+	if not pt then
+		return
+	end
+	if pt.type ~= "node" then
+		return
+	end
+	
+	local under = minetest.env:get_node(pt.under)
+	local above = minetest.env:get_node(pt.above)
+	
+	-- return if any of the nodes is not registered
+	if not minetest.registered_nodes[under.name] then
+		return
+	end
+	if not minetest.registered_nodes[above.name] then
+		return
+	end
+	
+	-- check if pointing at the top of the node
+	if pt.above.y ~= pt.under.y+1 then
+		return
+	end
+	
+	-- check if you can replace the node above the pointed node
+	if not minetest.registered_nodes[above.name].buildable_to then
+		return
+	end
+	
+	-- check if pointing at soil
+	if minetest.get_item_group(under.name, "soil") <= 1 then
+		return
+	end
+	
+	-- add the node and remove 1 item from the itemstack
+	minetest.env:add_node(pt.above, {name=plantname})
+	if not minetest.setting_getbool("creative_mode") then
+		itemstack:take_item()
+	end
+	return itemstack
+end
+
+--
+-- Wheat
+--
+minetest.register_craftitem("farming:seed_wheat", {
+	description = "Wheat Seed",
+	inventory_image = "farming_wheat_seed.png",
+	on_place = function(itemstack, placer, pointed_thing)
+		return place_seed(itemstack, placer, pointed_thing, "farming:wheat_1")
+	end,
+})
+
+minetest.register_craftitem("farming:wheat", {
+	description = "Wheat",
+	inventory_image = "farming_wheat.png",
+})
+
+minetest.register_craftitem("farming:flour", {
+	description = "Flour",
+	inventory_image = "farming_flour.png",
+})
+
+minetest.register_craftitem("farming:bread", {
+	description = "Bread",
+	inventory_image = "farming_bread.png",
+	on_use = minetest.item_eat(4),
+})
+
+minetest.register_craft({
+	type = "shapeless",
+	output = "farming:flour",
+	recipe = {"farming:wheat", "farming:wheat", "farming:wheat", "farming:wheat"}
+})
+
+minetest.register_craft({
+	type = "cooking",
+	cooktime = 15,
+	output = "farming:bread",
+	recipe = "farming:flour"
+})
+
+for i=1,8 do
+	local drop = {
+		items = {
+			{items = {'farming:wheat'},rarity=9-i},
+			{items = {'farming:wheat'},rarity=18-i*2},
+			{items = {'farming:seed_wheat'},rarity=9-i},
+			{items = {'farming:seed_wheat'},rarity=18-i*2},
+		}
+	}
+	minetest.register_node("farming:wheat_"..i, {
+		drawtype = "plantlike",
+		tiles = {"farming_wheat_"..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 = {snappy=3,flammable=2,plant=1,wheat=i,not_in_creative_inventory=1,attached_node=1},
+		sounds = default.node_sound_leaves_defaults(),
+	})
+end
+
+minetest.register_abm({
+	nodenames = {"group:wheat"},
+	neighbors = {"group:soil"},
+	interval = 90,
+	chance = 2,
+	action = function(pos, node)
+		-- return if already full grown
+		if minetest.get_item_group(node.name, "wheat") == 8 then
+			return
+		end
+		
+		-- check if on wet soil
+		pos.y = pos.y-1
+		local n = minetest.env:get_node(pos)
+		if minetest.get_item_group(n.name, "soil") < 3 then
+			return
+		end
+		pos.y = pos.y+1
+		
+		-- check light
+		if not minetest.env:get_node_light(pos) then
+			return
+		end
+		if minetest.env:get_node_light(pos) < 13 then
+			return
+		end
+		
+		-- grow
+		local height = minetest.get_item_group(node.name, "wheat") + 1
+		minetest.env:set_node(pos, {name="farming:wheat_"..height})
+	end
+})
+
+--
+-- Cotton
+--
+minetest.register_craftitem("farming:seed_cotton", {
+	description = "Cotton Seed",
+	inventory_image = "farming_cotton_seed.png",
+	on_place = function(itemstack, placer, pointed_thing)
+		return place_seed(itemstack, placer, pointed_thing, "farming:cotton_1")
+	end,
+})
+
+minetest.register_craftitem("farming:string", {
+	description = "String",
+	inventory_image = "farming_string.png",
+})
+
+minetest.register_craft({
+	output = "wool:white",
+	recipe = {
+		{"farming:string", "farming:string"},
+		{"farming:string", "farming:string"},
+	}
+})
+
+for i=1,8 do
+	local drop = {
+		items = {
+			{items = {'farming:string'},rarity=9-i},
+			{items = {'farming:string'},rarity=18-i*2},
+			{items = {'farming:string'},rarity=27-i*3},
+			{items = {'farming:seed_cotton'},rarity=9-i},
+			{items = {'farming:seed_cotton'},rarity=18-i*2},
+			{items = {'farming:seed_cotton'},rarity=27-i*3},
+		}
+	}
+	minetest.register_node("farming:cotton_"..i, {
+		drawtype = "plantlike",
+		tiles = {"farming_cotton_"..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 = {snappy=3,flammable=2,plant=1,cotton=i,not_in_creative_inventory=1,attached_node=1},
+		sounds = default.node_sound_leaves_defaults(),
+	})
+end
+
+minetest.register_abm({
+	nodenames = {"group:cotton"},
+	neighbors = {"group:soil"},
+	interval = 80,
+	chance = 2,
+	action = function(pos, node)
+		-- return if already full grown
+		if minetest.get_item_group(node.name, "cotton") == 8 then
+			return
+		end
+		
+		-- check if on wet soil
+		pos.y = pos.y-1
+		local n = minetest.env:get_node(pos)
+		if minetest.get_item_group(n.name, "soil") < 3 then
+			return
+		end
+		pos.y = pos.y+1
+		
+		-- check light
+		if not minetest.env:get_node_light(pos) then
+			return
+		end
+		if minetest.env:get_node_light(pos) < 13 then
+			return
+		end
+		
+		-- grow
+		local height = minetest.get_item_group(node.name, "cotton") + 1
+		minetest.env:set_node(pos, {name="farming:cotton_"..height})
+	end
+})
diff --git a/mods/farming/textures/farming_bread.png b/mods/farming/textures/farming_bread.png
new file mode 100644
index 0000000000000000000000000000000000000000..e508cc7f1d9d6de091a4cd55f086a46777883d65
GIT binary patch
literal 559
zcmV+~0?_@5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000iA
z000iA0f*eFZvX%Q2XskIMF-pq3Kbm^r+wQ_00008bVXQnLvL+uWo~o;_RN;Q0005H
zNkl<ZILp<O&1zF&5Qd*QKW%bOzBbgxT1r8S#XIOy@dCU8*MdvIz2eTb3k}p8aO(vW
z6x~>)6qo)~l$sNpn&$8HB<K6SaS;(A;>LwIn}LDn9cJbo`0qo0SG;?<rtN$LK&29a
zfcIKFcxkJD6lh)xN}ot1X$4O~_66b)Y75FJ_e{D0$Ayj`zS7E!K=X#!4{rzqQA{Ib
z?My-vEmIbbkL?!UMvkKNI4_7`AMI)kAW!aW$-JIS_Fue<j)tB%4B1$%a@H)<ExPna
zmc=BcGa1s$at0O@VI@uNz30PNrrlTV;B6Kjo(dP15*l^GLBGTB1SaZ<MObMVM7vB5
zA@h)nxaMn(f*%tEoP)KRP_G*fzINyxS@LnoxNwY1OQ+RkE`-{7xM(1S5FncJ12qOA
zT_ij16FNs4D^&-^LkE}_pbfz#&=5AWDH-kDzbfQCec#&01wBk1{G5^&ASsB2^&A*O
zus&V87+?YA*)LbvxxJ~M^3SLRui$YwJSYSxDhlv3-`t+EGe&xPYeUtaf<mtx;0RgL
x1T<x+Bd%|^X3e+v_)75Cp5AS4MgQcPz5_#V!kiiij3xj8002ovPDHLkV1hUg?0WzJ

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_cotton_1.png b/mods/farming/textures/farming_cotton_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..96195ac00197536ab0edde548946b8e95da86744
GIT binary patch
literal 145
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#E~_Xnlf;vYPq=|X2A(dCAr_~T6C_v{Cy4MACFHCAp5NHmc<^A<JA1oQpB*ZE
na@A*EJYM!`erG4=dRK<)w(Mc&O}Z`u^)h(6`njxgN@xNAU%n~1

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_cotton_2.png b/mods/farming/textures/farming_cotton_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..403a2416da12be35dbcdef68b454afe511e90e78
GIT binary patch
literal 183
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#E~_Xnlf;vYPq=|XVV*9IAr_~T6C_v{Cx|>?*_O8H|HPlmc1`+UxH9#S+K=z=
z>)EPTC|*;$^xr?e?wrRY#^dMg694>pYt9S;+{VIj*Ec<wWKsT<b@Aq@f9k`;()IwI
YAul58bk2FhBcKfop00i_>zopr070TWz5oCK

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_cotton_3.png b/mods/farming/textures/farming_cotton_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..eaec6d06cba3d3732580a69b19b261dfa4c6faad
GIT binary patch
literal 230
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#E~_Xnlf;vYPq=|Xt)4E9Ar_~T6C_v{CtP5(<=yyy$CDi2l#Qnh6^mPbSV-jb
z8j9YMIQi%Q$ItxCj?8>>s*e1a|Iog9;xv|3iak6$%k}NkRWcZunVAny-0UyW`or>p
z-!_v8|IQye)N=WD&kmKCwIcuP|NorbII(f!!w)x)TU>o;QuTe~?;af;AD;h`{~q&J
ZF#PjZ+UzS^coOI!22WQ%mvv4FO#rn)Rrvq_

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_cotton_4.png b/mods/farming/textures/farming_cotton_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..38404b3dd6d5b0aa5f5af686bdd5e3948bbfc699
GIT binary patch
literal 285
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#E~_XnljP)USLOnR_ISEDhFF|VPLN<d%y~oN#2<BcdEuUqufN-~$w!OsX}ckH
z>fiCq11ndbm$0w<*%`dKx%19{`}%(m%NUuNnGg5J*GtIsJpE^EU|_IghW3HnVza6L
z|9`!m-}ZR=d?TSRleg~sQXib_DYD#Zrsf}Y2{wZd?tUGO^V?-z-+X_+pT|YIpy+ez
zvG?|Mhm((9b^2(}Zq4n-T=47U#gKphfj}}Ma)xBt{2k{#ws0pT{D0Zr6Tk0o(vN?S
e&F>j7GrV79Z?j=0$1b2h7(8A5T-G@yGywp8hII)5

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_cotton_5.png b/mods/farming/textures/farming_cotton_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d4b4d21aa15fc59d310f810286fda7b1ddbb446
GIT binary patch
literal 347
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#E~_XnlN8teR&}7zFHaZ85R21qgKYho90h8v+h4n{>1lo9U?=5~Fi}EJ{Ate&
zhor;npRzZwvhv0??PYX+E*}taj4k}#p><Q|UVdBs`PtqxIv?WegUwCn$JQ*b{CT*&
z_UPJIt&DlEEtmf=)KRaP#gq2viN~XNTIU%GH1_`Wi{9MtpF3a1bke)rr^PqI*}A7#
z%kEm6v}j?R)$_Z1mjGS+)-Ei&_q~Xt>1qA-@0l2yyry+F1nv<y$LRlY_Jvs&!|dkE
zc{h7|N}QjT6rbhAJo}SmSoX0Gm3b`e^V;JA9(`e5BWhaoY|HnvHuf>%Yn&eb(y2Op
rB8B7d%R9H+&5}g)TihRA-xBYzHsF56hQq&sp}^qj>gTe~DWM4fWg?8_

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_cotton_6.png b/mods/farming/textures/farming_cotton_6.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b2b3deb18d531aa86e4238b26ff57f67eac6a7c
GIT binary patch
literal 506
zcmV<W0R{evP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6%7I!3g3k%0004*Nkl<ZILqBq?<<306g~HOUgHai
zA@h2LLh;%rn=p)8gq2eMNnaEnBuSF|i13z_Vl6She~oRnxjw8tGqZod`F5UjpL6cL
zUEu#=YRJif{!T8Y&y4l(Y`~**0RWS}ZuM|q`Gr{YrD(vy+5z1}t`!%-5jV%)b02mV
zEz+a_0Q3b-9v^h_^sp<hqeL>DGq|ltA(lw02WM*?6Ol6eczeXs#vx^OpQ*FmUYp<6
zu+!jCcM}7E-(~R6Vo!U$;(b9=@ri-V*a84Hj>4o#0l&*&DKcTR0S^lyAlmFIh|eA%
zWkz4#I;MgJO?X>WT5!b8W=oCYf!=2Jb~qHD8~5fq$l^H~htJd*0HUvtu+HxY0EW67
zIhjgh_w<SYpue+$BasLS47N|MsLZCp+u=~706^k1jrGGYW%r^tI8arc8BO~=#+#!Y
zw$Kw+_e07-N`l{IFcG1&L}GqrPigemv3T0+IsTb~b#X@nT{@RYLfojt&Z1RNPsJ|I
wXX-43fK3y5-Ta0qCTv=lluCc)9ob*_1|oixWmQ@gMF0Q*07*qoM6N<$g7E;|O#lD@

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_cotton_7.png b/mods/farming/textures/farming_cotton_7.png
new file mode 100644
index 0000000000000000000000000000000000000000..43ae43b71a20b534031d9af8c0c3f0bb830db40b
GIT binary patch
literal 512
zcmV+b0{{JqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6%7I!3g3k%0004>Nkl<ZILqBr%Su~O6kU6J^H2+g
zKua5vGyx$r$&IloTv3eL#tsTsI<JHNK))`dcA_&Is1eL0rN$>dKv6`LnC9NqLCk4V
z8b6?Ww)SJKwGaCM|6h>gio3{%>hDXhO<e)t^GDYtrkC?L+-(jO5D~e%IyYEJa=rT9
zB&wCVSR)Dma9o=!?jlJJIJ#-I{}4<s=b<WaT$=z;%EqZGhHS6-6CxtLfpQ_qV)50W
zt>VNpmU3|dfRm20zxmx%%3#N}xm4)lo+|}_jqOwEcs}N`aq7JoN#5T5!d2{%5wf-~
z(eZur7KQ)-yom@#gBI2sM*;w!K9n&Y4x(DA3ji$G30}9_Sl!x}eg^}wU?(`2?XEKO
zGG-cPGcnr9CkD^w66~$2{RC_E1Mz%fGWC?+y;aAxX{n;VcP0Svb~4FKE{AW8qwXqy
zyKr2ak&|0oJRdXmoph9;fCUjC9I)`EwqxexU&m4|B&j0!y16TF@-OK5L@V{!5DpyH
zu#0ojQI4ph)$X9yJRRDn!wS_O$D%423k4qhJHG+2YNV>pt?ADI0000<MNUMnLSTYj
C+1~;H

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_cotton_8.png b/mods/farming/textures/farming_cotton_8.png
new file mode 100644
index 0000000000000000000000000000000000000000..f673b90082f2db2f4991a8f110c5030dde7f29e5
GIT binary patch
literal 468
zcmV;_0W1EAP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6%7I#eb}|J0004VNkl<ZILpmbOD_Xq6g_vQFRyMy
zf~k%)l|gkR9x*{F8w=4t+pXvZ(H$D8oi^CnsHCOZITqT_44JZYcVEuA=brocfPWbz
z`B$zCN*0ko+=qFSHjc8~%_ix^yf{hbJ-9}adD~PX<zhv2O_bQ4ZTc;Xh_^q@DcB$Z
zr(l03S<|Xsxmb~xR@-OSnKu~HG*wXRR~)J}0052V8%o!8>06HvN8xR6BpSx?<=vM9
z04QD8<)!ro$1-S)k0~&hNup`S)jL*u#%sF+>4g#ifY8DObX{<KSrY)*U!Fxs*HA82
z1OT=(GbDkt>VpKXdVhJA>vK~CfUU)ZA{?xwc(9W4ZDOs*`w@G#$<_2E57*P|_nphk
zDDu`~f}ex#4e`4`(~N@zo+gLXCOTag8`d-(%U~p=<Kp%)_!0pipEcQWU7X(B%g$1g
zv9ONk#HgCbz*FwW=7PbISOi_y#mQAYkf#L!=ha7PzjuLOzSRf*QMa$+|AYtt0000<
KMNUMnLSTZI6wQSI

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_cotton_seed.png b/mods/farming/textures/farming_cotton_seed.png
new file mode 100644
index 0000000000000000000000000000000000000000..1507d45d24d58c6e8944ff1e456568c7d76ba60e
GIT binary patch
literal 485
zcmV<B0UG{^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6$}9`0fb0q0004mNkl<ZILob4y-PxI6g|(+r=s>j
z5rITYL!{8sWROeH*pgd+MgKrUOIvG0P()-9LIqM$3W-5wq=toxB1x90iJG73ZHV{k
z=`$R>)9-gV_ug~Qxj>f@zB?nayo7uBoi+g=;yvg8F`tXFuTk8eZj)$(pxaKhauHYi
z>jVIoJF8U6XA!z_5CBLdGK`E*fz{~58I%hjP-**7s}unMtfmk3$|o9MbpXJa(aaQc
zDNLFdnT|UKTn7Sr-1MG?n2?fA;OFaOYAsH`gb?$&sI5V(1GgueRIio=d1^MG)(xPL
zeHSwDJ8eYG2E2|f9xPL^$Rxth4;gsi#LNOCSE^vLScO8qMFZr!*rWgMKrB3m8w3Ch
z=YVl;iRo5M*X|nWhYcX29}T$Tc);Cp>R(%>awU{%Eo2Jz*M<0_hf?uio5~!+LMDl1
z<beQS*1Ez}O9hxLR)%koPbVOiD^ahO+otOVM<Hi5DCSapZhC&XedQ<5QO6a6ZhP-9
b69B#eCQG-0bA02{00000NkvXXu0mjfgS*L*

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_flour.png b/mods/farming/textures/farming_flour.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae6e4ee24c9428b6e3387a8f7ffc1bdb631006a6
GIT binary patch
literal 459
zcmV;+0W|)JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6%7IxbZ+^Y0004MNkl<ZILqykL9XI35JX>s<JcG!
zkYIz@a0c#w1rC6K4XYr;B5`73lJ+b{`kJqqIlxHscHOG3E~((3C;QX#cDp5|6k2OU
zgt9DYnuf#S@S8sWb+}wEsjlm^-EMKtF-;T37?e_cJ|FJ)d-`jFx~`LRju_+Dk%-Xu
zJ?r%v5y5*;*LCc6yX>36^Z86EB{rK4Aq0#ugb=>Iq?E|>oRktx(_oCD>pJ%PeU_ci
z=VXkbsw&>^H>=eO?>*L9%CaPcfQXP%q9_WiwLBgVwAREJ$!D_}#u%n)0>FFEVzHno
z3PK2UUB_~{q%2FOX`*Qwlu``C!0YuwbzO(GmZB&S5vFOPZChfDlx2z58t*-A+v1$V
zdyn@Xtu;;4kX^6WBqCUAf7X)cjN^z>iWnnRRWS?$!!XeIJ@fe-5h2U6?=758r<78{
zImbATWLZX@=foHh5sWd6<A{hbjw8q8G2=e~`~aUV$=sPmyX61?002ovPDHLkV1gf=
B%*y}(

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_soil.png b/mods/farming/textures/farming_soil.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5ffeccee9a080d2c717e94fdf94ee50db3842d8
GIT binary patch
literal 883
zcmV-(1C0EMP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0Du5j
z06yS1E^`0?010qNS#tmY3ljhU3ljkVnw%H_000McNliru+zST~B_kD`eYpSt02y>e
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00P@dL_t(I%Vm;XZ`))ThOfu3
z^EKzowW*tqBwM$Nwgf7KrgDHZtwMr7!5Kefzl)<uJ3^`u6Wd^8w5(a1Hcjos`Dkp%
z@5=$Igy25DbnBL`TfYD13)A*$*vjHve~4GDu<kc$)~Y=F`7NS^vITjTbI|Le1=5w~
z_$*|RXzT*QRWzmTyC@NiC@x16-uyM7q=enA78_ojNj&H1)hYWsZO$$t&``8NzWef_
zvBhGUq@-ESb|)Z=XUrB$0QR;wnN6375>C%Tj4|X!Q!Euh8>H9y$QZ4$L}&#~2A31S
zU<?>BY^>E8hEp0&g-$16JdSzSA7Lv216JTxu|zN;|4hTs3Yv%r4W|MK1zWMc-eerb
z%;rnV1x0t$<6g_dx&>~F8cqd&t%(ts%x)NlF}_#hkCO{V(VWR_iHJp#uDFipsKfoO
zr=nLBltnvmajO+X=d{+Um~6%2S3UGH!BRq5DGom0ViHf;>8w*OD%6utyHEGG+hj?C
zS!p^g7q4DHX~UC8JJd^x-JK5WRfi;5azAh}xxshJ1dS?|F^1oc2h0~4#xk4@Bl?#S
z+CZM?ydOlo`1OR_oL`NpJ7qpxj#(LvJl<^^g-|Zr^!D!KR4W`E{mxCA;Wh4{jgV`@
ze34)@++-O7h=8&L`+B~_XpJ=!R&U;uXBsdJ$8#<w3yjuuH$6UFPv~xX6fKD2Id1(9
z!*Ke4jir*!f6bg;L;&;$A*x`p;Wx-uIRN%8eA_siFNxv>4W~j7c$7*7k|bjoPXF~4
zu*9NKEo1vm39=O?%{l1Zqdy2KyEQ)EXyP~pW)ZYD)_8c=r$4ynvz;yguiy4b(-isP
z@t&~@MOGSiw_5mq9j)QV=fB{)bu0^%r5IktG-?IDKIk#J9^-pWp8xa;``g1uq|21^
z%aGT9p5tCcv;r3qVHCz7pb%<KiBBHf<;BYra$`8|kLa{~{st%ZQ6UZ{w!Q!W002ov
JPDHLkV1j7Rh^_zt

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_soil_wet.png b/mods/farming/textures/farming_soil_wet.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5e6eec4cf7f255b43a244df2f8f0e509727c6ed
GIT binary patch
literal 823
zcmV-71IYY|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0Du5j
z06yS1E^`0?010qNS#tmY3ljhU3ljkVnw%H_000McNliru+zST~C^b~)wxs|702y>e
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00N&$L_t(I%Vp9_Z`(!`hT(UH
zBazmfqAanh<VJOBrw)=$+(lN&rvEEHth*ws0!`7RO$x(}8(UFgiKb-Qx{$+}E@;<4
zbAZ{+cV=*&Bc6^LcF?Y)9KrF~jG*Sx30gF3HGcl>2;m4k33--tc(8*NkZQyG$px#8
zK`8{&dBPxQ;Rt~h4%2AC(LbMX9l`!6By87NTrPR__LN6^119G&7$_+a-?gMwLb6UZ
zX$HGPpZM~c>s1QCgWVoiS8IeLIQuxqTF@5UvIJuh6|feNK<G<8#RdR-b9!}{CeSFu
zaOks`Cmcr_MNzU_FTxi1coPnNiJ%ApC}4ZL$|6p<T53FCCs2IjE9C8k+eVEt1nnjk
zxJ--JJHF(2e9dgGxm<w&)~O~+G|uB;>xInMlpMj=oeHgL8Ik9N%`#?_@%(UvS*J)c
zJO>UR_E{_v_J?h}5;%|h^%swJ2c&5V+As`T1dS~mYk2<TK6OvAzc*yNT4lXibFb@T
zjiyua=r*fJYc22IPgpK9th9{J=bU~nrkxwZhe^!qHz(ZIB%0HxdW_E(<klbtE>;3t
zE*yM+k4klmSHJ$nDl@bjF2)LSV_B{?SOcr9n1K)=C0{b;x{#PAca%GU;zOj_2^5=D
z6DQ!`@P5JQmKFb(IgK;`XOYHHlCZ7F^c^vZyN*{&&3sjGcDp`qIboCP|9({LiYdrl
zP(j6oY=cSRaL;EviScUC?=`4ZN?ga#>$Ui{FBwlRc(^|V;N8)fG&6{21J9~b37x}(
z(N_eWI@Z8XFMp@w*AWsN=`fupH0vdv{&2u7TF?oay!_=))Q``ekZw{YpJU$sJ;9G+
z!fhWR1hb0-1ULw4RhRptKCk~cA-9&3@r+^E;a{MqFQ>98=r8~P002ovPDHLkV1m|{
BXaN8K

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_soil_wet_side.png b/mods/farming/textures/farming_soil_wet_side.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f5b252d8845e35c2399f7ba2cf16609fc774e93
GIT binary patch
literal 889
zcmV-<1BU#GP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0Du5j
z06yS1E^`0?010qNS#tmY3ljhU3ljkVnw%H_000McNliru+zST~Di5ID4V3@@02y>e
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00QAjL_t(I%QcT%Ph4dfg`fBP
z_MSb=kpbpF1WM@$r4Xp5*m$Rji8uOZ{006pqu$sw(WXHIt+ka-12e<yfqj_s%=dbM
zUF-T;d6pbC0$pFu<5|PMmm!sWmerLKrF@QOf4)Pk5C|;h%HzFtRA4$+TJ2j#Q-|jv
z^rHdmD`l(*Du!M^;ccr+#tO}?8r9_jNjl{8^%eUM8g#BBQ1Cr4)(F0}Ty#RFbH^vO
z3chFYJcI8GwQ7+h9U`8P34H#3e@!$PqeieI$kD3N#oS?yaCET6>0d1rMIES70P2+z
z0M$x?;&P6ketSdU0}9^$y*g*_+HBO8X>M;4Sc`LxmuDALSIZ>Hm~=R%kjv5z6XrlM
zYxw-|KB9^zBIL6^4|lg{U0l+=iBJV2!eBT>L_m~}eS6WxT1z?{(F+rdQ&3f&{eI3>
z?*?7mX|LBSMDd7|&-SQS3dF++Njm0>#}AmyX9T`Sknyn9fFCy+tAtU?O*A5(4-kPk
z8FRF^$#^tot+7gAEMc6m<a?yUDLP-^S%XoOH}AWQMsw6C?J(l9cXz`%$A@mj*?EhP
z>GWd?O95BCn1w3xsEk^K+>+1JCl4u>3jF-bAEc8hjg=w`72HCJ(-F?WU@}DnjDR(Q
z`ReID-+g<6HG&|d@qnFs4RoP|(FiwF5SYwn?Cvx;-rZn2gIti|;L}ayn`T+-Yh}`8
zK(SPy-HUJw#W}}Sm>>e4g?x}<G?|gj_&8v9yG}QZ?*;(6y_js)qm;`rcaC;H;c%w`
z*5Fx#HHOnyE$YiTI=4dvVY61k*#BWw*x9OcI~b7+#vC>ql*)P9*S9$5P*s)!pGW)m
z`TENP3b_pJFv1IOVwSQ#3kNtjIod%Letmw<N;!uZ==KuAeo8U#0nopRd2-z3`HR=c
z58of_Y%-(MyXBwOHRVE<TD8pSs}HCH1T2ux`82m1bgpBZDs$&pD;M|=$X;NbqY1Dp
P00000NkvXXu0mjf%=3|z

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_string.png b/mods/farming/textures/farming_string.png
new file mode 100644
index 0000000000000000000000000000000000000000..f417ec44a39858d300e423a6d33e7a8623a77be0
GIT binary patch
literal 367
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y
z{B+)352QE?JR*x37`TN&n2}-D90{Nxdx@v7EBhS|K7Mh5toJid0)=EVLn2C?^K)}k
z^GbkR1_tM%)Wnk16ovB4k_-iRPv3wPy;OFf_%Tlx#}JFtS0`EbwHOGv+%9I$d(VA9
z^}xcp((Qbl6MIr-3hebgwwN(3@zC9_TUVb3{df7tI;Z%E#7WD`-);AET`y&=;N0_l
z_jlF4L#dG~{!Bf&m`$-IcF`0ihF6`LvsNtIE_!9hl%ih`_WsZL^e&D!$m`D5Us($?
zrIv1Wb8*pJ%CIeW@)V)ZHpy#MTO6*JKAQ7*wPRGazf&@g;j!1De1{JdZ?H~$T72&N
zVUuGQw&}VT3r@V9Y*iHX`aS=uFvC9O17F|$XQ^X&dFsgiBeSl1gS_hL>gTe~DWM4f
D*65B`

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_tool_bronzehoe.png b/mods/farming/textures/farming_tool_bronzehoe.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c608a0e60cf7dfcf835c16237acecb1e0f5adbb
GIT binary patch
literal 334
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=DinK$vl=HlH+5kiEpy*OmP)t0=D`({iaSkTJJCT^vI!PA4ZU5HL6-@n2ozkNZT8
ziUS^#7!3>#w?Ew9#=+dYw~;BZ?ctOL$s-3C4A0bSDl^-&8y|jjxIEyC!9yd3WNzlg
zhnd)pN#{#Q@WoXe0E5FPPd-?3<mY@1aRp{)O+FFd=kxz2sJvj3=-3+iQ~$)l6CYlh
zD?9JM&3~+JyZn(##$`WWUS7`g`(17Np5MQ$ANQJnkWhZ}CL((3{}=yK6A}_ECNLbV
zh;7I*-X(KJRONQhJFXe#5gl744~t${;o7P7<;5ZPv>y{*<m~Be5t(hsaMR40ks<45
W_?||txsQR~WbkzLb6Mw<&;$VT(}ZdO

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_tool_steelhoe.png b/mods/farming/textures/farming_tool_steelhoe.png
new file mode 100644
index 0000000000000000000000000000000000000000..37aa26847bdff818571eccb0ee17b4da5827c40d
GIT binary patch
literal 331
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=DinK$vl=HlH+5kiEpy*OmPaH=D4K#)?gMErCKeJY5_^EKV;CvgK<skf?QKpEYC0
z1BOI}2dol2leuS0ix+&%ihE$)*d45{uaI|xvFy&PB;gf|UHewPJpKFUKCvIdKJv4c
z1;!rwY-4uXp}8YOqOD`miBmZf6qKI+wqsE66q>_lz2+|Kx$D*bk9j0TTn}#2Ne=Rw
zlFG>tQP^km?9?hp@yrL`T(&>&j?DkL<Nhj}XIeK4R9hMZn8K7Z3PVG8*hGb0)14f|
z#PDj@Hh;7CXT{EiY&!W;Z1d!^VpTm$b3dhYn-om_8I!EAsB){j{mD5`^#9EHb5PpY
WBiYANRrwdtj|`r!elF{r5}E*WW`ETH

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_tool_stonehoe.png b/mods/farming/textures/farming_tool_stonehoe.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f5ab61279665e2e661b57ec2007a3cde2fcecbe
GIT binary patch
literal 362
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=DinK$vl=HlH+5kiEpy*OmPaH=D4K!R~vm`9PuXo-U3d7N?g^-kW#GK%~{)ou}l*
z1&_d`eWrB{?=~1bVU5^iu<2RiCgV~C{sU7Qm-1f_boHEIwPcmZ%IHSU@`D{B9h|n4
z>r3_(uV2Uee~Ll3M%R`pLJf;FI1UGFVUl2VTwr_NS+jM@C9d5Si4F{2n$I?C_Rp1%
zyI)i&df>$O+PAy(?#p{W`P*l5K5~uOqb!C4r-Q@g-`}_2&OSfcxS!qj?*-AEa=yP8
zUB0+aj#`myJU#Vf(pJIK>$k30b;{=qpM}}%%@%!(CpN8-EI5}lWtnELuE|WsNh&M1
zUd&A17jiT)r2cqnrTo_?4?oY{_tJc;uieG7C#(N537yK-Y3f-N4-5hZPgg&ebxsLQ
E06HR)=l}o!

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_tool_woodhoe.png b/mods/farming/textures/farming_tool_woodhoe.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a059f613c566f1391db88bcb22e765d64af241b
GIT binary patch
literal 285
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b
z3=DinK$vl=HlH+5kiEpy*OmPaH=D4K<sqiOr-4GNJY5_^EKVmUED$g_Br!8@*MC*k
zof050Z~y;e2DR5y-6rugFh={X{Ld8ghR5iT4bP;e7#7~cnvBLBjg5_tZZp~+zDrkQ
zE1b5Tr<?zNqRJ@-34;)UzvmC1Jas@*;nadNzxy9Pn`_PU`(16i$}I*qAaK^~`+wrk
z=ks+2Lb9heZqxcdcZ$XTY_Ed9>Xuyzvrcy1pSa>?K-XjYsuEtt*^)rFoY*GG#h`G+
WUitT5wu3-dGkCiCxvX<aXaWH9Z)mRo

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat.png b/mods/farming/textures/farming_wheat.png
new file mode 100644
index 0000000000000000000000000000000000000000..76c74cbf85d6079d3492e22daa070f61a4e0672d
GIT binary patch
literal 658
zcmV;D0&V??P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004b3#c}2nYxW
zd<bNS0006>Nkl<ZI8UXL%TE(g6vn^X+nG+=p%2oE5v>Wx0-{2M4GT1p=t7Orr3;t-
z2W$wT1g&A?PFF5XaOF~r3k``SMk7%PHI$$U!8S^TzG>&#>zzw5!nh%x<j&2^Ip>%2
zeRF{S4DxsX;_GoHNfd2C8H@qlLrId)%&^YW<D%}<`~*`Jir(S7fBN<ToT9Z4)66hz
zs2rl{X1&FrGX4mMl)7y*HPJsoR^Lytre<T{LW+0}DsYH~X(Ru$3cn(&ya~a8jIClr
zwJaMOOZS=WP=k_abpcGP1zEC?=!~FJ)1k-|rHY3B^C?nqnAm9;{F|3cWXLQenG4W6
zJWVR4ZG2pOgK(P<rLr>##d3O*h4{Mz=o(BCN<9MN0ytx3SHFt!7T(UIscCQ=bsCGs
z28KpwNcJ7~plRXE$UWi}l?Ngk@j>#(aWqVkU0DVtJ&3j+gRZym;^}SY2Z7RE|NjY)
zWf|MQ@&X%DWe`H3C=xf*gHWgkCO6qMTO#iQT)))8zO5G#iz>otMi{mVIS!GahGL@8
z%k|6huKIm@aOL6=R;`(cxBGGH=2<kF8b22L`c8={V(}9Q@JUMLCj5R00e%GL<?IbM
z_v9KI97w?Dqp0o}SX<vjH0<MADRSR8V3`btZVM@U9_WSzGW%$hX_|#5Pf{)@pDW|@
zN&(Mb6<k}Io*QG%emINNb#7ARy$#Jk_sKZ&KT6Q~rllTcT#dpl9wS#DxN@F5V`;MV
sWfQf!iQ^rSz1qXy&mLcPq#Zhb13fMCljO{?{Qv*}07*qoM6N<$g8rW?ga7~l

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat_1.png b/mods/farming/textures/farming_wheat_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..1cd77fe88910e0c3f9492b896bba11e9c315271b
GIT binary patch
literal 159
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#E~_XnlMo9FuP9K+&eO#)#Nu>vf&}a01QDK~3v~*Q>^Ejb^SAs>Zz|l?=lVB2
zAtB+%@elotK(H`1U*pb#S-y-BH~-iDPiJ75I$b3FS5A@)&?E*=S3j3^P6<r_Q8_Nb

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat_2.png b/mods/farming/textures/farming_wheat_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee0caee7def0e85aa64368a0f24c31d1ca4e7987
GIT binary patch
literal 209
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#E~_XnlMo9FuP9Kcz|+Ms#Nu>vf&}a01d#+*VgC02>QQeOcKr8w(G-90e~Y(}
z(SzH|<9Q00tG>1TNl!>f`0@L>JTnj+eji`|fNOVI%K_f(`%)a~n>QIN^CYAuCj!+Z
wJb0E4Qk(GOKYyaI@+9k-GX!MJ{L<JMW<HVK$E*5&1<-B=Pgg&ebxsLQ0Krc}q5uE@

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat_3.png b/mods/farming/textures/farming_wheat_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..002df6271223a3435f7cda7491892f2301ffc6d0
GIT binary patch
literal 261
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#E~_XnlW;M!Z8K14iKmNWh{fsT1PRu~4Ppte)=l`oWJS7@c*64()u`h8%NqVm
zu>JYXU3g$oupvwAA@viTFPqlSuQxIP0VBb(gU8G73$UHBl=(To5eS;QS(7d-k1uGQ
zySnz_x|v&SCC)v2l;|w+;qh(#DFzQ5xVYu&%9a=;wQc_Y@8|IYSN2<eu-|sz_vh#G
z%s_DXi*4fn`oDj;#sB}5Jrq}D_RU^dS(%xE*VUMN+gFD9K=(3uy85}Sb4q9e0H4cZ
AGXMYp

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat_4.png b/mods/farming/textures/farming_wheat_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..3903715e1e77f44005db9bbc92d9f3fc9722968a
GIT binary patch
literal 304
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#E~_XnlW;M!Z8K2lyr+v}h{fr*6HoIUbP#FV|579B(X5W=LV|JUy<83*@{;1d
z=dpFmiwGX$Q%*<x=3Jd${8Qif!}|C&Khsv&-7KFcee&a(aF&a9tO-&)_pD~F`Sq&x
z!1^5wM=rixTXnN|ZS&12Z7#*UxjM^Bjz3O4|G>g3vdQEs`)>or1s6Z%o@1ZybR*^A
zyAESslifj87hZ-jS{zv!IVDKyPEIx3_FHm(WyMh|#ftYUEH${esQtSKpE!fq?TJBN
z4|lk}eP49VCw2dX?vMi2tyL#wTCHE}oPNM1?-)3xW{qwo&}$5yu6{1-oD!M<1fhCk

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat_5.png b/mods/farming/textures/farming_wheat_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..3dc98f7c6a9c1aa92d1f57838991f4aac65e3d47
GIT binary patch
literal 454
zcmV;%0XhDOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6%7mt5aQ`~0004HNkl<ZILqylPcH*e6vcmUIy2SL
z+8`o6iZym^HAsYyV8d5JnySA|*&uAO<_ic~2}7poOgo)ki`Nd3E=Vlh<$33vd(O>+
z|M~m5zFd>v@Qv?47)C!9-(Iha0dRM-5pR8csl|k^_@JpjKk5YT>k}vCf&gSPc1-AY
zy90&CJM#iyCVCa7=ZZ=x1wgYI0&se?AP*1sv8Y-q#A(v$Bmj*@_;~}zu>i1>2>?2w
zFjv@9{r5h8QC$+(4FE7r17m+HD*!>DH%A>EdpP}BWp6Vlv-z?DaNh#*D~Afewi6h`
zz0H<w0+29usK5_ngG}1utg<KoQ<Ebx?s;vDzQAv`buUi~Qz>nDu$>c>LPVdSR`;kB
z^P-RZ<sXRXy6&5=t3+BbG49ZAMa<-ORkc)*%*YVg<wJFKzABcbFzWRNm116up4Hf>
wqYb*kS!GdL?TD0P#<5#L2Y`34h3|)a01+dQaz?hkEC2ui07*qoM6N<$g5C$bj{pDw

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat_6.png b/mods/farming/textures/farming_wheat_6.png
new file mode 100644
index 0000000000000000000000000000000000000000..75cf64867f7029a6e402cdd223fc8d82e2260404
GIT binary patch
literal 607
zcmV-l0-*hgP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6%7muiR-w{00060Nkl<ZILqCV%S%*I9LGQB+<WI~
zP8kyPphW~Nq81UfsJ0QKl191dK@=1TCe(isg)K~j2z=l`WH}=Q1wpTk&_Zpc85M2>
zQ3D@$X6~8$YjK)83K6vJtbXTkzTfZpe$N;FuQfe>TV_Aqk$=Is8#fD!KAHMB0OPMa
zB$04AeDZ<%6L8{PrxZ&edg?=0q`0FoNh)bM{bE2}I`&uf#_dV;>YCx>%bNnQ|L8q6
zF*O6go?RJyKiHtywaJ>+n(uQz(G6Q;)NiRNt*;vZ_8qyazRZ3DVDkMfQOe@q7H$Z@
zp%dL|X>lHX;MjdNJ@Yjp5UE6SscdIQtH{pM;yj}RZ35uBE*c;ebIJ8K3qUMpGZ^k`
zl0?FS4j%7Tlb@|f+m%tJkce0VWG}u@%CU!4P&(yt=F)QoFgDaG##n1lAGb(32&16&
zU{6*6;&Bgv>cvW>mRTiKoWE930L8#??rL5Ec&>x4253z9+qVUpN=SdtDFImZ%j5@I
zt#4hcj^ik_<2V3#p0nwXMTE;8uT<_)R_c;5ioO-tmWeYqbk-8DmC@xOr2pY*Dfu?>
zy}L7(pkfOcie_b{MEmu;Dh#&C!txr;7e-XBw^_8-Xsw|>oxp^K;l3vMF}KW{k#=!B
t#j__ZVvHf3w)NiGkRqM%qE`k%z%O?i$i?-kOZ)%;002ovPDHLkV1iI04<7&k

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat_7.png b/mods/farming/textures/farming_wheat_7.png
new file mode 100644
index 0000000000000000000000000000000000000000..b12686dd642b3310afd6403598d55a300674e858
GIT binary patch
literal 676
zcmV;V0$crwP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6%7muiR-w{0006*Nkl<ZILpnF&r4KM6vsdJ&U??N
z&Xf%iEs8|?1F{y;-ZBVFCP9i8xpHBWCH)sdSO`T(6A40!3~C`kWJOd&i$ID9sZh{T
z$DHxakN4)i)8gW!yO!PEJ@<P)=X=gQ@L!!Tulwc0(_Z;k{im1LMQ;x*|Jp=r6Plat
zlQ)lhs<6+m`gefm-`<cYiqLbjebt9u371m20)TDDsIRrF39H${j_UK@*HB8K9mlHD
zn_C7|oofN$6#{}v2*CT9UTN6n0`P9exN16-#I_XLD+J{7rN49d`VD}iCvT}(EC#^t
zgpD5<XO`A{e0Eh1pBPYDYjktVpmH3m3fOW0Fh6f#mZe$WC|BdTO&@@Tg&*iG;l#am
z0myqs`210)h?wy-9Uo9$ehq+Qr*5m|r9}XKt`-fTqkB?`n0}+kR4Mx*9o>@(AT!)9
zUcrE89;U=A8f~({MQ4Un0#GWM9^(lI0Hsvba-|Y+@yfIUD3(JmUwfheHa#D`kt-Te
z2xE88iG(IG2tsB?Is~Au)?(~Vn*h|hHko15Zn-4r?K@yQ3fne-m8{3<OXF&Es7<2C
z6fi$hL*s$Cx#$SJe_xyjH(MnPL)yDCD!XnLCSK<-l|C<tdK<40aG_^PO{Y_`k}Yzi
zbwo|4Q{vbbR@o1U*SlDb=EZoY1X0N7&>3kw*udh_CIF6Oj79=Aj@b=AsNlLbYVv+c
z&UQ_x>2yl8hM0;`k%*OS9!FWk>==8KF28erHQ6ha34CEsvX(yv$@*uv7{;;y0000<
KMNUMnLSTZU@GC<A

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat_8.png b/mods/farming/textures/farming_wheat_8.png
new file mode 100644
index 0000000000000000000000000000000000000000..9263226b81c80917b9222b00a1aafc53a5dd5570
GIT binary patch
literal 811
zcmV+`1JwM9P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6%7mv{_Kcb0008YNkl<ZILnQa%WqV56vsd3ci;E6
z(*cdphmUCD$_Fl3xX_3jQ?YRdTxe`a8kb69jQkZEQ;dxZjjd?tLZPk1$AXQTxB(WT
zqEQi(rUD(Nb=o`Axv$^P#jg~Wp4G`o&iTF$+*W^`d(&Jvd(`kh>$e}?Fz)Sxf3Bw_
zaR9)Dvqw#RDCB|tZ^^}PUpHE7_8oXv06u;1+2oOjA56Qw0(JS^u^q%D4lw2xf#sDB
z0CD6}6n1{){4sO)*l_B53K2oI*S5HF-X5tcLl{_6f$tDUJ^=kplf)hX-Clt)hR#L?
zfVy*cNM2|FTvs7tksf+-S_Tq(U?6r$yEy;`!S`UO7Lddq>i+$2%cWoc1YqBRX(_8)
zo?QI-cL1)gb_oK<f;fuSzZqFx(d`u|fZkTg7at!o0PWTa0AHUxyko}W<1<nlxGAS(
zt#xD1qfZ@|!Nju%UVimU$?^h#_PW(}qunPA?9w+UUogL1x(vW$Pal_E_2fFhk3ao^
zTAFJb07nS`-c72mqA_(^tZu_|M{NK3hYgb#B><H+s4TalwT7j+rqQL|PC+<xqPd-p
z@X5@$0a#m4i9?%IS(d1gJ+WPgJT}veD70}Y<uY+(L6+v8H-m}8eWP^%M)uZ_ZMLJs
zL#V%(H<*3r8MC>OG5Ok8VwCkRFG{{!c+sqPGWwb3iN?Hqzxa}At#&y$c}hO}V8Se~
zbWrz>4H1VvV<R<Yr^ih%Et!9R!rXO7NM|#{bDf<(sj7<lt`LBGMr-IwAqyWhjqfY+
zyhOwy%k8HnaX?X29C~F@&YU=GvaNzJa>+A|xI(|569zuY5#iwEDe*jq#?)zvLJtu^
zYv}iK=4U2MRaJO_!$zl%7YWU&1qpnQIC7E2*@oF&57AoF*|g|dgHnpEe!<xA0IhZx
p-*ZWOIiq_AskGtRYDygW{0Dx@Ij`fTs$c*B002ovPDHLkV1juzbu0h?

literal 0
HcmV?d00001

diff --git a/mods/farming/textures/farming_wheat_seed.png b/mods/farming/textures/farming_wheat_seed.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0bb14b21b3370a356011f6ab7e2bfdae8cef640
GIT binary patch
literal 467
zcmV;^0WAKBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU
z000XU0RWnu7ytkO2XskIMF-sl6$~LXX=0VW0004UNkl<ZILob4O-lk%6g}^~aimDx
z*ruORn-)Q2>lR_^C=<2o9~HHzNVD-HELubai7-e=wd`LQC?h&KGq=Uy$4duXcvtV<
zckbn!b1yJwyq7eZRp-M;Eti%6&GNXRS;<n{BD`ItXyyR3kfMP@csfrI08~#C)a|)w
z82%8!2(c)K8sf7V*nL7+75H`hq6i5%9tS)>-$>jstLI@$H&~#?dR~@bmUP0Rqgm7_
z(8T{?8Zv{Xp;60n@llb7Z~&;^$n;+>(?kPXs(S>4Lkyk1Co`z!(&U2hdOZd!!b8g<
zL?U7Y+{_qE<s5OnBpJz9qkgVVh}k_Vv$dFl_5Febp4`IoMUnu34L7i@7umdKKAas;
zWSN18`5p|LKkqYvs~a8_00_>Ys2oDD@fN<SS^8;vQ!e`qlho}Kz90R+y^}I?ZHAr0
zA{!0pS}qtTxXv_*l_doV_t3G&wfOOjt8Cn+0wtJvZSj{00DtYlo+K#*x~%{J002ov
JPDHLkV1kTq!$$xB

literal 0
HcmV?d00001