From 568045a4c48aa446bd26731400cd39594deaf2c8 Mon Sep 17 00:00:00 2001 From: tchncs Date: Sat, 16 Jul 2016 14:14:56 +0200 Subject: [PATCH] merge upstream commit: Doors: Remove unnecessary node lookups --- mods/boats | 1 + mods/boats/README.txt | 20 - mods/boats/depends.txt | 2 - mods/boats/init.lua | 336 -------- mods/boats/models/boat.obj | 358 -------- mods/boats/models/rowboat.x | 760 ----------------- mods/boats/textures/boats_inventory.png | Bin 851 -> 0 bytes mods/boats/textures/boats_wield.png | Bin 546 -> 0 bytes mods/boats/textures/rowboat_inventory.png | Bin 444 -> 0 bytes mods/boats/textures/rowboat_wield.png | Bin 366 -> 0 bytes mods/farming | 1 + mods/farming/README.txt | 150 ---- mods/farming/api.lua | 366 -------- mods/farming/banana.lua | 70 -- mods/farming/barley.lua | 96 --- mods/farming/beanpole.lua | 194 ----- mods/farming/blueberry.lua | 65 -- mods/farming/carrot.lua | 103 --- mods/farming/cocoa.lua | 172 ---- mods/farming/coffee.lua | 130 --- mods/farming/compatibility.lua | 78 -- mods/farming/corn.lua | 114 --- mods/farming/cotton.lua | 114 --- mods/farming/cucumber.lua | 53 -- mods/farming/depends.txt | 2 - mods/farming/description.txt | 1 - mods/farming/donut.lua | 45 - mods/farming/grapes.lua | 201 ----- mods/farming/grass.lua | 42 - mods/farming/hoes.lua | 151 ---- mods/farming/init.lua | 797 ------------------ mods/farming/init.lua_orig | 192 ----- mods/farming/license.txt | 14 - mods/farming/mapgen.lua | 65 -- mods/farming/melon.lua | 80 -- mods/farming/mod.conf | 1 - mods/farming/oranges.lua | 58 -- mods/farming/potato.lua | 85 -- mods/farming/pumpkin.lua | 346 -------- mods/farming/raspberry.lua | 74 -- mods/farming/rhubarb.lua | 70 -- mods/farming/screenshot.png | Bin 42499 -> 0 bytes mods/farming/soil.lua | 64 -- mods/farming/statistics.lua | 174 ---- mods/farming/strawberry.lua | 133 --- mods/farming/sugar.lua | 14 - .../farming/textures/farming_baked_potato.png | Bin 321 -> 0 bytes mods/farming/textures/farming_banana.png | Bin 515 -> 0 bytes .../textures/farming_banana_leaves.png | Bin 621 -> 0 bytes .../textures/farming_banana_sapling.png | Bin 647 -> 0 bytes mods/farming/textures/farming_barley.png | Bin 230 -> 0 bytes mods/farming/textures/farming_barley_1.png | Bin 140 -> 0 bytes mods/farming/textures/farming_barley_2.png | Bin 151 -> 0 bytes mods/farming/textures/farming_barley_3.png | Bin 209 -> 0 bytes mods/farming/textures/farming_barley_4.png | Bin 229 -> 0 bytes mods/farming/textures/farming_barley_5.png | Bin 246 -> 0 bytes mods/farming/textures/farming_barley_6.png | Bin 271 -> 0 bytes mods/farming/textures/farming_barley_7.png | Bin 277 -> 0 bytes mods/farming/textures/farming_barley_seed.png | Bin 145 -> 0 bytes mods/farming/textures/farming_beanbush.png | Bin 227 -> 0 bytes mods/farming/textures/farming_beanpole.png | Bin 323 -> 0 bytes mods/farming/textures/farming_beanpole_1.png | Bin 242 -> 0 bytes mods/farming/textures/farming_beanpole_2.png | Bin 264 -> 0 bytes mods/farming/textures/farming_beanpole_3.png | Bin 297 -> 0 bytes mods/farming/textures/farming_beanpole_4.png | Bin 355 -> 0 bytes mods/farming/textures/farming_beanpole_5.png | Bin 353 -> 0 bytes mods/farming/textures/farming_beans.png | Bin 193 -> 0 bytes mods/farming/textures/farming_blueberries.png | Bin 164 -> 0 bytes mods/farming/textures/farming_blueberry_1.png | Bin 114 -> 0 bytes mods/farming/textures/farming_blueberry_2.png | Bin 223 -> 0 bytes mods/farming/textures/farming_blueberry_3.png | Bin 231 -> 0 bytes mods/farming/textures/farming_blueberry_4.png | Bin 317 -> 0 bytes .../textures/farming_blueberry_muffin.png | Bin 236 -> 0 bytes .../textures/farming_bottle_ethanol.png | Bin 221 -> 0 bytes mods/farming/textures/farming_bread.png | Bin 552 -> 0 bytes mods/farming/textures/farming_carrot.png | Bin 220 -> 0 bytes mods/farming/textures/farming_carrot_1.png | Bin 108 -> 0 bytes mods/farming/textures/farming_carrot_2.png | Bin 111 -> 0 bytes mods/farming/textures/farming_carrot_3.png | Bin 113 -> 0 bytes mods/farming/textures/farming_carrot_4.png | Bin 119 -> 0 bytes mods/farming/textures/farming_carrot_5.png | Bin 123 -> 0 bytes mods/farming/textures/farming_carrot_6.png | Bin 129 -> 0 bytes mods/farming/textures/farming_carrot_7.png | Bin 144 -> 0 bytes mods/farming/textures/farming_carrot_8.png | Bin 160 -> 0 bytes mods/farming/textures/farming_carrot_gold.png | Bin 207 -> 0 bytes .../textures/farming_chocolate_dark.png | Bin 194 -> 0 bytes mods/farming/textures/farming_cocoa_1.png | Bin 230 -> 0 bytes mods/farming/textures/farming_cocoa_2.png | Bin 244 -> 0 bytes mods/farming/textures/farming_cocoa_3.png | Bin 253 -> 0 bytes mods/farming/textures/farming_cocoa_beans.png | Bin 187 -> 0 bytes mods/farming/textures/farming_coffee_1.png | Bin 135 -> 0 bytes mods/farming/textures/farming_coffee_2.png | Bin 145 -> 0 bytes mods/farming/textures/farming_coffee_3.png | Bin 171 -> 0 bytes mods/farming/textures/farming_coffee_4.png | Bin 192 -> 0 bytes mods/farming/textures/farming_coffee_5.png | Bin 192 -> 0 bytes .../farming/textures/farming_coffee_beans.png | Bin 204 -> 0 bytes mods/farming/textures/farming_coffee_cup.png | Bin 164 -> 0 bytes .../textures/farming_coffee_cup_hot.png | Bin 183 -> 0 bytes mods/farming/textures/farming_cookie.png | Bin 566 -> 0 bytes mods/farming/textures/farming_corn.png | Bin 197 -> 0 bytes mods/farming/textures/farming_corn_1.png | Bin 107 -> 0 bytes mods/farming/textures/farming_corn_2.png | Bin 121 -> 0 bytes mods/farming/textures/farming_corn_3.png | Bin 142 -> 0 bytes mods/farming/textures/farming_corn_4.png | Bin 154 -> 0 bytes mods/farming/textures/farming_corn_5.png | Bin 161 -> 0 bytes mods/farming/textures/farming_corn_6.png | Bin 268 -> 0 bytes mods/farming/textures/farming_corn_7.png | Bin 275 -> 0 bytes mods/farming/textures/farming_corn_8.png | Bin 311 -> 0 bytes mods/farming/textures/farming_corn_cob.png | Bin 182 -> 0 bytes mods/farming/textures/farming_cotton.png | Bin 166 -> 0 bytes mods/farming/textures/farming_cotton_1.png | Bin 110 -> 0 bytes mods/farming/textures/farming_cotton_2.png | Bin 120 -> 0 bytes mods/farming/textures/farming_cotton_3.png | Bin 144 -> 0 bytes mods/farming/textures/farming_cotton_4.png | Bin 150 -> 0 bytes mods/farming/textures/farming_cotton_5.png | Bin 159 -> 0 bytes mods/farming/textures/farming_cotton_6.png | Bin 164 -> 0 bytes mods/farming/textures/farming_cotton_7.png | Bin 170 -> 0 bytes mods/farming/textures/farming_cotton_8.png | Bin 196 -> 0 bytes mods/farming/textures/farming_cotton_seed.png | Bin 150 -> 0 bytes mods/farming/textures/farming_cucumber.png | Bin 185 -> 0 bytes mods/farming/textures/farming_cucumber_1.png | Bin 119 -> 0 bytes mods/farming/textures/farming_cucumber_2.png | Bin 145 -> 0 bytes mods/farming/textures/farming_cucumber_3.png | Bin 217 -> 0 bytes mods/farming/textures/farming_cucumber_4.png | Bin 275 -> 0 bytes .../textures/farming_desert_sand_soil.png | Bin 637 -> 0 bytes .../textures/farming_desert_sand_soil_wet.png | Bin 590 -> 0 bytes .../farming_desert_sand_soil_wet_side.png | Bin 601 -> 0 bytes mods/farming/textures/farming_donut.png | Bin 258 -> 0 bytes mods/farming/textures/farming_donut_apple.png | Bin 252 -> 0 bytes .../textures/farming_donut_chocolate.png | Bin 256 -> 0 bytes mods/farming/textures/farming_flour.png | Bin 159 -> 0 bytes mods/farming/textures/farming_grapebush.png | Bin 144 -> 0 bytes mods/farming/textures/farming_grapes.png | Bin 175 -> 0 bytes mods/farming/textures/farming_grapes_1.png | Bin 255 -> 0 bytes mods/farming/textures/farming_grapes_2.png | Bin 290 -> 0 bytes mods/farming/textures/farming_grapes_3.png | Bin 307 -> 0 bytes mods/farming/textures/farming_grapes_4.png | Bin 330 -> 0 bytes mods/farming/textures/farming_grapes_5.png | Bin 338 -> 0 bytes mods/farming/textures/farming_grapes_6.png | Bin 347 -> 0 bytes mods/farming/textures/farming_grapes_7.png | Bin 358 -> 0 bytes mods/farming/textures/farming_grapes_8.png | Bin 350 -> 0 bytes mods/farming/textures/farming_melon_1.png | Bin 138 -> 0 bytes mods/farming/textures/farming_melon_2.png | Bin 161 -> 0 bytes mods/farming/textures/farming_melon_3.png | Bin 177 -> 0 bytes mods/farming/textures/farming_melon_4.png | Bin 181 -> 0 bytes mods/farming/textures/farming_melon_5.png | Bin 196 -> 0 bytes mods/farming/textures/farming_melon_6.png | Bin 219 -> 0 bytes mods/farming/textures/farming_melon_7.png | Bin 247 -> 0 bytes mods/farming/textures/farming_melon_side.png | Bin 270 -> 0 bytes mods/farming/textures/farming_melon_slice.png | Bin 227 -> 0 bytes mods/farming/textures/farming_melon_top.png | Bin 272 -> 0 bytes mods/farming/textures/farming_orange.png | Bin 544 -> 0 bytes mods/farming/textures/farming_orange_1.png | Bin 108 -> 0 bytes mods/farming/textures/farming_orange_2.png | Bin 193 -> 0 bytes mods/farming/textures/farming_orange_3.png | Bin 451 -> 0 bytes mods/farming/textures/farming_orange_4.png | Bin 460 -> 0 bytes mods/farming/textures/farming_orange_seed.png | Bin 281 -> 0 bytes mods/farming/textures/farming_potato.png | Bin 252 -> 0 bytes mods/farming/textures/farming_potato_1.png | Bin 132 -> 0 bytes mods/farming/textures/farming_potato_2.png | Bin 187 -> 0 bytes mods/farming/textures/farming_potato_3.png | Bin 237 -> 0 bytes mods/farming/textures/farming_potato_4.png | Bin 283 -> 0 bytes mods/farming/textures/farming_potato_seed.png | Bin 221 -> 0 bytes mods/farming/textures/farming_pumpkin_1.png | Bin 159 -> 0 bytes mods/farming/textures/farming_pumpkin_2.png | Bin 182 -> 0 bytes mods/farming/textures/farming_pumpkin_3.png | Bin 199 -> 0 bytes mods/farming/textures/farming_pumpkin_4.png | Bin 230 -> 0 bytes mods/farming/textures/farming_pumpkin_5.png | Bin 259 -> 0 bytes mods/farming/textures/farming_pumpkin_6.png | Bin 263 -> 0 bytes mods/farming/textures/farming_pumpkin_7.png | Bin 271 -> 0 bytes mods/farming/textures/farming_pumpkin_8.png | Bin 275 -> 0 bytes .../textures/farming_pumpkin_bread.png | Bin 200 -> 0 bytes .../textures/farming_pumpkin_dough.png | Bin 193 -> 0 bytes .../textures/farming_pumpkin_face_off.png | Bin 259 -> 0 bytes .../textures/farming_pumpkin_face_on.png | Bin 269 -> 0 bytes .../farming/textures/farming_pumpkin_seed.png | Bin 312 -> 0 bytes .../farming/textures/farming_pumpkin_side.png | Bin 231 -> 0 bytes .../textures/farming_pumpkin_slice.png | Bin 204 -> 0 bytes mods/farming/textures/farming_pumpkin_top.png | Bin 272 -> 0 bytes mods/farming/textures/farming_raspberries.png | Bin 230 -> 0 bytes mods/farming/textures/farming_raspberry_1.png | Bin 100 -> 0 bytes mods/farming/textures/farming_raspberry_2.png | Bin 223 -> 0 bytes mods/farming/textures/farming_raspberry_3.png | Bin 231 -> 0 bytes mods/farming/textures/farming_raspberry_4.png | Bin 239 -> 0 bytes .../textures/farming_raspberry_seed.png | Bin 212 -> 0 bytes .../textures/farming_raspberry_smoothie.png | Bin 231 -> 0 bytes mods/farming/textures/farming_rhubarb.png | Bin 165 -> 0 bytes mods/farming/textures/farming_rhubarb_1.png | Bin 119 -> 0 bytes mods/farming/textures/farming_rhubarb_2.png | Bin 152 -> 0 bytes mods/farming/textures/farming_rhubarb_3.png | Bin 167 -> 0 bytes mods/farming/textures/farming_rhubarb_pie.png | Bin 198 -> 0 bytes .../farming/textures/farming_rhubarb_seed.png | Bin 219 -> 0 bytes .../textures/farming_scarecrow_front.png | Bin 634 -> 0 bytes .../farming_scarecrow_front_light.png | Bin 641 -> 0 bytes .../textures/farming_scarecrow_side.png | Bin 613 -> 0 bytes .../textures/farming_scarecrow_top.png | Bin 639 -> 0 bytes mods/farming/textures/farming_soil.png | Bin 706 -> 0 bytes mods/farming/textures/farming_soil_wet.png | Bin 677 -> 0 bytes .../textures/farming_soil_wet_side.png | Bin 96 -> 0 bytes mods/farming/textures/farming_straw.png | Bin 892 -> 0 bytes mods/farming/textures/farming_strawberry.png | Bin 382 -> 0 bytes .../farming/textures/farming_strawberry_1.png | Bin 116 -> 0 bytes .../farming/textures/farming_strawberry_2.png | Bin 137 -> 0 bytes .../farming/textures/farming_strawberry_3.png | Bin 157 -> 0 bytes .../farming/textures/farming_strawberry_4.png | Bin 209 -> 0 bytes .../farming/textures/farming_strawberry_5.png | Bin 234 -> 0 bytes .../farming/textures/farming_strawberry_6.png | Bin 240 -> 0 bytes .../farming/textures/farming_strawberry_7.png | Bin 258 -> 0 bytes .../farming/textures/farming_strawberry_8.png | Bin 258 -> 0 bytes mods/farming/textures/farming_sugar.png | Bin 142 -> 0 bytes mods/farming/textures/farming_tomato.png | Bin 488 -> 0 bytes mods/farming/textures/farming_tomato_1.png | Bin 207 -> 0 bytes mods/farming/textures/farming_tomato_2.png | Bin 223 -> 0 bytes mods/farming/textures/farming_tomato_3.png | Bin 250 -> 0 bytes mods/farming/textures/farming_tomato_4.png | Bin 269 -> 0 bytes mods/farming/textures/farming_tomato_5.png | Bin 320 -> 0 bytes mods/farming/textures/farming_tomato_6.png | Bin 490 -> 0 bytes mods/farming/textures/farming_tomato_7.png | Bin 570 -> 0 bytes mods/farming/textures/farming_tomato_8.png | Bin 510 -> 0 bytes mods/farming/textures/farming_tomato_seed.png | Bin 221 -> 0 bytes .../textures/farming_tool_bronzehoe.png | Bin 258 -> 0 bytes .../textures/farming_tool_diamondhoe.png | Bin 244 -> 0 bytes .../farming/textures/farming_tool_mesehoe.png | Bin 230 -> 0 bytes .../textures/farming_tool_steelhoe.png | Bin 230 -> 0 bytes .../textures/farming_tool_stonehoe.png | Bin 263 -> 0 bytes .../farming/textures/farming_tool_woodhoe.png | Bin 222 -> 0 bytes mods/farming/textures/farming_trellis.png | Bin 227 -> 0 bytes mods/farming/textures/farming_wheat.png | Bin 241 -> 0 bytes mods/farming/textures/farming_wheat_1.png | Bin 120 -> 0 bytes mods/farming/textures/farming_wheat_2.png | Bin 142 -> 0 bytes mods/farming/textures/farming_wheat_3.png | Bin 172 -> 0 bytes mods/farming/textures/farming_wheat_4.png | Bin 191 -> 0 bytes mods/farming/textures/farming_wheat_5.png | Bin 218 -> 0 bytes mods/farming/textures/farming_wheat_6.png | Bin 234 -> 0 bytes mods/farming/textures/farming_wheat_7.png | Bin 253 -> 0 bytes mods/farming/textures/farming_wheat_8.png | Bin 310 -> 0 bytes mods/farming/textures/farming_wheat_seed.png | Bin 141 -> 0 bytes .../farming/textures/vessels_drinking_cup.png | Bin 200 -> 0 bytes mods/farming/todo.md | 12 - mods/farming/tomato.lua | 86 -- mods/farming/wheat.lua | 152 ---- 241 files changed, 2 insertions(+), 6040 deletions(-) create mode 160000 mods/boats delete mode 100644 mods/boats/README.txt delete mode 100644 mods/boats/depends.txt delete mode 100644 mods/boats/init.lua delete mode 100644 mods/boats/models/boat.obj delete mode 100644 mods/boats/models/rowboat.x delete mode 100644 mods/boats/textures/boats_inventory.png delete mode 100644 mods/boats/textures/boats_wield.png delete mode 100644 mods/boats/textures/rowboat_inventory.png delete mode 100644 mods/boats/textures/rowboat_wield.png create mode 160000 mods/farming delete mode 100644 mods/farming/README.txt delete mode 100644 mods/farming/api.lua delete mode 100644 mods/farming/banana.lua delete mode 100644 mods/farming/barley.lua delete mode 100644 mods/farming/beanpole.lua delete mode 100644 mods/farming/blueberry.lua delete mode 100644 mods/farming/carrot.lua delete mode 100644 mods/farming/cocoa.lua delete mode 100644 mods/farming/coffee.lua delete mode 100644 mods/farming/compatibility.lua delete mode 100644 mods/farming/corn.lua delete mode 100644 mods/farming/cotton.lua delete mode 100644 mods/farming/cucumber.lua delete mode 100644 mods/farming/depends.txt delete mode 100644 mods/farming/description.txt delete mode 100644 mods/farming/donut.lua delete mode 100644 mods/farming/grapes.lua delete mode 100644 mods/farming/grass.lua delete mode 100644 mods/farming/hoes.lua delete mode 100644 mods/farming/init.lua delete mode 100644 mods/farming/init.lua_orig delete mode 100644 mods/farming/license.txt delete mode 100644 mods/farming/mapgen.lua delete mode 100644 mods/farming/melon.lua delete mode 100644 mods/farming/mod.conf delete mode 100644 mods/farming/oranges.lua delete mode 100644 mods/farming/potato.lua delete mode 100644 mods/farming/pumpkin.lua delete mode 100644 mods/farming/raspberry.lua delete mode 100644 mods/farming/rhubarb.lua delete mode 100644 mods/farming/screenshot.png delete mode 100644 mods/farming/soil.lua delete mode 100644 mods/farming/statistics.lua delete mode 100644 mods/farming/strawberry.lua delete mode 100644 mods/farming/sugar.lua delete mode 100644 mods/farming/textures/farming_baked_potato.png delete mode 100644 mods/farming/textures/farming_banana.png delete mode 100644 mods/farming/textures/farming_banana_leaves.png delete mode 100644 mods/farming/textures/farming_banana_sapling.png delete mode 100644 mods/farming/textures/farming_barley.png delete mode 100644 mods/farming/textures/farming_barley_1.png delete mode 100644 mods/farming/textures/farming_barley_2.png delete mode 100644 mods/farming/textures/farming_barley_3.png delete mode 100644 mods/farming/textures/farming_barley_4.png delete mode 100644 mods/farming/textures/farming_barley_5.png delete mode 100644 mods/farming/textures/farming_barley_6.png delete mode 100644 mods/farming/textures/farming_barley_7.png delete mode 100644 mods/farming/textures/farming_barley_seed.png delete mode 100644 mods/farming/textures/farming_beanbush.png delete mode 100644 mods/farming/textures/farming_beanpole.png delete mode 100644 mods/farming/textures/farming_beanpole_1.png delete mode 100644 mods/farming/textures/farming_beanpole_2.png delete mode 100644 mods/farming/textures/farming_beanpole_3.png delete mode 100644 mods/farming/textures/farming_beanpole_4.png delete mode 100644 mods/farming/textures/farming_beanpole_5.png delete mode 100644 mods/farming/textures/farming_beans.png delete mode 100644 mods/farming/textures/farming_blueberries.png delete mode 100644 mods/farming/textures/farming_blueberry_1.png delete mode 100644 mods/farming/textures/farming_blueberry_2.png delete mode 100644 mods/farming/textures/farming_blueberry_3.png delete mode 100644 mods/farming/textures/farming_blueberry_4.png delete mode 100644 mods/farming/textures/farming_blueberry_muffin.png delete mode 100644 mods/farming/textures/farming_bottle_ethanol.png delete mode 100644 mods/farming/textures/farming_bread.png delete mode 100644 mods/farming/textures/farming_carrot.png delete mode 100644 mods/farming/textures/farming_carrot_1.png delete mode 100644 mods/farming/textures/farming_carrot_2.png delete mode 100644 mods/farming/textures/farming_carrot_3.png delete mode 100644 mods/farming/textures/farming_carrot_4.png delete mode 100644 mods/farming/textures/farming_carrot_5.png delete mode 100644 mods/farming/textures/farming_carrot_6.png delete mode 100644 mods/farming/textures/farming_carrot_7.png delete mode 100644 mods/farming/textures/farming_carrot_8.png delete mode 100644 mods/farming/textures/farming_carrot_gold.png delete mode 100644 mods/farming/textures/farming_chocolate_dark.png delete mode 100644 mods/farming/textures/farming_cocoa_1.png delete mode 100644 mods/farming/textures/farming_cocoa_2.png delete mode 100644 mods/farming/textures/farming_cocoa_3.png delete mode 100644 mods/farming/textures/farming_cocoa_beans.png delete mode 100644 mods/farming/textures/farming_coffee_1.png delete mode 100644 mods/farming/textures/farming_coffee_2.png delete mode 100644 mods/farming/textures/farming_coffee_3.png delete mode 100644 mods/farming/textures/farming_coffee_4.png delete mode 100644 mods/farming/textures/farming_coffee_5.png delete mode 100644 mods/farming/textures/farming_coffee_beans.png delete mode 100644 mods/farming/textures/farming_coffee_cup.png delete mode 100644 mods/farming/textures/farming_coffee_cup_hot.png delete mode 100644 mods/farming/textures/farming_cookie.png delete mode 100644 mods/farming/textures/farming_corn.png delete mode 100644 mods/farming/textures/farming_corn_1.png delete mode 100644 mods/farming/textures/farming_corn_2.png delete mode 100644 mods/farming/textures/farming_corn_3.png delete mode 100644 mods/farming/textures/farming_corn_4.png delete mode 100644 mods/farming/textures/farming_corn_5.png delete mode 100644 mods/farming/textures/farming_corn_6.png delete mode 100644 mods/farming/textures/farming_corn_7.png delete mode 100644 mods/farming/textures/farming_corn_8.png delete mode 100644 mods/farming/textures/farming_corn_cob.png delete mode 100644 mods/farming/textures/farming_cotton.png delete mode 100644 mods/farming/textures/farming_cotton_1.png delete mode 100644 mods/farming/textures/farming_cotton_2.png delete mode 100644 mods/farming/textures/farming_cotton_3.png delete mode 100644 mods/farming/textures/farming_cotton_4.png delete mode 100644 mods/farming/textures/farming_cotton_5.png delete mode 100644 mods/farming/textures/farming_cotton_6.png delete mode 100644 mods/farming/textures/farming_cotton_7.png delete mode 100644 mods/farming/textures/farming_cotton_8.png delete mode 100644 mods/farming/textures/farming_cotton_seed.png delete mode 100644 mods/farming/textures/farming_cucumber.png delete mode 100644 mods/farming/textures/farming_cucumber_1.png delete mode 100644 mods/farming/textures/farming_cucumber_2.png delete mode 100644 mods/farming/textures/farming_cucumber_3.png delete mode 100644 mods/farming/textures/farming_cucumber_4.png delete mode 100644 mods/farming/textures/farming_desert_sand_soil.png delete mode 100644 mods/farming/textures/farming_desert_sand_soil_wet.png delete mode 100644 mods/farming/textures/farming_desert_sand_soil_wet_side.png delete mode 100644 mods/farming/textures/farming_donut.png delete mode 100644 mods/farming/textures/farming_donut_apple.png delete mode 100644 mods/farming/textures/farming_donut_chocolate.png delete mode 100644 mods/farming/textures/farming_flour.png delete mode 100644 mods/farming/textures/farming_grapebush.png delete mode 100644 mods/farming/textures/farming_grapes.png delete mode 100644 mods/farming/textures/farming_grapes_1.png delete mode 100644 mods/farming/textures/farming_grapes_2.png delete mode 100644 mods/farming/textures/farming_grapes_3.png delete mode 100644 mods/farming/textures/farming_grapes_4.png delete mode 100644 mods/farming/textures/farming_grapes_5.png delete mode 100644 mods/farming/textures/farming_grapes_6.png delete mode 100644 mods/farming/textures/farming_grapes_7.png delete mode 100644 mods/farming/textures/farming_grapes_8.png delete mode 100644 mods/farming/textures/farming_melon_1.png delete mode 100644 mods/farming/textures/farming_melon_2.png delete mode 100644 mods/farming/textures/farming_melon_3.png delete mode 100644 mods/farming/textures/farming_melon_4.png delete mode 100644 mods/farming/textures/farming_melon_5.png delete mode 100644 mods/farming/textures/farming_melon_6.png delete mode 100644 mods/farming/textures/farming_melon_7.png delete mode 100644 mods/farming/textures/farming_melon_side.png delete mode 100644 mods/farming/textures/farming_melon_slice.png delete mode 100644 mods/farming/textures/farming_melon_top.png delete mode 100644 mods/farming/textures/farming_orange.png delete mode 100644 mods/farming/textures/farming_orange_1.png delete mode 100644 mods/farming/textures/farming_orange_2.png delete mode 100644 mods/farming/textures/farming_orange_3.png delete mode 100644 mods/farming/textures/farming_orange_4.png delete mode 100644 mods/farming/textures/farming_orange_seed.png delete mode 100644 mods/farming/textures/farming_potato.png delete mode 100644 mods/farming/textures/farming_potato_1.png delete mode 100644 mods/farming/textures/farming_potato_2.png delete mode 100644 mods/farming/textures/farming_potato_3.png delete mode 100644 mods/farming/textures/farming_potato_4.png delete mode 100644 mods/farming/textures/farming_potato_seed.png delete mode 100644 mods/farming/textures/farming_pumpkin_1.png delete mode 100644 mods/farming/textures/farming_pumpkin_2.png delete mode 100644 mods/farming/textures/farming_pumpkin_3.png delete mode 100644 mods/farming/textures/farming_pumpkin_4.png delete mode 100644 mods/farming/textures/farming_pumpkin_5.png delete mode 100644 mods/farming/textures/farming_pumpkin_6.png delete mode 100644 mods/farming/textures/farming_pumpkin_7.png delete mode 100644 mods/farming/textures/farming_pumpkin_8.png delete mode 100644 mods/farming/textures/farming_pumpkin_bread.png delete mode 100644 mods/farming/textures/farming_pumpkin_dough.png delete mode 100644 mods/farming/textures/farming_pumpkin_face_off.png delete mode 100644 mods/farming/textures/farming_pumpkin_face_on.png delete mode 100644 mods/farming/textures/farming_pumpkin_seed.png delete mode 100644 mods/farming/textures/farming_pumpkin_side.png delete mode 100644 mods/farming/textures/farming_pumpkin_slice.png delete mode 100644 mods/farming/textures/farming_pumpkin_top.png delete mode 100644 mods/farming/textures/farming_raspberries.png delete mode 100644 mods/farming/textures/farming_raspberry_1.png delete mode 100644 mods/farming/textures/farming_raspberry_2.png delete mode 100644 mods/farming/textures/farming_raspberry_3.png delete mode 100644 mods/farming/textures/farming_raspberry_4.png delete mode 100644 mods/farming/textures/farming_raspberry_seed.png delete mode 100644 mods/farming/textures/farming_raspberry_smoothie.png delete mode 100644 mods/farming/textures/farming_rhubarb.png delete mode 100644 mods/farming/textures/farming_rhubarb_1.png delete mode 100644 mods/farming/textures/farming_rhubarb_2.png delete mode 100644 mods/farming/textures/farming_rhubarb_3.png delete mode 100644 mods/farming/textures/farming_rhubarb_pie.png delete mode 100644 mods/farming/textures/farming_rhubarb_seed.png delete mode 100644 mods/farming/textures/farming_scarecrow_front.png delete mode 100644 mods/farming/textures/farming_scarecrow_front_light.png delete mode 100644 mods/farming/textures/farming_scarecrow_side.png delete mode 100644 mods/farming/textures/farming_scarecrow_top.png delete mode 100644 mods/farming/textures/farming_soil.png delete mode 100644 mods/farming/textures/farming_soil_wet.png delete mode 100644 mods/farming/textures/farming_soil_wet_side.png delete mode 100644 mods/farming/textures/farming_straw.png delete mode 100644 mods/farming/textures/farming_strawberry.png delete mode 100644 mods/farming/textures/farming_strawberry_1.png delete mode 100644 mods/farming/textures/farming_strawberry_2.png delete mode 100644 mods/farming/textures/farming_strawberry_3.png delete mode 100644 mods/farming/textures/farming_strawberry_4.png delete mode 100644 mods/farming/textures/farming_strawberry_5.png delete mode 100644 mods/farming/textures/farming_strawberry_6.png delete mode 100644 mods/farming/textures/farming_strawberry_7.png delete mode 100644 mods/farming/textures/farming_strawberry_8.png delete mode 100644 mods/farming/textures/farming_sugar.png delete mode 100644 mods/farming/textures/farming_tomato.png delete mode 100644 mods/farming/textures/farming_tomato_1.png delete mode 100644 mods/farming/textures/farming_tomato_2.png delete mode 100644 mods/farming/textures/farming_tomato_3.png delete mode 100644 mods/farming/textures/farming_tomato_4.png delete mode 100644 mods/farming/textures/farming_tomato_5.png delete mode 100644 mods/farming/textures/farming_tomato_6.png delete mode 100644 mods/farming/textures/farming_tomato_7.png delete mode 100644 mods/farming/textures/farming_tomato_8.png delete mode 100644 mods/farming/textures/farming_tomato_seed.png delete mode 100644 mods/farming/textures/farming_tool_bronzehoe.png delete mode 100644 mods/farming/textures/farming_tool_diamondhoe.png delete mode 100644 mods/farming/textures/farming_tool_mesehoe.png delete mode 100644 mods/farming/textures/farming_tool_steelhoe.png delete mode 100644 mods/farming/textures/farming_tool_stonehoe.png delete mode 100644 mods/farming/textures/farming_tool_woodhoe.png delete mode 100644 mods/farming/textures/farming_trellis.png delete mode 100644 mods/farming/textures/farming_wheat.png delete mode 100644 mods/farming/textures/farming_wheat_1.png delete mode 100644 mods/farming/textures/farming_wheat_2.png delete mode 100644 mods/farming/textures/farming_wheat_3.png delete mode 100644 mods/farming/textures/farming_wheat_4.png delete mode 100644 mods/farming/textures/farming_wheat_5.png delete mode 100644 mods/farming/textures/farming_wheat_6.png delete mode 100644 mods/farming/textures/farming_wheat_7.png delete mode 100644 mods/farming/textures/farming_wheat_8.png delete mode 100644 mods/farming/textures/farming_wheat_seed.png delete mode 100644 mods/farming/textures/vessels_drinking_cup.png delete mode 100644 mods/farming/todo.md delete mode 100644 mods/farming/tomato.lua delete mode 100644 mods/farming/wheat.lua diff --git a/mods/boats b/mods/boats new file mode 160000 index 00000000..a7534e93 --- /dev/null +++ b/mods/boats @@ -0,0 +1 @@ +Subproject commit a7534e938834c1a0322e49df796f613ca1f55880 diff --git a/mods/boats/README.txt b/mods/boats/README.txt deleted file mode 100644 index 3fa40f25..00000000 --- a/mods/boats/README.txt +++ /dev/null @@ -1,20 +0,0 @@ -Minetest 0.4 mod: boats -======================= -by PilzAdam, slightly modified for NeXt -changed by TenPlus1 to add some new features - - boat is destroyed when crashing (drops 3 wood) - - boat turns faster - - used model from ds_rowboat mod - -License of source code: ------------------------ -WTFPL - -License of media (textures and sounds): ---------------------------------------- -WTFPL - -Authors of media files: ------------------------ -textures: Zeg9 -model: thetoon and Zeg9, modified by PavelS(SokolovPavel) diff --git a/mods/boats/depends.txt b/mods/boats/depends.txt deleted file mode 100644 index 7c506cfb..00000000 --- a/mods/boats/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -mobs? \ No newline at end of file diff --git a/mods/boats/init.lua b/mods/boats/init.lua deleted file mode 100644 index 136e09f4..00000000 --- a/mods/boats/init.lua +++ /dev/null @@ -1,336 +0,0 @@ -handlers = {} - -minetest.register_on_leaveplayer(function(player) - handlers[player:get_player_name()] = nil -end) - --- --- Helper functions --- - -local function is_water(pos) - - return minetest.get_item_group(minetest.get_node(pos).name, "water") ~= 0 -end - -local function get_sign(i) - - if i == 0 then - return 0 - else - return i / math.abs(i) - end -end - -local function get_velocity(v, yaw, y) - - local x = -math.sin(yaw) * v - local z = math.cos(yaw) * v - - return {x = x, y = y, z = z} -end - -local square = math.sqrt - -local function get_v(v) - - return square(v.x *v.x + v.z *v.z) -end - --- --- Boat entity --- - -local boat = { - physical = true, - --collisionbox = {-0.5, -0.4, -0.5, 0.5, 0.3, 0.5}, -- rowboat - collisionbox = {-0.5, -0.35, -0.5, 0.5, 0.3, 0.5}, -- boat - visual = "mesh", - --mesh = "rowboat.x", - mesh = "boat.obj", - textures = {"default_wood.png"}, - driver = nil, - v = 0, - last_v = 0, - removed = false -} - -function boat.on_rightclick(self, clicker) - - if not clicker or not clicker:is_player() then - return - end - - local name = clicker:get_player_name() - - if self.driver and clicker == self.driver then - - handlers[name] = nil - self.driver = nil - - clicker:set_detach() - - default.player_attached[name] = false - default.player_set_animation(clicker, "stand" , 30) - - local pos = clicker:getpos() - - minetest.after(0.1, function() - clicker:setpos({x=pos.x, y=pos.y+0.2, z=pos.z}) - end) - - elseif not self.driver then - - if handlers[name] and handlers[name].driver then - handlers[name].driver = nil - end - - handlers[name] = self.object:get_luaentity() - self.driver = clicker - - clicker:set_attach(self.object, "", - {x = 0, y = 11, z = -3}, {x = 0, y = 0, z = 0}) - - default.player_attached[name] = true - - minetest.after(0.2, function() - default.player_set_animation(clicker, "sit" , 30) - end) - - self.object:setyaw(clicker:get_look_yaw() - math.pi / 2) - end -end - -function boat.on_activate(self, staticdata, dtime_s) - - if (mobs and mobs.entity and mobs.entity == false) - or not self then - self.object:remove() - return - end - - self.object:set_armor_groups({immortal = 1}) - self.v = 0 - self.v2 = self.v - self.last_v = self.v - self.count = 0 -end - -function boat.on_punch(self, puncher) - - if not puncher or not puncher:is_player() or self.removed then - return - end - - if self.driver and puncher == self.driver then - local name = puncher:get_player_name() - puncher:set_detach() - self.driver = nil - handlers[name] = nil - default.player_attached[name] = false - end - - if not self.driver then - - self.removed = true - - if not minetest.setting_getbool("creative_mode") then - - local inv = puncher:get_inventory() - - if inv:room_for_item("main", "boats:boat") then - inv:add_item("main", "boats:boat") - else - minetest.add_item(self.object:getpos(), "boats:boat") - end - end - - self.object:remove() - end -end - -function boat.on_step(self, dtime) - - -- after 10 seconds remove boat and drop as item if not boarded - self.count = self.count + dtime - - if self.count > 10 then - minetest.add_item(self.object:getpos(), "boats:boat") - self.object:remove() - return - end - - self.v = get_v(self.object:getvelocity()) * get_sign(self.v) - - if self.driver then - - self.count = 0 - - local ctrl = self.driver:get_player_control() - local yaw = self.object:getyaw() - - if ctrl.up then - self.v = self.v + 0.1 - elseif ctrl.down then - self.v = self.v - 0.1 - end - - if ctrl.left then - - if self.v < 0 then - self.object:setyaw(yaw - (1 + dtime) * 0.08) -- 0.03 changed to speed up turning - else - self.object:setyaw(yaw + (1 + dtime) * 0.08) -- 0.03 - end - - elseif ctrl.right then - - if self.v < 0 then - self.object:setyaw(yaw + (1 + dtime) * 0.08) -- 0.03 - else - self.object:setyaw(yaw - (1 + dtime) * 0.08) -- 0.03 - end - end - end - - local velo = self.object:getvelocity() - - if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then - --self.object:setpos(self.object:getpos()) - return - end - - local s = get_sign(self.v) - self.v = self.v - 0.02 * s - - if s ~= get_sign(self.v) then - - self.object:setvelocity({x = 0, y = 0, z = 0}) - self.v = 0 - - return - end - - if math.abs(self.v) > 5 then - self.v = 5 * get_sign(self.v) - end - - local p = self.object:getpos() - local new_velo = {x = 0, y = 0, z = 0} - local new_acce = {x = 0, y = 0, z = 0} - - p.y = p.y - 0.5 - - if not is_water(p) then - - local nodedef = minetest.registered_nodes[minetest.get_node(p).name] - - if (not nodedef) or nodedef.walkable then - self.v = 0 - new_acce = {x = 0, y = 0, z = 0} -- y was 1 - else - new_acce = {x = 0, y = -9.8, z = 0} - end - - new_velo = get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y) - --self.object:setpos(self.object:getpos()) - else - p.y = p.y + 1 - - if is_water(p) then - - local y = self.object:getvelocity().y - - if y >= 5 then - y = 5 - elseif y < 0 then - new_acce = {x = 0, y = 20, z = 0} - else - new_acce = {x = 0, y = 5, z = 0} - end - - new_velo = get_velocity(self.v, self.object:getyaw(), y) - --self.object:setpos(self.object:getpos()) - else - new_acce = {x = 0, y = 0, z = 0} - - if math.abs(self.object:getvelocity().y) < 1 then - local pos = self.object:getpos() - pos.y = math.floor(pos.y) + 0.5 - self.object:setpos(pos) - new_velo = get_velocity(self.v, self.object:getyaw(), 0) - else - new_velo = get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y) - --self.object:setpos(self.object:getpos()) - end - end - end - - self.object:setvelocity(new_velo) - self.object:setacceleration(new_acce) - - -- if boat comes to sudden stop then it has crashed, destroy boat and drop 3x wood - if self.v2 - self.v >= 3 then - - if self.driver then ---print ("Crash! with driver", self.v2 - self.v) - self.driver:set_detach() - default.player_attached[self.driver:get_player_name()] = false - default.player_set_animation(self.driver, "stand" , 30) - else ---print ("Crash! no driver") - end - - minetest.add_item(self.object:getpos(), "default:wood 3") - - self.object:remove() - - return - end - - self.v2 = self.v - -end - -minetest.register_entity("boats:boat", boat) - -minetest.register_craftitem("boats:boat", { - description = "Boat", - --inventory_image = "rowboat_inventory.png", - inventory_image = "boats_inventory.png", - --wield_image = "rowboat_wield.png", - wield_image = "boats_wield.png", - wield_scale = {x = 2, y = 2, z = 1}, - liquids_pointable = true, - - on_place = function(itemstack, placer, pointed_thing) - - if pointed_thing.type ~= "node" - or not is_water(pointed_thing.under) then - return - end - - pointed_thing.under.y = pointed_thing.under.y + 0.5 - - minetest.add_entity(pointed_thing.under, "boats:boat") - - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - - return itemstack - end, -}) - -minetest.register_craft({ - output = "boats:boat", - recipe = { - {"", "", ""}, - {"group:wood", "", "group:wood"}, - {"group:wood", "group:wood", "group:wood"}, - }, -}) - -minetest.register_alias("ds_rowboat:ds_rowboat", "boats:boat") - -print ("[MOD] Boats loaded") diff --git a/mods/boats/models/boat.obj b/mods/boats/models/boat.obj deleted file mode 100644 index 0f21e47f..00000000 --- a/mods/boats/models/boat.obj +++ /dev/null @@ -1,358 +0,0 @@ -# Blender v2.76 (sub 11) OBJ File: 'boat.blend' -# www.blender.org -mtllib boat.mtl -o boats_boat -v -6.786140 -3.033999 -9.415440 -v -6.786140 -1.967150 -9.415440 -v -6.786140 -1.967150 8.793510 -v -6.786140 -3.033999 8.793510 -v 5.732520 -1.967150 -9.415440 -v 5.732520 -3.033999 -9.415440 -v 5.732520 -3.033999 8.793510 -v 5.732520 -1.967150 8.793510 -v -2.233900 -3.033999 -9.415440 -v -2.233900 -1.967150 -9.415440 -v -2.233900 -1.967150 8.793510 -v -2.233900 -3.033999 8.793510 -v 2.318340 -3.033999 -9.415440 -v 2.318340 -1.967150 -9.415440 -v 2.318340 -1.967150 8.793510 -v 2.318340 -3.033999 8.793510 -v -3.371960 -3.033999 8.793510 -v -3.371960 -1.967150 8.793510 -v -3.371960 -1.967150 -9.415440 -v -3.371960 -3.033999 -9.415440 -v 2.318340 0.276645 8.793510 -v 1.180280 -1.967150 8.793510 -v 5.732520 0.276645 8.793510 -v 5.732520 1.039180 8.793510 -v 6.870580 0.276645 8.793510 -v 6.870580 -1.967150 8.793510 -v 2.318340 1.039180 8.793510 -v 1.180280 0.276645 8.793510 -v 1.180280 1.039180 8.793510 -v 1.180280 -3.033999 8.793510 -v -2.233900 0.276645 8.793510 -v -3.371960 0.276645 8.793510 -v -2.233900 1.039180 8.793510 -v -3.371960 1.039180 8.793510 -v -6.786140 0.276645 8.793510 -v -7.786200 0.276645 8.793510 -v -7.786200 -1.967150 8.793510 -v -6.786140 1.039180 8.793510 -v 1.180280 -1.967150 -9.415440 -v 1.180280 -3.033999 -9.415440 -v 2.318340 0.276645 -9.415440 -v 1.180280 0.276645 -9.415440 -v 2.318340 1.039180 -9.415440 -v 5.732520 0.276645 -9.415440 -v 6.870580 -1.967150 -9.415440 -v 5.732520 1.039180 -9.415440 -v 6.870580 0.276645 -9.415440 -v 0.042220 1.039180 -9.415440 -v 1.180280 1.039180 -9.415440 -v 0.042220 -1.967150 -9.415440 -v -1.095840 -1.967150 -9.415440 -v -2.233900 0.276645 -9.415440 -v -3.371960 0.276645 -9.415440 -v -2.233900 1.039180 -9.415440 -v -1.095840 1.039180 -9.415440 -v -3.371960 1.039180 -9.415440 -v -6.786140 0.276645 -9.415440 -v -6.786140 1.039180 -9.415440 -v -7.786200 -1.967150 -9.415440 -v -7.786200 0.276645 -9.415440 -v -1.095840 0.156645 -12.044100 -v -1.095840 -4.601110 -9.415440 -v -1.095840 1.039181 -10.802900 -v -1.095840 2.868579 -10.802900 -v -1.095840 2.868580 -7.883420 -v -1.095840 3.746069 -12.034100 -v -1.095840 3.746070 -7.883420 -v -1.095840 0.156645 -14.294900 -v -1.095840 -4.601110 -14.284900 -v 0.042220 -4.601110 -14.284900 -v 0.042220 -4.601110 -9.415440 -v 0.042220 1.039181 -10.802900 -v 0.042220 0.156645 -12.044100 -v 0.042220 2.868579 -10.802900 -v 0.042220 0.156645 -14.294900 -v 0.042220 3.746069 -12.034100 -v 0.042220 3.746070 -7.883420 -v 0.042220 2.868580 -7.883420 -v -1.096322 -3.033999 -9.415440 -v 0.044046 -3.035397 -9.415440 -vt 1.000000 0.187500 -vt -1.000000 0.312500 -vt 1.000000 0.312500 -vt 0.687500 1.000000 -vt 0.500000 0.875000 -vt 0.500000 0.625000 -vt -1.000000 0.062500 -vt 1.000000 0.062500 -vt 1.000000 -0.000000 -vt -1.000000 0.125000 -vt 1.000000 0.125000 -vt 0.437500 0.125000 -vt 0.312500 0.500000 -vt 0.312500 0.125000 -vt 1.000000 0.625000 -vt -1.000000 0.500000 -vt 1.000000 0.500000 -vt 0.187500 0.687500 -vt -0.187500 0.687500 -vt -0.187500 0.312500 -vt 1.000000 0.812500 -vt -1.000000 0.937500 -vt -1.000000 0.812500 -vt 0.812500 0.687500 -vt 1.187500 0.687500 -vt 0.812500 0.312500 -vt 1.000000 0.562500 -vt 0.312500 0.437500 -vt 1.000000 0.437500 -vt 1.000000 0.750000 -vt -1.000000 0.875000 -vt -1.000000 0.750000 -vt -1.000000 1.000000 -vt 1.000000 1.000000 -vt 0.437500 0.625000 -vt 0.562500 0.437500 -vt 0.562500 0.625000 -vt -1.000000 0.437500 -vt -1.000000 0.000000 -vt 0.500000 0.062500 -vt 0.375000 0.750000 -vt 0.500000 0.750000 -vt -1.000000 0.250000 -vt -1.000000 0.687500 -vt 1.000000 0.687500 -vt 0.625000 0.375000 -vt 1.000000 0.375000 -vt 1.000000 0.250000 -vt 1.000000 0.937500 -vt 0.437500 0.812500 -vt 0.312500 0.312500 -vt 0.312500 0.812500 -vt 0.437500 0.312500 -vt 0.437500 0.437500 -vt 0.687500 0.812500 -vt 0.000000 0.687500 -vt 0.000000 0.812500 -vt -1.000000 0.562500 -vt 0.875000 0.812500 -vt 0.875000 0.687500 -vt 0.250000 0.312500 -vt 0.562500 0.187500 -vt 0.250000 0.187500 -vt -1.000000 0.187500 -vt 0.312500 0.625000 -vt 0.312500 0.187500 -vt 0.312500 -0.187500 -vt 1.000000 -0.187500 -vt 0.687500 0.500000 -vt -0.000000 1.000000 -vt 0.000000 0.875000 -vt 0.437500 0.500000 -vt -1.000000 0.625000 -vt 0.812500 0.187500 -vt 1.187500 0.187500 -vt 1.187500 0.312500 -vt 1.312500 0.312500 -vt 1.312500 0.687500 -vt 0.687500 0.187500 -vt 0.687500 0.312500 -vt 1.187500 0.812500 -vt 0.812500 0.812500 -vt 0.187500 0.312500 -vt 0.312500 0.687500 -vt 0.687500 0.687500 -vt -0.187500 0.187500 -vt 0.187500 0.187500 -vt -0.312500 0.687500 -vt -0.312500 0.312500 -vt 0.187500 0.812500 -vt -0.187500 0.812500 -vt 0.437500 0.687500 -vt 0.437500 0.187500 -vt 0.562500 0.812500 -vt 0.562500 0.687500 -vt 0.312500 0.562500 -vt 1.000000 0.875000 -vt 0.375000 0.062500 -vt -1.000000 0.375000 -vt 0.625000 0.500000 -vt 0.875000 0.562500 -vt 0.937500 0.812500 -vt 0.937500 0.687500 -vt 0.875000 0.937500 -vt 0.562500 0.312500 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 -0.002100 -1.000000 -vn 0.001200 -1.000000 0.000000 -vn 0.000000 0.002800 -1.000000 -vn -0.001200 -1.000000 0.000200 -g boats_boat_boats_boat_None -usemtl None -s off -f 41/1/1 27/2/1 43/3/1 -f 76/4/2 74/5/2 72/6/2 -f 8/7/2 6/1/2 5/8/2 -f 15/9/1 13/10/1 16/11/1 -f 51/12/3 71/13/3 50/14/3 -f 56/15/2 32/16/2 53/17/2 -f 15/18/3 8/19/3 23/20/3 -f 22/21/2 40/22/2 39/23/2 -f 19/24/4 2/25/4 53/26/4 -f 70/27/5 62/28/5 69/29/5 -f 11/30/5 19/31/5 10/32/5 -f 4/15/5 20/33/5 17/34/5 -f 72/35/3 64/36/3 63/37/3 -f 13/8/5 7/38/5 16/7/5 -f 23/39/6 47/11/6 44/9/6 -f 68/40/7 70/41/7 69/42/7 -f 80/43/8 40/10/8 30/11/8 -f 3/15/1 1/32/1 4/30/1 -f 20/44/2 18/27/2 17/45/2 -f 74/17/5 65/46/5 64/47/5 -f 31/43/1 54/47/1 52/48/1 -f 22/47/5 14/43/5 15/48/5 -f 46/1/2 23/7/2 44/8/2 -f 57/21/1 38/22/1 58/49/1 -f 61/50/9 76/51/9 73/52/9 -f 37/45/5 2/23/5 3/21/5 -f 78/28/3 67/53/3 65/54/3 -f 64/5/1 66/4/1 63/6/1 -f 76/55/6 67/56/6 77/57/6 -f 47/17/2 26/10/2 45/11/2 -f 5/16/5 26/47/5 8/17/5 -f 33/58/6 48/59/6 55/60/6 -f 29/38/2 42/3/2 49/29/2 -f 32/44/6 52/21/6 53/45/6 -f 58/15/6 34/33/6 56/34/6 -f 27/7/6 46/29/6 43/8/6 -f 73/61/6 68/62/6 61/63/6 -f 21/58/6 42/29/6 28/38/6 -f 11/29/1 9/58/1 12/27/1 -f 59/45/1 36/2/1 60/3/1 -f 60/9/6 35/10/6 57/11/6 -f 41/1/1 21/64/1 27/2/1 -f 72/6/2 48/65/2 50/66/2 -f 50/66/2 71/67/2 70/68/2 -f 70/68/2 75/17/2 73/69/2 -f 76/4/2 77/70/2 74/5/2 -f 77/70/2 78/71/2 74/5/2 -f 50/66/2 70/68/2 73/69/2 -f 73/69/2 76/4/2 72/6/2 -f 72/6/2 50/66/2 73/69/2 -f 8/7/2 7/64/2 6/1/2 -f 15/9/1 14/39/1 13/10/1 -f 51/12/3 62/72/3 71/13/3 -f 56/15/2 34/73/2 32/16/2 -f 32/26/3 34/74/3 38/75/3 -f 35/76/3 36/77/3 37/78/3 -f 32/26/3 38/75/3 35/76/3 -f 29/66/3 33/79/3 31/80/3 -f 32/26/3 35/76/3 3/25/3 -f 28/51/3 29/66/3 31/80/3 -f 31/80/3 32/26/3 18/24/3 -f 3/25/3 4/81/3 17/82/3 -f 35/76/3 37/78/3 3/25/3 -f 21/83/3 28/51/3 22/84/3 -f 3/25/3 17/82/3 18/24/3 -f 11/85/3 12/55/3 30/52/3 -f 32/26/3 3/25/3 18/24/3 -f 11/85/3 30/52/3 22/84/3 -f 31/80/3 18/24/3 11/85/3 -f 24/86/3 27/87/3 21/83/3 -f 28/51/3 31/80/3 11/85/3 -f 11/85/3 22/84/3 28/51/3 -f 24/86/3 21/83/3 23/20/3 -f 26/88/3 25/89/3 23/20/3 -f 23/20/3 21/83/3 15/18/3 -f 15/18/3 16/90/3 7/91/3 -f 21/83/3 22/84/3 15/18/3 -f 8/19/3 26/88/3 23/20/3 -f 15/18/3 7/91/3 8/19/3 -f 22/21/2 30/49/2 40/22/2 -f 47/89/4 45/88/4 5/19/4 -f 5/19/4 6/91/4 13/90/4 -f 5/19/4 13/90/4 14/18/4 -f 44/20/4 47/89/4 5/19/4 -f 43/87/4 46/86/4 44/20/4 -f 41/83/4 43/87/4 44/20/4 -f 44/20/4 5/19/4 14/18/4 -f 39/84/4 40/52/4 80/50/4 -f 44/20/4 14/18/4 41/83/4 -f 42/51/4 41/83/4 39/84/4 -f 39/84/4 80/50/4 50/92/4 -f 41/83/4 14/18/4 39/84/4 -f 48/93/4 49/66/4 42/51/4 -f 50/92/4 48/93/4 42/51/4 -f 80/50/4 79/94/4 50/92/4 -f 50/92/4 42/51/4 39/84/4 -f 54/79/4 55/62/4 52/80/4 -f 50/92/4 79/94/4 51/95/4 -f 52/80/4 55/62/4 51/95/4 -f 51/95/4 79/94/4 10/85/4 -f 79/94/4 9/55/4 10/85/4 -f 53/26/4 52/80/4 10/85/4 -f 58/75/4 56/74/4 53/26/4 -f 59/78/4 60/77/4 57/76/4 -f 57/76/4 58/75/4 53/26/4 -f 52/80/4 51/95/4 10/85/4 -f 19/24/4 20/82/4 1/81/4 -f 53/26/4 10/85/4 19/24/4 -f 59/78/4 57/76/4 2/25/4 -f 19/24/4 1/81/4 2/25/4 -f 2/25/4 57/76/4 53/26/4 -f 70/27/5 71/96/5 62/28/5 -f 11/30/5 18/97/5 19/31/5 -f 4/15/5 1/73/5 20/33/5 -f 72/35/3 74/54/3 64/36/3 -f 13/8/5 6/29/5 7/38/5 -f 23/39/6 25/10/6 47/11/6 -f 68/40/7 75/98/7 70/41/7 -f 30/11/5 12/17/5 79/99/5 -f 79/99/10 80/43/10 30/11/10 -f 12/17/5 9/16/5 79/99/5 -f 3/15/1 2/73/1 1/32/1 -f 20/44/2 19/58/2 18/27/2 -f 74/17/5 78/100/5 65/46/5 -f 31/43/1 33/99/1 54/47/1 -f 22/47/5 39/99/5 14/43/5 -f 46/1/2 24/64/2 23/7/2 -f 57/21/1 35/23/1 38/22/1 -f 61/50/9 66/53/9 76/51/9 -f 37/45/5 59/44/5 2/23/5 -f 78/28/3 77/51/3 67/53/3 -f 62/67/1 51/66/1 69/68/1 -f 51/66/1 55/65/1 63/6/1 -f 68/17/1 69/68/1 61/69/1 -f 61/69/1 69/68/1 51/66/1 -f 61/69/1 51/66/1 63/6/1 -f 65/71/1 67/70/1 64/5/1 -f 61/69/1 63/6/1 66/4/1 -f 64/5/1 67/70/1 66/4/1 -f 76/55/6 66/85/6 67/56/6 -f 47/17/2 25/16/2 26/10/2 -f 5/16/5 45/99/5 26/47/5 -f 55/60/6 54/101/6 33/58/6 -f 33/58/6 29/22/6 48/59/6 -f 48/59/6 72/102/6 63/103/6 -f 29/22/6 49/104/6 48/59/6 -f 48/59/6 63/103/6 55/60/6 -f 29/38/2 28/2/2 42/3/2 -f 32/44/6 31/23/6 52/21/6 -f 58/15/6 38/73/6 34/33/6 -f 27/7/6 24/38/6 46/29/6 -f 73/61/6 75/105/6 68/62/6 -f 21/58/6 41/27/6 42/29/6 -f 11/29/1 10/38/1 9/58/1 -f 59/45/1 37/44/1 36/2/1 -f 60/9/6 36/39/6 35/10/6 diff --git a/mods/boats/models/rowboat.x b/mods/boats/models/rowboat.x deleted file mode 100644 index 73a61df3..00000000 --- a/mods/boats/models/rowboat.x +++ /dev/null @@ -1,760 +0,0 @@ -xof 0303txt 0032 - -Frame Root { - FrameTransformMatrix { - 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000,-0.000000, 1.000000, 0.000000, - 0.000000, 1.000000, 0.000000, 0.000000, - 0.000000, 0.000000, 0.000000, 1.000000;; - } - Frame Cube_000 { - FrameTransformMatrix { - 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 1.000000, 0.000000, 0.000000, - 0.000000, 0.000000, 1.000000, 0.000000, - 0.000000, 0.000000, 0.000000, 1.000000;; - } - Mesh { // Cube_000 mesh - 240; - 6.000000; 3.999999; 2.376923;, - 5.999998;-8.000001; 2.376923;, - 5.999998;-8.000001; 4.376923;, - 6.000001; 3.999999; 4.376923;, - -2.000000; 8.000000; 2.376923;, - 2.000000; 8.000000; 2.376923;, - 2.000001; 8.000000; 4.376923;, - -1.999999; 8.000000; 4.376923;, - -6.000000; 4.000000; 4.376923;, - -6.000001;-8.000000; 4.376923;, - -6.000001;-7.999999; 2.376923;, - -6.000000; 4.000000; 2.376923;, - -3.999999; 6.000001; 2.376923;, - -1.999999; 6.000000; 2.376923;, - -2.000001;-8.000002; 2.376923;, - -4.000001;-8.000000; 2.376923;, - -2.000000; 4.000000;-1.623077;, - -2.000001;-7.999999;-1.623077;, - 1.999999;-8.000001;-1.623077;, - 2.000000; 4.000000;-1.623077;, - -2.000000; 4.000000; 0.376923;, - 2.000000; 3.999999; 0.376923;, - 1.999999;-8.000001; 0.376923;, - -2.000001;-8.000000; 0.376923;, - -2.000000; 4.000000;-1.623077;, - 2.000000; 4.000000;-1.623077;, - 2.000000; 3.999999; 0.376923;, - -2.000000; 4.000000; 0.376923;, - 2.000000; 4.000000;-1.623077;, - 1.999999;-8.000001;-1.623077;, - 1.999999;-8.000001; 0.376923;, - 2.000000; 3.999999; 0.376923;, - 1.999999;-8.000001;-1.623077;, - -2.000001;-7.999999;-1.623077;, - -2.000001;-8.000000; 0.376923;, - 1.999999;-8.000001; 0.376923;, - -2.000000; 4.000000; 0.376923;, - -2.000001;-8.000000; 0.376923;, - -2.000001;-7.999999;-1.623077;, - -2.000000; 4.000000;-1.623077;, - -4.000001;-8.000000; 0.376923;, - -4.000001;-10.000000; 0.376923;, - 4.000000;-10.000000; 0.376923;, - 3.999999;-8.000000; 0.376923;, - -4.000000;-7.999999; 4.376923;, - 4.000000;-8.000001; 4.376923;, - 3.999999;-10.000001; 4.376923;, - -4.000001;-10.000000; 4.376923;, - -4.000001;-8.000000; 0.376923;, - 3.999999;-8.000000; 0.376923;, - 4.000000;-8.000001; 4.376923;, - -4.000000;-7.999999; 4.376923;, - 3.999999;-8.000000; 0.376923;, - 4.000000;-10.000000; 0.376923;, - 3.999999;-10.000001; 4.376923;, - 4.000000;-8.000001; 4.376923;, - 4.000000;-10.000000; 0.376923;, - -4.000001;-10.000000; 0.376923;, - -4.000001;-10.000000; 4.376923;, - 3.999999;-10.000001; 4.376923;, - -4.000000;-7.999999; 4.376923;, - -4.000001;-10.000000; 4.376923;, - -4.000001;-10.000000; 0.376923;, - -4.000001;-8.000000; 0.376923;, - 4.000000; 4.000000; 2.376923;, - 3.999999;-8.000001; 2.376923;, - 5.999998;-8.000001; 2.376923;, - 6.000000; 3.999999; 2.376923;, - 4.000001; 4.000000; 4.376923;, - 6.000001; 3.999999; 4.376923;, - 5.999998;-8.000001; 4.376923;, - 4.000000;-8.000001; 4.376923;, - 4.000000; 4.000000; 2.376923;, - 6.000000; 3.999999; 2.376923;, - 6.000001; 3.999999; 4.376923;, - 4.000001; 4.000000; 4.376923;, - 5.999998;-8.000001; 2.376923;, - 3.999999;-8.000001; 2.376923;, - 4.000000;-8.000001; 4.376923;, - 5.999998;-8.000001; 4.376923;, - 4.000001; 4.000000; 4.376923;, - 4.000000;-8.000001; 4.376923;, - 3.999999;-8.000001; 2.376923;, - 4.000000; 4.000000; 2.376923;, - 2.000000; 6.000000; 0.376923;, - 1.999999;-8.000001; 0.376923;, - 3.999999;-8.000000; 0.376923;, - 4.000000; 6.000000; 0.376923;, - 2.000001; 6.000000; 2.376923;, - 4.000001; 5.999999; 2.376923;, - 3.999999;-8.000001; 2.376923;, - 1.999999;-8.000000; 2.376923;, - 2.000000; 6.000000; 0.376923;, - 4.000000; 6.000000; 0.376923;, - 4.000001; 5.999999; 2.376923;, - 2.000001; 6.000000; 2.376923;, - 4.000000; 6.000000; 0.376923;, - 3.999999;-8.000000; 0.376923;, - 3.999999;-8.000001; 2.376923;, - 4.000001; 5.999999; 2.376923;, - 3.999999;-8.000000; 0.376923;, - 1.999999;-8.000001; 0.376923;, - 1.999999;-8.000000; 2.376923;, - 3.999999;-8.000001; 2.376923;, - 2.000001; 6.000000; 2.376923;, - 1.999999;-8.000000; 2.376923;, - 1.999999;-8.000001; 0.376923;, - 2.000000; 6.000000; 0.376923;, - 2.000001; 6.000000; 2.376923;, - 2.000000; 4.000000; 2.376923;, - 4.000000; 4.000000; 2.376923;, - 4.000001; 5.999999; 2.376923;, - 2.000001; 6.000000; 4.376923;, - 4.000001; 5.999999; 4.376923;, - 4.000001; 4.000000; 4.376923;, - 2.000000; 4.000000; 4.376923;, - 2.000001; 6.000000; 2.376923;, - 4.000001; 5.999999; 2.376923;, - 4.000001; 5.999999; 4.376923;, - 2.000001; 6.000000; 4.376923;, - 4.000001; 5.999999; 2.376923;, - 4.000000; 4.000000; 2.376923;, - 4.000001; 4.000000; 4.376923;, - 4.000001; 5.999999; 4.376923;, - 4.000000; 4.000000; 2.376923;, - 2.000000; 4.000000; 2.376923;, - 2.000000; 4.000000; 4.376923;, - 4.000001; 4.000000; 4.376923;, - 2.000001; 6.000000; 4.376923;, - 2.000000; 4.000000; 4.376923;, - 2.000000; 4.000000; 2.376923;, - 2.000001; 6.000000; 2.376923;, - -3.999999; 6.000001; 2.376923;, - -4.000000; 4.000000; 2.376923;, - -2.000000; 4.000000; 2.376923;, - -1.999999; 6.000000; 2.376923;, - -3.999999; 6.000001; 4.376923;, - -1.999999; 6.000000; 4.376923;, - -2.000000; 4.000000; 4.376923;, - -4.000000; 3.999999; 4.376923;, - -3.999999; 6.000001; 2.376923;, - -1.999999; 6.000000; 2.376923;, - -1.999999; 6.000000; 4.376923;, - -3.999999; 6.000001; 4.376923;, - -1.999999; 6.000000; 2.376923;, - -2.000000; 4.000000; 2.376923;, - -2.000000; 4.000000; 4.376923;, - -1.999999; 6.000000; 4.376923;, - -2.000000; 4.000000; 2.376923;, - -4.000000; 4.000000; 2.376923;, - -4.000000; 3.999999; 4.376923;, - -2.000000; 4.000000; 4.376923;, - -3.999999; 6.000001; 4.376923;, - -4.000000; 3.999999; 4.376923;, - -4.000000; 4.000000; 2.376923;, - -3.999999; 6.000001; 2.376923;, - -2.000000; 8.000000; 2.376923;, - -1.999999; 6.000000; 2.376923;, - 2.000001; 6.000000; 2.376923;, - 2.000000; 8.000000; 2.376923;, - -1.999999; 8.000000; 4.376923;, - 2.000001; 8.000000; 4.376923;, - 2.000001; 6.000000; 4.376923;, - -1.999999; 6.000000; 4.376923;, - 2.000000; 8.000000; 2.376923;, - 2.000001; 6.000000; 2.376923;, - 2.000001; 6.000000; 4.376923;, - 2.000001; 8.000000; 4.376923;, - 2.000001; 6.000000; 2.376923;, - -1.999999; 6.000000; 2.376923;, - -1.999999; 6.000000; 4.376923;, - 2.000001; 6.000000; 4.376923;, - -1.999999; 8.000000; 4.376923;, - -1.999999; 6.000000; 4.376923;, - -1.999999; 6.000000; 2.376923;, - -2.000000; 8.000000; 2.376923;, - -2.000000; 6.000000; 0.376923;, - -2.000000; 4.000000; 0.376923;, - 2.000000; 3.999999; 0.376923;, - 2.000000; 6.000000; 0.376923;, - -1.999999; 6.000000; 2.376923;, - 2.000001; 6.000000; 2.376923;, - 2.000000; 4.000000; 2.376923;, - -2.000000; 4.000000; 2.376923;, - -2.000000; 6.000000; 0.376923;, - 2.000000; 6.000000; 0.376923;, - 2.000001; 6.000000; 2.376923;, - -1.999999; 6.000000; 2.376923;, - 2.000000; 6.000000; 0.376923;, - 2.000000; 3.999999; 0.376923;, - 2.000000; 4.000000; 2.376923;, - 2.000001; 6.000000; 2.376923;, - 2.000000; 3.999999; 0.376923;, - -2.000000; 4.000000; 0.376923;, - -2.000000; 4.000000; 2.376923;, - 2.000000; 4.000000; 2.376923;, - -1.999999; 6.000000; 2.376923;, - -2.000000; 4.000000; 2.376923;, - -2.000000; 4.000000; 0.376923;, - -2.000000; 6.000000; 0.376923;, - -6.000000; 4.000000; 2.376923;, - -6.000001;-7.999999; 2.376923;, - -4.000001;-8.000000; 2.376923;, - -4.000000; 4.000000; 2.376923;, - -6.000000; 4.000000; 4.376923;, - -4.000000; 3.999999; 4.376923;, - -4.000000;-7.999999; 4.376923;, - -6.000001;-8.000000; 4.376923;, - -6.000000; 4.000000; 2.376923;, - -4.000000; 4.000000; 2.376923;, - -4.000000; 3.999999; 4.376923;, - -6.000000; 4.000000; 4.376923;, - -4.000000; 4.000000; 2.376923;, - -4.000001;-8.000000; 2.376923;, - -4.000000;-7.999999; 4.376923;, - -4.000000; 3.999999; 4.376923;, - -4.000001;-8.000000; 2.376923;, - -6.000001;-7.999999; 2.376923;, - -6.000001;-8.000000; 4.376923;, - -4.000000;-7.999999; 4.376923;, - -4.000000; 6.000001; 0.376923;, - -4.000001;-8.000000; 0.376923;, - -2.000001;-8.000000; 0.376923;, - -2.000000; 6.000000; 0.376923;, - -4.000000; 6.000001; 0.376923;, - -2.000000; 6.000000; 0.376923;, - -1.999999; 6.000000; 2.376923;, - -3.999999; 6.000001; 2.376923;, - -2.000000; 6.000000; 0.376923;, - -2.000001;-8.000000; 0.376923;, - -2.000001;-8.000002; 2.376923;, - -1.999999; 6.000000; 2.376923;, - -2.000001;-8.000000; 0.376923;, - -4.000001;-8.000000; 0.376923;, - -4.000001;-8.000000; 2.376923;, - -2.000001;-8.000002; 2.376923;, - -3.999999; 6.000001; 2.376923;, - -4.000001;-8.000000; 2.376923;, - -4.000001;-8.000000; 0.376923;, - -4.000000; 6.000001; 0.376923;; - 60; - 4;0,1,2,3;, - 4;4,5,6,7;, - 4;8,9,10,11;, - 4;12,13,14,15;, - 4;16,17,18,19;, - 4;20,21,22,23;, - 4;24,25,26,27;, - 4;28,29,30,31;, - 4;32,33,34,35;, - 4;36,37,38,39;, - 4;40,41,42,43;, - 4;44,45,46,47;, - 4;48,49,50,51;, - 4;52,53,54,55;, - 4;56,57,58,59;, - 4;60,61,62,63;, - 4;64,65,66,67;, - 4;68,69,70,71;, - 4;72,73,74,75;, - 4;76,77,78,79;, - 4;80,81,82,83;, - 4;84,85,86,87;, - 4;88,89,90,91;, - 4;92,93,94,95;, - 4;96,97,98,99;, - 4;100,101,102,103;, - 4;104,105,106,107;, - 4;108,109,110,111;, - 4;112,113,114,115;, - 4;116,117,118,119;, - 4;120,121,122,123;, - 4;124,125,126,127;, - 4;128,129,130,131;, - 4;132,133,134,135;, - 4;136,137,138,139;, - 4;140,141,142,143;, - 4;144,145,146,147;, - 4;148,149,150,151;, - 4;152,153,154,155;, - 4;156,157,158,159;, - 4;160,161,162,163;, - 4;164,165,166,167;, - 4;168,169,170,171;, - 4;172,173,174,175;, - 4;176,177,178,179;, - 4;180,181,182,183;, - 4;184,185,186,187;, - 4;188,189,190,191;, - 4;192,193,194,195;, - 4;196,197,198,199;, - 4;200,201,202,203;, - 4;204,205,206,207;, - 4;208,209,210,211;, - 4;212,213,214,215;, - 4;216,217,218,219;, - 4;220,221,222,223;, - 4;224,225,226,227;, - 4;228,229,230,231;, - 4;232,233,234,235;, - 4;236,237,238,239;; - MeshNormals { // Cube_000 normals - 60; - -1.000000; 0.000000; 0.000000;, - 0.000000;-1.000000;-0.000000;, - 1.000000;-0.000000; 0.000000;, - 0.000000; 0.000000;-1.000000;, - 0.000000; 0.000000; 1.000000;, - 0.000000; 0.000000;-1.000000;, - -0.000000;-1.000000;-0.000000;, - -1.000000; 0.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 1.000000;-0.000000;-0.000000;, - 0.000000; 0.000000; 1.000000;, - 0.000000; 0.000000;-1.000000;, - -0.000000;-1.000000;-0.000000;, - -1.000000; 0.000000;-0.000000;, - 0.000000; 1.000000; 0.000000;, - 1.000000;-0.000000;-0.000000;, - 0.000000; 0.000000; 1.000000;, - 0.000000; 0.000000;-1.000000;, - -0.000000;-1.000000;-0.000000;, - 0.000000; 1.000000; 0.000000;, - 1.000000;-0.000000;-0.000000;, - 0.000000; 0.000000; 1.000000;, - 0.000000; 0.000000;-1.000000;, - -0.000000;-1.000000;-0.000001;, - -1.000000; 0.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 1.000000;-0.000000;-0.000000;, - 0.000000; 0.000000; 1.000000;, - 0.000000; 0.000000;-1.000000;, - -0.000000;-1.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 1.000000;-0.000001;-0.000000;, - 0.000000; 0.000000; 1.000000;, - 0.000000; 0.000000;-1.000000;, - -0.000001;-1.000000; 0.000000;, - -1.000000; 0.000001;-0.000000;, - -0.000000; 1.000000; 0.000000;, - 1.000000;-0.000000;-0.000000;, - 0.000000; 0.000000; 1.000000;, - 0.000000; 0.000000;-1.000000;, - -1.000000;-0.000000; 0.000000;, - -0.000000; 1.000000;-0.000000;, - 1.000000; 0.000000;-0.000000;, - 0.000000; 0.000000; 1.000000;, - 0.000000; 0.000000;-1.000000;, - 0.000000;-1.000000;-0.000000;, - -1.000000; 0.000000; 0.000000;, - 0.000000; 1.000000;-0.000000;, - 1.000000;-0.000000;-0.000000;, - 0.000000; 0.000000; 1.000000;, - 0.000000; 0.000000;-1.000000;, - -0.000000;-1.000000;-0.000000;, - -1.000000; 0.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 0.000000; 0.000000; 1.000000;, - -0.000000;-1.000000;-0.000000;, - -1.000000; 0.000000; 0.000000;, - 0.000001; 1.000000; 0.000001;, - 1.000000;-0.000000;-0.000000;; - 60; - 4;0,0,0,0;, - 4;1,1,1,1;, - 4;2,2,2,2;, - 4;3,3,3,3;, - 4;4,4,4,4;, - 4;5,5,5,5;, - 4;6,6,6,6;, - 4;7,7,7,7;, - 4;8,8,8,8;, - 4;9,9,9,9;, - 4;10,10,10,10;, - 4;11,11,11,11;, - 4;12,12,12,12;, - 4;13,13,13,13;, - 4;14,14,14,14;, - 4;15,15,15,15;, - 4;16,16,16,16;, - 4;17,17,17,17;, - 4;18,18,18,18;, - 4;19,19,19,19;, - 4;20,20,20,20;, - 4;21,21,21,21;, - 4;22,22,22,22;, - 4;23,23,23,23;, - 4;24,24,24,24;, - 4;25,25,25,25;, - 4;26,26,26,26;, - 4;27,27,27,27;, - 4;28,28,28,28;, - 4;29,29,29,29;, - 4;30,30,30,30;, - 4;31,31,31,31;, - 4;32,32,32,32;, - 4;33,33,33,33;, - 4;34,34,34,34;, - 4;35,35,35,35;, - 4;36,36,36,36;, - 4;37,37,37,37;, - 4;38,38,38,38;, - 4;39,39,39,39;, - 4;40,40,40,40;, - 4;41,41,41,41;, - 4;42,42,42,42;, - 4;43,43,43,43;, - 4;44,44,44,44;, - 4;45,45,45,45;, - 4;46,46,46,46;, - 4;47,47,47,47;, - 4;48,48,48,48;, - 4;49,49,49,49;, - 4;50,50,50,50;, - 4;51,51,51,51;, - 4;52,52,52,52;, - 4;53,53,53,53;, - 4;54,54,54,54;, - 4;55,55,55,55;, - 4;56,56,56,56;, - 4;57,57,57,57;, - 4;58,58,58,58;, - 4;59,59,59,59;; - } // End of Cube_000 normals - MeshTextureCoords { // Cube_000 UV coordinates - 240; - 6.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 6.000000; 0.000000;, - 2.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 2.000000; 0.000000;, - 6.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 6.000000; 0.000000;, - 7.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 5.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-1.000000;, - 5.000000;-1.000000;, - 6.000000;-1.000000;, - 6.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-1.000000;, - 2.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 2.000000; 0.000000;, - 6.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 6.000000; 0.000000;, - 3.000000; 0.999999;, - 0.000000; 1.000000;, - 0.000000; 0.000001;, - 3.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 7.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000001; 1.000000;, - 0.000000;-4.000000;, - 1.000000;-4.000000;, - 1.000000;-3.000000;, - 0.999999; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-3.000000;, - 4.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-1.000000;, - 4.000000;-1.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-1.000000;, - 1.000000;-1.000000;, - 5.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-0.999999;, - 5.000000;-1.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-1.000000;, - 1.000000;-1.000000;, - 5.375000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 5.375000; 0.000000;, - 5.375000; 0.000000;, - 5.375000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 7.000000; 0.000000;, - 6.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 6.000000; 0.000000;, - 7.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 7.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 7.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-1.000000;, - 1.000000;-1.000000;, - 1.000000;-1.000000;, - 0.999999; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-1.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 2.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000001;, - 2.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-1.000000;, - 1.000000;-1.000000;, - 1.000000;-1.000000;, - 0.999999; 1.000000;, - 0.000000; 1.000000;, - 0.000000;-1.000000;, - 2.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 2.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 2.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000001;, - 2.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 7.000000; 0.000000;, - 7.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 7.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 6.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 6.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 7.000000; 0.000000;, - 1.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 1.000000; 0.000000;, - 7.000000; 1.000000;, - 0.000000; 1.000000;, - 0.000000; 0.000000;, - 7.000000; 0.000000;; - } // End of Cube_000 UV coordinates - MeshMaterialList { // Cube_000 material list - 1; - 60; - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0;; - Material Material { - 0.640000; 0.640000; 0.640000; 1.000000;; - 96.078431; - 0.500000; 0.500000; 0.500000;; - 0.000000; 0.000000; 0.000000;; - TextureFilename {"default_wood.png";} - } - } // End of Cube_000 material list - } // End of Cube_000 mesh - } // End of Cube_000 -} // End of Root diff --git a/mods/boats/textures/boats_inventory.png b/mods/boats/textures/boats_inventory.png deleted file mode 100644 index f9d082e31625c099490403a56906e922e2ea9e72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 851 zcmV-Z1FZasP)>bI*)Nhm3B#3M=*L}JA!9HRz@*?WkF_AHc>+{j&Vqga7ao&Fo0-9c3?qe zR6TE8K~_mQd16INLponkKt(}5WKJ!rg-)P-N|<*>n|VftYCWQVN|tp)lXF9CR4=E3 zOr(KKj&DGUY(02gHk*4$o_j}wXFGsoI(Az!X;LqbaYBP;IB-`nU`i^CZ9s@>J9}X` zfn+vxTQz)OGkIP!b6GQIP%D~uM3QnrjBPxHXgYjiIcifdYEmsuJRy~ILX>krh-o=* zRxVvgDOf}&RYE14TQCv;002C6QchCF4C!)z#F_%)z?4wzjROrk zg#{I`ySuwv-~76p?lSrRYdN5Rg6?&ebLY%6bI z-nq};QSUzDun5`WTPSq6&@T6!4T~zlRFQC4DK5=Fe3b*&Ya)cAoQkrdfMie}9i0xe zz~?6l6eFw~7^$inDe-2?0((6T_%UzsiV=4?0YXMn^bDJenO^0@Ux!aE$C4=nlr4i( z(PP4u1SpW_7tagT{`IYM^0Q2Yu*Js)!RYZ%-d*VW}xw7 zaApN-Y~D;pq@3fvR?>;w(8Xe_NsBv}aFJ|=eSC6WN`O!7e>1udibU2qhRMiIzEB)* zz?%b_L?gY|lx( dAMEQD2kZ(bZYdv#XGG|aNV@)bxN++y^OPh8>jBr72S2Jx@ zEq`V`bXzl5Ml)+vF{gq~lypUiY(0~3JcMdHePla>X*qgeIeTF;sDn>~YCw8oK3YX8 zrGQMLeMpvbK#FcWQA99aNi0-BCX#bOh-W%uPB2P9FlkXKY*si?Jt3KPNPu87y7d!z z00001bW%=J06^y0W&i*IG)Y83R5;7+kXv?xAQVLd0)l9aK=G|HzG95cYyNX9w)v3N zA++~>xdBdTSqmSkCILNo9`d~K_;lU?lIGZh zQFU*qD3P!_$ZW(2`cRN^UHThnhBcH6gwu5h7)qtBnMH~{9t1b9 k#*!tWkz&lBcYo-<03BBywb>I+MgRZ+07*qoM6N<$f=^K0k^lez diff --git a/mods/boats/textures/rowboat_inventory.png b/mods/boats/textures/rowboat_inventory.png deleted file mode 100644 index 086bb92bc2b3f0a03463ff5474bf52dc75dbf760..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmV;t0YmEoM$eeXDFv@CZ%pQsBka|C;0FH z0004WQchCt0yp^kFpwRvR;Xp=b(b#6;Q4sa+@-*C32f*(whM~ z^cFGSx~^-zkVMmO)jcK;-!6Pz7q7Ln8guAz0ECK&?yZZjYsq2>pwDTdobFV4xQ8xg zmRm%pyG{Xg3KJ?K>f3~wmp&YgNi>Kk)8%2?buqJ=sVC4U8=yxaUBttLnZ?XCrhCo- z=tT~&ZM!aJ7IXIiP-hzSsxobf3iGwpOnuOurvQ3WHM$mGEcaH8YTz6+{V@PKmDy@s zW6%|7(7T>#01+5eWMiVx^jD*1(A#1vZRg2u&`0Q=%)RrmcNReZ0=jZ%b?(dteFjwS m$jZt9eQheUBI#R6Kh!S(O%kS6$54g<0000_d0O^ z0004WQchCx0a0`j|pSFVVN&3wMU!9HvY%GLX zmVbrsM_lpRqSlM8lUuih;C>y^W8^x{1g;@ch%uBolZ1#E341__Qt5Lh3<)Mk$$)Bh%h_y<*;TPB{d5VK zrQyPd0Y4@}7gIut1I3)h=kcxrp+p=K;%kCZ28ES7L8L<>YGZJH1ZF#8Yf!V_ufW^t zs4!m=w+q;OOq>a4FK!UpkgMafdl9!*#(TTzssD def.maxlight then - tick_again(pos) - return - end - - -- grow - minetest.swap_node(pos, {name = def.next_plant}) - - -- new timer needed? - if minetest.registered_nodes[def.next_plant].next_plant then - tick(pos) - end - return -end - --- Register plants -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 - if not def.minlight then - def.minlight = 1 - end - if not def.maxlight then - def.maxlight = 14 - end - if not def.fertility then - def.fertility = {} - end - - -- Register seed - local lbm_nodes = {mname .. ":seed_" .. pname} - local g = {seed = 1, snappy = 3, attached_node = 1} - for k, v in pairs(def.fertility) do - g[v] = 1 - end - 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 = g, - 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}, - }, - fertility = def.fertility, - sounds = default.node_sound_dirt_defaults({ - dug = {name = "default_grass_footstep", gain = 0.2}, - place = {name = "default_place_node", gain = 0.25}, - }), - - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, mname .. ":seed_" .. pname) - end, - next_plant = mname .. ":" .. pname .. "_1", - on_timer = farming.grow_plant, - minlight = def.minlight, - maxlight = def.maxlight, - }) - - -- 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 nodegroups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1} - nodegroups[pname] = i - - local next_plant = nil - local on_timer = nil - - if i < def.steps then - next_plant = mname .. ":" .. pname .. "_" .. (i + 1) - on_timer = farming.grow_plant - lbm_nodes[#lbm_nodes + 1] = mname .. ":" .. pname .. "_" .. i - end - - minetest.register_node(mname .. ":" .. pname .. "_" .. i, { - drawtype = "plantlike", - waving = 1, - tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"}, - paramtype = "light", - walkable = false, - buildable_to = true, - drop = drop, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, - }, - groups = nodegroups, - sounds = default.node_sound_leaves_defaults(), - next_plant = next_plant, - on_timer = farming.grow_plant, - minlight = def.minlight, - maxlight = def.maxlight, - }) - end - - -- replacement LBM for pre-nodetimer plants - minetest.register_lbm({ - name = ":" .. mname .. ":start_nodetimer_" .. pname, - nodenames = lbm_nodes, - action = function(pos, node) - tick_again(pos) - end, - }) - - -- Return - local r = { - seed = mname .. ":seed_" .. pname, - harvest = mname .. ":" .. pname - } - return r -end diff --git a/mods/farming/banana.lua b/mods/farming/banana.lua deleted file mode 100644 index 492d1cf7..00000000 --- a/mods/farming/banana.lua +++ /dev/null @@ -1,70 +0,0 @@ -minetest.register_node("farming:banana_sapling", { - description = "Banana Tree Sapling", - drawtype = "plantlike", - tiles = {"farming_banana_sapling.png"}, - inventory_image = "farming_banana_sapling.png", - wield_image = "farming_banana_sapling.png", - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} - }, - groups = {dig_immediate=3,flammable=2}, - sounds = default.node_sound_defaults(), -}) - -minetest.register_node("farming:banana_leaves", { - drawtype = "allfaces_optional", - tiles = {"farming_banana_leaves.png"}, - paramtype = "light", - groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1}, - drop = { - max_items = 1, - items = { - { - items = {'farming:banana_sapling'}, - rarity = 20, - }, - { - items = {'farming:banana_leaves'}, - } - } -}, - sounds = default.node_sound_leaves_defaults(), -}) - -minetest.register_abm({ - nodenames = {"farming:banana_sapling"}, - interval = 60, - chance = 20, - action = function(pos, node) - farming.generate_tree(pos, "default:tree", "farming:banana_leaves", {"default:dirt", "default:dirt_with_grass"}, {["farming:banana"]=20}) - end -}) - -minetest.register_on_generated(function(minp, maxp, blockseed) - if math.random(1, 100) > 5 then - return - end - local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z} - local pos = minetest.find_node_near(tmp, maxp.x-minp.x, {"default:dirt_with_grass"}) - if pos ~= nil then - farming.generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "default:tree", "farming:banana_leaves", {"default:dirt", "default:dirt_with_grass"}, {["farming:banana"]=10}) - end -end) - -minetest.register_node("farming:banana", { - description = "Banana", - tiles = {"farming_banana.png"}, - inventory_image = "farming_banana.png", - wield_image = "farming_banana.png", - drawtype = "torchlike", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - groups = {fleshy=3,dig_immediate=3,flammable=2,leafdecay=3,leafdecay_drop=1}, - sounds = default.node_sound_defaults(), - - on_use = minetest.item_eat(6), -}) diff --git a/mods/farming/barley.lua b/mods/farming/barley.lua deleted file mode 100644 index d69b0bad..00000000 --- a/mods/farming/barley.lua +++ /dev/null @@ -1,96 +0,0 @@ - --- barley seeds -minetest.register_node("farming:seed_barley", { - description = "Barley Seed", - tiles = {"farming_barley_seed.png"}, - inventory_image = "farming_barley_seed.png", - wield_image = "farming_barley_seed.png", - drawtype = "signlike", - groups = {seed = 1, snappy = 3, attached_node = 1}, - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = farming.select, - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1") - end, -}) - --- harvested barley -minetest.register_craftitem("farming:barley", { - description = "barley", - inventory_image = "farming_barley.png", -}) - --- flour -minetest.register_craft({ - type = "shapeless", - output = "farming:flour", - recipe = {"farming:barley", "farming:barley", "farming:barley", "farming:barley"} -}) - --- barley definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_barley_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:barley_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_barley_2.png"} -minetest.register_node("farming:barley_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_barley_3.png"} -minetest.register_node("farming:barley_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_barley_4.png"} -minetest.register_node("farming:barley_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_barley_5.png"} -crop_def.drop = { - items = { - {items = {'farming:barley'}, rarity = 2}, - {items = {'farming:seed_barley'}, rarity = 2}, - } -} -minetest.register_node("farming:barley_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_barley_6.png"} -crop_def.drop = { - items = { - {items = {'farming:barley'}, rarity = 2}, - {items = {'farming:seed_barley'}, rarity = 1}, - } -} -minetest.register_node("farming:barley_6", table.copy(crop_def)) - --- stage 7 (final) -crop_def.tiles = {"farming_barley_7.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:barley'}, rarity = 1}, - {items = {'farming:barley'}, rarity = 3}, - {items = {'farming:seed_barley'}, rarity = 1}, - {items = {'farming:seed_barley'}, rarity = 3}, - } -} -minetest.register_node("farming:barley_7", table.copy(crop_def)) diff --git a/mods/farming/beanpole.lua b/mods/farming/beanpole.lua deleted file mode 100644 index cda736f9..00000000 --- a/mods/farming/beanpole.lua +++ /dev/null @@ -1,194 +0,0 @@ ---[[ - All textures by - (C) Auke Kok - CC-BY-SA-3.0 -]] - --- beans -minetest.register_craftitem("farming:beans", { - description = "Green Beans", - inventory_image = "farming_beans.png", - on_use = minetest.item_eat(1), - - on_place = function(itemstack, placer, pointed_thing) - - if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then - return - end - - local nodename = minetest.get_node(pointed_thing.under).name - - if nodename == "farming:beanpole" then - minetest.set_node(pointed_thing.under, {name = "farming:beanpole_1"}) - - minetest.sound_play("default_place_node", {pos = pointed_thing.above, gain = 1.0}) - else - return - end - - if not minetest.setting_getbool("creative_mode") then - - itemstack:take_item() - - -- check for refill - if itemstack:get_count() == 0 then - - minetest.after(0.20, - farming.refill_plant, - placer, - "farming:beans", - placer:get_wield_index() - ) - end - end - - return itemstack - end -}) - --- beans can be used for green dye -minetest.register_craft({ - output = "dye:green", - recipe = { - {'farming:beans'}, - } -}) - --- beanpole -minetest.register_node("farming:beanpole", { - description = "Bean Pole (place on soil before planting beans)", - drawtype = "plantlike", - tiles = {"farming_beanpole.png"}, - inventory_image = "farming_beanpole.png", - visual_scale = 1.45, - paramtype = "light", - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = "farming:beanpole", - selection_box = farming.select, - groups = {snappy = 3, flammable = 2, attached_node = 1}, - sounds = default.node_sound_leaves_defaults(), - - on_place = function(itemstack, placer, pointed_thing) - - if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then - return - end - - local nodename = minetest.get_node(pointed_thing.under).name - - if minetest.get_item_group(nodename, "soil") < 2 then - return - end - - local top = { - x = pointed_thing.above.x, - y = pointed_thing.above.y + 1, - z = pointed_thing.above.z - } - - nodename = minetest.get_node(top).name - - if nodename ~= "air" then - return - end - - minetest.set_node(pointed_thing.above, {name = "farming:beanpole"}) - - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - - return itemstack - end -}) - -minetest.register_craft({ - output = "farming:beanpole", - recipe = { - {'', '', ''}, - {'default:stick', '', 'default:stick'}, - {'default:stick', '', 'default:stick'}, - } -}) - -minetest.register_craft({ - type = "fuel", - recipe = "farming:beanpole", - burntime = 10, -}) - --- green bean definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_beanpole_1.png"}, - visual_scale = 1.45, - paramtype = "light", - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = { - items = { - {items = {'farming:beanpole'}, rarity = 1}, - } - }, - selection_box = farming.select, - groups = { - snappy = 3, flammable = 3, not_in_creative_inventory = 1, - attached_node = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:beanpole_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_beanpole_2.png"} -minetest.register_node("farming:beanpole_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_beanpole_3.png"} -minetest.register_node("farming:beanpole_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_beanpole_4.png"} -minetest.register_node("farming:beanpole_4", table.copy(crop_def)) - --- stage 5 (final) -crop_def.tiles = {"farming_beanpole_5.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:beanpole'}, rarity = 1}, - {items = {'farming:beans 3'}, rarity = 1}, - {items = {'farming:beans 2'}, rarity = 2}, - {items = {'farming:beans 2'}, rarity = 3}, - } -} -minetest.register_node("farming:beanpole_5", table.copy(crop_def)) - --- wild green bean bush (this is what you find on the map) -minetest.register_node("farming:beanbush", { - drawtype = "plantlike", - tiles = {"farming_beanbush.png"}, - paramtype = "light", - waving = 1, - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = { - items = { - {items = {'farming:beans 1'}, rarity = 1}, - {items = {'farming:beans 1'}, rarity = 2}, - {items = {'farming:beans 1'}, rarity = 3}, - } - }, - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory=1 - }, - sounds = default.node_sound_leaves_defaults(), -}) diff --git a/mods/farming/blueberry.lua b/mods/farming/blueberry.lua deleted file mode 100644 index 6a29ba97..00000000 --- a/mods/farming/blueberry.lua +++ /dev/null @@ -1,65 +0,0 @@ - --- 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 @ deviantart.com for muffin image) - -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"}, - } -}) - --- blueberry definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_blueberry_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:blueberry_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_blueberry_2.png"} -minetest.register_node("farming:blueberry_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_blueberry_3.png"} -minetest.register_node("farming:blueberry_3", table.copy(crop_def)) - --- stage 4 (final) -crop_def.tiles = {"farming_blueberry_4.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:blueberries 2'}, rarity = 1}, - {items = {'farming:blueberries'}, rarity = 2}, - {items = {'farming:blueberries'}, rarity = 3}, - } -} -minetest.register_node("farming:blueberry_4", table.copy(crop_def)) diff --git a/mods/farming/carrot.lua b/mods/farming/carrot.lua deleted file mode 100644 index 90c1b918..00000000 --- a/mods/farming/carrot.lua +++ /dev/null @@ -1,103 +0,0 @@ - ---[[ - Original textures from PixelBox texture pack - https://forum.minetest.net/viewtopic.php?id=4990 -]] - -minetest.register_craftitem("farming:carrot_seed", { - description = "Carrot Seeds", - inventory_image = "farming_carrot_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:carrot_1") - end -}) - --- carrot -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", ""}, - } -}) - --- carrot definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_carrot_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - - --- stage 1 -minetest.register_node("farming:carrot_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_carrot_2.png"} -minetest.register_node("farming:carrot_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_carrot_3.png"} -minetest.register_node("farming:carrot_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_carrot_4.png"} -minetest.register_node("farming:carrot_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_carrot_5.png"} -minetest.register_node("farming:carrot_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_carrot_6.png"} -minetest.register_node("farming:carrot_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_carrot_7.png"} -crop_def.drop = { - items = { - {items = {'farming:carrot'}, rarity = 1}, - {items = {'farming:carrot_seed'}, rarity = 1}, - {items = {'farming:carrot 2'}, rarity = 3}, - } -} -minetest.register_node("farming:carrot_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_carrot_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:carrot 2'}, rarity = 1}, - {items = {'farming:carrot_seed'}, rarity = 1}, - {items = {'farming:carrot 3'}, rarity = 2}, - } -} -minetest.register_node("farming:carrot_8", table.copy(crop_def)) diff --git a/mods/farming/cocoa.lua b/mods/farming/cocoa.lua deleted file mode 100644 index a11a6110..00000000 --- a/mods/farming/cocoa.lua +++ /dev/null @@ -1,172 +0,0 @@ - --- place cocoa -function place_cocoa(itemstack, placer, pointed_thing, plantname) - - 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) - - -- return if any of the nodes are not registered - if not minetest.registered_nodes[under.name] then - return - end - - -- check if pointing at jungletree - if under.name ~= "default:jungletree" - or minetest.get_node(pt.above).name ~= "air" then - return - end - - -- add the node and remove 1 item from the itemstack - minetest.set_node(pt.above, {name = plantname}) - - minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0}) - - if not minetest.setting_getbool("creative_mode") then - - itemstack:take_item() - - -- check for refill - if itemstack:get_count() == 0 then - - minetest.after(0.20, - farming.refill_plant, - placer, - "farming:cocoa_beans", - placer:get_wield_index() - ) - end - end - - return itemstack -end - --- cocoa beans -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" }, - } -}) - --- chocolate 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" }, - } -}) - --- cocoa definition -local crop_def = { - 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, growing = 1, - not_in_creative_inventory=1, leafdecay = 1, leafdecay_drop = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:cocoa_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_cocoa_2.png"} -crop_def.drop = { - items = { - {items = {'farming:cocoa_beans 1'}, rarity = 1}, - } -} -minetest.register_node("farming:cocoa_2", table.copy(crop_def)) - --- stage 3 (final) -crop_def.tiles = {"farming_cocoa_3.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:cocoa_beans 2'}, rarity = 1}, - {items = {'farming:cocoa_beans 1'}, rarity = 2}, - } -} -minetest.register_node("farming:cocoa_3", table.copy(crop_def)) - --- add random cocoa pods to jungle tree trunks -minetest.register_abm({ - nodenames = {"default:jungletree"}, - neighbors = {"default:jungleleaves", "moretrees:jungletree_leaves_green"}, - interval = 8, - chance = 80, - catch_up = false, - 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 - - local nodename = minetest.get_node(pos).name - - if nodename == "air" - and minetest.get_node_light(pos) > 12 then - - --print ("Cocoa Pod added at " .. minetest.pos_to_string(pos)) - - minetest.set_node(pos, { - name = "farming:cocoa_" .. tostring(math.random(1, 3)) - }) - end - end, -}) diff --git a/mods/farming/coffee.lua b/mods/farming/coffee.lua deleted file mode 100644 index c9854e6e..00000000 --- a/mods/farming/coffee.lua +++ /dev/null @@ -1,130 +0,0 @@ - --- 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, -}) - - --- drinking cup -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_node("farming:coffee_cup", { - description = "Cold Cup of Coffee", - 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_node("farming:coffee_cup_hot", { - description = "Hot Cup of Coffee", - 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(), -}) - --- coffee definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_coffee_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:coffee_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_coffee_2.png"} -minetest.register_node("farming:coffee_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_coffee_3.png"} -minetest.register_node("farming:coffee_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_coffee_4.png"} -minetest.register_node("farming:coffee_4", table.copy(crop_def)) - --- stage 5 (final) -crop_def.tiles = {"farming_coffee_5.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:coffee_beans 2'}, rarity = 1}, - {items = {'farming:coffee_beans 2'}, rarity = 2}, - {items = {'farming:coffee_beans 2'}, rarity = 3}, - } -} -minetest.register_node("farming:coffee_5", table.copy(crop_def)) diff --git a/mods/farming/compatibility.lua b/mods/farming/compatibility.lua deleted file mode 100644 index 07a53404..00000000 --- a/mods/farming/compatibility.lua +++ /dev/null @@ -1,78 +0,0 @@ --- Banana -minetest.register_alias("farming_plus:banana_sapling", "farming:banana_sapling") -minetest.register_alias("farming_plus:banana_leaves", "farming:banana_leaves") -minetest.register_alias("farming_plus:banana", "farming:banana") - --- Carrot -minetest.register_alias("farming_plus:carrot_seed", "farming:carrot_seed") -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") -minetest.register_alias("farming_plus:carrot_item", "farming:carrot") - --- 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:orange_1") -minetest.register_alias("farming_plus:orange_2", "farming:orange_2") -minetest.register_alias("farming_plus:orange_3", "farming:orange_3") -minetest.register_alias("farming_plus:orange", "farming:orange_4") -minetest.register_alias("farming_plus:orange_8", "farming:orange") -minetest.register_alias("farming_plus:orange_item", "farming:orange_item") -minetest.register_alias("farming_plus:orange_seed", "farming:orange_seed") -minetest.register_alias("farming:orange", "farming:orange_4") - --- 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_seed") - --- 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:pumpkin_flour", "farming:pumpkin_dough") - --- Rhubarb -minetest.register_alias("farming_plus:rhubarb_seed", "farming:rhubarb_seed") -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 -minetest.register_alias("farming_plus:strawberry_item", "farming:strawberry_item") -minetest.register_alias("farming_plus:strawberry_seed", "farming:strawberry_seed") -minetest.register_alias("farming_plus:strawberry_1", "farming:strawberry_1") -minetest.register_alias("farming_plus:strawberry_2", "farming:strawberry_2") -minetest.register_alias("farming_plus:strawberry_3", "farming:strawberry_3") -minetest.register_alias("farming_plus:strawberry", "farming:strawberry_3") -minetest.register_alias("farming:strawberry", "farming:strawberry_item") -minetest.register_alias("farming_plus:strawberry", "farming:strawberry_3") - --- Raspberry ---minetest.register_alias("farming_plus:raspberry_seed", "farming:raspberry_seed") ---minetest.register_alias("farming_plus:raspberrys", "farming:raspberrys") ---minetest.register_alias("farming_plus:raspberry_seed", "farming:raspberry_seed") - --- Tomato -minetest.register_alias("farming_plus:tomato_seed", "farming:tomato_seed") -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/mods/farming/corn.lua b/mods/farming/corn.lua deleted file mode 100644 index 43707575..00000000 --- a/mods/farming/corn.lua +++ /dev/null @@ -1,114 +0,0 @@ - ---[[ - 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 -]] - --- corn -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 = 240, - replacements = {{ "farming:bottle_ethanol", "vessels:glass_bottle"}} -}) - --- corn definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_corn_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:corn_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_corn_2.png"} -minetest.register_node("farming:corn_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_corn_3.png"} -minetest.register_node("farming:corn_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_corn_4.png"} -minetest.register_node("farming:corn_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_corn_5.png"} -minetest.register_node("farming:corn_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_corn_6.png"} -crop_def.visual_scale = 1.45 -minetest.register_node("farming:corn_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_corn_7.png"} -crop_def.drop = { - items = { - {items = {'farming:corn'}, rarity = 1}, - {items = {'farming:corn'}, rarity = 2}, - {items = {'farming:corn'}, rarity = 3}, - } -} -minetest.register_node("farming:corn_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_corn_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:corn 2'}, rarity = 1}, - {items = {'farming:corn 2'}, rarity = 2}, - {items = {'farming:corn 2'}, rarity = 2}, - } -} -minetest.register_node("farming:corn_8", table.copy(crop_def)) diff --git a/mods/farming/cotton.lua b/mods/farming/cotton.lua deleted file mode 100644 index 2ddf88e2..00000000 --- a/mods/farming/cotton.lua +++ /dev/null @@ -1,114 +0,0 @@ - --- cotton seeds -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 = farming.select, - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1") - end, -}) - --- cotton / string - -minetest.register_craftitem("farming:cotton", { - description = "Cotton", - inventory_image = "farming_cotton.png", -}) - -minetest.register_alias("farming:string", "farming:cotton") - --- cotton to wool -minetest.register_craft({ - output = "wool:white", - recipe = { - {"farming:string", "farming:string"}, - {"farming:string", "farming:string"}, - } -}) - --- cotton definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_cotton_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:cotton_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_cotton_2.png"} -minetest.register_node("farming:cotton_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_cotton_3.png"} -minetest.register_node("farming:cotton_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_cotton_4.png"} -minetest.register_node("farming:cotton_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_cotton_5.png"} -crop_def.drop = { - items = { - {items = {"farming:seed_cotton"}, rarity = 1}, - } -} -minetest.register_node("farming:cotton_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_cotton_6.png"} -crop_def.drop = { - items = { - {items = {"farming:cotton"}, rarity = 1}, - {items = {"farming:cotton"}, rarity = 2}, - } -} -minetest.register_node("farming:cotton_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_cotton_7.png"} -crop_def.drop = { - items = { - {items = {"farming:cotton"}, rarity = 1}, - {items = {"farming:cotton"}, rarity = 2}, - {items = {"farming:seed_cotton"}, rarity = 1}, - {items = {"farming:seed_cotton"}, rarity = 2}, - } -} -minetest.register_node("farming:cotton_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_cotton_8.png"} -crop_def.groups.growing = 0 -crop_def.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}, - } -} -minetest.register_node("farming:cotton_8", table.copy(crop_def)) diff --git a/mods/farming/cucumber.lua b/mods/farming/cucumber.lua deleted file mode 100644 index 22e367bc..00000000 --- a/mods/farming/cucumber.lua +++ /dev/null @@ -1,53 +0,0 @@ - ---[[ - Original textures from DocFarming mod - https://forum.minetest.net/viewtopic.php?id=3948 -]] - --- cucumber -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), -}) - --- cucumber definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_cucumber_1.png"}, - paramtype = "light", - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:cucumber_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_cucumber_2.png"} -minetest.register_node("farming:cucumber_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_cucumber_3.png"} -minetest.register_node("farming:cucumber_3", table.copy(crop_def)) - --- stage 4 (final) -crop_def.tiles = {"farming_cucumber_4.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:cucumber'}, rarity = 1}, - {items = {'farming:cucumber 2'}, rarity = 2}, - } -} -minetest.register_node("farming:cucumber_4", table.copy(crop_def)) diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt deleted file mode 100644 index be420a35..00000000 --- a/mods/farming/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -wool \ No newline at end of file diff --git a/mods/farming/description.txt b/mods/farming/description.txt deleted file mode 100644 index 58bdc810..00000000 --- a/mods/farming/description.txt +++ /dev/null @@ -1 +0,0 @@ -Adds many plants and food to Minetest \ No newline at end of file diff --git a/mods/farming/donut.lua b/mods/farming/donut.lua deleted file mode 100644 index 1b49848b..00000000 --- a/mods/farming/donut.lua +++ /dev/null @@ -1,45 +0,0 @@ --- 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'}, - } -}) \ No newline at end of file diff --git a/mods/farming/grapes.lua b/mods/farming/grapes.lua deleted file mode 100644 index 9c93016b..00000000 --- a/mods/farming/grapes.lua +++ /dev/null @@ -1,201 +0,0 @@ - --- grapes -minetest.register_craftitem("farming:grapes", { - description = "Grapes", - inventory_image = "farming_grapes.png", - on_use = minetest.item_eat(2), - - on_place = function(itemstack, placer, pointed_thing) - - if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then - return - end - - local nodename = minetest.get_node(pointed_thing.under).name - - if nodename == "farming:trellis" then - minetest.set_node(pointed_thing.under, {name = "farming:grapes_1"}) - - minetest.sound_play("default_place_node", {pos = pointed_thing.above, gain = 1.0}) - else - return - end - - if not minetest.setting_getbool("creative_mode") then - - itemstack:take_item() - - -- check for refill - if itemstack:get_count() == 0 then - - minetest.after(0.20, - farming.refill_plant, - placer, - "farming:grapes", - placer:get_wield_index() - ) - end - end - - return itemstack - end -}) - --- grapes can be used for violet dye -minetest.register_craft({ - output = "dye:violet", - recipe = { - {'farming:grapes'}, - } -}) - --- trellis -minetest.register_node("farming:trellis", { - description = "Trellis (place on soil before planting grapes)", - drawtype = "plantlike", - tiles = {"farming_trellis.png"}, - inventory_image = "farming_trellis.png", - visual_scale = 1.45, - paramtype = "light", - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = "farming:trellis", - selection_box = farming.select, - groups = {snappy = 3, flammable = 2, attached_node = 1}, - sounds = default.node_sound_leaves_defaults(), - - on_place = function(itemstack, placer, pointed_thing) - - if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then - return - end - - local nodename = minetest.get_node(pointed_thing.under).name - - if minetest.get_item_group(nodename, "soil") < 2 then - return - end - - local top = { - x = pointed_thing.above.x, - y = pointed_thing.above.y + 1, - z = pointed_thing.above.z - } - - nodename = minetest.get_node(top).name - - if nodename ~= "air" then - return - end - - minetest.set_node(pointed_thing.above, {name = "farming:trellis"}) - - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - - return itemstack - end -}) - -minetest.register_craft({ - output = "farming:trellis", - recipe = { - {'default:stick', 'default:stick', 'default:stick'}, - {'default:stick', 'default:stick', 'default:stick'}, - {'default:stick', 'default:stick', 'default:stick'}, - } -}) - -minetest.register_craft({ - type = "fuel", - recipe = "farming:trellis", - burntime = 15, -}) - --- grapes definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_grapes_1.png"}, - visual_scale = 1.45, - paramtype = "light", - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = { - items = { - {items = {'farming:trellis'}, rarity = 1}, - } - }, - selection_box = farming.select, - groups = { - snappy = 3, flammable = 3, not_in_creative_inventory = 1, - attached_node = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:grapes_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_grapes_2.png"} -minetest.register_node("farming:grapes_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_grapes_3.png"} -minetest.register_node("farming:grapes_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_grapes_4.png"} -minetest.register_node("farming:grapes_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_grapes_5.png"} -minetest.register_node("farming:grapes_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_grapes_6.png"} -minetest.register_node("farming:grapes_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_grapes_7.png"} -minetest.register_node("farming:grapes_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_grapes_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:trellis'}, rarity = 1}, - {items = {'farming:grapes 3'}, rarity = 1}, - {items = {'farming:grapes 1'}, rarity = 2}, - {items = {'farming:grapes 1'}, rarity = 3}, - } -} -minetest.register_node("farming:grapes_8", table.copy(crop_def)) - --- wild grape vine (this is what you find on the map) -minetest.register_node("farming:grapebush", { - drawtype = "plantlike", - tiles = {"farming_grapebush.png"}, - paramtype = "light", - waving = 1, - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = { - items = { - {items = {'farming:grapes 1'}, rarity = 1}, - {items = {'farming:grapes 1'}, rarity = 2}, - {items = {'farming:grapes 1'}, rarity = 3}, - } - }, - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory=1 - }, - sounds = default.node_sound_leaves_defaults(), -}) diff --git a/mods/farming/grass.lua b/mods/farming/grass.lua deleted file mode 100644 index aacb220f..00000000 --- a/mods/farming/grass.lua +++ /dev/null @@ -1,42 +0,0 @@ - -for i = 3, 5 do - - -- Override default grass and have it drop Wheat Seeds - - minetest.override_item("default:grass_" .. i, { - drop = { - max_items = 1, - items = { - {items = {'farming:seed_wheat'}, rarity = 5}, - {items = {'default:grass_1'}}, - } - }, - }) - - -- Override default dry grass and have it drop Barley Seeds - if minetest.registered_nodes["default:dry_grass_1"] then - - minetest.override_item("default:dry_grass_" .. i, { - drop = { - max_items = 1, - items = { - {items = {'farming:seed_barley'}, rarity = 6}, - {items = {'default:dry_grass_1'}}, - } - }, - }) - end - -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/mods/farming/hoes.lua b/mods/farming/hoes.lua deleted file mode 100644 index ef27d420..00000000 --- a/mods/farming/hoes.lua +++ /dev/null @@ -1,151 +0,0 @@ - --- 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 - if def.material == nil then - minetest.register_craft({ - output = name:sub(2), - recipe = def.recipe - }) - else - minetest.register_craft({ - output = name:sub(2), - recipe = { - {def.material, def.material, ""}, - {"", "group:stick", ""}, - {"", "group:stick", ""} - } - }) - end -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}) - - if not minetest.setting_getbool("creative_mode") then - itemstack:add_wear(65535/(uses-1)) - end - - return itemstack -end - --- Define Hoes - -farming.register_hoe(":farming:hoe_wood", { - description = "Wooden Hoe", - inventory_image = "farming_tool_woodhoe.png", - max_uses = 30, - material = "group:wood" -}) - -farming.register_hoe(":farming:hoe_stone", { - description = "Stone Hoe", - inventory_image = "farming_tool_stonehoe.png", - max_uses = 90, - material = "group:stone" -}) - -farming.register_hoe(":farming:hoe_steel", { - description = "Steel Hoe", - inventory_image = "farming_tool_steelhoe.png", - max_uses = 200, - material = "default:steel_ingot" -}) - -farming.register_hoe(":farming:hoe_bronze", { - description = "Bronze Hoe", - inventory_image = "farming_tool_bronzehoe.png", - max_uses = 220, - material = "default:bronze_ingot" -}) - -farming.register_hoe(":farming:hoe_mese", { - description = "Mese Hoe", - inventory_image = "farming_tool_mesehoe.png", - max_uses = 350, - material = "default:mese_crystal" -}) - -farming.register_hoe(":farming:hoe_diamond", { - description = "Diamond Hoe", - inventory_image = "farming_tool_diamondhoe.png", - max_uses = 500, - material = "default:diamond" -}) diff --git a/mods/farming/init.lua b/mods/farming/init.lua deleted file mode 100644 index 2d92e094..00000000 --- a/mods/farming/init.lua +++ /dev/null @@ -1,797 +0,0 @@ ---[[ - Minetest Farming Redo Mod 1.22 (31st March 2016) - by TenPlus1 - NEW growing routine by prestidigitator - auto-refill by crabman77 -]] - -farming = {} -farming.mod = "redo" -farming.path = minetest.get_modpath("farming") -farming.hoe_on_use = default.hoe_on_use -farming.select = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5} -} - -farming.DEBUG = false --- farming.DEBUG = {} -- Uncomment to turn on profiling code/functions - -local DEBUG_abm_runs = 0 -local DEBUG_abm_time = 0 -local DEBUG_timer_runs = 0 -local DEBUG_timer_time = 0 - -if farming.DEBUG then - - function farming.DEBUG.reset_times() - DEBUG_abm_runs = 0 - DEBUG_abm_time = 0 - DEBUG_timer_runs = 0 - DEBUG_timer_time = 0 - end - - function farming.DEBUG.report_times() - - local abm_n = DEBUG_abm_runs - local abm_dt = DEBUG_abm_time - local abm_avg = (abm_n > 0 and abm_dt / abm_n) or 0 - local timer_n = DEBUG_timer_runs - local timer_dt = DEBUG_timer_time - local timer_avg = (timer_n > 0 and timer_dt / timer_n) or 0 - local dt = abm_dt + timer_dt - - print("ABM ran for "..abm_dt.."µs over "..abm_n.." runs: "..abm_avg.."µs/run") - print("Timer ran for "..timer_dt.."µs over "..timer_n.." runs: "..timer_avg.."µs/run") - print("Total farming time: "..dt.."µs") - end -end - -local statistics = dofile(farming.path.."/statistics.lua") - -dofile(farming.path.."/soil.lua") -dofile(farming.path.."/banana.lua") -dofile(farming.path.."/hoes.lua") -dofile(farming.path.."/grass.lua") -dofile(farming.path.."/wheat.lua") -dofile(farming.path.."/cotton.lua") -dofile(farming.path.."/carrot.lua") -dofile(farming.path.."/potato.lua") -dofile(farming.path.."/tomato.lua") -dofile(farming.path.."/cucumber.lua") -dofile(farming.path.."/corn.lua") -dofile(farming.path.."/coffee.lua") -dofile(farming.path.."/melon.lua") -dofile(farming.path.."/sugar.lua") -dofile(farming.path.."/pumpkin.lua") -dofile(farming.path.."/cocoa.lua") -dofile(farming.path.."/raspberry.lua") -dofile(farming.path.."/strawberry.lua") -dofile(farming.path.."/blueberry.lua") -dofile(farming.path.."/rhubarb.lua") -dofile(farming.path.."/beanpole.lua") -dofile(farming.path.."/grapes.lua") -dofile(farming.path.."/barley.lua") -dofile(farming.path.."/oranges.lua") -dofile(farming.path.."/donut.lua") -dofile(farming.path.."/mapgen.lua") -dofile(farming.path.."/compatibility.lua") -- Farming Plus compatibility - --- Utility Functions - -local time_speed = tonumber(minetest.setting_get("time_speed")) or 72 -local SECS_PER_CYCLE = (time_speed > 0 and 24 * 60 * 60 / time_speed) or 0 - -local function clamp(x, min, max) - return (x < min and min) or (x > max and max) or x -end - -local function in_range(x, min, max) - return min <= x and x <= max -end - ---- Tests the amount of day or night time between two times. - -- - -- @param t_game - -- The current time, as reported by mintest.get_gametime(). - -- @param t_day - -- The current time, as reported by mintest.get_timeofday(). - -- @param dt - -- The amount of elapsed time. - -- @param count_day - -- If true, count elapsed day time. Otherwise, count elapsed night time. - -- @return - -- The amount of day or night time that has elapsed. - -local function day_or_night_time(t_game, t_day, dt, count_day) - - local t1_day = t_day - dt / SECS_PER_CYCLE - local t1_c, t2_c -- t1_c < t2_c and t2_c always in [0, 1) - - if count_day then - - if t_day < 0.25 then - t1_c = t1_day + 0.75 -- Relative to sunup, yesterday - t2_c = t_day + 0.75 - else - t1_c = t1_day - 0.25 -- Relative to sunup, today - t2_c = t_day - 0.25 - end - else - if t_day < 0.75 then - t1_c = t1_day + 0.25 -- Relative to sundown, yesterday - t2_c = t_day + 0.25 - else - t1_c = t1_day - 0.75 -- Relative to sundown, today - t2_c = t_day - 0.75 - end - end - - local dt_c = clamp(t2_c, 0, 0.5) - clamp(t1_c, 0, 0.5) -- this cycle - - if t1_c < -0.5 then - local nc = math.floor(-t1_c) - t1_c = t1_c + nc - dt_c = dt_c + 0.5 * nc + clamp(-t1_c - 0.5, 0, 0.5) - end - - return dt_c * SECS_PER_CYCLE -end - ---- Tests the amount of elapsed day time. - -- - -- @param dt - -- The amount of elapsed time. - -- @return - -- The amount of day time that has elapsed. - -- -local function day_time(dt) - return day_or_night_time(minetest.get_gametime(), minetest.get_timeofday(), dt, true) -end - ---- Tests the amount of elapsed night time. - -- - -- @param dt - -- The amount of elapsed time. - -- @return - -- The amount of night time that has elapsed. - -- -local function night_time(time_game, time_day, dt, count_day) - return day_or_night_time(minetest.get_gametime(), minetest.get_timeofday(), dt, false) -end - - --- Growth Logic - -local STAGE_LENGTH_AVG = 160.0 -local STAGE_LENGTH_DEV = STAGE_LENGTH_AVG / 6 -local MIN_LIGHT = 13 -local MAX_LIGHT = 1000 - ---- Determines plant name and stage from node. - -- - -- Separates node name on the last underscore (_). - -- - -- @param node - -- Node or position table, or node name. - -- @return - -- List (plant_name, stage), or nothing (nil) if node isn't loaded - -local function plant_name_stage(node) - - local name - - if type(node) == 'table' then - - if node.name then - name = node.name - elseif node.x and node.y and node.z then - node = minetest.get_node_or_nil(node) - name = node and node.name - end - else - name = tostring(node) - end - - if not name or name == "ignore" then - return nil - end - - local sep_pos = name:find("_[^_]+$") - - if sep_pos and sep_pos > 1 then - - local stage = tonumber(name:sub(sep_pos + 1)) - - if stage and stage >= 0 then - return name:sub(1, sep_pos - 1), stage - end - end - - return name, 0 -end - --- Map from node name to --- { plant_name = ..., name = ..., stage = n, stages_left = { node_name, ... } } - -local plant_stages = {} - -farming.plant_stages = plant_stages - ---- Registers the stages of growth of a (possible plant) node. - -- - -- @param node - -- Node or position table, or node name. - -- @return - -- The (possibly zero) number of stages of growth the plant will go through - -- before being fully grown, or nil if not a plant. - -local register_plant_node - --- Recursive helper -local function reg_plant_stages(plant_name, stage, force_last) - - local node_name = plant_name and plant_name .. "_" .. stage - local node_def = node_name and minetest.registered_nodes[node_name] - - if not node_def then - return nil - end - - local stages = plant_stages[node_name] - - if stages then - return stages - end - - if minetest.get_item_group(node_name, "growing") > 0 then - - local ns = reg_plant_stages(plant_name, stage + 1, true) - local stages_left = (ns and { ns.name, unpack(ns.stages_left) }) or {} - - stages = { - plant_name = plant_name, - name = node_name, - stage = stage, - stages_left = stages_left - } - - if #stages_left > 0 then - - local old_constr = node_def.on_construct - local old_destr = node_def.on_destruct - - minetest.override_item(node_name, - { - on_construct = function(pos) - - if old_constr then - old_constr(pos) - end - - farming.handle_growth(pos) - end, - - on_destruct = function(pos) - - minetest.get_node_timer(pos):stop() - - if old_destr then - old_destr(pos) - end - end, - - on_timer = function(pos, elapsed) - return farming.plant_growth_timer(pos, elapsed, node_name) - end, - }) - end - - elseif force_last then - - stages = { - plant_name = plant_name, - name = node_name, - stage = stage, - stages_left = {} - } - else - return nil - end - - plant_stages[node_name] = stages - - return stages -end - -register_plant_node = function(node) - - local plant_name, stage = plant_name_stage(node) - - if plant_name then - - local stages = reg_plant_stages(plant_name, stage, false) - return stages and #stages.stages_left - else - return nil - end -end - -local function set_growing(pos, stages_left) - - if not stages_left then - return - end - - local timer = minetest.get_node_timer(pos) - - if stages_left > 0 then - - if not timer:is_started() then - - local stage_length = statistics.normal(STAGE_LENGTH_AVG, STAGE_LENGTH_DEV) - - stage_length = clamp(stage_length, 0.5 * STAGE_LENGTH_AVG, 3.0 * STAGE_LENGTH_AVG) - - timer:set(stage_length, -0.5 * math.random() * STAGE_LENGTH_AVG) - end - - elseif timer:is_started() then - timer:stop() - end -end - --- https://git.tchncs.de/Illuna-Minetest/farming_plus/blob/master/init.lua#L54 - -function farming.generate_tree(pos, trunk, leaves, underground, replacements) - pos.y = pos.y-1 - local nodename = minetest.get_node(pos).name - local ret = true - for _,name in ipairs(underground) do - if nodename == name then - ret = false - break - end - end - pos.y = pos.y+1 - if not minetest.get_node_light(pos) then - return - end - if ret or minetest.get_node_light(pos) < 8 then - return - end - - node = {name = ""} - for dy=1,4 do - pos.y = pos.y+dy - if minetest.get_node(pos).name ~= "air" then - return - end - pos.y = pos.y-dy - end - node.name = trunk - for dy=0,4 do - pos.y = pos.y+dy - minetest.set_node(pos, node) - pos.y = pos.y-dy - end - - if not replacements then - replacements = {} - end - - node.name = leaves - pos.y = pos.y+3 - for dx=-2,2 do - for dz=-2,2 do - for dy=0,3 do - pos.x = pos.x+dx - pos.y = pos.y+dy - pos.z = pos.z+dz - - if dx == 0 and dz == 0 and dy==3 then - if minetest.get_node(pos).name == "air" and math.random(1, 5) <= 4 then - minetest.set_node(pos, node) - for name,rarity in pairs(replacements) do - if math.random(1, rarity) == 1 then - minetest.set_node(pos, {name=name}) - end - end - end - elseif dx == 0 and dz == 0 and dy==4 then - if minetest.get_node(pos).name == "air" and math.random(1, 5) <= 4 then - minetest.set_node(pos, node) - for name,rarity in pairs(replacements) do - if math.random(1, rarity) == 1 then - minetest.set_node(pos, {name=name}) - end - end - end - elseif math.abs(dx) ~= 2 and math.abs(dz) ~= 2 then - if minetest.get_node(pos).name == "air" then - minetest.set_node(pos, node) - for name,rarity in pairs(replacements) do - if math.random(1, rarity) == 1 then - minetest.set_node(pos, {name=name}) - end - end - end - else - if math.abs(dx) ~= 2 or math.abs(dz) ~= 2 then - if minetest.get_node(pos).name == "air" and math.random(1, 5) <= 4 then - minetest.set_node(pos, node) - for name,rarity in pairs(replacements) do - if math.random(1, rarity) == 1 then - minetest.set_node(pos, {name=name}) - end - end - end - end - end - - pos.x = pos.x-dx - pos.y = pos.y-dy - pos.z = pos.z-dz - end - end - end -end - --- Detects a plant type node at the given position, starting --- or stopping the plant growth timer as appopriate - --- @param pos --- The node's position. --- @param node --- The cached node table if available, or nil. - -function farming.handle_growth(pos, node) - - if not pos then - return - end - - local stages_left = register_plant_node(node or pos) - - if stages_left then - set_growing(pos, stages_left) - end -end - -minetest.after(0, function() - - for _, node_def in pairs(minetest.registered_nodes) do - register_plant_node(node_def) - end -end) - -local abm_func = farming.handle_growth - -if farming.DEBUG then - - local normal_abm_func = abm_func - - abm_func = function(...) - - local t0 = minetest.get_us_time() - local r = { normal_abm_func(...) } - local t1 = minetest.get_us_time() - - DEBUG_abm_runs = DEBUG_abm_runs + 1 - DEBUG_abm_time = DEBUG_abm_time + (t1 - t0) - - return unpack(r) - end -end - --- Just in case a growing type or added node is missed (also catches existing --- nodes added to map before timers were incorporated). - -minetest.register_abm({ - nodenames = { "group:growing" }, - interval = 300, - chance = 1, - action = abm_func -}) - --- Plant timer function. --- Grows plants under the right conditions. - -function farming.plant_growth_timer(pos, elapsed, node_name) - - local stages = plant_stages[node_name] - - if not stages then - return false - end - - local max_growth = #stages.stages_left - - if max_growth <= 0 then - return false - end - - if stages.plant_name == "farming:cocoa" then - - if not minetest.find_node_near(pos, 1, - {"default:jungletree", "moretrees:jungletree_leaves_green"}) then - - return true - end - else - local under = minetest.get_node_or_nil({ x = pos.x, y = pos.y - 1, z = pos.z }) - - if not under or under.name ~= "farming:soil_wet" then - return true - end - end - - local growth - local light_pos = {x = pos.x, y = pos.y, z = pos.z} - local lambda = elapsed / STAGE_LENGTH_AVG - - if lambda < 0.1 then - return true - end - - if max_growth == 1 or lambda < 2.0 then - - local light = (minetest.get_node_light(light_pos) or 0) - --print ("light level:", light) - - if not in_range(light, MIN_LIGHT, MAX_LIGHT) then - return true - end - - growth = 1 - else - local night_light = (minetest.get_node_light(light_pos, 0) or 0) - local day_light = (minetest.get_node_light(light_pos, 0.5) or 0) - local night_growth = in_range(night_light, MIN_LIGHT, MAX_LIGHT) - local day_growth = in_range(day_light, MIN_LIGHT, MAX_LIGHT) - - if not night_growth then - - if not day_growth then - return true - end - - lambda = day_time(elapsed) / STAGE_LENGTH_AVG - - elseif not day_growth then - - lambda = night_time(elapsed) / STAGE_LENGTH_AVG - end - - growth = statistics.poisson(lambda, max_growth) - - if growth < 1 then - return true - end - end - - if minetest.registered_nodes[stages.stages_left[growth]] then - minetest.swap_node(pos, {name = stages.stages_left[growth]}) - else - return true - end - - return growth ~= max_growth -end - -if farming.DEBUG then - - local timer_func = farming.plant_growth_timer; - - farming.plant_growth_timer = function(pos, elapsed, node_name) - - local t0 = minetest.get_us_time() - local r = { timer_func(pos, elapsed, node_name) } - local t1 = minetest.get_us_time() - - DEBUG_timer_runs = DEBUG_timer_runs + 1 - DEBUG_timer_time = DEBUG_timer_time + (t1 - t0) - - return unpack(r) - end -end - --- refill placed plant by crabman (26/08/2015) -local can_refill_plant = { - ["farming:blueberry_1"] = "farming:blueberries", - ["farming:carrot_1"] = "farming:carrot", - ["farming:coffee_1"] = "farming:coffee_beans", - ["farming:corn_1"] = "farming:corn", - ["farming:cotton_1"] = "farming:seed_cotton", - ["farming:cucumber_1"] = "farming:cucumber", - ["farming:melon_1"] = "farming:melon_slice", - ["farming:potato_1"] = "farming:potato", - ["farming:pumpkin_1"] = "farming:pumpkin_slice", - ["farming:raspberry_1"] = "farming:raspberries", - ["farming:rhubarb_1"] = "farming:rhubarb", - ["farming:tomato_1"] = "farming:tomato", - ["farming:wheat_1"] = "farming:seed_wheat", - ["farming:grapes_1"] = "farming:grapes", - ["farming:beans_1"] = "farming:beans", - ["farming:rhubarb_1"] = "farming:rhubarb", - ["farming:cocoa_1"] = "farming:cocoa_beans", - ["farming:orange_1"] = "farming:orange_item", -} - -function farming.refill_plant(player, plantname, index) - - local inv = player:get_inventory() - local old_stack = inv:get_stack("main", index) - - if old_stack:get_name() ~= "" then - return - end - - for i, stack in pairs(inv:get_list("main")) do - - if stack:get_name() == plantname and i ~= index then - - inv:set_stack("main", index, stack) - stack:clear() - inv:set_stack("main", i, stack) - --minetest.log("action", "farming: refilled stack("..plantname..") of " .. player:get_player_name() ) - return - end - end -end - --- 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 or 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 - -- avoid multiple seed placement bug - or minetest.get_item_group(above.name, "plant") ~= 0 then - return - end - - -- if not protected then add node and remove 1 item from the itemstack - if not minetest.is_protected(pt.above, placer:get_player_name()) then - - minetest.set_node(pt.above, {name = plantname, param2 = 1}) - - minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0}) - - if not minetest.setting_getbool("creative_mode") then - - itemstack:take_item() - - -- check for refill - if itemstack:get_count() == 0 - and can_refill_plant[plantname] then - - minetest.after(0.10, - farming.refill_plant, - placer, - can_refill_plant[plantname], - placer:get_wield_index() - ) - end - end - - return itemstack - end -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 = farming.select, - - 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 - - local node_name = mname .. ":" .. pname .. "_" .. i - - minetest.register_node(node_name, { - drawtype = "plantlike", - waving = 1, - tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"}, - paramtype = "light", - walkable = false, - buildable_to = true, - drop = drop, - selection_box = farming.select, - groups = g, - sounds = default.node_sound_leaves_defaults(), - }) - - register_plant_node(node_name) - 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 = "Cotton2 seed", - inventory_image = "farming_cotton_seed.png", - steps = 8, -})]] diff --git a/mods/farming/init.lua_orig b/mods/farming/init.lua_orig deleted file mode 100644 index aee9976f..00000000 --- a/mods/farming/init.lua_orig +++ /dev/null @@ -1,192 +0,0 @@ ---[[ - Minetest Farming Redo Mod 1.14 (11th May 2015) - by TenPlus1 -]] - -farming = {} -farming.mod = "redo" -farming.path = minetest.get_modpath("farming") -farming.hoe_on_use = default.hoe_on_use - -dofile(farming.path.."/soil.lua") -dofile(farming.path.."/hoes.lua") -dofile(farming.path.."/grass.lua") -dofile(farming.path.."/wheat.lua") -dofile(farming.path.."/cotton.lua") -dofile(farming.path.."/carrot.lua") -dofile(farming.path.."/potato.lua") -dofile(farming.path.."/tomato.lua") -dofile(farming.path.."/cucumber.lua") -dofile(farming.path.."/corn.lua") -dofile(farming.path.."/coffee.lua") -dofile(farming.path.."/melon.lua") -dofile(farming.path.."/sugar.lua") -dofile(farming.path.."/pumpkin.lua") -dofile(farming.path.."/cocoa.lua") -dofile(farming.path.."/raspberry.lua") -dofile(farming.path.."/blueberry.lua") -dofile(farming.path.."/rhubarb.lua") -dofile(farming.path.."/beanpole.lua") -dofile(farming.path.."/donut.lua") -dofile(farming.path.."/mapgen.lua") -dofile(farming.path.."/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 - or minetest.get_item_group(above.name, "plant") ~= 0 then -- ADDED this line for multiple seed placement bug - return - end - - -- add the node and remove 1 item from the itemstack - if not minetest.is_protected(pt.above, placer:get_player_name()) then - minetest.add_node(pt.above, {name=plantname}) - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - return itemstack - end -end - --- Single ABM Handles Growing of All Plants - -minetest.register_abm({ - nodenames = {"group:growing"}, - neighbors = {"farming:soil_wet", "default:jungletree"}, - interval = 80, - chance = 2, - - action = function(pos, node) - - -- split plant name (e.g. farming:wheat_1) - local plant = node.name:split("_")[1].."_" - local numb = node.name:split("_")[2] - - -- fully grown ? - if not minetest.registered_nodes[plant..(numb + 1)] then return end - - -- cocoa pod on jungle tree ? - if plant ~= "farming:cocoa_" then - - -- growing on wet soil ? - if minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name ~= "farming:soil_wet" then return end - end - - -- enough light ? - if minetest.get_node_light(pos) < 13 then return 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/mods/farming/license.txt b/mods/farming/license.txt deleted file mode 100644 index 5d30c149..00000000 --- a/mods/farming/license.txt +++ /dev/null @@ -1,14 +0,0 @@ - - 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/mods/farming/mapgen.lua b/mods/farming/mapgen.lua deleted file mode 100644 index 1cb46ca2..00000000 --- a/mods/farming/mapgen.lua +++ /dev/null @@ -1,65 +0,0 @@ --- decoration function -local function register_plant(name, min, max, spawnby, num) - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.006, - spread = {x = 100, y = 100, z = 100}, - seed = 329, - octaves = 3, - persist = 0.6 - }, - y_min = min, - y_max = max, - decoration = "farming:" .. name, - spawn_by = spawnby, - num_spawn_by = num, - }) -end - -function farming.register_mgv6_decorations() - register_plant("potato_3", 15, 40, "", -1) - register_plant("tomato_7", 5, 20, "", -1) - register_plant("carrot_8", 1, 30, "group:water", 1) - register_plant("cucumber_4", 1, 20, "group:water", 1) - register_plant("corn_7", 12, 22, "", -1) - register_plant("corn_8", 10, 20, "", -1) - register_plant("coffee_5", 20, 45, "", -1) - register_plant("melon_8", 1, 20, "group:water", 1) - register_plant("pumpkin_8", 1, 20, "group:water", 1) - register_plant("raspberry_4", 3, 10, "", -1) - register_plant("rhubarb_3", 3, 15, "", -1) - register_plant("blueberry_4", 3, 10, "", -1) - register_plant("beanbush", 18, 35, "", -1) - register_plant("grapebush", 25, 45, "", -1) - register_plant("strawberry_4", 3, 10, "", -1) -end - --- v7 maps have a beach so plants growing near water is limited to 6 high -function farming.register_mgv7_decorations() - register_plant("potato_3", 15, 40, "", -1) - register_plant("tomato_7", 5, 20, "", -1) - register_plant("carrot_8", 1, 6, "", -1) - register_plant("cucumber_4", 1, 6, "", -1) - register_plant("corn_7", 12, 22, "", -1) - register_plant("corn_8", 10, 20, "", -1) - register_plant("coffee_5", 20, 45, "", -1) - register_plant("melon_8", 1, 6, "", -1) - register_plant("pumpkin_8", 1, 6, "", -1) - register_plant("raspberry_4", 3, 10, "", -1) - register_plant("rhubarb_3", 3, 15, "", -1) - register_plant("blueberry_4", 3, 10, "", -1) - register_plant("beanbush", 18, 35, "", -1) - register_plant("grapebush", 25, 45, "", -1) - register_plant("strawberry_4", 3, 10, "", -1) -end - --- detect mapgen -if minetest.get_mapgen_params().mgname == "v6" then - farming.register_mgv6_decorations() -else - farming.register_mgv7_decorations() -end diff --git a/mods/farming/melon.lua b/mods/farming/melon.lua deleted file mode 100644 index fb59e7bf..00000000 --- a/mods/farming/melon.lua +++ /dev/null @@ -1,80 +0,0 @@ - --- 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", ""}, - } -}) - --- melon definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_melon_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:melon_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_melon_2.png"} -minetest.register_node("farming:melon_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_melon_3.png"} -minetest.register_node("farming:melon_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_melon_4.png"} -minetest.register_node("farming:melon_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_melon_5.png"} -minetest.register_node("farming:melon_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_melon_6.png"} -minetest.register_node("farming:melon_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_melon_7.png"} -minetest.register_node("farming:melon_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.drawtype = "nodebox" -crop_def.description = "Melon" -crop_def.tiles = {"farming_melon_top.png", "farming_melon_top.png", "farming_melon_side.png"} -crop_def.selection_box = {-.5, -.5, -.5, .5, .5, .5} -crop_def.walkable = true -crop_def.groups = {snappy = 3, oddly_breakable_by_hand = 1, flammable = 2, plant = 1} -crop_def.drop = "farming:melon_slice 9" -minetest.register_node("farming:melon_8", table.copy(crop_def)) diff --git a/mods/farming/mod.conf b/mods/farming/mod.conf deleted file mode 100644 index 80ab8b0b..00000000 --- a/mods/farming/mod.conf +++ /dev/null @@ -1 +0,0 @@ -name = farming \ No newline at end of file diff --git a/mods/farming/oranges.lua b/mods/farming/oranges.lua deleted file mode 100644 index 88e39afa..00000000 --- a/mods/farming/oranges.lua +++ /dev/null @@ -1,58 +0,0 @@ -minetest.register_craftitem("farming:orange_seed", { - description = "Orange Seeds", - inventory_image = "farming_orange_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:orange_1") - end -}) - -minetest.register_craftitem("farming:orange_item", { - description = "Orange", - inventory_image = "farming_orange.png", - on_use = minetest.item_eat(4), - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:orange_1") - end -}) - --- orange definition -local crop_def = { - paramtype = "plantlike", - walkable = false, - paramtype = "light", - sunlight_propagates = true, - buildable_to = true, - drawtype = "plantlike", - drop = "", - tiles = {"farming_orange_1.png"}, - selection_box = farming.select, - groups = {snappy=3, flammable=2, not_in_creative_inventory=1,plant=1,growing=1}, - sounds = default.node_sound_leaves_defaults(), -} - --- stage 1 -minetest.register_node("farming:orange_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_orange_2.png"} -minetest.register_node("farming:orange_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_orange_3.png"} -minetest.register_node("farming:orange_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_orange_4.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - { items = {'farming:orange_seed'} }, - { items = {'farming:orange_seed'}, rarity = 2}, - { items = {'farming:orange_seed'}, rarity = 5}, - { items = {'farming:orange_item'} }, - { items = {'farming:orange_item'}, rarity = 2 }, - { items = {'farming:orange_item'}, rarity = 5 }, - } -} - -minetest.register_node("farming:orange_4", table.copy(crop_def)) diff --git a/mods/farming/potato.lua b/mods/farming/potato.lua deleted file mode 100644 index fa95442c..00000000 --- a/mods/farming/potato.lua +++ /dev/null @@ -1,85 +0,0 @@ - ---[[ - Original textures from DocFarming mod - https://forum.minetest.net/viewtopic.php?id=3948 -]] - -minetest.register_craftitem("farming:potato_seed", { - description = "Potato Seeds", - inventory_image = "farming_potato_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:potato_1") - end -}) - --- potato -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), -}) - --- baked potato -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" -}) - --- potato definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_potato_1.png"}, - paramtype = "light", - sunlight_propagates = true, - waving = 1, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:potato_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_potato_2.png"} -minetest.register_node("farming:potato_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_potato_3.png"} -crop_def.drop = { - items = { - {items = {'farming:potato'}, rarity = 1}, - {items = {'farming:potato_seed'}, rarity = 1}, - {items = {'farming:potato'}, rarity = 3}, - } -} -minetest.register_node("farming:potato_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_potato_4.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:potato 2'}, rarity = 1}, - {items = {'farming:potato_seed 2'}, rarity = 1}, - {items = {'farming:potato 3'}, rarity = 2}, - } -} -minetest.register_node("farming:potato_4", table.copy(crop_def)) diff --git a/mods/farming/pumpkin.lua b/mods/farming/pumpkin.lua deleted file mode 100644 index 67ecb9c5..00000000 --- a/mods/farming/pumpkin.lua +++ /dev/null @@ -1,346 +0,0 @@ - ---[[ - Big thanks to PainterlyPack.net for allowing me to use these textures -]] - -minetest.register_craftitem("farming:pumpkin_seed", { - description = "Pumpkin Seed", - inventory_image = "farming_pumpkin_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:pumpkin_1") - end -}) - --- pumpkin -minetest.register_node("farming:pumpkin", { - description = "Pumpkin", - tiles = { - "farming_pumpkin_top.png", - "farming_pumpkin_top.png", - "farming_pumpkin_side.png" - }, - groups = { - choppy = 1, oddly_breakable_by_hand = 1, - flammable = 2, plant = 1 - }, - drop = { - items = { - {items = {'farming:pumpkin_slice 9'}, rarity = 1}, - } - }, - sounds = default.node_sound_wood_defaults(), -}) - --- pumpkin slice -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 = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - on_punch = function(pos, node, puncher) - node.name = "farming:jackolantern_on" - minetest.swap_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 = default.LIGHT_MAX - 1, - paramtype2 = "facedir", - groups = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - drop = "farming:jackolantern", - on_punch = function(pos, node, puncher) - node.name = "farming:jackolantern" - minetest.swap_node(pos, node) - end, -}) - -minetest.register_craft({ - output = "farming:jackolantern", - recipe = { - {"", "", ""}, - {"", "default:torch", ""}, - {"", "farming:pumpkin", ""}, - } -}) - --- scarecrow -local box1 = { - {-1, -8, -1, 1, 8, 1}, -} - -local box2 = { - {-1, -8, -1, 1, 8, 1}, - {-12, -8, -1, 12, -7, 1}, - {-5, -2, -5, 5, 8, 5} -} - -for j,list in ipairs(box1) do - for i,int in ipairs(list) do - list[i] = int/16 - end - box1[j] = list -end - -for j,list in ipairs(box2) do - for i,int in ipairs(list) do - list[i] = int/16 - end - box2[j] = list -end - -minetest.register_node("farming:scarecrow", { - description = "Scarecrow", - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "facedir", - tiles = {"farming_scarecrow_top.png", "farming_scarecrow_top.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_front.png"}, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = box2 - }, - selection_box = { - type = "fixed", - fixed = { - {-12/16, -1.5, -0.5, 12/16, 0.5, 0.5} - } - }, - groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, - - after_place_node = function(pos, placer) - local node = minetest.get_node(pos) - local param2 = node.param2 - pos.y = pos.y+1 - if minetest.get_node(pos).name ~= "air" then - pos.y = pos.y-1 - minetest.remove_node(pos) - minetest.after(0.1, function(placer) - local inv = placer:get_inventory() - local index = placer:get_wield_index() - inv:set_stack("main", index, ItemStack("farming:scarecrow")) - end, placer) - return - end - minetest.set_node(pos, node) - pos.y = pos.y-1 - node.name = "farming:scarecrow_bottom" - minetest.set_node(pos, node) - end, - - after_destruct = function(pos, oldnode) - pos.y = pos.y-1 - if minetest.get_node(pos).name == "farming:scarecrow_bottom" then - minetest.remove_node(pos) - end - end -}) - -minetest.register_node("farming:scarecrow_bottom", { - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "facedir", - tiles = {"default_wood.png"}, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = box1 - }, - groups = {not_in_creative_inventory=1}, - selection_box = { - type = "fixed", - fixed = { - {0, 0, 0, 0, 0, 0} - } - } -}) - -minetest.register_craft({ - output = "farming:scarecrow", - recipe = { - {"", "farming:pumpkin_face", "",}, - {"default:stick", "default:stick", "default:stick",}, - {"", "default:stick", "",} - } -}) - -minetest.register_node("farming:scarecrow_light", { - description = "Scarecrow With light", - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "facedir", - light_source = LIGHT_MAX-2, - tiles = {"farming_scarecrow_top.png", "farming_scarecrow_top.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_side.png", "farming_scarecrow_front_light.png"}, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = box2 - }, - selection_box = { - type = "fixed", - fixed = { - {-12/16, -1.5, -0.5, 12/16, 0.5, 0.5} - } - }, - groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2}, - - after_place_node = function(pos, placer) - local node = minetest.get_node(pos) - local param2 = node.param2 - pos.y = pos.y+1 - if minetest.get_node(pos).name ~= "air" then - pos.y = pos.y-1 - minetest.remove_node(pos) - minetest.after(0.1, function(placer) - local inv = placer:get_inventory() - local index = placer:get_wield_index() - inv:set_stack("main", index, ItemStack("farming:scarecrow_light")) - end, placer) - return - end - minetest.set_node(pos, node) - pos.y = pos.y-1 - node.name = "farming:scarecrow_bottom" - minetest.set_node(pos, node) - end, - - after_destruct = function(pos, oldnode) - pos.y = pos.y-1 - if minetest.get_node(pos).name == "farming:scarecrow_bottom" then - minetest.remove_node(pos) - end - end -}) - -minetest.register_craft({ - output = "farming:scarecrow_light", - recipe = { - {"", "farming:pumpkin_face_light", "",}, - {"default:stick", "default:stick", "default:stick",}, - {"", "default:stick", "",} - } -}) - --- 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 -}) - --- pumpkin definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_pumpkin_1.png"}, - paramtype = "light", - sunlight_propagates = true, - waving = 1, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:pumpkin_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_pumpkin_2.png"} -minetest.register_node("farming:pumpkin_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_pumpkin_3.png"} -minetest.register_node("farming:pumpkin_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_pumpkin_4.png"} -minetest.register_node("farming:pumpkin_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_pumpkin_5.png"} -minetest.register_node("farming:pumpkin_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_pumpkin_6.png"} -minetest.register_node("farming:pumpkin_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_pumpkin_7.png"} -minetest.register_node("farming:pumpkin_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_pumpkin_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:pumpkin_slice 9'}, rarity = 1}, - {items = {'farming:pumpkin_slice 4'}, rarity = 1}, - } -} -minetest.register_node("farming:pumpkin_8", table.copy(crop_def)) diff --git a/mods/farming/raspberry.lua b/mods/farming/raspberry.lua deleted file mode 100644 index 686ea5a7..00000000 --- a/mods/farming/raspberry.lua +++ /dev/null @@ -1,74 +0,0 @@ -minetest.register_craftitem("farming:raspberry_seed", { - description = "Raspberry Seeds", - inventory_image = "farming_raspberry_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:raspberry_1") - end -}) - --- 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"}, - } -}) - --- raspberries definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_raspberry_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:raspberry_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_raspberry_2.png"} -minetest.register_node("farming:raspberry_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_raspberry_3.png"} -minetest.register_node("farming:raspberry_3", table.copy(crop_def)) - --- stage 4 (final) -crop_def.tiles = {"farming_raspberry_4.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:raspberries 2'}, rarity = 1}, - {items = {'farming:raspberries'}, rarity = 2}, - {items = {'farming:raspberries'}, rarity = 3}, - {items = {'farming:raspberry_seed 4'}, rarity = 1}, - } -} -minetest.register_node("farming:raspberry_4", table.copy(crop_def)) diff --git a/mods/farming/rhubarb.lua b/mods/farming/rhubarb.lua deleted file mode 100644 index aaf50866..00000000 --- a/mods/farming/rhubarb.lua +++ /dev/null @@ -1,70 +0,0 @@ -minetest.register_craftitem("farming:rhubarb_seed", { - description = "Rhubarb Seeds", - inventory_image = "farming_rhubarb_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:rhubarb_1") - end -}) - --- 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), -}) - --- rhubarb pie -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"}, - } -}) - --- rhubarb definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_rhubarb_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:rhubarb_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_rhubarb_2.png"} -minetest.register_node("farming:rhubarb_2", table.copy(crop_def)) - --- stage 3 (final) -crop_def.tiles = {"farming_rhubarb_3.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:rhubarb 2'}, rarity = 1}, - {items = {'farming:rhubarb'}, rarity = 2}, - {items = {'farming:rhubarb_seed 2'}, rarity = 2}, - {items = {'farming:rhubarb'}, rarity = 3}, - } -} -minetest.register_node("farming:rhubarb_3", table.copy(crop_def)) diff --git a/mods/farming/screenshot.png b/mods/farming/screenshot.png deleted file mode 100644 index aba30f016aae3e97daa01c0793c2b8468a921880..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42499 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νDV(0f4oRX)Eyy2k1#kox* zD59mAbUdP3l}P_d>7@sn%Lm#J{0axr;zb2)SvT)6ZXK}*DnCh%G@SBFzkYD(4eIC& z{0CzcAiM+YaAm((KuC-I4TcTT%fGKU*M~ER0kB}uxM595tVCY+DPjWjMQ$F*phajq7)aVenvEUF8val6nAQltVcTk+qV0XU0V=$D>nfKudeg5-1 z089p{2QCG=^*vmY4j^T4TD1HPtPh59rGYbQwSPWny?3ki}_oDz^#F$sIuDclk$z}W0R4>TrjsN%Y{{8!Ra45ve z%RXD4QdC;(P+>o8V_;dg*z6fD{iQ{EX}a_;wPJtp(0}X>!~2{2AiAZc8}ldx&3Mxt zrjLMS`wpq=5@hK4FzgQxf`uePiG{G;uPHXugUjz(=>ppccDo+7gXYrUlz6rfS*MH9 zh@K)3i^TE#+gYn^r7D6FOU24AzfbE{PZQZcJ&IH>84PHWR@6k4f>dy@EJB=fJt6fu z(yNhw#FVkXp{3||9JYjQceXV8M>;am>-8$|B?m7;6p>mSG_b&7iG zS;hNn!6d|ZhflsmSQg5+(9lWW9@E5FxgXL}oD?8I;BPM>Tt7XD6=GLv?!4;CwrV!+ zUI^DlTc{-wk?L3P=L|a|Na1M$t0VC9BOO#pI z5$aBJGLS%a=DA{IGw#w7sspiZLL*@`(88BL01)1c`-AcQ&Gg}pmb$&a0|>LnflDf} zZOjzt6xNun00@h6utD+p`dSWzJRQ{O`|D;1Zv1-@qK!(;)~Unic#6HE6I?F65R0ZK zB}%O#;aL`;m|hVQfVf69U>Jrdn>2 zIU)l%1=tk#JLV@O3s0vQoJz{>#*+XXij27UT3}U~L$d;rihkFSq>^~uXs+-CRTy=z zLwF_Vrc4$d4|juptRk$8?+~eWH+;;-_xJa>#_H(){?5mR$5A8R-$MVZ`!prL&(nH`-!X>icyg@^ExbRs>nEq$mx5HBxDw%(}1E1BqVVV zMd^a3sL>=t6u2sc0Rx*&hq!t=YfqyaK1oRp8v!*FkMjAJw#H-p(K7`FhQc_-S!e7h zTG}BDL3-lRjG-~R@)TjTl(K^neh}2Fy~JZCIs^kG^gV%Kpg;^z`Q;J(;NLY@#!RPo z0oh>qkhB~NgFyYen}<0g)M*P%7UdUC$>)eiSv*%5zCXVch8eXIib2Hg0t%3N zw*3r;?3#6A4-F0ygwcG$MogDj7)hbp5i0~438(z-u0Lp}hqMVZ?8o!@P+PBQ9Q6l? z)$QalCXZ0AZp℞1^eq+rXb`F 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 0 and v) or -v -end - -erf_inv = function(x) - - if x == 0 then return 0; end - - if x <= -1 or x >= 1 then return nil; end - - local y = math.log(1 - x * x) - local u = C + 0.5 * y - local v = math.sqrt(math.sqrt(u * u - D * y) - u) - - return (x > 0 and v) or -v -end - -local function std_normal(u) - return ROOT_2 * erf_inv(2.0 * u - 1.0) -end - -local poisson -local cdf_table = {} - -local function generate_cdf(lambda_index, lambda) - - local max = math.ceil(4 * lambda) - local pdf = math.exp(-lambda) - local cdf = pdf - local t = { [0] = pdf } - - for i = 1, max - 1 do - pdf = pdf * lambda / i - cdf = cdf + pdf - t[i] = cdf - end - - return t -end - -for li = 1, 100 do - cdf_table[li] = generate_cdf(li, 0.25 * li) -end - -poisson = function(lambda, max) - - if max < 2 then - return (math.random() < math.exp(-lambda) and 0) or 1 - elseif lambda >= 2 * max then - return max - end - - local u = math.random() - local lambda_index = math.floor(4 * lambda + 0.5) - local cdfs = cdf_table[lambda_index] - - if cdfs then - - lambda = 0.25 * lambda_index - - if u < cdfs[0] then return 0; end - if max > #cdfs then max = #cdfs + 1 else max = math.floor(max); end - if u >= cdfs[max - 1] then return max; end - - if max > 4 then -- Binary search - - local s = 0 - - while s + 1 < max do - - local m = math.floor(0.5 * (s + max)) - - if u < cdfs[m] then max = m; else s = m; end - end - else - for i = 1, max - 1 do - if u < cdfs[i] then return i; end - end - end - - return max - else - local x = lambda + math.sqrt(lambda) * std_normal(u) - - return (x < 0.5 and 0) or (x >= max - 0.5 and max) or math.floor(x + 0.5) - end -end - --- Error function. -statistics.erf = erf - --- Inverse error function. -statistics.erf_inv = erf_inv - ---- Standard normal distribution function (mean 0, standard deviation 1). - -- - -- @return - -- Any real number (actually between -3.0 and 3.0). - -statistics.std_normal = function() - - local u = math.random() - - if u < 0.001 then - return -3.0 - elseif u > 0.999 then - return 3.0 - end - - return std_normal(u) -end - ---- Standard normal distribution function (mean 0, standard deviation 1). - -- - -- @param mu - -- The distribution mean. - -- @param sigma - -- The distribution standard deviation. - -- @return - -- Any real number (actually between -3*sigma and 3*sigma). - -statistics.normal = function(mu, sigma) - - local u = math.random() - - if u < 0.001 then - return mu - 3.0 * sigma - elseif u > 0.999 then - return mu + 3.0 * sigma - end - - return mu + sigma * std_normal(u) -end - ---- Poisson distribution function. - -- - -- @param lambda - -- The distribution mean and variance. - -- @param max - -- The distribution maximum. - -- @return - -- An integer between 0 and max (both inclusive). - -statistics.poisson = function(lambda, max) - - lambda, max = tonumber(lambda), tonumber(max) - - if not lambda or not max or lambda <= 0 or max < 1 then return 0; end - - return poisson(lambda, max) -end - -return statistics diff --git a/mods/farming/strawberry.lua b/mods/farming/strawberry.lua deleted file mode 100644 index 919a8e8f..00000000 --- a/mods/farming/strawberry.lua +++ /dev/null @@ -1,133 +0,0 @@ --- [ strawberrys from github.com/tenplus1/farming ] --- --- Strawberry (can also be planted as seed) -minetest.register_craftitem("farming:strawberry_item", { - description = "Strawberry", - inventory_image = "farming_strawberry.png", - wield_image = "farming_strawberry.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:strawberry_1") - end, - on_use = minetest.item_eat(1), -}) - --- added by illuna -minetest.register_craftitem("farming:strawberry_seed", { - description = "Strawberry Seeds", - inventory_image = "farming_strawberry_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:strawberry_1") - end, -}) - --- Define Strawberry Bush growth stages -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_strawberry_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, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults(), -} - ---stage 1 -minetest.register_node("farming:strawberry_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_strawberry_2.png"} -minetest.register_node("farming:strawberry_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_strawberry_3.png"} -minetest.register_node("farming:strawberry_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_strawberry_4.png"} -minetest.register_node("farming:strawberry_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_strawberry_5.png"} -minetest.register_node("farming:strawberry_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_strawberry_6.png"} -crop_def.drop = { - items = { - {items = {"farming:strawberry 1"},rarity = 2}, - {items = {"farming:strawberry 2"},rarity = 3}, - } -} -minetest.register_node("farming:strawberry_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_strawberry_7.png"} -crop_def.drop = { - items = { - {items = {"farming:strawberry 1"},rarity = 1}, - {items = {"farming:strawberry_item 2"},rarity = 3}, - } -} -minetest.register_node("farming:strawberry_7", table.copy(crop_def)) - --- stage 8 -crop_def.tiles = {"farming_strawberry_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {"farming:strawberry 2"},rarity = 1}, - {items = {"farming:strawberry_item 3"},rarity = 3}, - } -} -minetest.register_node("farming:strawberry_8", table.copy(crop_def)) - --- growing routine if farming redo isn't present -if not farming or not farming.mod or farming.mod ~= "redo" then - -minetest.register_abm({ - nodenames = { - "farming:strawberry_1", "farming:strawberry_2", "farming:strawberry_3", - "farming:strawberry_4", "farming:strawberry_5", "farming:strawberry_6", - "farming:strawberry_7" - }, - neighbors = {"farming:soil_wet"}, - interval = 9, - chance = 20, - catch_up = false, - action = function(pos, node) - - -- are we on wet soil? - pos.y = pos.y - 1 - if minetest.get_item_group(minetest.get_node(pos).name, "soil") < 3 then - return - end - pos.y = pos.y + 1 - - -- do we have enough light? - local light = minetest.get_node_light(pos) - - if not light - or light < 13 then - return - end - - -- grow to next stage - local num = node.name:split("_")[2] - - node.name = "farming:strawberry_" .. tonumber(num + 1) - - minetest.swap_node(pos, node) - end -}) - -end -- END IF diff --git a/mods/farming/sugar.lua b/mods/farming/sugar.lua deleted file mode 100644 index efc92efd..00000000 --- a/mods/farming/sugar.lua +++ /dev/null @@ -1,14 +0,0 @@ - ---= 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", -}) \ No newline at end of file diff --git a/mods/farming/textures/farming_baked_potato.png b/mods/farming/textures/farming_baked_potato.png deleted file mode 100644 index 425c4ae333ad4629fac7095108ebc6fc043656af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmV-H0lxl;P)o#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` TQlETq00000NkvXXu0mjfmmPPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m_e01m_fl`9S#00007bV*G`2iyoB z5CbCwPWwFo00DzZL_t(I%cYXdD@0Kkho5urU}hsb*(eKkV`D2j zd;i8PZIot3N!h3=+fjG0n1#r3XE=bYbj-rn;FDJ4$pY-<&l z({ONckmdatic^587CLtf2!@US0g5G@4Dn!NfY+Nup@ZR`4vyAG{si!tDhiDSz~p!w z`Fw@BIq}=+%ZJAdHV*|rf0sr&p5i=t!tL%DPdhUe!^v$QrYccnrnKh*@YFZ+VnO=+ zf`%52+|D!~o;T_=ANP01sOAl}o#Q!uOE8>bzRd%G*KeSB{YHs4w`9v?UPvo@jVqTY z6J5cbkK%gIku(g__gNOETFU=ID4-KQO~|1>jn1ZCA{To?sj{h772ZFqv4lX=+hxLt z0f^$mKUD7T(s(i9=qiHV-63o0o2b)#JYKGmipTg4^C4Qxdk_lf#iayLtv8e^8-W{3 z2mrFwic$YzWs$xi747o+4e=`zLjk>XU`dtX*{CRY?+bQ;r%1TN|Ahbm002ovPDHLk FV1iwP-J}2j diff --git a/mods/farming/textures/farming_banana_leaves.png b/mods/farming/textures/farming_banana_leaves.png deleted file mode 100644 index cf8eecbf1251e08347e964853dabed27c627c9c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{Fww*V5f^YV91b zkZVMVV`)i7ei6gUb!R+)LR=+4A?N&p%A(Blj1q=5{Aa9yqI_V{qSVBa%=|oslFZyx z2Gj5SoIn{)kW6rXT1k0gQ7S`h!GDl)Zjhi$W^r;(B2Z}&!}bGP`hmh6AmQ-DqP)z! zbcO@c&)R`v>=6B>MaiiQU;j71hADH-&&^HED`EI{X4-zB7#m1gNM=b+D#MC*m(+nG zKRjI=Lo9mNPBP3sY#`7&-$#gJp{C+&Ly0c#s4Xck?Jw4Un`9r5EFh7qq;iyF$$`=g z|B0Km@&#=QFO`4y6A-l97jbT=B~E zd_O;bN8SH~H@zqHXF6rhKLz3xYk)|@-0-_^MPE{EQuf?NCdwPs1JIq_M( zT6xN}Dk&pf9Jf8hUt7<1gZRASkVVs7fs)D#-Al Ze$|J$Odc;*=K#Zi!PC{xWt~$(697ur;#U9w diff --git a/mods/farming/textures/farming_banana_sapling.png b/mods/farming/textures/farming_banana_sapling.png deleted file mode 100644 index 821c64ff374ad182b4b0bb87d4a4f7a44b450430..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 647 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{FwwmonjgZoD2W ziU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~uJ4AnJQF1E7*Z+aL#|S@MTYn?|&dS>`lg!Z}QV+jMQ$iTEsS=XHB!xDhR)^ zGb6E7kSje>`SAbd%MuT`zJ@&gw^+LCovDcanR_daZFs2Aq<`l0!Gv|If6Z@fY&>`} z;_v>(SGsJ>SEDuT5?uP-)RVvd|FdTg&ujiUi6us1|NnozZqJryrq;H8|3AYydunD2 z+HwT&SeVTH`2X^C9v|Ms~&PkjBq)CXzl$1*t??jF*;>6opb0}L+)Pgg&ebxsLQ0A8N` Am;e9( diff --git a/mods/farming/textures/farming_barley.png b/mods/farming/textures/farming_barley.png deleted file mode 100644 index ca929e0e0cfa7852ad952325191cf22bb215e6eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vt8QkVR*;faoT6uuoM(kr zO1XY$gGy9`ZbXA|RHshnEYsXsE)CP{)=ai+K4N`gbKt`>eM`@`MFO=mmIV0)GdMiE zkp|=>db&7tSePLZmF-$ zXkB{w_sm^~RA+u?6=jw_w&a#zK gim|o1v@x(Tuxw?xnXsmG6;KU>r>mdKI;Vst0HOCHn*aa+ diff --git a/mods/farming/textures/farming_barley_2.png b/mods/farming/textures/farming_barley_2.png deleted file mode 100644 index 96610c2f9f4e98fa44990ef6d947acffe15fc04c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aH3Ty9nYpI%TF&BQ*eqX@bbU` tfkOw_QWy#qoST`LnRg30FKA|DW-#bt7Ex>w{sq*<;OXk;vd$@?2>^5&Ctd&m diff --git a/mods/farming/textures/farming_barley_3.png b/mods/farming/textures/farming_barley_3.png deleted file mode 100644 index ef14b5b321603ee5d643ab99f571187ab1f8985a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs{@c>!@v~Ez?;R)P|IZ5 z#LGIFFSL%|x|@?>nP6f!ul;;MyH&hdi&=HHaWb6XV!6wZa$#mWP#0rKkY6x^!?PP{ zK#q^6i(`ny<+DA3d<_O1&fLLfZF%?pZ|U3U@|g3<;!54j#`?S8c&Es{)8`er{%on( z$*2F7clNJb#I;dn!&O7Ao>RwuZ!xkE_B$2h{*=wxlQG1&$~_EdE`z75pUXO@geCxA C(Lojf diff --git a/mods/farming/textures/farming_barley_4.png b/mods/farming/textures/farming_barley_4.png deleted file mode 100644 index f7c90544fff9159878eef2d06988e7ffad86f9b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs{;cAn*#$+AcJZ=19J|G zXcY%XFE7JlZCka&oc;91V{HGd>)EEBd(gaO?w+Ox z%Px0@)J-_>YT3=BCq&(DI=`Qo*X3T^dTNpIl*O*nm%?2wcl!w3W)tK+@c1m-%p+Va a1&j;+F=gf&UE2?|i^0>?&t;ucLK6V)PEErA diff --git a/mods/farming/textures/farming_barley_5.png b/mods/farming/textures/farming_barley_5.png deleted file mode 100644 index 68c0d683934b8b164bb092a1bbf61e83d453b49b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs{;drh%|$|4uhH@gT6h3 zsTYG+DsxaCS9CRZYCCsEFGIm}o{GhSWy=|wHZyb|WSDx1p?UhH*+A`#B|(0{3=Yq3 zqyagFo-U3d5|`)pIEo!n;BXGsW?E$M-Tv)@x2IAgKOFMs_)z+YWwZQ)>*v1Q`N6o$ zFM8qzUz!}?^t*>W5IQwj;($Zl9o(Z r6DH)tmv=Yr|a zayO=|{uSMpJDG21lg^7PrRTqS%gHJ}{Jg{EQ}gGVtOE-0HBL7-F7HFLCz(d%UNvHN`jx>Nu3N;S8}{Yop`!|-@qsL?g3~S5 Rw*y_p;OXk;vd$@?2>`@0V5tBA diff --git a/mods/farming/textures/farming_barley_7.png b/mods/farming/textures/farming_barley_7.png deleted file mode 100644 index 1c636afbea800b2748fade6f1718ddffc5b375f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs{;cA8y|y+EQ7Q2S>qlrZtl-D_1cz?qI#JIq>0`zGL6|m4MnAOM?7@862M7 zNCR>vc)B=-NL+U9jTB;0b-o$zCufKIhy-Ad!ofgNPTR&d?y8r9L>$kV2uPIKJ zuXW7((YNx0^&JkwocX&xx8*$TVO<=-X8UmJEFSrTk^Q#}oMQy0 zWlGVl0vCOQwc##YSB{GsURuafxoRQLmgwnm4pz;-8Eu|0Znv7icEgTe~DWM4fHVR=7 diff --git a/mods/farming/textures/farming_barley_seed.png b/mods/farming/textures/farming_barley_seed.png deleted file mode 100644 index 2f00a20af9e02653dff065ad6897fc40a3cb7ddd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ%`eK$=rqflXjL-9wrzv^ zgq=at_QsgAU-=7Ez*rLG7tG-B>_!@pqvh%17{YNqIpF})q(mO~5HqfX;s&D`EDwC9 pB?!!9I?|=kwwf`9lX)TogWzmtuh%D{b^>)Vc)I$ztaD0e0svrzE2sbf diff --git a/mods/farming/textures/farming_beanbush.png b/mods/farming/textures/farming_beanbush.png deleted file mode 100644 index 637e7162d46a9bf193f8b400c076ad7156a2958a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeXEjDCq&)JYRO?Yba4#fxUPEIkc-Jtz~y58 z?Y`O{dcG z;=kW33gm8XwEOwXJJr+dU2pBCO~;osEtB4(%-+3yQB07poMuJwDS^qE=1Yz-&i={R YZovOR;>fG%KeyY002ovPDHLkV1gyTi>&|v diff --git a/mods/farming/textures/farming_beanpole_1.png b/mods/farming/textures/farming_beanpole_1.png deleted file mode 100644 index ef2bd5abe14f6a13a035f901d2ecc7d749335014..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvi2$Dv*Te#b93PQ3ACZ<=iL`0L zISWJzmWh^c5IdzH7YbCvSQ6wH%;50sMjDXQ;pyTSqH(@;;z8bK0|A!r=hS`*WgKW^ z3(#7?GTnjm<$qQtmD`IwJ|3RtW_7m8e^>u%+k*^$SQoflC{AJ9@L#Oypm@~7ScX0B z6P$0cak@`p+w=4P7v>1rBf?x9ItSM0Fa)!zeXHw}mgd`VuYB)Trk>e9V$MgX+zqeF nJ32cltS)7B(we|7^&5;%AK3h5RvMlKx{1Nl)z4*}Q$iB}1btSk diff --git a/mods/farming/textures/farming_beanpole_2.png b/mods/farming/textures/farming_beanpole_2.png deleted file mode 100644 index 34143e470fa2e7762acddb6d6ec296fe18ef0f3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvi2$Dv*Te#b93PQ3ACZ<=iL`0L zISWJzmWh^c5IdzH7YbCvSQ6wH%;50sMjDVa&(p;*MB{wxL_@yA3Oug82UC5cOP8O# zVET%4Ps;Wpp?CJ87gzDcPkqJMss6xTdXc|juP8Hv9rJ>wghSfg4Ik`T54MK;wB8YA z@K?Cxj^qMcWT|5sV*baT(%Nj-0tJp9l*>z23d9tM_gJVym?I+_Dr%HZkh K=d#Wzp$PyKw_sTS diff --git a/mods/farming/textures/farming_beanpole_3.png b/mods/farming/textures/farming_beanpole_3.png deleted file mode 100644 index d693f17090f63db73650a55b8691dac267d39b5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvi2$Dv*Te#b93PQ3ACZ<=iL`0L zISWJzmWh^c5IdzH7YbCvSQ6wH%;50sMjDW_-_yl0MB{wx#Jzln40u}RUQyGwenJ4$$`Ixl}+Uz z3=-Pb%1_RH$Z_1uS$SSoxSF&|hxnX~K*w1uX(G7?YXfIWOxa(S&TDjDa>r`UqHc%K z37j5F%ul|TX>l{YlI||kG^w%CLh`De+(VG;L^B|S6B st5l*^=(wKmXxfyNe(uB!^}PqVlPtueObpeefL>wnboFyt=akR{0Ota4WdHyG diff --git a/mods/farming/textures/farming_beanpole_4.png b/mods/farming/textures/farming_beanpole_4.png deleted file mode 100644 index c779b254c52345ce2dea0642ce8e5243a98b19a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmV-p0i6DcP)g)3qH~!@pMDPF=b)wCZL!P*y-lNS)l1Qq*s88!Ho^lN41K z$D5z-z4wa`;C~FL>3>SE(8Aq;%{^p8?5I_HkWiv1;nbf`R+}tk8-C7NNWI9`6E@%Q zt3&BwS$X}*+WA?A`cdI?Ru@g#a>F+3=;80Kooc?zSj4|mZTmka@E@i)#-dq3x002ovPDHLkV1l^F BlU4u# diff --git a/mods/farming/textures/farming_beanpole_5.png b/mods/farming/textures/farming_beanpole_5.png deleted file mode 100644 index 910f8a07d54f862539b2877ce6a389c4120c7bcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmV-n0iOPeP)00DGTPE!Ct=GbNc008kxL_t(2 z&s~wRPQx$|h8_2gI9m$pZb~b}hLAe28G@x|J0e$g-y%!)Ac0V~sOpf%#X^X?^tSt? z`~CS&slU=nR!*~Q0?_HXx*!%?(T77QfduG`zN;rAV-^k*&{r=;_T6XmKJH~GUcdHU zfZ@&h)g%I+VJ*Q?Z?TkLiKhsaP(@$GB1l!Z9gTKE1FbSU$08vl@Uamh&4WU<8W>at zi53jPuFeS`8FV_PmzLi=vfK_>`y+$Jnev#i7}&2?nHifkHsuw~J%gf8Yju`KBDOgZ zFW|`op>sF?pu`r_efi!N2FVdQ&MBb@0Np=DHvj+t diff --git a/mods/farming/textures/farming_blueberries.png b/mods/farming/textures/farming_blueberries.png deleted file mode 100644 index b0c493195c4b46e5196221e5f0c49b7cf16adbe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRRD?FGDuXi$VD)y%x2Nu z%@EKjnzcu)@s{-NqaT5?j3q&S!3+-1ZlnP@=AJH&Asp9}6ArM=;90=a@1mh>BdEnV 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 diff --git a/mods/farming/textures/farming_blueberry_2.png b/mods/farming/textures/farming_blueberry_2.png deleted file mode 100644 index 308a0caf006a7d617319c7cc98453d7a36d8e55b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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; diff --git a/mods/farming/textures/farming_blueberry_4.png b/mods/farming/textures/farming_blueberry_4.png deleted file mode 100644 index 75fb69a0ee637f2bcfd309bd8b3c1e8ddd049559..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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~& diff --git a/mods/farming/textures/farming_bottle_ethanol.png b/mods/farming/textures/farming_bottle_ethanol.png deleted file mode 100644 index 84e6162de837acf5f930477d9c6ee8877d35229f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_carrot_1.png b/mods/farming/textures/farming_carrot_1.png deleted file mode 100644 index bbeae7e8a3ca2915c4b76dba28933e95a6ebdc0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_carrot_2.png b/mods/farming/textures/farming_carrot_2.png deleted file mode 100644 index b24ecc05049160fe0965788b1c5b767530ae92b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_carrot_3.png b/mods/farming/textures/farming_carrot_3.png deleted file mode 100644 index 840050570f0fb4f23654553e1a90026f3defe895..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u1cH&{<8$amx}2yUyKI| zGL{7S1v5B2yO9Ruh%YY?E4sHEZY|a0#z`0y85}S Ib4q9e00lT2M*si- diff --git a/mods/farming/textures/farming_carrot_4.png b/mods/farming/textures/farming_carrot_4.png deleted file mode 100644 index 32ee26245c9e8c2a2821d3fae65a911b4abdedbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_carrot_5.png b/mods/farming/textures/farming_carrot_5.png deleted file mode 100644 index 0bcd9c1e3baf7dcc4ce9c88dbf3dcfe4ca6dc1bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_carrot_6.png b/mods/farming/textures/farming_carrot_6.png deleted file mode 100644 index a17c6b2bbff968e6e4946726acf6442f54f92bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_carrot_7.png b/mods/farming/textures/farming_carrot_7.png deleted file mode 100644 index d26eee7cce6a0d6cc021517a73d615b470958d6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_carrot_8.png b/mods/farming/textures/farming_carrot_8.png deleted file mode 100644 index 00b6d92885e473fd0ca76295b14c1294559d9765..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_chocolate_dark.png b/mods/farming/textures/farming_chocolate_dark.png deleted file mode 100644 index 03243b274bcacd462e39b4042b2c364fbdee6007..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_cocoa_1.png b/mods/farming/textures/farming_cocoa_1.png deleted file mode 100644 index f887a1fb1b758229c763a7f60d4bd15436877b8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VYl>^Oil2&hvcBVF6_gTe~DWM4f?R-~> diff --git a/mods/farming/textures/farming_cocoa_2.png b/mods/farming/textures/farming_cocoa_2.png deleted file mode 100644 index f0d393532509e2d9c2aae1735feff65735cafe99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_coffee_1.png b/mods/farming/textures/farming_coffee_1.png deleted file mode 100644 index 97c207a313610e5e4e8316d762ab75d8e8236aad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_coffee_2.png b/mods/farming/textures/farming_coffee_2.png deleted file mode 100644 index a659f851fd94fe9e9025d2ef700b41bb19714e01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_coffee_4.png b/mods/farming/textures/farming_coffee_4.png deleted file mode 100644 index 37a609f66d24cd61f8aed53098d2f0eb4a19578f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_coffee_5.png b/mods/farming/textures/farming_coffee_5.png deleted file mode 100644 index e624fbebe1129c5c884a7c3abd76d86350e62e8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_coffee_cup_hot.png b/mods/farming/textures/farming_coffee_cup_hot.png deleted file mode 100644 index f4fae904142e3ac14ccd50da6311f4074b9a2e9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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~ diff --git a/mods/farming/textures/farming_corn_5.png b/mods/farming/textures/farming_corn_5.png deleted file mode 100644 index 7b6fb02b707ae653e7b29c5b384271e3e94dd93f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_corn_6.png b/mods/farming/textures/farming_corn_6.png deleted file mode 100644 index 313697b90653b62819b4df7606ac80e65157911d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_corn_8.png b/mods/farming/textures/farming_corn_8.png deleted file mode 100644 index 77e442b09977c3945e4b2cd3aec4cbe34a897e6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_corn_cob.png b/mods/farming/textures/farming_corn_cob.png deleted file mode 100644 index a2fd9da7d09358e8ac76ea460d817656b5031c12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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*hl)xgG#>vCLxQk&%%X!6lKsg3aS3j3^P6N1~t zT7lw>B|(0{3=Yq3qyafno-U3d6^zLXSPYCdFr0Mfa%j5C=_!@pqwneB7{YNqd4UMW0SP{XHb$ow$z^Sx4T37?j~qC$fI-YC mC8cFmP*}r-9yd1!AqL+pCe=^OGu(k%89ZJ6T-G@yGywoue<@V} diff --git a/mods/farming/textures/farming_cotton_4.png b/mods/farming/textures/farming_cotton_4.png deleted file mode 100644 index f314b07b7e1968592fb8bf3f9fb592f4a6467010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=7hmI;G_XzVTY!9oC1Y zup|P77)yfuf*Bm1-ADs+Og&v3LpZJ{EAVbOAi-zQ#?;oq5F)ymnOS)P%j(3i1g4Y5 q%sbf$~F!A+hX*qB)6klZKoY&;i1vH7l)78&qol`;+0Mzd* A1ONa4 diff --git a/mods/farming/textures/farming_cotton_6.png b/mods/farming/textures/farming_cotton_6.png deleted file mode 100644 index f4bd4fb346ec9ee2a71696d9337723d2be7de8dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW^~o%3Ot#4jH=kbW9_ejT z5o;-L`KAjf%UBZR7tG-B>_!@pn!GVY2Kz8F^Aq7W=<|h7su7+0_ z%;(jgy1^6crYhviImc{Ej=$HGy^A(l>lC<3yg$co;R#@=OgfrXJV)k$6JL*(mP0PX<{vDId%2_RfQB-7 My85}Sb4q9e07KF(tpET3 diff --git a/mods/farming/textures/farming_cotton_8.png b/mods/farming/textures/farming_cotton_8.png deleted file mode 100644 index f835ba5b3f6f2c4d0e6c3f730be01e599dab7b6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=1BEstJygSFT*~H50Ya z6g2nMH80Iv29#hd3GxeOaCmkj4akZ0ba4#fxSrd&k+;Es=fIpT2I&tPJ~#^SGX#C- zlbP^;{Q{w$icL9n8i96(^{U|s@{S!nx`{Fen{H}v4KbMfXl0lD=7OY*ggmJ~bxxfl+I4L|LH_AoGby85}Sb4q9e09F4!`v3p{ diff --git a/mods/farming/textures/farming_cotton_seed.png b/mods/farming/textures/farming_cotton_seed.png deleted file mode 100644 index f1d5b8ab714e2f074b8136aac0d8dab88c0acc2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b^~o&sbXJcEvo6REsH=<@ zI$@IslwvFi@(X5gcy=QV$T9VFaSW+oOg_LkL)2l3Fmv-nh7LuY0}32s=^+P}PGejn t#^aEscx$0U1mmeR5eCVl4VN|87&b3ts&D#O@cf4Ux*d*m>!qJ?|+p;0iq>WL5F(thzheea+CfA~;T#88w zQaJ)zopr0F+lb?f?J) diff --git a/mods/farming/textures/farming_cucumber_1.png b/mods/farming/textures/farming_cucumber_1.png deleted file mode 100644 index e008fd12aef55c66f70a05c7d444c0ad69eca6d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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( diff --git a/mods/farming/textures/farming_desert_sand_soil_wet.png b/mods/farming/textures/farming_desert_sand_soil_wet.png deleted file mode 100644 index cffa955d6689ad88d675921a3e033256869343f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_donut.png b/mods/farming/textures/farming_donut.png deleted file mode 100644 index 8985299bb01d7abc91a4a81270891b52f0e933fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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% diff --git a/mods/farming/textures/farming_donut_apple.png b/mods/farming/textures/farming_donut_apple.png deleted file mode 100644 index 6dfe63d5980364e3abe99d0ec5168b03d247dd93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_flour.png b/mods/farming/textures/farming_flour.png deleted file mode 100644 index b1a97836efa64c2bf3867a9fe9155bd9247bc515..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=3%?e*ORd|D#8bUc7km z`}glRZ{F66&XcY3~p)~x=Jbv3`rdl*4ENZu5)^OeI1;7 z90c7vrgR#*oH}xYMdzqO&k~6>ZH_l?Na`>L@g^ELnKZU6P~z!nGWadpAi*&43dhd! T=tKX3CNp@t`njxgN@xNA6R|Z; diff --git a/mods/farming/textures/farming_grapes_1.png b/mods/farming/textures/farming_grapes_1.png deleted file mode 100644 index 64a935d27a6b088bfb71470cb180119014a75862..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*FXja7h@SObLkj&)ii%y z`H4FHMYc;DeAcuF>q)B$1C=qB1o;IsI6S+N2INfgba4#PIG>!rz+}eE$1af4&{(w9 z7@SE6XK-xcVmB#I_%Y43F_3|!aJ9s#hYwG!<7(m% yWz1o8C}%mq8o?XUShhhahcl2vguzijnnA2f{mewspshgHF?hQAxvXVS)S49Q}7h@SObLkj&)ii%y z`H4FHMYc;DeAcuF=cyL|1S(@J3GxeOaCmkj4anK*>EaloasKE8L;gbw0%4 zyU+22%6L|FC?7j!u`A;bb69=j%k$H`A3NsE*_*GZKmEI0xJY5kI^Cd}XB+qYy1wqa zN{%!`hO|PXrkbEo%Q_t=r%Ev?#l$lwg528AByYNy-}d#a4KL?D(+A3$uD&)}txI@+ zUrqjWJLs&+r|QS?-#NBEo|gXIg7VS)*Fpvc7h@SObLkj&)ii%y z`H4FHMYc;DeAcuFPx@566R3=_B*-tA!Qt7BG$7}gr;B5V#`(Du4EdW31X>N3wr=FE z7N2X~P^z+UYoDpW;}eTM@^}1WI(&Yc_@k{(F>kh;=<9!f7dPq0@sv2`lh19&6uQ@f743&i) z3a)In6}!GH>1gBqzW=`sG)iozuKD$<`P?s!j_gY5yN`;T_iBGBl=Bxa<*%Kw?2_AU zy(Jyfgx$Lg4yR-*#JryIxz<8tMT_mCDSk4R4FApT7HZl5weSlA`iQ~P)z4*}Q$iB} Dz?m zGaO1c8(c>vW=}02kt~mLJ*9w5tcO!@Z;nO)0004WQchCe3 zyAFad6vdRbj9uKj=-dIsu?ekpEP)^+i^LxQ{Q-@iZ5y?>%01i3&3Pq>J0ddak$msE z9nIr7n?M|LrBs!xKp>8oM<9rx(jyS*K!isi-X4+5TOra|e9Zgj?o!^$K$xmj#sOUT zLW6P-_>g}&7Hw0$vMW|cU5ZTivXA!YMsq(-(H^Z*x+)+Cb~!LZ76@^Y)KVRYcEExZ zKYQT6J=VxJtckkVOk?*2d-TulTu!iu&!ClQ!G$+21zLlKrW+4vYl(Gx#7TXQ$fe~q ct3P|Z09FVrZ1Y1n!TUtP)vW=}02kt~mLJ*9w5tcO!>C3E=z0004WQchCe( zvChIE6oqT>mX0jlS$^jZ);f|DejKl9qa9r|zJS#i(D>Lw8ZTGnY+nfH@MT#zc~zL0 z?0v3_lYeYRPvC!Pt!R>I?3+#=b8{_)9Iybk5fNvY? zLkNKGlqf|>U@&_v|0ELV4a6PDmO|(Nwp7n>tG4Vfb>RjxFdw^NB!XgzI>DdJJm5CSUBKI$KkmvW=}02kt~mLJ*9w5tcO!>C3E=z0004WQchCGx zv5vwp42F9OPBV64&vG|sps+?FxiA_vYBREccmWD8a3>xcN2iNZ?Cp;gfBu?=N*ZNz zH~)42x`f}u97^!Lan9{Gt^`6u2c1}#U^FdGw)G`|lk7($u>=a02MfGKtOflsbUfh| zy(gZSQ`%mq$F2lnm|Tc~IY19YQE?Grebwb6o+HHS1{Rn4)|A9(DJ%prT_Q_XQ7 zFX88Kt9(S~{JyU_@-2e5fFT=L`G_at=%wLnEiA3m9XKp}yc?U-b3E^E>?1RHGQwN3 t53GDBPd2FeT9ml(0q;Jd&Nlvhya0u2Fp(z*et-Y~002ovPDHLkV1h~pi$nkb diff --git a/mods/farming/textures/farming_grapes_7.png b/mods/farming/textures/farming_grapes_7.png deleted file mode 100644 index 9e70b6d559fe4dec85b6800cec67d983055021cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmV-s0h#`ZP)Gx zu};G<5Qc-X7@Jruc~l_ zlIF72b@mTCe|VXE2G2`t?bFg`z<}ejMFxYa!)R)kK{E?IC@~j6I&K;Q?8KmfR|3*W zlT4%>Q;e(g__5Bwccb;aryLwQOi|>BW`ufChYWhdl~96!P#n8*`f?9^F*duh(FQKH4IGy zu};G<5I_?Y+c#p#LX027O(y2OpAf;s%H3KVJ{HCC`5AQcZ(L2nJM-pHYY1=7B^a>lblh3^7@z}x#WRj`#Z z+s9ozVlLs7qj+e{IE;-)@daUoR6+KdEsOxe0QhU}a+eldP<9YdIh3Zye2Jg#TRdJ| z2(OOBV{lw#Qt}r)agEgU$RF%MO%J$wG}YCpQs(=}j`UlsG2P<6p5s^JVJT3s#|qwT wMwL!Zp5cLOjJ*IgnZ!LLvi{#AQFWow7c2#_-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 diff --git a/mods/farming/textures/farming_melon_6.png b/mods/farming/textures/farming_melon_6.png deleted file mode 100644 index b31a5b4c42108dd21eb2bad0bea009707f5f2e6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_melon_7.png b/mods/farming/textures/farming_melon_7.png deleted file mode 100644 index 3aebfdd6d6d9d11483acb45d81b10f914b1d958c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_melon_side.png b/mods/farming/textures/farming_melon_side.png deleted file mode 100644 index 88e40c6a08421585274e41b58ecd19c88cc0a567..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_melon_slice.png b/mods/farming/textures/farming_melon_slice.png deleted file mode 100644 index 6ee977577899412a6e1423c94cf160f1037e3c97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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*+? WGEAu4rZoWo0000Ar;(RaW8`SR)mPl|hrFz!>_54khoqck*kI;3#|sW7?O=-ryW zrjJB$9q6aRYFoHe)flzU`)-SdF(3+WsKA1%Ge7ml9zxid_M{MG=VmCBTt!~PVh5g& zUBr(d=Nh7*OHC)F^|9)cyRWwo0vc1EEPhV8a@w%ewA4Js_P#KFQWJ{8<{XxGg`f{3 z$};(^qkcgcaNzu~rWpzsDjDLCtB5VE`ziIZaMrPG^aQ1T%>G~)K_mcF3Yoa(XPAY2 zj)_s1K?iyX_>mA>IUF!PyQiFrVx?syjf`8p?XiLbKNXudn()x3O{N#E19)@8^-O(n|!GIcO!AN z116yw8^_7BJh>}>5dfT=cpM#F0uYTx=oxR*?oV;84hC78+L2_;<=QRKGuEsn2>=p( z&omUa2vyl!<~_WtYqH;dNH*K9j#D6&+LDq(1W1oID=I8c?+HLhf4x49JqFn+5=bgZpxP?2^k}aC+)-FF{cP%ed3A tSP;`RaGZkwJO45eSKp^x(&^(HeglP*dF1ONiW~p{002ovPDHLkV1mZI%hvz^ diff --git a/mods/farming/textures/farming_orange_4.png b/mods/farming/textures/farming_orange_4.png deleted file mode 100644 index accb7b7ff0375e4c88dbfabe23bdcb6e8fd8f946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460 zcmV;-0W?GYf z1;oLrLc0VZ(1wmBlY?I|jmgdZI33j1#H$8;rkD3U=XcKg;~d2W1IdIqj)TwV!>ZV9 zzyGOd0PXV7(h_BB`G;CDa|D}o8l|Sn-lQ%7ookkQxzsD4X1^+c@#SaYI1UGgMO;Tn zuVmG=4gg{XJdB;c6;950KHVWxAN!egcZSH~KG%Yl$?PrXbe<0000QL70(Y)*K0-AbW|YuPgf<4taigt)BV6I)OrxC9V-A&iT2y zsd*&~&PAz-C8;S2<(VZJ3hti10pX2&;y^_uo-U3d7N?W{{QqyytlH4o=yZT7{qMR4 zi&jgKtSyGhb7LF01qvh&vDV*}khlAF{=`{&Uq}D| diff --git a/mods/farming/textures/farming_potato.png b/mods/farming/textures/farming_potato.png deleted file mode 100644 index 6e91d6ae8949445d7edba0c3cc8c5f542e93b011..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmVOT3}^k{ zY@qj3^!${6!l?p2iXCp(TFw{nOg~_7P+p|k`JU7U1VdMGwZ@ri4C4A f`Yxd@-h2#9D@^8Jt}t~38q476>gTe~DWM4f8{R9! diff --git a/mods/farming/textures/farming_potato_2.png b/mods/farming/textures/farming_potato_2.png deleted file mode 100644 index c81830c40bcf17038f5b7e927a2779f9a63f2e6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_potato_3.png b/mods/farming/textures/farming_potato_3.png deleted file mode 100644 index a3d7920918e958a2283b9ded3ed89b32830827b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_potato_4.png b/mods/farming/textures/farming_potato_4.png deleted file mode 100644 index 405b7e56d71be2991d1330f58325f12b9c0934ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_potato_seed.png b/mods/farming/textures/farming_potato_seed.png deleted file mode 100644 index 74e440df3d7d786f430d8b9c583374d886b92cd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85s1GL71^(seKtxkiEpy*OmPahde(s>p{y|y+EN@PZ!4!i_^&o z5*Y_LlD|BU`jeiJkWlgKnKm;JIG_J?y61?*0hg8B5geKdPmFeObE(fym@;u%g2DB0 zwOcTQX!a9K2Q*+ou<>c>XqN*&TUK#LeWUHx3v IIVCg!0QfyfsQ>@~ diff --git a/mods/farming/textures/farming_pumpkin_1.png b/mods/farming/textures/farming_pumpkin_1.png deleted file mode 100644 index e5b9a2bf946b3957a96b53dc9c6c7d1b87183fe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_pumpkin_2.png b/mods/farming/textures/farming_pumpkin_2.png deleted file mode 100644 index d977e8c22021375b2d19f1e0fdba16ba159bfbe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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? diff --git a/mods/farming/textures/farming_pumpkin_3.png b/mods/farming/textures/farming_pumpkin_3.png deleted file mode 100644 index 83f81905173ce0e5c5e113435a0e758b0280416b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_pumpkin_5.png b/mods/farming/textures/farming_pumpkin_5.png deleted file mode 100644 index 59fa78eb0ebc9e5d8dc3b6989e3eeb22cb31eaec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_pumpkin_7.png b/mods/farming/textures/farming_pumpkin_7.png deleted file mode 100644 index 79190e09ec135158eee1ff6ccff404b3c09eed69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_pumpkin_8.png b/mods/farming/textures/farming_pumpkin_8.png deleted file mode 100644 index b941442cc236ebf2b29362ba98433dd05c6f9a0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_pumpkin_bread.png b/mods/farming/textures/farming_pumpkin_bread.png deleted file mode 100644 index 0dfae08fd83a2c6ee7a88c67adaceb5f2882215f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_pumpkin_dough.png b/mods/farming/textures/farming_pumpkin_dough.png deleted file mode 100644 index 62ea7a65ffadc1aac24e9c9fde35a25130509537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_pumpkin_face_on.png b/mods/farming/textures/farming_pumpkin_face_on.png deleted file mode 100644 index fa71c9d474c140e8b123c3da04fe468ad6d2846f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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-^ diff --git a/mods/farming/textures/farming_pumpkin_seed.png b/mods/farming/textures/farming_pumpkin_seed.png deleted file mode 100644 index 6933bc38e8a11650920f3bff1d16c80cc77ad543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^MdN zG&1ncRQO>F6yYrJh%9Dc;1&j9Muu5)B!GhKC7!;n>~}c$c=VZi`d=vng(OQ{BTAg} zb8}PkN*J7rQWHy3QxwWGOEMJPJ$(bh8~Mb6iY9xyIEGl9PX6=%zdf^RLuaGY0jA_T znU9hafZ)g9pT^8U(46+Y-fB04xWW^o9o!+O%nS?+j0`t?`Y8Oih7AbZVm1~m?|g5+ z=`0TqPftax1IL3R$%||&uGAfP&zjR%x;*lMeTcDgKDxKFNRRa>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` diff --git a/mods/farming/textures/farming_pumpkin_top.png b/mods/farming/textures/farming_pumpkin_top.png deleted file mode 100644 index 79283454ef1f0d5ab418e9c6366b49a5783c1579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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; diff --git a/mods/farming/textures/farming_raspberry_4.png b/mods/farming/textures/farming_raspberry_4.png deleted file mode 100644 index 32da6b9fb11cb9c6a88566d4b66c4cc1ea7a235f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_raspberry_seed.png b/mods/farming/textures/farming_raspberry_seed.png deleted file mode 100644 index 08c958d9e850647d0fcf2d9e033fcbce5b08f4dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x381$4un6YB1eHl=Yy~NYkmHiHfJTC)N`InAnpiqdXi(`nz>Er~7 zi~}6Wf6^0voIh~jK!M1q?T(WUv(L~dW#m?5ZHYP7^hEsF|G>ciYb7NlB&O>ot61`! wC}j+MP#<#TKSlF4stYMu@ilNf4KUKTW%b%HA czx*cqoJQtdn-4@818rmQboFyt=akR{0OU1RPyhe` diff --git a/mods/farming/textures/farming_rhubarb.png b/mods/farming/textures/farming_rhubarb.png deleted file mode 100644 index 7d416ab21b752b0d4c59c01e5abf428d1d072db1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_rhubarb_1.png b/mods/farming/textures/farming_rhubarb_1.png deleted file mode 100644 index 01585b1bee3fcf44ad3e39e1cd562728576e0616..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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( diff --git a/mods/farming/textures/farming_rhubarb_3.png b/mods/farming/textures/farming_rhubarb_3.png deleted file mode 100644 index b412f7e0105cdf29452d5c44e378ae73745dd3c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_rhubarb_pie.png b/mods/farming/textures/farming_rhubarb_pie.png deleted file mode 100644 index 1f77b535cc6a30729099d3ba2f1cbe7f2c8bdf08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_rhubarb_seed.png b/mods/farming/textures/farming_rhubarb_seed.png deleted file mode 100644 index c16527d99aac89382de0fae41f28262582683d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85s1GL71^(seKtxkiEpy*OmPahdiI5)Pm-fc0i$MPZ!4!i_^&o z5*Y_Lk~MO_{5*f)z=031FQ&5rL7VzccF9h|hRz`I4FW+9CsGTT-~G%_tkGWlX?|m4 zqvMa0vTmDV9J<^l9f+2k`rqJs?~x3ZCx;Y;dQE!$7;-V!Z diff --git a/mods/farming/textures/farming_scarecrow_front.png b/mods/farming/textures/farming_scarecrow_front.png deleted file mode 100644 index 364738fd6f3020f97686e0350c7b20cb01ebca52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 634 zcmV-=0)_pFP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z3pEH~gop+J00H_*L_t(I%cYXfY7o*UA3{&Q4t(G zMd^ZNMupAB;*x#+Lb(RmfbuX1EVqg&Q}R)ay`F(oEHkn$S%&2J+1Mut5gz!F;qY~pJoa|c^$q4Crm@?(;u!a#9`FIE!%sKVr zJi=BM09M7qSr>@P2Kji1?bk5*1S2FmPe3Sa$K~i-|Hgy8c7tgWv*uMX(_;`0Tl+%* zP7fw*byB(q69vBTkw-d0{NjW`mX?13FJHho2MQqlC zMTn1YpDp&Fdhv;Seuh*I7>#rTvf&7O!v|AwLWdH#53(SF!$Ao)-I1^FG; UvMH`M-~a#s07*qoM6N<$f{x1#`2YX_ diff --git a/mods/farming/textures/farming_scarecrow_front_light.png b/mods/farming/textures/farming_scarecrow_front_light.png deleted file mode 100644 index b4b3cf289b9525f2d4ae8004719a924434bb925a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcmV-{0)G98P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z3eCM9?yGOiu z+%jD1`TgH4`6;Hz&|0HYP$fXkA*7Ab8F_lnoA0eLf?B)hF)N*DWJzL`J&Ghk>Kvqv zaLOp1GtH=Gy*9a|U%yby12&*s3<9fE#uN$JAi`cuK`N#h+3AOjLyy1+3u(KozOEuI zMR67(tP<<*8f3$Se0a_@qegKAz}}xB&AU(x3XBu8_o{<11=4jfMZ&@M0K0OV?Cbt&SDS>+bOa0t#{?YW~;_1j+l4Ln9(i> zhsMhVV1fPMh(@qXJLs|+ECFz^Jz%pn<-sV9Xx1-^2*(AZ0cdX>(+HN?4~|$3mS}Gs zU;a?YO4Xl)`1tn8WDm;SPu%fRq;kM$WXUHz8DLjDFgXYXw#)l&{c41thdt)qG62mu z1rHFC{4_;+1C+18zc6NI_eYiepzge## b`A_`?RC(3*j&oOz00000NkvXXu0mjfqj(y4 diff --git a/mods/farming/textures/farming_scarecrow_side.png b/mods/farming/textures/farming_scarecrow_side.png deleted file mode 100644 index e22e84ba1dd15382c478abe92c35b03ffd9ba9f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 613 zcmV-r0-F7aP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z3pEq#;X&#E00HGmL_t(I%cYXfiqlXOhrfGsle9@2+Jab&2zD{dl)9MBJb~cC2XNs+ zpT~#s8QeOEf(}Jov?vw}g)mLpbn@?B7qy+VA_{)H1NS@p&bddtd^$4x;>F2V?gu%h zD$rV^b5Jgz8VG4)bU~Tl@ap4er=U(B_#C4%jdUee+o#GBq%J|)2&awGC3Qy)2jRZR z-@T=30ydyL3pPKsz*=rlrl9;V8WP7AvmP^=b^!_HHmCNZ|M0I(VsPDdab zU5eEL+wY;v9FXWD1);DVm&^CF+XNS*kWHG<^xBxs6$poFy?_Etu|@z@nju>OWfJ3b zdR&ac!x4sqknv=Oa6K?NmVbvI>m_%uGwhDLT`HiO3Z2C~><7R9!f+5GzJEYhB{EwQ z1{&%1$QKcI*QZ*=SiTRo$9Pg3VLX}9^xE4dX%0RhB;_(k`VlHnU`nLt0bsJ_{yl(r z{^ZQmk7&2he?>hS1P6x!@cPXc&QJS)l{aaE0;rDxaDLi9Sk#{hwhfLG?5JPqal`36 z-X<6h!h?s$?8NCj=JIOBv&U!q_`^YnRP00000NkvXXu0mjfYmf>R diff --git a/mods/farming/textures/farming_scarecrow_top.png b/mods/farming/textures/farming_scarecrow_top.png deleted file mode 100644 index 3a4addcd66f7399cedc6e9c415ff044c18ae5ec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 639 zcmV-_0)YLAP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn` z3p51=F2(u)00I9=L_t(I%YBniYZFlv#eeV3o0(=NGo%4&As{rXHl%`^euA!a*Nt1h zkDtV?Tm1rdBVwtdn1UEB1cJ#VGo3&0Jr`jnomf1(d%5>=IOkmP^7+_u4`rnRaFx@l zYt;Q3>iBWkYK(@1R{i?jXI`A20B}8-vJ3I%)kTZJ&F%7^p)5@vJPx4lFFY~tc@`H~ zU1E&E6rg;dyN8f2cJ+~}xZ`bc-t5RMO~}%O4_|JZrpXObO57;ISin>px?Y4*s$rF- z3F^~i*$7koO3)p^1yq1V;P??%=almVw^x8vTwZOpP-o)-S(?xZBFwidtZ;CY5Bd)2 z$5e|sPB+5s3CeX2z}a}Kh04-|(Qv@^WQsZfJ=a(-MRXlZI!6WpR_92si@P6Fu4Wwd zVkY35fXl z9iuB`zF-g=q~E8Q&2jfb^lFI{hTsM~Jw9x#RCPor6wd92!gvHQ;d!|tmC Z`~`sUMaIl#*FCAl<2 z*jzM4Ty?~h`4}A)c{PPt?KMP{c^Kt*n1q=bRCrk=xEU0986`OxWVslmco^k*nT44c z#Mwdm`4||0?gk==lYqvmax=(sFz88e+o=nSF))N!Dw)c0i7+sj$_sdC3VG;?gI%2B*-tAL5ssp zg-ugQ=JU=uj`9Nk{{8*_^zOAo%NAzE^8Wkr>FulM&mKK`aOcLA%jZt--?L|7TSI-Y zt)cF}e?Ncx`2PLeVafjvYCCXwRlio7S(M+S^r<9N}ZCe)ikpO+brY zd%8G=NL=n)e-CV|fjjVi!YBt~8j4oBq$NwtYo?c(at-|KQ;Z)*ex=iq0{<>owioXsq z1ik!ouD*J@sM%aW-=!Po+i&^w^w-O$1utxSnvFerlGdfq=U>%&>050@iqkdj*>7K8 zJlePNw(E6UM$dR}myBgQQ(tAd;k@w1$+=w<)GdgYQ#>vo>l>7bDJ MboFyt=akR{09AqB)&Kwi diff --git a/mods/farming/textures/farming_soil_wet.png b/mods/farming/textures/farming_soil_wet.png deleted file mode 100644 index 0b4487d8a2460c3d06a49560ca5c5905fba69f30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47zG1-LR^7dWWa>P5ny3}a5aQk zlzAD&I2c(N7(8_)M41?z)kK^$g=k&_1z9AS7;Myp6}cH@xEVEsScI4u6nU5>SQz9v8BG<0gupt1 zRs)eLH-jt(gNgvFtqQNLnozKXqA&x4u^hh=Ka(O4g9sx-u(`aRB&P;HqZAW^hk>lM zs-U?nueJzhxSgh{s(_IUzpav(z67Tv50eNVv$>LpFgt@N2LlHK13xPxC@dJEPBoO| zc2*a*m*WYkKbr#-k0=T93--^>2ncORO^Q697xMSp<(hy0etmua=>DBkhxYAWKC!1L z=-=Nzzu&!k`}+0E7tfzOzItWP>gkpLfP%k%e);tA!@F0{pFey2=+VQwH*Q?Jc>dJU z1KT#NTRwkg+w`@aM}T&`_H=O!k+^Jn*0t!cgNWZBPMTc0`OG>O8!?2L;U3OjqcUv+ABv;?~9#d{o(b^nay(07R%SGXNIn&nK znOvFwJ}Nf1EPC0^J6hQZUuDye%goDK+%3E|dFq1YmQz){p2r*YUS{8(#M)%2n9=H@ zmn6v&AfenM{N*640LzLG3TIy2d9bs`we7(TyUla%{dlG4ndTo^!uzW1_O!k{@#e$l z;x^diH(34tvgh~rmvwuu<@&2lSCIU~ZJK2JzAAqFsmt5n?&*{zmPJ9FmS}fu#KGe9b zh&FwWw2Y$OMdVUMIF@m12GebmTEioW4{YNWPoFE0>6BHO&ws73ECr`lAXM;oHJqx6 zu#HoyPma0#p~-fma{BcbC`A)pTOyn_g`yH9D^A)~j?c@4i-3! zNHY|BgOrEpRT;aa!S;ZZ>-a;3B2RG4F~LkhYy(=|C5zb_fn+jzSboK&?-};%l-eE! z3H$Ms$%Bu$c`wmwyA0oN=v{QMYjr-{q^!e?e?FFxr9PM6t~l&`TD2HmU1D~?k4>B- z6_KuE7PB261`g~KiZDcTJc=Y@@vx*-H>i3QHp_%odri0+^5QHbo&=no+X&aK5Dfms zamxg=CBf7o+wBqJIm2O0p&j`9_Z-{SNz^LE+GCj-Pz6 zcb{OZ2+sD9t2So3MNvyECnJ{03Q_O&$PO-!J>&M)!j#+W_Ei>fh3TWo%C~vac*@2v zGnqHJ`_JRq%O=Gpq2nru!L^EPJ~HZ0DD;F)G-f&zM0=l`KQ`n{(6R;b-oPK;a@>d* z+)2nKm1@^U1X+YGA937!O)wavOA(5^B?~j0&JIlpDH=9!-rSQ$GSwrKq)0ew&baTZ z2um2O*K0bLHCheOJcC14LsANww!@d-T@ej7l=Xlory*9Q$2RCwv7RCFkpBT>mv7$x S>1I#>0000U1tMAsC~XQXdKo#37T$6IK&m1K!cZOn z0004WQchC^n!~IR0GvPyIJQwW;ofr5@vS_Kk7&-n<{r4R7rea`}dn-usvKah|<3eHx&}k07WI z`e^tbA;t*d0!DATge86gx><#a56X$J{usBwLD+9@5O}LQAv0evdU2--{q|!1v(hB0g#UjTEfK8F8}}l07*qoM6N<$f~dNbB>(^b diff --git a/mods/farming/textures/farming_strawberry_1.png b/mods/farming/textures/farming_strawberry_1.png deleted file mode 100644 index 3fa21edc5a73cff8a86f367ab663d9748427e6bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnL3?x0byx0z;*aCb)T(`YgAKzr5#Q)p?D8g70 zKHs- L{an^LB{Ts52<05a diff --git a/mods/farming/textures/farming_strawberry_2.png b/mods/farming/textures/farming_strawberry_2.png deleted file mode 100644 index 751115e9876d20ce7264a801486428c48f93640d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@&H$ef*R`Ai@l6*0|Nnn`Y>5z1 zkg+7lFPOpM*^M+HN6*v6F+}2Wa)LxlgDJx)fsO_vsgMOid;U#F1){khtTJ h1S7A-Re=NshV%DWZ#dh_tpn<0@O1TaS?83{1OO8ICRYFe diff --git a/mods/farming/textures/farming_strawberry_3.png b/mods/farming/textures/farming_strawberry_3.png deleted file mode 100644 index 8b7a7b8c0b24eb4b9ed1b13d7a32af01bfc850a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@o&cW^S0EkVWbq#a7|wSV_X7Eh zB|(0{3=Yq3qyahho-U3d5|@(`7VszVHW;}mD@H&jT;+>O^7y>6A;z%_} xNY-$WTxY$Yhk^A@*TNnLjpk0#`6nYJ8M0(JUs}{0Jqa|5!PC{xWt~$(69D26Fcbg) diff --git a/mods/farming/textures/farming_strawberry_4.png b/mods/farming/textures/farming_strawberry_4.png deleted file mode 100644 index dcf001753c0770e613b6b5b551349f958886bd22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv{s5m4S0EkVWbq#a7`AQ8JvQ~) zF`y7*NswPKgTu2MX+Tbar;B5V#`(MFHu5$Y@UR>(KgIB0kh$ST11Hm|f5w6uI_xfv z-PZHtw>8R7IkL_?laJT&^lIm64n6ZWq_TDHvP?N7CDLw|HKE3JmG}eM0KW;#{;l7# zUe@5MoukMdg)0e0Q4Oh0CniXq(|&mQd0&131IHnDf#!9p++dMnYy*H10g>_g(pKiq+|M*?o-WC78H+75Uf?UQD-oL+& b-2cF+)xpi>{&|5G&_xWMu6{1-oD!M<02*B^ diff --git a/mods/farming/textures/farming_strawberry_6.png b/mods/farming/textures/farming_strawberry_6.png deleted file mode 100644 index a4d0d603fc091f7ead1faa645646ba09e305e3d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvp#Yx{S0EkVWbq#a82;zx-oEY0 z&L*=GD9Tt8I9474ezNrP=8{z3;zN`o{YNk%ZJ(Erp-=)mD6xY+$^6WyXqFuE5#r8GN4IDq#ue zzqoEfMsdZui4Mo*w#4!^D0gH(_-VI2??UC9)X@C5@-IL2?%Pwg@tp(HdoF{e&83XH i*1X=5@TdAXqg~50?wf6EcW(i@i^0>?&t;ucLK6UGzF^M) diff --git a/mods/farming/textures/farming_strawberry_7.png b/mods/farming/textures/farming_strawberry_7.png deleted file mode 100644 index ace223cd88a0cd46bf55c2eda7c3d7d1646b8439..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv(Ey(iS0EkVWbq#a7@jzq-M;Pl zKR5T*s@x8s1Y=2%UoeBivm0qZ&TLN?#}JM4XD3+mF&Xl(=4vkbwprk-+fGLHh%iro z!NB0B|J)BuJaErdrXl3yiTRa^zrG*-#M+my!Es~rB*_yO^FdP8W62jemm=(T}r zFeG1>!TUf|yhe8Ev`4lHJPb!gL!Pm$n5X!z<5Nv~-zCQ4dC@l)Z{5f2_V%Lfas{hh ztJQ8?ym(LLwmy5zS3AaoI_DSgEGlNI?05gq;Pg}U~2NA~|><~j58 mwUoq+vj5DhewNC|Dl@d7;PEOytjht^%i!ti=d#Wzp$PzctS;mL diff --git a/mods/farming/textures/farming_tomato.png b/mods/farming/textures/farming_tomato.png deleted file mode 100644 index 586aa56de584ab5f8b9eeb101b430fb075f9c9f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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{-? diff --git a/mods/farming/textures/farming_tomato_3.png b/mods/farming/textures/farming_tomato_3.png deleted file mode 100644 index fe3dcf0a1302c0353d2e64930465cb80214af8a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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}^ diff --git a/mods/farming/textures/farming_tomato_4.png b/mods/farming/textures/farming_tomato_4.png deleted file mode 100644 index 27c32828dce42efbb2933fbf355752f46dc0335f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_tomato_5.png b/mods/farming/textures/farming_tomato_5.png deleted file mode 100644 index f369a68f4f864f7868965b3c05bfb649abb69e2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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( diff --git a/mods/farming/textures/farming_tomato_6.png b/mods/farming/textures/farming_tomato_6.png deleted file mode 100644 index 0135cb53beaee8d64cf0e39ce57bafabecedd70b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_tomato_8.png b/mods/farming/textures/farming_tomato_8.png deleted file mode 100644 index 0b490257f0dab5ec4a4d4e67775159ea75594e3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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~tr=e|Nr#m|NU1oRGu7C6zVnU^<&`3Fyv=l*YN^q5re0zpUXO@ GgeCyv?@1N_ diff --git a/mods/farming/textures/farming_tool_bronzehoe.png b/mods/farming/textures/farming_tool_bronzehoe.png deleted file mode 100644 index ef07a80a4b5d4a4a7e8360863147c1c01cceb1e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}NPtg>>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 diff --git a/mods/farming/textures/farming_tool_diamondhoe.png b/mods/farming/textures/farming_tool_diamondhoe.png deleted file mode 100644 index 093acb821c6a8da2e1ec642f0f0401fa01b3f587..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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> diff --git a/mods/farming/textures/farming_tool_mesehoe.png b/mods/farming/textures/farming_tool_mesehoe.png deleted file mode 100644 index ffd597a49544f1a65c7ebf8466d9949720badf42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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* diff --git a/mods/farming/textures/farming_tool_steelhoe.png b/mods/farming/textures/farming_tool_steelhoe.png deleted file mode 100644 index 893a6958e4b4d2763513392378c2e1fe92cd2ac8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_tool_stonehoe.png b/mods/farming/textures/farming_tool_stonehoe.png deleted file mode 100644 index 4f8dade01c39dad208f481013cffc14369eeb91a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/mods/farming/textures/farming_trellis.png b/mods/farming/textures/farming_trellis.png deleted file mode 100644 index 855b932608cdcc2e22e7751858e4d0014b721735..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)S4Rd07h@SObLkj&)f7LS zj6nVVBHN`6K5N>8n{0mQ0F^P81o;IsI6S+N2IQ1^x;TbtoKH?*U@~LwV-QGbXe`=l z^4+Z8sC-Am>`w0v?+u>;7#+*Z=EaM zw?66EcHjN$UFP>Vu3EMD;^DZZlbjwsdT{x8)Akkdd)7v7THv>8y4&_8*2j(=oHc9m z$z9o7wY5`$rZAQS`2{mLJiCzwlo8NZu>H-brP(K~|(phXOxu6{1-oD!M<;EG@u diff --git a/mods/farming/textures/farming_wheat_1.png b/mods/farming/textures/farming_wheat_1.png deleted file mode 100644 index c16ad94ba4e9989dd795c452559376ea2137d78b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=9Yr1Ue5HHSX6f+M=Q~ zYo{boh_NKdFPOpM*^M+HN8HoJF@)oKvP8xM1|=4W84^4a5|S(;3~VV3TOtB)Z38M{ N@O1TaS?83{1OQMF9ZdiL diff --git a/mods/farming/textures/farming_wheat_2.png b/mods/farming/textures/farming_wheat_2.png deleted file mode 100644 index baddb4c544c6ea55d23c5dec5462e351c0f80c54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=3wxO(*WOis%vDe8I1J zrB3l;b^H6RpMVmKB|(0{3=Yq3qyahVo-U3d9M_W<=yNa#vhn!vF!7w>VdLV_abQz! jW}J`^;*pRTP{6<-pT?xP*61c5Pz!^ntDnm{r-UW|z&Rvh diff --git a/mods/farming/textures/farming_wheat_3.png b/mods/farming/textures/farming_wheat_3.png deleted file mode 100644 index 36ebb1929de7851303f7b7da7a46fe831765608f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=7oRg-u%NdiX-lntjog zlXa)B_1J%|{C~fqJ5Y|XB*-tA!Qt7BG$6;x)5S4_<9hM}Mh^x-Mjjm=CZ07sjC?$2 z9N3hd873r@1SF&t7$gX!gm@&B2n3{Pr0E1ChzWS42qXmt1cU?xurVyGV&j}_c4jru OGzL#sKbLh*2~7aHK`<)- diff --git a/mods/farming/textures/farming_wheat_4.png b/mods/farming/textures/farming_wheat_4.png deleted file mode 100644 index 735ed7772e5ed4e8ecf29004ce2fc92fc3001247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=8yeCePUzxb3x$}4MW-^nS{=7dR2o)#&6-Tm*+8s;xLd_unYEgOKA OF?hQAxvX9s(+5ED7=pW^j0RBMrzY^mK6y;kcfx zz^0S%ASuBkAtC7j!z70^W@heYh6$G+95`@J@4(R$7ZeUWIPqe^fpZT64k?^iG2y@q zg#{-J<`yTY8L2jYFgCPWYsLW_)yD%7EVQ;MLk?xjf`9ed6rv>PMO`bP0l+XkKd0|`D diff --git a/mods/farming/textures/farming_wheat_7.png b/mods/farming/textures/farming_wheat_7.png deleted file mode 100644 index cc26ca96990f96f8fe71d5c3eed9d0eea3bb7c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=42^r0?G1yl-9Ds>LRk zj^=EhYw_T6>gAKMhqp$qS!#Crc>12re#f@OT}v_e094Ib666=m;PC858j#cI>Eal| zaXqzTBQKMoi1Xix@0<#cx*IU@hS*8nQV|kjb-khBePQ`x+dQTzflFvXs>=mhV;2emCjG1i2d=>Yi4QG+X_?w&uF`J&|NjKx2-V2i> z8I~wss2>uhpfH0;Q;cQ6mTSUj*^G3scIec@IkN4fjwkQ5J3rKu+S3!)(;3JQS_PpA z-;0E(n_uCPBcg(a93^6ni1$PrHQeA-jcoLXQ_goZLEjMb50^^>=YLuCB>(^b07*qo IM6N<$f*<&P1^@s6 diff --git a/mods/farming/textures/farming_wheat_seed.png b/mods/farming/textures/farming_wheat_seed.png deleted file mode 100644 index a9031fba979d5fd323ce9f5200f6ede53b2e733f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ^~o&Uwme~4v(x#*or@>< z%7V@L&K@&PuV1Rg~;HfM?GGmNJaLK%Y3 kFmc!!9azVD)2D`kVexq;Szopr0Jyg)f&c&j diff --git a/mods/farming/textures/vessels_drinking_cup.png b/mods/farming/textures/vessels_drinking_cup.png deleted file mode 100644 index 2eba2321a5cf7650e0f3c0ced4896138f1da997e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b;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_ diff --git a/mods/farming/todo.md b/mods/farming/todo.md deleted file mode 100644 index 55870270..00000000 --- a/mods/farming/todo.md +++ /dev/null @@ -1,12 +0,0 @@ -* [x] orange trees from farming_plus -* [ ] optional - cocoa sapling -* [x] banana trees from farming_plus -* [x] carrot_seed -* [x] orange_seed -* [x] tomato_seed -* [x] potatoe_seed -* [x] rhubarb_seed -* [x] raspberry_seed -* [x] strawberry_seed -* [x] pumpkin_seed -* [x] aliases diff --git a/mods/farming/tomato.lua b/mods/farming/tomato.lua deleted file mode 100644 index 4ff6b643..00000000 --- a/mods/farming/tomato.lua +++ /dev/null @@ -1,86 +0,0 @@ - ---[[ - Textures edited from: - 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_seed", { - description = "Tomato Seeds", - inventory_image = "farming_tomato_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:tomato_1") - end -}) - --- tomato -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), -}) - --- tomato definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_tomato_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:tomato_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_tomato_2.png"} -minetest.register_node("farming:tomato_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_tomato_3.png"} -minetest.register_node("farming:tomato_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_tomato_4.png"} -minetest.register_node("farming:tomato_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_tomato_5.png"} -minetest.register_node("farming:tomato_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_tomato_6.png"} -minetest.register_node("farming:tomato_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_tomato_7.png"} -crop_def.drop = { - items = { - {items = {'farming:tomato'}, rarity = 1}, - {items = {'farming:tomato_seed'}, rarity = 1}, - {items = {'farming:tomato'}, rarity = 3}, - } -} -minetest.register_node("farming:tomato_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_tomato_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:tomato 3'}, rarity = 1}, - {items = {'farming:tomato_seed 4'}, rarity = 1}, - {items = {'farming:tomato 3'}, rarity = 2}, - } -} -minetest.register_node("farming:tomato_8", table.copy(crop_def)) diff --git a/mods/farming/wheat.lua b/mods/farming/wheat.lua deleted file mode 100644 index 72d65c42..00000000 --- a/mods/farming/wheat.lua +++ /dev/null @@ -1,152 +0,0 @@ - --- wheat seeds -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 = farming.select, - 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", -}) - --- straw -minetest.register_node("farming:straw", { - description = "Straw", - tiles = {"farming_straw.png"}, - is_ground_content = false, - groups = {snappy = 3, flammable = 4, fall_damage_add_percent=-30}, - sounds = default.node_sound_leaves_defaults(), -}) - -minetest.register_craft({ - output = "farming:straw 3", - recipe = { - {"farming:wheat", "farming:wheat", "farming:wheat"}, - {"farming:wheat", "farming:wheat", "farming:wheat"}, - {"farming:wheat", "farming:wheat", "farming:wheat"}, - } -}) - -minetest.register_craft({ - output = "farming:wheat 3", - recipe = { - {"farming:straw"}, - } -}) - --- 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(5), -}) - -minetest.register_craft({ - type = "cooking", - cooktime = 15, - output = "farming:bread", - recipe = "farming:flour" -}) - --- wheat definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_wheat_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:wheat_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_wheat_2.png"} -minetest.register_node("farming:wheat_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_wheat_3.png"} -minetest.register_node("farming:wheat_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_wheat_4.png"} -minetest.register_node("farming:wheat_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_wheat_5.png"} -crop_def.drop = { - items = { - {items = {'farming:wheat'}, rarity = 2}, - {items = {'farming:seed_wheat'}, rarity = 2}, - } -} -minetest.register_node("farming:wheat_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_wheat_6.png"} -crop_def.drop = { - items = { - {items = {'farming:wheat'}, rarity = 2}, - {items = {'farming:seed_wheat'}, rarity = 1}, - } -} -minetest.register_node("farming:wheat_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_wheat_7.png"} -crop_def.drop = { - items = { - {items = {'farming:wheat'}, rarity = 1}, - {items = {'farming:wheat'}, rarity = 3}, - {items = {'farming:seed_wheat'}, rarity = 1}, - {items = {'farming:seed_wheat'}, rarity = 3}, - } -} -minetest.register_node("farming:wheat_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_wheat_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:wheat'}, rarity = 1}, - {items = {'farming:wheat'}, rarity = 3}, - {items = {'farming:seed_wheat'}, rarity = 1}, - {items = {'farming:seed_wheat'}, rarity = 3}, - } -} -minetest.register_node("farming:wheat_8", table.copy(crop_def))