From 3b7b2424813dd8a560c2cdf482d341d3d0f1a5c6 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Tue, 12 Aug 2014 15:08:11 -0400 Subject: [PATCH] Imported dryplants and ferns mods and all components of the Undergrowth modpack --- LICENSE | 5 +- along_shore/depends.txt | 3 + along_shore/init.lua | 9 + .../textures/along_shore_seaweed_1Darker.png | Bin 0 -> 377 bytes along_shore/textures/credit_textures.txt | 30 + along_shore/textures/old/LillyPad3x16.png | Bin 0 -> 589 bytes along_shore/textures/old/MultiLilly16x.png | Bin 0 -> 462 bytes .../textures/old/along_shore_empty.png | Bin 0 -> 153 bytes .../textures/old/along_shore_lilypads_1.png | Bin 0 -> 499 bytes .../textures/old/along_shore_lilypads_2.png | Bin 0 -> 568 bytes .../textures/old/along_shore_lilypads_3.png | Bin 0 -> 509 bytes .../textures/old/along_shore_lilypads_4.png | Bin 0 -> 347 bytes .../textures/old/along_shore_pondscum_1.png | Bin 0 -> 703 bytes .../textures/old/along_shore_seaweed_1.png | Bin 0 -> 358 bytes .../textures/old/along_shore_seaweed_2.png | Bin 0 -> 364 bytes .../textures/old/along_shore_seaweed_3.png | Bin 0 -> 383 bytes .../textures/old/along_shore_seaweed_4.png | Bin 0 -> 301 bytes along_shore/textures/old/flowers_seaweed.png | Bin 0 -> 358 bytes .../textures/old/flowers_waterlily.png | Bin 0 -> 491 bytes .../textures/old/flowers_waterlily_22.5.png | Bin 0 -> 519 bytes .../textures/old/flowers_waterlily_45.png | Bin 0 -> 507 bytes .../textures/old/flowers_waterlily_67.5.png | Bin 0 -> 512 bytes along_shore/textures/old/lillyPad5x16.png | Bin 0 -> 460 bytes .../textures/old/lillypad3Flower16x.png | Bin 0 -> 556 bytes along_shore/textures/old/pondscum16xc.png | Bin 0 -> 703 bytes bushes/depends.txt | 2 + bushes/init.lua | 258 ++++++++ bushes/textures/bushes_branches_center_1.png | Bin 0 -> 473 bytes bushes/textures/bushes_branches_center_2.png | Bin 0 -> 487 bytes bushes/textures/bushes_branches_left_1.png | Bin 0 -> 695 bytes bushes/textures/bushes_branches_left_2.png | Bin 0 -> 689 bytes bushes/textures/bushes_branches_right_1.png | Bin 0 -> 712 bytes bushes/textures/bushes_branches_right_2.png | Bin 0 -> 719 bytes bushes/textures/bushes_leaves_1.png | Bin 0 -> 225 bytes bushes/textures/bushes_leaves_2.png | Bin 0 -> 225 bytes bushes/textures/old & unused/BlockBranch1.png | Bin 0 -> 91703 bytes .../textures/old & unused/BlockBranch1L.png | Bin 0 -> 42541 bytes .../textures/old & unused/BlockBranch1R.png | Bin 0 -> 50602 bytes .../textures/old & unused/BushBranches1.png | Bin 0 -> 61763 bytes .../textures/old & unused/BushBranches1sm.png | Bin 0 -> 702 bytes .../old & unused/BushBranches1sm2.png | Bin 0 -> 714 bytes .../old & unused/BushBranches1sm3.png | Bin 0 -> 536 bytes .../old & unused/BushBranches1sm4.png | Bin 0 -> 649 bytes .../old & unused/BushBranchesCenter.png | Bin 0 -> 445 bytes .../old & unused/BushBranchesSide1.png | Bin 0 -> 770 bytes .../old & unused/BushBranchesSide2.png | Bin 0 -> 801 bytes bushes/textures/old & unused/blank.png | Bin 0 -> 199 bytes .../old & unused/moretrees_pine_leaves3.png | Bin 0 -> 647 bytes bushes/textures/youngtree2trunk.png | Bin 0 -> 1127 bytes cavestuff/depends.txt | 2 + cavestuff/init.lua | 12 + cavestuff/mapgen.lua | 52 ++ cavestuff/nodes.lua | 243 ++++++++ .../textures/undergrowth_desert_pebble.png | Bin 0 -> 1203 bytes cavestuff/textures/undergrowth_pebble.png | Bin 0 -> 1203 bytes dryplants/crafting.lua | 360 ++++++++++++ dryplants/depends.txt | 3 + dryplants/init.lua | 185 ++++++ dryplants/juncus.lua | 127 ++++ dryplants/meadowvariation.lua | 27 + dryplants/moregrass.lua | 35 ++ dryplants/reed.lua | 380 ++++++++++++ dryplants/reedmace.lua | 410 +++++++++++++ dryplants/settings.txt | 52 ++ dryplants/textures/default_grass_1.png | Bin 0 -> 313 bytes dryplants/textures/default_grass_2.png | Bin 0 -> 419 bytes dryplants/textures/default_grass_3.png | Bin 0 -> 530 bytes dryplants/textures/default_grass_4.png | Bin 0 -> 624 bytes dryplants/textures/default_grass_5.png | Bin 0 -> 710 bytes dryplants/textures/dryplants_grass.png | Bin 0 -> 571 bytes dryplants/textures/dryplants_grass_short.png | Bin 0 -> 868 bytes .../textures/dryplants_grass_short_side.png | Bin 0 -> 502 bytes dryplants/textures/dryplants_hay.png | Bin 0 -> 605 bytes dryplants/textures/dryplants_juncus_02.png | Bin 0 -> 929 bytes dryplants/textures/dryplants_juncus_03.png | Bin 0 -> 963 bytes dryplants/textures/dryplants_juncus_inv.png | Bin 0 -> 685 bytes dryplants/textures/dryplants_reed.png | Bin 0 -> 795 bytes dryplants/textures/dryplants_reed_wet.png | Bin 0 -> 767 bytes dryplants/textures/dryplants_reedmace.png | Bin 0 -> 734 bytes .../textures/dryplants_reedmace_bottom.png | Bin 0 -> 864 bytes .../textures/dryplants_reedmace_height_2.png | Bin 0 -> 1544 bytes .../textures/dryplants_reedmace_height_3.png | Bin 0 -> 2368 bytes .../dryplants_reedmace_height_3_spikes.png | Bin 0 -> 2543 bytes .../textures/dryplants_reedmace_sapling.png | Bin 0 -> 582 bytes .../textures/dryplants_reedmace_spikes.png | Bin 0 -> 575 bytes dryplants/textures/dryplants_reedmace_top.png | Bin 0 -> 446 bytes .../textures/dryplants_reedmace_water.png | Bin 0 -> 675 bytes dryplants/textures/dryplants_sickle.png | Bin 0 -> 260 bytes dryplants/textures/not_in_use/big_pic_8.png | Bin 0 -> 2243 bytes dryplants/textures/not_in_use/big_pic_9.png | Bin 0 -> 2451 bytes .../not_in_use/dryplants_cattailsG_m2.png | Bin 0 -> 1641 bytes .../not_in_use/dryplants_juncus_02_left.png | Bin 0 -> 444 bytes .../not_in_use/dryplants_juncus_02_right.png | Bin 0 -> 477 bytes .../not_in_use/dryplants_juncus_02_whole2.png | Bin 0 -> 712 bytes .../not_in_use/dryplants_juncus_03_left.png | Bin 0 -> 497 bytes .../not_in_use/dryplants_juncus_03_right.png | Bin 0 -> 473 bytes .../not_in_use/dryplants_juncus_03_whole2.png | Bin 0 -> 768 bytes .../not_in_use/dryplants_reedmace_01.png | Bin 0 -> 487 bytes .../not_in_use/dryplants_reedmace_02.png | Bin 0 -> 910 bytes .../not_in_use/dryplants_reedmace_03.png | Bin 0 -> 1361 bytes .../not_in_use/dryplants_reedmace_04.png | Bin 0 -> 1554 bytes .../dryplants_reedmace_bottom_left.png | Bin 0 -> 205 bytes .../dryplants_reedmace_bottom_right.png | Bin 0 -> 277 bytes .../not_in_use/dryplants_reedmace_left.png | Bin 0 -> 272 bytes .../not_in_use/dryplants_reedmace_right.png | Bin 0 -> 281 bytes .../dryplants_reedmace_top_left.png | Bin 0 -> 184 bytes .../dryplants_reedmace_top_right.png | Bin 0 -> 245 bytes dryplants/textures/not_in_use/reedmace2.png | Bin 0 -> 2511 bytes dryplants/textures/not_in_use/reedmace3.png | Bin 0 -> 3035 bytes dryplants/textures/not_in_use/reedmace4.png | Bin 0 -> 3119 bytes dryplants/textures/not_in_use/reedtest.png | Bin 0 -> 463 bytes dryplants/textures/not_in_use/texturing.png | Bin 0 -> 3924 bytes .../old/dryplants_grass_short_old3.png | Bin 0 -> 823 bytes .../old/dryplants_grass_short_old4.png | Bin 0 -> 455 bytes .../old/dryplants_juncus_02_left_old.png | Bin 0 -> 459 bytes .../old/dryplants_juncus_02_right_old.png | Bin 0 -> 481 bytes .../old/dryplants_juncus_03_left_old.png | Bin 0 -> 511 bytes .../old/dryplants_juncus_03_right_old.png | Bin 0 -> 491 bytes .../dryplants_reedmace_bottom_left_old2.png | Bin 0 -> 234 bytes .../old/dryplants_reedmace_bottom_old4.png | Bin 0 -> 897 bytes .../dryplants_reedmace_bottom_right_old2.png | Bin 0 -> 267 bytes .../old/dryplants_reedmace_left_old2.png | Bin 0 -> 286 bytes .../textures/old/dryplants_reedmace_old8.png | Bin 0 -> 777 bytes .../old/dryplants_reedmace_right_old2.png | Bin 0 -> 288 bytes .../old/dryplants_reedmace_spikes_old3.png | Bin 0 -> 649 bytes .../old/dryplants_reedmace_top_left_old2.png | Bin 0 -> 181 bytes .../old/dryplants_reedmace_top_old3.png | Bin 0 -> 504 bytes .../old/dryplants_reedmace_top_right_old2.png | Bin 0 -> 206 bytes .../old/dryplants_reedmace_water_old2.png | Bin 0 -> 659 bytes ferns/SeTTiNGS.txt | 42 ++ ferns/crafting.lua | 104 ++++ ferns/depends.txt | 2 + ferns/fern.lua | 250 ++++++++ ferns/gianttreefern.lua | 408 +++++++++++++ ferns/horsetail.lua | 174 ++++++ ferns/init.lua | 33 ++ ferns/textures/ferns_5.png | Bin 0 -> 630 bytes ferns/textures/ferns_6.png | Bin 0 -> 753 bytes ferns/textures/ferns_7.png | Bin 0 -> 753 bytes ferns/textures/ferns_8.png | Bin 0 -> 596 bytes ferns/textures/ferns_fern.png | Bin 0 -> 448 bytes ferns/textures/ferns_fern_big.png | Bin 0 -> 1431 bytes ferns/textures/ferns_fern_mid.png | Bin 0 -> 969 bytes ferns/textures/ferns_fern_tree.png | Bin 0 -> 1650 bytes ferns/textures/ferns_fern_tree_giant.png | Bin 0 -> 3771 bytes ferns/textures/ferns_fern_tree_inv.png | Bin 0 -> 495 bytes ferns/textures/ferns_fern_tree_tl.png | Bin 0 -> 356 bytes ferns/textures/ferns_fern_tree_tr.png | Bin 0 -> 349 bytes ferns/textures/ferns_fern_trunk.png | Bin 0 -> 765 bytes ferns/textures/ferns_fern_trunk_big.png | Bin 0 -> 767 bytes ferns/textures/ferns_fern_trunk_big_top.png | Bin 0 -> 494 bytes ferns/textures/ferns_fern_trunk_top.png | Bin 0 -> 342 bytes ferns/textures/ferns_ferntuber.png | Bin 0 -> 552 bytes ferns/textures/ferns_ferntuber_roasted.png | Bin 0 -> 558 bytes ferns/textures/ferns_fiddlehead.png | Bin 0 -> 437 bytes ferns/textures/ferns_fiddlehead_roasted.png | Bin 0 -> 648 bytes ferns/textures/ferns_horsetail_01.png | Bin 0 -> 230 bytes ferns/textures/ferns_horsetail_02.png | Bin 0 -> 256 bytes ferns/textures/ferns_horsetail_03.png | Bin 0 -> 294 bytes ferns/textures/ferns_horsetail_04.png | Bin 0 -> 308 bytes ferns/textures/ferns_sapling_tree_fern.png | Bin 0 -> 284 bytes .../ferns_sapling_tree_fern_giant.png | Bin 0 -> 306 bytes ferns/textures/ferns_tree_fern_leave_big.png | Bin 0 -> 645 bytes .../ferns_tree_fern_leave_big_cross.png | Bin 0 -> 816 bytes .../ferns_tree_fern_leave_big_end.png | Bin 0 -> 541 bytes .../not_in_use/archaeplantae_horsetails.png | Bin 0 -> 401 bytes ferns/textures/not_in_use/big picture 3.png | Bin 0 -> 2091 bytes .../not_in_use/ferns_fern_big_left.png | Bin 0 -> 744 bytes .../not_in_use/ferns_fern_big_right.png | Bin 0 -> 719 bytes .../not_in_use/ferns_fern_mid_left.png | Bin 0 -> 482 bytes .../not_in_use/ferns_fern_mid_right.png | Bin 0 -> 515 bytes .../not_in_use/ferns_fern_tree_bl.png | Bin 0 -> 656 bytes .../not_in_use/ferns_fern_tree_br.png | Bin 0 -> 651 bytes .../not_in_use/ferns_fern_trunk_big_crown.png | Bin 0 -> 794 bytes .../textures/old/archaeplantae_fern_old4.png | Bin 0 -> 458 bytes ferns/textures/old/comb.png | Bin 0 -> 225 bytes ferns/textures/old/ferns_5_old.png | Bin 0 -> 552 bytes ferns/textures/old/ferns_6_old.png | Bin 0 -> 782 bytes ferns/textures/old/ferns_7_old.png | Bin 0 -> 759 bytes ferns/textures/old/ferns_fern_big_old.png | Bin 0 -> 1245 bytes ferns/textures/old/ferns_fern_mid_old.png | Bin 0 -> 760 bytes ferns/textures/old/ferns_fern_tree_old.png | Bin 0 -> 1395 bytes .../old/ferns_fern_trunk_big_old2.png | Bin 0 -> 669 bytes .../old/ferns_fern_trunk_big_top_old.png | Bin 0 -> 911 bytes .../old/ferns_fern_trunk_big_top_old2.png | Bin 0 -> 820 bytes .../textures/old/ferns_fern_trunk_top_old.png | Bin 0 -> 340 bytes .../textures/old/ferns_horsetail_01_old2.png | Bin 0 -> 295 bytes .../textures/old/ferns_horsetail_02_old2.png | Bin 0 -> 328 bytes .../textures/old/ferns_horsetail_03_old2.png | Bin 0 -> 362 bytes .../textures/old/ferns_horsetail_04_old2.png | Bin 0 -> 404 bytes .../ferns_tree_fern_leave_big_cross_old.png | Bin 0 -> 793 bytes .../old/ferns_tree_fern_leave_big_end_old.png | Bin 0 -> 563 bytes .../old/ferns_tree_fern_leave_big_old.png | Bin 0 -> 617 bytes ferns/treefern.lua | 247 ++++++++ molehills/depends.txt | 2 + molehills/init.lua | 110 ++++ molehills/molehills_settings.txt | 6 + molehills/textures/molehills_dirt.png | Bin 0 -> 806 bytes molehills/textures/molehills_side.png | Bin 0 -> 395 bytes .../textures/old & unused/molehill_side.png | Bin 0 -> 214 bytes .../textures/old & unused/molehill_top.png | Bin 0 -> 281 bytes trunks/crafting.lua | 133 +++++ trunks/depends.txt | 6 + trunks/generating.lua | 555 ++++++++++++++++++ trunks/init.lua | 17 + trunks/nodes.lua | 359 +++++++++++ trunks/textures/credit_textures.txt | 34 ++ trunks/textures/old & unused/comboSticks.png | Bin 0 -> 509 bytes .../textures/old & unused/comboSticks_2.png | Bin 0 -> 865 bytes .../old & unused/trunks_root_mask_old.png | Bin 0 -> 237 bytes .../textures/old & unused/trunks_twig_1e.png | Bin 0 -> 242 bytes .../textures/old & unused/trunks_twig_1n.png | Bin 0 -> 288 bytes .../textures/old & unused/trunks_twig_2n.png | Bin 0 -> 296 bytes .../textures/old & unused/trunks_twig_3n.png | Bin 0 -> 291 bytes .../textures/old & unused/trunks_twig_4n.png | Bin 0 -> 312 bytes .../textures/old & unused/trunks_twig_5-8.png | Bin 0 -> 267 bytes .../old & unused/trunks_twig_9-12.png | Bin 0 -> 362 bytes trunks/textures/trunks_moss.png | Bin 0 -> 315 bytes trunks/textures/trunks_moss_fungus.png | Bin 0 -> 355 bytes trunks/textures/trunks_root_mask.png | Bin 0 -> 278 bytes trunks/textures/trunks_twig_1.png | Bin 0 -> 244 bytes trunks/textures/trunks_twig_10.png | Bin 0 -> 235 bytes trunks/textures/trunks_twig_11.png | Bin 0 -> 219 bytes trunks/textures/trunks_twig_12.png | Bin 0 -> 218 bytes trunks/textures/trunks_twig_13.png | Bin 0 -> 211 bytes trunks/textures/trunks_twig_2.png | Bin 0 -> 253 bytes trunks/textures/trunks_twig_3.png | Bin 0 -> 246 bytes trunks/textures/trunks_twig_4.png | Bin 0 -> 240 bytes trunks/textures/trunks_twig_5.png | Bin 0 -> 191 bytes trunks/textures/trunks_twig_6.png | Bin 0 -> 153 bytes trunks/textures/trunks_twig_7.png | Bin 0 -> 187 bytes trunks/textures/trunks_twig_8.png | Bin 0 -> 201 bytes trunks/textures/trunks_twig_9.png | Bin 0 -> 195 bytes trunks/textures/trunks_twigs.png | Bin 0 -> 759 bytes trunks/textures/trunks_twigs_corner.png | Bin 0 -> 730 bytes trunks/textures/trunks_twigs_top.png | Bin 0 -> 615 bytes trunks/trunks_settings.txt | 70 +++ woodsoils/depends.txt | 7 + woodsoils/generating.lua | 152 +++++ woodsoils/init.lua | 29 + woodsoils/nodes.lua | 79 +++ woodsoils/textures/credit_textures.txt | 16 + woodsoils/textures/not in use/woodsoils.png | Bin 0 -> 199 bytes woodsoils/textures/woodsoils_ground.png | Bin 0 -> 776 bytes woodsoils/textures/woodsoils_ground_cover.png | Bin 0 -> 853 bytes .../textures/woodsoils_ground_cover2.png | Bin 0 -> 785 bytes .../textures/woodsoils_ground_cover_side.png | Bin 0 -> 436 bytes .../textures/woodsoils_ground_cover_side2.png | Bin 0 -> 426 bytes woodsoils/textures/woodsoils_ground_side.png | Bin 0 -> 447 bytes youngtrees/depends.txt | 2 + youngtrees/init.lua | 150 +++++ youngtrees/textures/bamboo.png | Bin 0 -> 214 bytes youngtrees/textures/unused/sapling.png | Bin 0 -> 19115 bytes youngtrees/textures/unused/sapling16x.png | Bin 0 -> 1162 bytes youngtrees/textures/youngtree16xa.png | Bin 0 -> 560 bytes youngtrees/textures/youngtree16xb.png | Bin 0 -> 432 bytes youngtrees/textures/youngtree16xc.png | Bin 0 -> 242 bytes youngtrees/textures/youngtree2branch.png | Bin 0 -> 247 bytes 258 files changed, 5181 insertions(+), 1 deletion(-) create mode 100644 along_shore/depends.txt create mode 100644 along_shore/init.lua create mode 100644 along_shore/textures/along_shore_seaweed_1Darker.png create mode 100644 along_shore/textures/credit_textures.txt create mode 100644 along_shore/textures/old/LillyPad3x16.png create mode 100644 along_shore/textures/old/MultiLilly16x.png create mode 100644 along_shore/textures/old/along_shore_empty.png create mode 100644 along_shore/textures/old/along_shore_lilypads_1.png create mode 100644 along_shore/textures/old/along_shore_lilypads_2.png create mode 100644 along_shore/textures/old/along_shore_lilypads_3.png create mode 100644 along_shore/textures/old/along_shore_lilypads_4.png create mode 100644 along_shore/textures/old/along_shore_pondscum_1.png create mode 100644 along_shore/textures/old/along_shore_seaweed_1.png create mode 100644 along_shore/textures/old/along_shore_seaweed_2.png create mode 100644 along_shore/textures/old/along_shore_seaweed_3.png create mode 100644 along_shore/textures/old/along_shore_seaweed_4.png create mode 100644 along_shore/textures/old/flowers_seaweed.png create mode 100644 along_shore/textures/old/flowers_waterlily.png create mode 100644 along_shore/textures/old/flowers_waterlily_22.5.png create mode 100644 along_shore/textures/old/flowers_waterlily_45.png create mode 100644 along_shore/textures/old/flowers_waterlily_67.5.png create mode 100644 along_shore/textures/old/lillyPad5x16.png create mode 100644 along_shore/textures/old/lillypad3Flower16x.png create mode 100644 along_shore/textures/old/pondscum16xc.png create mode 100644 bushes/depends.txt create mode 100644 bushes/init.lua create mode 100644 bushes/textures/bushes_branches_center_1.png create mode 100644 bushes/textures/bushes_branches_center_2.png create mode 100644 bushes/textures/bushes_branches_left_1.png create mode 100644 bushes/textures/bushes_branches_left_2.png create mode 100644 bushes/textures/bushes_branches_right_1.png create mode 100644 bushes/textures/bushes_branches_right_2.png create mode 100644 bushes/textures/bushes_leaves_1.png create mode 100644 bushes/textures/bushes_leaves_2.png create mode 100644 bushes/textures/old & unused/BlockBranch1.png create mode 100644 bushes/textures/old & unused/BlockBranch1L.png create mode 100644 bushes/textures/old & unused/BlockBranch1R.png create mode 100644 bushes/textures/old & unused/BushBranches1.png create mode 100644 bushes/textures/old & unused/BushBranches1sm.png create mode 100644 bushes/textures/old & unused/BushBranches1sm2.png create mode 100644 bushes/textures/old & unused/BushBranches1sm3.png create mode 100644 bushes/textures/old & unused/BushBranches1sm4.png create mode 100644 bushes/textures/old & unused/BushBranchesCenter.png create mode 100644 bushes/textures/old & unused/BushBranchesSide1.png create mode 100644 bushes/textures/old & unused/BushBranchesSide2.png create mode 100644 bushes/textures/old & unused/blank.png create mode 100644 bushes/textures/old & unused/moretrees_pine_leaves3.png create mode 100644 bushes/textures/youngtree2trunk.png create mode 100644 cavestuff/depends.txt create mode 100644 cavestuff/init.lua create mode 100644 cavestuff/mapgen.lua create mode 100644 cavestuff/nodes.lua create mode 100644 cavestuff/textures/undergrowth_desert_pebble.png create mode 100644 cavestuff/textures/undergrowth_pebble.png create mode 100644 dryplants/crafting.lua create mode 100644 dryplants/depends.txt create mode 100644 dryplants/init.lua create mode 100644 dryplants/juncus.lua create mode 100644 dryplants/meadowvariation.lua create mode 100644 dryplants/moregrass.lua create mode 100644 dryplants/reed.lua create mode 100644 dryplants/reedmace.lua create mode 100644 dryplants/settings.txt create mode 100644 dryplants/textures/default_grass_1.png create mode 100644 dryplants/textures/default_grass_2.png create mode 100644 dryplants/textures/default_grass_3.png create mode 100644 dryplants/textures/default_grass_4.png create mode 100644 dryplants/textures/default_grass_5.png create mode 100644 dryplants/textures/dryplants_grass.png create mode 100644 dryplants/textures/dryplants_grass_short.png create mode 100644 dryplants/textures/dryplants_grass_short_side.png create mode 100644 dryplants/textures/dryplants_hay.png create mode 100644 dryplants/textures/dryplants_juncus_02.png create mode 100644 dryplants/textures/dryplants_juncus_03.png create mode 100644 dryplants/textures/dryplants_juncus_inv.png create mode 100644 dryplants/textures/dryplants_reed.png create mode 100644 dryplants/textures/dryplants_reed_wet.png create mode 100644 dryplants/textures/dryplants_reedmace.png create mode 100644 dryplants/textures/dryplants_reedmace_bottom.png create mode 100644 dryplants/textures/dryplants_reedmace_height_2.png create mode 100644 dryplants/textures/dryplants_reedmace_height_3.png create mode 100644 dryplants/textures/dryplants_reedmace_height_3_spikes.png create mode 100644 dryplants/textures/dryplants_reedmace_sapling.png create mode 100644 dryplants/textures/dryplants_reedmace_spikes.png create mode 100644 dryplants/textures/dryplants_reedmace_top.png create mode 100644 dryplants/textures/dryplants_reedmace_water.png create mode 100644 dryplants/textures/dryplants_sickle.png create mode 100644 dryplants/textures/not_in_use/big_pic_8.png create mode 100644 dryplants/textures/not_in_use/big_pic_9.png create mode 100644 dryplants/textures/not_in_use/dryplants_cattailsG_m2.png create mode 100644 dryplants/textures/not_in_use/dryplants_juncus_02_left.png create mode 100644 dryplants/textures/not_in_use/dryplants_juncus_02_right.png create mode 100644 dryplants/textures/not_in_use/dryplants_juncus_02_whole2.png create mode 100644 dryplants/textures/not_in_use/dryplants_juncus_03_left.png create mode 100644 dryplants/textures/not_in_use/dryplants_juncus_03_right.png create mode 100644 dryplants/textures/not_in_use/dryplants_juncus_03_whole2.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_01.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_02.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_03.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_04.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_bottom_left.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_bottom_right.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_left.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_right.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_top_left.png create mode 100644 dryplants/textures/not_in_use/dryplants_reedmace_top_right.png create mode 100644 dryplants/textures/not_in_use/reedmace2.png create mode 100644 dryplants/textures/not_in_use/reedmace3.png create mode 100644 dryplants/textures/not_in_use/reedmace4.png create mode 100644 dryplants/textures/not_in_use/reedtest.png create mode 100644 dryplants/textures/not_in_use/texturing.png create mode 100644 dryplants/textures/old/dryplants_grass_short_old3.png create mode 100644 dryplants/textures/old/dryplants_grass_short_old4.png create mode 100644 dryplants/textures/old/dryplants_juncus_02_left_old.png create mode 100644 dryplants/textures/old/dryplants_juncus_02_right_old.png create mode 100644 dryplants/textures/old/dryplants_juncus_03_left_old.png create mode 100644 dryplants/textures/old/dryplants_juncus_03_right_old.png create mode 100644 dryplants/textures/old/dryplants_reedmace_bottom_left_old2.png create mode 100644 dryplants/textures/old/dryplants_reedmace_bottom_old4.png create mode 100644 dryplants/textures/old/dryplants_reedmace_bottom_right_old2.png create mode 100644 dryplants/textures/old/dryplants_reedmace_left_old2.png create mode 100644 dryplants/textures/old/dryplants_reedmace_old8.png create mode 100644 dryplants/textures/old/dryplants_reedmace_right_old2.png create mode 100644 dryplants/textures/old/dryplants_reedmace_spikes_old3.png create mode 100644 dryplants/textures/old/dryplants_reedmace_top_left_old2.png create mode 100644 dryplants/textures/old/dryplants_reedmace_top_old3.png create mode 100644 dryplants/textures/old/dryplants_reedmace_top_right_old2.png create mode 100644 dryplants/textures/old/dryplants_reedmace_water_old2.png create mode 100644 ferns/SeTTiNGS.txt create mode 100644 ferns/crafting.lua create mode 100644 ferns/depends.txt create mode 100644 ferns/fern.lua create mode 100644 ferns/gianttreefern.lua create mode 100644 ferns/horsetail.lua create mode 100644 ferns/init.lua create mode 100644 ferns/textures/ferns_5.png create mode 100644 ferns/textures/ferns_6.png create mode 100644 ferns/textures/ferns_7.png create mode 100644 ferns/textures/ferns_8.png create mode 100644 ferns/textures/ferns_fern.png create mode 100644 ferns/textures/ferns_fern_big.png create mode 100644 ferns/textures/ferns_fern_mid.png create mode 100644 ferns/textures/ferns_fern_tree.png create mode 100644 ferns/textures/ferns_fern_tree_giant.png create mode 100644 ferns/textures/ferns_fern_tree_inv.png create mode 100644 ferns/textures/ferns_fern_tree_tl.png create mode 100644 ferns/textures/ferns_fern_tree_tr.png create mode 100644 ferns/textures/ferns_fern_trunk.png create mode 100644 ferns/textures/ferns_fern_trunk_big.png create mode 100644 ferns/textures/ferns_fern_trunk_big_top.png create mode 100644 ferns/textures/ferns_fern_trunk_top.png create mode 100644 ferns/textures/ferns_ferntuber.png create mode 100644 ferns/textures/ferns_ferntuber_roasted.png create mode 100644 ferns/textures/ferns_fiddlehead.png create mode 100644 ferns/textures/ferns_fiddlehead_roasted.png create mode 100644 ferns/textures/ferns_horsetail_01.png create mode 100644 ferns/textures/ferns_horsetail_02.png create mode 100644 ferns/textures/ferns_horsetail_03.png create mode 100644 ferns/textures/ferns_horsetail_04.png create mode 100644 ferns/textures/ferns_sapling_tree_fern.png create mode 100644 ferns/textures/ferns_sapling_tree_fern_giant.png create mode 100644 ferns/textures/ferns_tree_fern_leave_big.png create mode 100644 ferns/textures/ferns_tree_fern_leave_big_cross.png create mode 100644 ferns/textures/ferns_tree_fern_leave_big_end.png create mode 100644 ferns/textures/not_in_use/archaeplantae_horsetails.png create mode 100644 ferns/textures/not_in_use/big picture 3.png create mode 100644 ferns/textures/not_in_use/ferns_fern_big_left.png create mode 100644 ferns/textures/not_in_use/ferns_fern_big_right.png create mode 100644 ferns/textures/not_in_use/ferns_fern_mid_left.png create mode 100644 ferns/textures/not_in_use/ferns_fern_mid_right.png create mode 100644 ferns/textures/not_in_use/ferns_fern_tree_bl.png create mode 100644 ferns/textures/not_in_use/ferns_fern_tree_br.png create mode 100644 ferns/textures/not_in_use/ferns_fern_trunk_big_crown.png create mode 100644 ferns/textures/old/archaeplantae_fern_old4.png create mode 100644 ferns/textures/old/comb.png create mode 100644 ferns/textures/old/ferns_5_old.png create mode 100644 ferns/textures/old/ferns_6_old.png create mode 100644 ferns/textures/old/ferns_7_old.png create mode 100644 ferns/textures/old/ferns_fern_big_old.png create mode 100644 ferns/textures/old/ferns_fern_mid_old.png create mode 100644 ferns/textures/old/ferns_fern_tree_old.png create mode 100644 ferns/textures/old/ferns_fern_trunk_big_old2.png create mode 100644 ferns/textures/old/ferns_fern_trunk_big_top_old.png create mode 100644 ferns/textures/old/ferns_fern_trunk_big_top_old2.png create mode 100644 ferns/textures/old/ferns_fern_trunk_top_old.png create mode 100644 ferns/textures/old/ferns_horsetail_01_old2.png create mode 100644 ferns/textures/old/ferns_horsetail_02_old2.png create mode 100644 ferns/textures/old/ferns_horsetail_03_old2.png create mode 100644 ferns/textures/old/ferns_horsetail_04_old2.png create mode 100644 ferns/textures/old/ferns_tree_fern_leave_big_cross_old.png create mode 100644 ferns/textures/old/ferns_tree_fern_leave_big_end_old.png create mode 100644 ferns/textures/old/ferns_tree_fern_leave_big_old.png create mode 100644 ferns/treefern.lua create mode 100644 molehills/depends.txt create mode 100644 molehills/init.lua create mode 100644 molehills/molehills_settings.txt create mode 100644 molehills/textures/molehills_dirt.png create mode 100644 molehills/textures/molehills_side.png create mode 100644 molehills/textures/old & unused/molehill_side.png create mode 100644 molehills/textures/old & unused/molehill_top.png create mode 100644 trunks/crafting.lua create mode 100644 trunks/depends.txt create mode 100644 trunks/generating.lua create mode 100644 trunks/init.lua create mode 100644 trunks/nodes.lua create mode 100644 trunks/textures/credit_textures.txt create mode 100644 trunks/textures/old & unused/comboSticks.png create mode 100644 trunks/textures/old & unused/comboSticks_2.png create mode 100644 trunks/textures/old & unused/trunks_root_mask_old.png create mode 100644 trunks/textures/old & unused/trunks_twig_1e.png create mode 100644 trunks/textures/old & unused/trunks_twig_1n.png create mode 100644 trunks/textures/old & unused/trunks_twig_2n.png create mode 100644 trunks/textures/old & unused/trunks_twig_3n.png create mode 100644 trunks/textures/old & unused/trunks_twig_4n.png create mode 100644 trunks/textures/old & unused/trunks_twig_5-8.png create mode 100644 trunks/textures/old & unused/trunks_twig_9-12.png create mode 100644 trunks/textures/trunks_moss.png create mode 100644 trunks/textures/trunks_moss_fungus.png create mode 100644 trunks/textures/trunks_root_mask.png create mode 100644 trunks/textures/trunks_twig_1.png create mode 100644 trunks/textures/trunks_twig_10.png create mode 100644 trunks/textures/trunks_twig_11.png create mode 100644 trunks/textures/trunks_twig_12.png create mode 100644 trunks/textures/trunks_twig_13.png create mode 100644 trunks/textures/trunks_twig_2.png create mode 100644 trunks/textures/trunks_twig_3.png create mode 100644 trunks/textures/trunks_twig_4.png create mode 100644 trunks/textures/trunks_twig_5.png create mode 100644 trunks/textures/trunks_twig_6.png create mode 100644 trunks/textures/trunks_twig_7.png create mode 100644 trunks/textures/trunks_twig_8.png create mode 100644 trunks/textures/trunks_twig_9.png create mode 100644 trunks/textures/trunks_twigs.png create mode 100644 trunks/textures/trunks_twigs_corner.png create mode 100644 trunks/textures/trunks_twigs_top.png create mode 100644 trunks/trunks_settings.txt create mode 100644 woodsoils/depends.txt create mode 100644 woodsoils/generating.lua create mode 100644 woodsoils/init.lua create mode 100644 woodsoils/nodes.lua create mode 100644 woodsoils/textures/credit_textures.txt create mode 100644 woodsoils/textures/not in use/woodsoils.png create mode 100644 woodsoils/textures/woodsoils_ground.png create mode 100644 woodsoils/textures/woodsoils_ground_cover.png create mode 100644 woodsoils/textures/woodsoils_ground_cover2.png create mode 100644 woodsoils/textures/woodsoils_ground_cover_side.png create mode 100644 woodsoils/textures/woodsoils_ground_cover_side2.png create mode 100644 woodsoils/textures/woodsoils_ground_side.png create mode 100644 youngtrees/depends.txt create mode 100644 youngtrees/init.lua create mode 100644 youngtrees/textures/bamboo.png create mode 100644 youngtrees/textures/unused/sapling.png create mode 100644 youngtrees/textures/unused/sapling16x.png create mode 100644 youngtrees/textures/youngtree16xa.png create mode 100644 youngtrees/textures/youngtree16xb.png create mode 100644 youngtrees/textures/youngtree16xc.png create mode 100644 youngtrees/textures/youngtree2branch.png diff --git a/LICENSE b/LICENSE index d021cb5..dba3244 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,9 @@ For the code, Ironzorg's textures, and everything else: WTFPL -For all of my own textures: CC-By-SA 3.0 + +For Mossmannikin's mods (Ferns, Dryplans, and the components +from the Undergrowth modpack), and all of my own textures: +CC-By-SA 3.0 ---------- DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE diff --git a/along_shore/depends.txt b/along_shore/depends.txt new file mode 100644 index 0000000..e27a0d0 --- /dev/null +++ b/along_shore/depends.txt @@ -0,0 +1,3 @@ +default +plants_lib +flowers_plus? \ No newline at end of file diff --git a/along_shore/init.lua b/along_shore/init.lua new file mode 100644 index 0000000..719d324 --- /dev/null +++ b/along_shore/init.lua @@ -0,0 +1,9 @@ +----------------------------------------------------------------------------------------------- +local title = "Along the Shore" +local version = "0.0.4" +local mname = "along_shore" +----------------------------------------------------------------------------------------------- + +----------------------------------------------------------------------------------------------- +print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...") +----------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/along_shore/textures/along_shore_seaweed_1Darker.png b/along_shore/textures/along_shore_seaweed_1Darker.png new file mode 100644 index 0000000000000000000000000000000000000000..7c559267a0842fde598da02a85f35da371cf5f3b GIT binary patch literal 377 zcmV-<0fzpGP)H;LN@>a0SZY(K~y+T zZIdwy0znK#ZS)H24QypQwXskU1i{MQ()-uzzA$gdj4KS8$tFKP`Eju*zu~qTy$`pH`{GQ!~hE93(Ti3sT X4hsXnAKJw100000NkvXXu0mjf1bm#K literal 0 HcmV?d00001 diff --git a/along_shore/textures/credit_textures.txt b/along_shore/textures/credit_textures.txt new file mode 100644 index 0000000..89b4ce7 --- /dev/null +++ b/along_shore/textures/credit_textures.txt @@ -0,0 +1,30 @@ +------------------------------------------------------------- +Credit for textures of "along_shore" +------------------------------------------------------------- +(If more than one author is listed the names are in alphabetical order) +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +FOLDER TEXTURE AUTHORS +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +../along_shore/textures along_shore_seaweed_1Darker.png Neuromancer, VanessaE +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +../along_shore/textures/old (along_shore_empty.png) (Mossmanikin) + along_shore_lilypads_1.png Mossmanikin, Neuromancer + along_shore_lilypads_2.png Mossmanikin, Neuromancer + along_shore_lilypads_3.png Mossmanikin, Neuromancer + along_shore_lilypads_4.png Mossmanikin, Neuromancer + along_shore_pondscum_1.png Neuromancer + along_shore_seaweed_1.png Neuromancer, VanessaE + along_shore_seaweed_2.png Mossmanikin, Neuromancer, VanessaE + along_shore_seaweed_3.png Mossmanikin, Neuromancer, VanessaE + along_shore_seaweed_4.png Mossmanikin, Neuromancer, VanessaE + flowers_seaweed.png Neuromancer, VanessaE + flowers_waterlily.png Mossmanikin, VanessaE + flowers_waterlily_22.5.png Mossmanikin, VanessaE + flowers_waterlily_45.png Mossmanikin, VanessaE + flowers_waterlily_67.5.png Mossmanikin, VanessaE + lillypad3Flower16x.png Neuromancer + LillyPad3x16.png Neuromancer + lillyPad5x16.png Neuromancer + MultiLilly16x.png Neuromancer + pondscum16xc.png Neuromancer +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/along_shore/textures/old/LillyPad3x16.png b/along_shore/textures/old/LillyPad3x16.png new file mode 100644 index 0000000000000000000000000000000000000000..f121ec1bd13b7e279768d74e15e48e3663973c84 GIT binary patch literal 589 zcmV-T0Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^7j^FlWO00E^* zL_t(IPh(^N0{=WI*}wn(O#T1=zb_LL^JGQ_hSi%Uzc>t%Lk8a2q832@aj2Ny)~T;A zgEU9`=7_5Uu^mvse-QS`5&PqtD^VI-r3*9*0)XNrFnK8b5=e`IBoZM4V$wj3?~xS& z4Jmj-)(0dX2qMx_ieAY*{(1QgiSKr9BthCsXsh!v0xn1Sw3wCD|ldWRi7 zg)#&c%CQ1%2c;~m=>aP44NU47dcgwG6LG~{=>V0S(|9pp(e0TssqZR-WPq!oy>fmk-P#Rim8 bacTwtrFA!v1Bi-500000NkvXXu0mjf^+4Ey literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/MultiLilly16x.png b/along_shore/textures/old/MultiLilly16x.png new file mode 100644 index 0000000000000000000000000000000000000000..5a996949f5af0cb061a8d2fbfdb06654c6bb505e GIT binary patch literal 462 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(rH2 zHKHUqKdq!Zu_%=xATcwqM9 z;UkGP2E3Ph)`+ckGC6!;RwKjig*QZ!FE?Cf$TKm5LhDV$@fI6py3b? z+i6B#hMP=Ab2-me%6QBQd@_MI>BhGG-I6Iv+ioyOHhA-C=<$|4e8TE@X2&9-Rg&pZ zjM5kEkIyz@US-AeL8{?2_l5&04U!BY89ibhZ!TP5Yh||HW$xI>$M?k6U9FiZkfGz| z1SfG7w*IV$EsB>VUNT5cUE?6t^6(>nct!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvkli sE{-7<{>cdvtcw*5q?i^fGH^07um~_P7A+Mn11ezfboFyt=akR{05e)6zW@LL literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/along_shore_lilypads_1.png b/along_shore/textures/old/along_shore_lilypads_1.png new file mode 100644 index 0000000000000000000000000000000000000000..186bb3153cfe4781a7a40c253dc6eec113911fc8 GIT binary patch literal 499 zcmV004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00009 za7bBm000tn000tn0p4aGcmMzZ8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^7j z^FlWO00BcuL_t(IPmPmHP69y?h8vgxynq+s1gIzq42nBfDi0ID7Y{juTMy(xOx&7~ zxO89gm8nTjU`&&AdZwuVtE#_yob!Ii!;&-xMLFsh#E%C*H}7I;KNY0&T$ICGCjf)Q zBvYCFd=cyF&LcUS#F=gmZd?i^H-+<(%u1>7Vp-NsdM}kNfQ^SHg%G4F5Gu2Puq=sj z+V>TW)vukjre!%9MSooYNFMjJq6uw`tJS_H(LP|}+vrcs99gzVT0poK|>GR{Y;delycDU(at9_rsD3CD-fq7s# z#B(niLYy`;@nh$lyZW}9htmMqFIQDPu3!jYy0D`H1SE4@d9HCea33*7*^x2Qzi#_L pT18+t@pK%8iw$I-Ghb%N?7wg6_oO?++4%qf002ovPDHLkV1fWwzyAOL literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/along_shore_lilypads_2.png b/along_shore/textures/old/along_shore_lilypads_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6ad36ceaf723f331cc57cb6fd53762fa7f788d0a GIT binary patch literal 568 zcmV-80>}M{P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00009 za7bBm000tn000tn0p4aGcmMzZ8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^7j z^FlWO00D?eL_t(IPi>RQN(4a+hO4K#XXYjzTpq&*5X4>S8JF<|+yyt>1ux!2ym%Oo zfO!He$|>x-S5Lc1YURhB==pR^MZS0^rfGh0sPb~2gWcEX$QuWxNIPV>7BDUX}7 zc2!94rllaYiBcsQ2_zE%1Ol*r-HcV>v$&rRs!9O}BC9!ZpWbxRIcdqlo>y>m-SbAQ zN?V{$P|1doJ9_IKK<;+pw|bfDTLHL`1!Y~o>KHx)=CrB+7{W-2mciJ5c$v(Q`?o0< z&X|mf4KxA}6r4tbj0G7FGEA^>LEhUAHg4O>5d>0&?S<>V_k6lE>4<27UI~U=DgcB;5#af?^f;l!AsrC_ zfWtVz*g4^V{eT~L_c-Ap$CgI>tQH3V+5=?yF#qKs*sR3}fWnmNhz!718}hK*WR&C2 z@4k|#Xw@H>zPXo2BXOMR>f7(Bi^QS?DJqGhwUPb{tPDRtf~Lq0T)6uH0000004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00009 za7bBm000tn000tn0p4aGcmMzZ8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^7j z^FlWO00B)&L_t(IPj!=7Q^G(HgaagiFa89cE&ql01*q_*FWy#pj%{9+;$8s(K8j2Qlkc93 z02GFA2!KPJq%N>=ks19H0N^bwp2O#!gCwBu;1Kf`Wg;&SC?DX#LtbX6s-zNPkcroA zgj0ZkL6|86B|wEFfK0`-fT7`->)(hV1}Owkg(g6PFp1+J$Z5t&CCdVO|3^mo@Ua{r zeR9L`rZ(0EC$m9;0M2TWB!pQ_3l;T#{Z=Bl8u4|00000NkvXXu0mjf@Y>4h literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/along_shore_lilypads_4.png b/along_shore/textures/old/along_shore_lilypads_4.png new file mode 100644 index 0000000000000000000000000000000000000000..93d203043816d70bc66b01b33baa660aa338465e GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8X6a5n0T@AXEavjQ7&y zD}aJhC9V-A!TD(=<%vb93;~Imc_n&&t|1C##(JiDhKBB+oy>u%R(rZQhFJLDoqUq( zkb#Kn#jnjyP)X!fW7x2# zeD3E**D4#kyr*h$JP>fwSK~~Y#K6yF@#Jx}KxbF7JzoQJe~0#=KNpHGGP?U7ba!D` lVRxvX;eO4k`~O?n`)176z5n73FfPx#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^7j^FlWO00I|D zL_t(IPo0uKNR)9H$Db4QnSNHMEE*ni>uz(jkgLOBDSvjhfW*^L96!l*_&F<^BD8KF{BPnwt>$(<~B9 zij=O46s@xVAQH}qw6BOv1x0?8h-^ef0%6WSiQN1m5|Y24TIor(U3b-LXVv1b)M67r z*}I*rTh$UhYTg;O-4{8##u@v4QMH+XF95|S)XIj`s+QC$f2u`)p_dp81AL6}l-ge4 zbqi|M?|JhSonw7it;PiqI;a*Iz~}`aAkK(d#VtHPQQPwlz*p9Q8#aNW@)ho119^bc z^8g%DaPDP|BQyN30PBbT2(Q!VIq8iP`nN2g>Nm!|zLQcWSA)<)3^^#zAiPIz5aOg- zJ)XQfq;eh5TlN^nQ4Om0*P8%JT#Qc>79qLM@N%0AikNz%cIdO(kulcPqH&Sp5kZO+ zyg4G`JUI%$Lv>U&Mp0tz6pWOP4yv`%jbm$S&8rxHo8d{%zS_=6!1E zFgk_kLJOWejN{8ZrV~xHx$!>5Jr2D1ALHy?q>B(~rHP~oPqltKuaZt5d3RBVOGHD2 z`_KLtkOv8oPMox8b26dUMr7LtZfHlqP8SqAm>almTHRd$Ad<`t935~*3II60`2$w~ lVEe!o04Pi44crAEum#5p_)d0eVo(48002ovPDHLkV1na{Dcb-5 literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/along_shore_seaweed_1.png b/along_shore/textures/old/along_shore_seaweed_1.png new file mode 100644 index 0000000000000000000000000000000000000000..51f791db7f453a8485ba8b323babde53a53d0aae GIT binary patch literal 358 zcmV-s0h#`ZP)H;LN@>a0QX5mK~y+T zZIe3=!Y~j-bBWN<(@-H=B#w{+KuN<1s5pDjv+`DB2c!tc-r4zhGfms?yv(cX<#Va^ z{XMTfoU_i_h5_*So>qbUy9OZe_Bys^yi+e>Yv2n96tM@OiZ&wlI7?Nn#tqqRf?Q?0 z9@P~|%F>edB-tsGk?w}08sy5VA}yx13Q})u05r7g^U$)8V9ch=fMSzYopuE70#uG* zL(^~Cpczl6LWX3bAor8iCXF};Na;Co8J@Y=yc&3YId#bQW^yt!%(`~HDwBh8fRdH0 za;)o00i~s!dCxNNZWi>Hpq$Lkcg)0YpvH~vtNR1|0e=7!lvI6;>1s;*b z3=BdgAk26#O}+vsC{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsOp8M zi(`m||I*2Ze1{AKSpIfixNtc@F-m3L1a=3{!`wk1%MM4(x_p$AqeWG_vvzm&?v37S zxBf8>Klr$0#hFi1&wmS?H(j{>mB5_5+iYbUu1(hAC=z`CyKqIx!OzL;D`Mn!2Rw<@ zUgvzJ{GwF=r)X{PnR&7tZD(R`N2bPDNB8 zb~7$DE-^7j^FlWO008?*L_t(IPi>Pi4gxU@1n(2j(9=*MS|pyp1E8eg1ysB}+yusK zPIuBNiS4Y{YiF9~ueHX~KlZoxeqR1I?AO<^Z1@Jh2OR_hQm89Q29U#b)6o;vjF;!v zM+|_T(>9$SyCw($86+@%Sm~=W&6-Xx8SJ{IMF}TmkpYp7;=)vWiJG;i76x+}dzO_Q zskWs+)=MD2VC-chlTu#lnT?BP!!BSZ8(Nno2*`T6Z+i);&oF@YRI1qpX{QDF|#c-v2~Ww0dkPkBIz$5 dS@r+-LO+r0`lbjxw2=S+002ovPDHLkV1le_mz4kj literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/along_shore_seaweed_4.png b/along_shore/textures/old/along_shore_seaweed_4.png new file mode 100644 index 0000000000000000000000000000000000000000..2fccd04e2765c75ee93e3b146e8cafcd41db3430 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=BeG%-Ex}lN~51RpJ^^5}cn_Ql40p$`Fv4nOCCc=Nh6=W~^tbXK3jD*~uKJYNe-( zV~B3pmwdeb?=QBP$ z{hIZ;F4}*#R>RGk1?t+FS66TqJ$O7zopr0Lf@_YybcN literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/flowers_seaweed.png b/along_shore/textures/old/flowers_seaweed.png new file mode 100644 index 0000000000000000000000000000000000000000..51f791db7f453a8485ba8b323babde53a53d0aae GIT binary patch literal 358 zcmV-s0h#`ZP)H;LN@>a0QX5mK~y+T zZIe3=!Y~j-bBWN<(@-H=B#w{+KuN<1s5pDjv+`DB2c!tc-r4zhGfms?yv(cX<#Va^ z{XMTfoU_i_h5_*So>qbUy9OZe_Bys^yi+e>Yv2n96tM@OiZ&wlI7?Nn#tqqRf?Q?0 z9@P~|%F>edB-tsGk?w}08sy5VA}yx13Q})u05r7g^U$)8V9ch=fMSzYopuE70#uG* zL(^~Cpczl6LWX3bAor8iCXF};Na;Co8J@Y=yc&3YId#bQW^yt!%(`~HDwBh8fRdH0 za;)o00i~s!dCxNNZWi>Hpq$Lkcg)0YpvH~vtNR1|0e=7N2bPDNB8 zb~7$DE-^7j^FlWO00C!7L_t(IPtB9dPQpMGh6fZ%JBY@;PvPE(SiwXtEfzE}Dx#=~ zDA}bI%g9CwBH8TeGHTZxTemavc;;bTEfC^UvE?NNQ39oI z64hWVG+x)S+Eg4P-HkD?QZ#B#YL`t|mk%_)>S9P~$i7SYYzXs19IZQ}D$ h8uZnnJo}$N#!ueH)4Bcdf9C)I002ovPDHLkV1n~V%(MUi literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/flowers_waterlily_22.5.png b/along_shore/textures/old/flowers_waterlily_22.5.png new file mode 100644 index 0000000000000000000000000000000000000000..860f1809e1295284182e9022678768a177851e30 GIT binary patch literal 519 zcmV+i0{H!jP)N2bPDNB8 zb~7$DE-^7j^FlWO00DzZL_t(IPt8-yPQp+Sy)9b$P!bb2F8m7DMnJF-vCvWs(L`Pm z3W_`mh{X62eh>@&7o(A|Fz%1jiy9F^aOX{$N$%Wp=A4-+WB>N-o-*iV5xOHFm=h4r zGb|-GTwq8v7|f1}#FdPcE5mFlII0DZx!71t63UA(8XAEV*nJi0Yl=M?-TNK9jvskE zX>NfI^S-GQE%^|4R3zIH0cB)vRAh*xaJP-o+XLQT3_Oj7uKtF0hJeVUeE_L`<} z**1Yv9SKI08c5a5t~|MOS9#uh7dih$pgSU$pYCbY1L}UA?9>HBO9Cu6z?*6HCiYBM z<71r}sqQcwUdo6Rr;{F;MU%+ht|RG6&?_=Rxj8$bJ3bs#W)tx$BP%o!l5f#&%mpvn zuxLp{%#p~FLQz5RY{`xMBHbf^(NeKr{3GzEsz1wK>Zkd9^a1>$*YrA|_8R~I002ov JPDHLkV1l1q(o_Hd literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/flowers_waterlily_45.png b/along_shore/textures/old/flowers_waterlily_45.png new file mode 100644 index 0000000000000000000000000000000000000000..c73a6f4fce5813ae26198d192c81bf7fc8eb5104 GIT binary patch literal 507 zcmVN2bPDNB8 zb~7$DE-^7j^FlWO00DPNL_t(IPtB6cP69y?MZ1YIFBY!c8Tkj-3aAKCaTw*1_~M}n z7$6GFWJD8P_y>Lv3;h?Pk+3lCuT{-PiJEq2Cmm)c+*_w^l@R~-q)#O_8WCih66q5O zZP3KAK&~gS-FC1W*eHZCGBJ?%1ya?>??x+!EM$>`@^uWwfrGu!LTNzX0t@@$Jl3l} z&@7WU)0joRZ@>$pC|p|VdOkgeCW8AVypA7Hzm0!Sk?RT)n^e&xfkpTR5!h7SLG5M% zqqhgVzwF>?G(@Gp2s(nVI;jd*7gW(EAyp11LeDoQBxJ}0&*P!`Ep?r*25WVJ%}x}V zCQ(pWTWxx8N#uLne+=a-N9EAEiz~_le{PDPDv)kSFv;g}WzU3ag$ekU$jA%Gyg8#c zR`(*J+9*z3aEVZRC%7HXgh$HaT*pS@NYh}oCTW2LAscXe2IXQRNlT_(Jz1lT xJU3~b1>C+wvhs&@R->h0c{NWrX002ovPDHLkV1f{z&6@xK literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/flowers_waterlily_67.5.png b/along_shore/textures/old/flowers_waterlily_67.5.png new file mode 100644 index 0000000000000000000000000000000000000000..29f0ee8973b87c2bcf4119b795056e64376b2f54 GIT binary patch literal 512 zcmV+b0{{JqP)N2bPDNB8 zb~7$DE-^7j^FlWO00DeSL_t(IPtB9bP69y?h8tvH8V8TwOne8=BA|mT3d3T+6_7;~ z6=hfyjlP2q#6jQ1Xe1nr_uuM96B7i+o0U{Lo$31OuVonfm$q84!FRy0R%X!2{W%*f z2@T}!(2EY}B_|S1jhrLh;YhVL7^aQB&5Q@hj3tGF+(?)%B-<*|SDfxn2{B9+@wx`@ z9vg)SiNT5sk(!F^t%rhLNOe@{MpKc1Om`O9t_PtiAB8OMGHlkl1jHL|3UEsW67r=a zMbJ!l4u!h~1P^~H#k6$%!oVRGzr z=0V1UkF@~Fk6jFRKujUlaL_naYO)KVvSTtpY+qDPLo|+hAe>5BKT;tUO=O*@AXu>@ zO!C83MS?=d!?hNwEUokRqZJyfUR13A2Y;gfc>D>gP~cPDG}1f(0000$v$%zW-d1;=un@mx9KGSfu^ zo+r&mFB{0Fw4o=+6mMePa zC=?1vw=^ayH?QH7xN$~-vu*}ciPQ=P5#^q*pWjM47&iALiZ$~#6gF@jX^4>NP;H11 zSR(1!CwR83L*@cQ!5(Hq;aN<4DrYr{97>BE&hTwZxcyHrO@KLk&*MqVE7_$DDjfxk z*R43RTr$t$zfArqo)xbQ7W6SXJeOL`s$?<2fwAXo_W}oY_D}PaCp$K3FdWG-XkEa< zbg5&?i3g25-qI2;8KkDJagb_x_>n)nqnVK*(x>TKp~>HFV5l;9y85}Sb4q9e0D5?% A=>Px# literal 0 HcmV?d00001 diff --git a/along_shore/textures/old/lillypad3Flower16x.png b/along_shore/textures/old/lillypad3Flower16x.png new file mode 100644 index 0000000000000000000000000000000000000000..0c581f1c7dc514d26b19e567bae5599e93fd2b31 GIT binary patch literal 556 zcmV+{0@MA8P)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^7j^FlWO00D$a zL_t(IPh(_&0`F{59UyZf5K9B`aUd?)I`#Egm^_FEs!;(_KY;i%5Hkbi-+=_JfY<_v zS%LT;5dVkbKR`O)J4=)is+kwae+0ybff%F@L|cFu*-#B3K>9tB0WgE&p$0TV8FU3f1ycXpXS)8sa=GdM*|Rk%cnv^`N^O|J;!e}1Q)jCF-8ta- z==Sxt?};^PFK~JRIj&*s+c(-(f%x6+v)Pw{^uP25?R{7b_yYBU2q+vvfp`b9qJVtK zM-%4zyy~6nxuCeqR2nJ=i>c2*eiTR}GcNz3i5EZvTofp71jJmh08|EYmICoXApVZW zux~&)Rt)a~1tpIWGB%4vN- ud;^Hz05QnFUx65ueD4Es0}wM|(+vP7i&+z8Z9H!P0000Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^7j^FlWO00I|D zL_t(IPo0uKNR)9H$Db4QnSNHMEE*ni>uz(jkgLOBDSvjhfW*^L96!l*_&F<^BD8KF{BPnwt>$(<~B9 zij=O46s@xVAQH}qw6BOv1x0?8h-^ef0%6WSiQN1m5|Y24TIor(U3b-LXVv1b)M67r z*}I*rTh$UhYTg;O-4{8##u@v4QMH+XF95|S)XIj`s+QC$f2u`)p_dp81AL6}l-ge4 zbqi|M?|JhSonw7it;PiqI;a*Iz~}`aAkK(d#VtHPQQPwlz*p9Q8#aNW@)ho119^bc z^8g%DaPDP|BQyN30PBbT2(Q!VIq8iP`nN2g>Nm!|zLQcWSA)<)3^^#zAiPIz5aOg- zJ)XQfq;eh5TlN^nQ4Om0*P8%JT#Qc>79qLM@N%0AikNz%cIdO(kulcPqH&Sp5kZO+ zyg4G`JUI%$Lv>U&Mp0tz6pWOP4yv`%jbm$S&8rxHo8d{%zS_=6!1E zFgk_kLJOWejN{8ZrV~xHx$!>5Jr2D1ALHy?q>B(~rHP~oPqltKuaZt5d3RBVOGHD2 z`_KLtkOv8oPMox8b26dUMr7LtZfHlqP8SqAm>almTHRd$Ad<`t935~*3II60`2$w~ lVEe!o04Pi44crAEum#5p_)d0eVo(48002ovPDHLkV1na{Dcb-5 literal 0 HcmV?d00001 diff --git a/bushes/depends.txt b/bushes/depends.txt new file mode 100644 index 0000000..bde0bdf --- /dev/null +++ b/bushes/depends.txt @@ -0,0 +1,2 @@ +default +plants_lib \ No newline at end of file diff --git a/bushes/init.lua b/bushes/init.lua new file mode 100644 index 0000000..3d52c3d --- /dev/null +++ b/bushes/init.lua @@ -0,0 +1,258 @@ +-- Bushes Mod by Mossmanikin, Evergreen, & Neuromancer +-- The initial code for this was taken from Mossmanikin's Grasses Mod, then heavilly modified by Neuromancer for this mod. +-- Mossmanikin also greatly helped with providing samples for coding. +-- bush leaf textures are cc-by-sa 3.0. from VannessaE's moretrees mod. (Leaf texture created by RealBadAngel or VanessaE) +-- Branch textures created by Neuromancer. +-- Licence for Code and Non-Bush leaf code is WTFPL. + + abstract_bushes = {} + + minetest.register_node("bushes:youngtree2_bottom", { + description = "youngtree2Bottom", + drawtype="nodebox", + tiles = {"youngtree2trunk.png"}, + inventory_image = "youngtree2trunk.png", + wield_image = "youngtree2trunk.png", +paramtype = "light", + walkable = false, + is_ground_content = true, +node_box = { + type = "fixed", + fixed = { + --{0.375000,-0.500000,-0.500000,0.500000,0.500000,-0.375000}, --NodeBox 1 + {-0.0612,-0.500000,-0.500000,0.0612,0.500000,-0.375000}, --NodeBox 1 + } +}, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + + local BushBranchCenter = { {1,1}, {3,2} } +for i in pairs(BushBranchCenter) do + local Num = BushBranchCenter[i][1] + local TexNum = BushBranchCenter[i][2] + minetest.register_node("bushes:bushbranches"..Num, { + description = "Bush Branches "..Num, + drawtype = "nodebox", + tiles = { + "bushes_leaves_"..TexNum..".png", + "bushes_branches_center_"..TexNum..".png" + }, + node_box = { + type = "fixed", + fixed = { + {0, -1/2, -1/2, -1/4, 1/2, 1/2}, + {0, -1/2, -1/2, 1/4, 1/2, 1/2} + }, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, 1/2, 1/2}, + }, + inventory_image = "bushes_branches_center_"..TexNum..".png", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + groups = { + -- tree=1, -- MM: disabled because some recipes use group:tree for trunks + snappy=3, + flammable=2, + leaves=1 + }, + sounds = default.node_sound_leaves_defaults(), + }) +end + +local BushBranchSide = { {2,1}, {4,2} } +for i in pairs(BushBranchSide) do + local Num = BushBranchSide[i][1] + local TexNum = BushBranchSide[i][2] + minetest.register_node("bushes:bushbranches"..Num, { + description = "Bush Branches "..Num, + drawtype = "nodebox", + tiles = { +--[[top]] "bushes_leaves_"..TexNum..".png", +--[[bottom]]"bushes_branches_center_"..TexNum..".png", +--[[right]] "bushes_branches_left_"..TexNum..".png", +--[[left]] "bushes_branches_right_"..TexNum..".png", -- MM: We could also mirror the previous here, +--[[back]] "bushes_branches_center_"..TexNum..".png",-- unless U really want 'em 2 B different +--[[front]] "bushes_branches_right_"..TexNum..".png" + }, + node_box = { + type = "fixed", + fixed = { +-- { left , bottom , front, right , top , back } + {0.137748,-0.491944, 0.5 ,-0.125000,-0.179444,-0.007790}, --NodeBox 1 + {0.262748,-0.185995, 0.5 ,-0.237252, 0.126505,-0.260269}, --NodeBox 2 + {0.500000, 0.125000, 0.5 ,-0.500000, 0.500000,-0.500000}, --NodeBox 3 + }, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, 1/2, 1/2}, + }, + inventory_image = "bushes_branches_right_"..TexNum..".png", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + groups = { + -- tree=1, -- MM: disabled because some recipes use group:tree for trunks + snappy=3, + flammable=2, + leaves=1 + }, + sounds = default.node_sound_leaves_defaults(), + }) +end + +local BushLeafNode = { {1}, {2}} +for i in pairs(BushLeafNode) do + local Num = BushLeafNode[i][1] + minetest.register_node("bushes:BushLeaves"..Num, { + description = "Bush Leaves "..Num, + drawtype = "allfaces_optional", + tiles = {"bushes_leaves_"..Num..".png"}, + inventory_image = "bushes_leaves_"..Num..".png", + paramtype = "light", + groups = { -- MM: Should we add leafdecay? + snappy=3, + flammable=2, + attached_node=1 + }, + sounds = default.node_sound_leaves_defaults(), + }) +end + +abstract_bushes.grow_bush = function(pos) + local leaf_type = math.random(1,2) + local bush_side_height = math.random(0,1) + local chance_of_bush_node_right = math.random(1,10) + if chance_of_bush_node_right> 5 then + local right_pos = {x=pos.x+1, y=pos.y+bush_side_height, z=pos.z} + abstract_bushes.grow_bush_node(right_pos,3,leaf_type) + end + local chance_of_bush_node_left = math.random(1,10) + if chance_of_bush_node_left> 5 then + bush_side_height = math.random(0,1) + local left_pos = {x=pos.x-1, y=pos.y+bush_side_height, z=pos.z} + abstract_bushes.grow_bush_node(left_pos,1,leaf_type) + end + local chance_of_bush_node_front = math.random(1,10) + if chance_of_bush_node_front> 5 then + bush_side_height = math.random(0,1) + local front_pos = {x=pos.x, y=pos.y+bush_side_height, z=pos.z+1} + abstract_bushes.grow_bush_node(front_pos,2,leaf_type) + end + local chance_of_bush_node_back = math.random(1,10) + if chance_of_bush_node_back> 5 then + bush_side_height = math.random(0,1) + local back_pos = {x=pos.x, y=pos.y+bush_side_height, z=pos.z-1} + abstract_bushes.grow_bush_node(back_pos,0,leaf_type) + end + +abstract_bushes.grow_bush_node(pos,5,leaf_type) +end + +abstract_bushes.grow_bush_node = function(pos,dir, leaf_type) + + + local right_here = {x=pos.x, y=pos.y+1, z=pos.z} + local above_right_here = {x=pos.x, y=pos.y+2, z=pos.z} + + --local bush_branch_type = math.random(1,3) + --local bush_branch_type = 2 + + -- MM: I'm not sure if it's slower now than before... + if dir ~= 5 and leaf_type == 1 then + bush_branch_type = 2 + end + if dir ~= 5 and leaf_type == 2 then + bush_branch_type = 4 + end + if dir == 5 and leaf_type == 1 then + bush_branch_type = 1 + dir = 1 + end + if dir == 5 and leaf_type == 2 then + bush_branch_type = 3 + dir = 1 + end + + if minetest.get_node(right_here).name == "air" -- instead of check_air = true, + or minetest.get_node(right_here).name == "default:junglegrass" then + minetest.add_node(right_here, {name="bushes:bushbranches"..bush_branch_type , param2=dir}) + --minetest.chat_send_all("leaf_type: (" .. leaf_type .. ")") + minetest.add_node(above_right_here, {name="bushes:BushLeaves"..leaf_type}) + local chance_of_high_leaves = math.random(1,10) + if chance_of_high_leaves> 5 then + local two_above_right_here = {x=pos.x, y=pos.y+3, z=pos.z} + --minetest.chat_send_all("leaf_type: (" .. leaf_type .. ")") + minetest.add_node(two_above_right_here, {name="bushes:BushLeaves"..leaf_type}) + end + end +end + + +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + "stoneage:grass_with_silex", + "sumpf:peat", + "sumpf:sumpf" + }, + max_count = 15, --10,15 + rarity = 101 - 4, --3,4 + min_elevation = 1, -- above sea level + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_bushes.grow_bush" +) + + abstract_bushes.grow_youngtree2 = function(pos) + local height = math.random(4,5) + abstract_bushes.grow_youngtree_node2(pos,height) +end + +abstract_bushes.grow_youngtree_node2 = function(pos, height) + + + local right_here = {x=pos.x, y=pos.y+1, z=pos.z} + local above_right_here = {x=pos.x, y=pos.y+2, z=pos.z} + local two_above_right_here = {x=pos.x, y=pos.y+3, z=pos.z} + local three_above_right_here = {x=pos.x, y=pos.y+4, z=pos.z} + + if minetest.get_node(right_here).name == "air" -- instead of check_air = true, + or minetest.get_node(right_here).name == "default:junglegrass" then + if height == 4 then + local two_above_right_here_south = {x=pos.x, y=pos.y+3, z=pos.z-1} + local three_above_right_here_south = {x=pos.x, y=pos.y+4, z=pos.z-1} + minetest.add_node(right_here, {name="bushes:youngtree2_bottom"}) + minetest.add_node(above_right_here, {name="bushes:youngtree2_bottom"}) + minetest.add_node(two_above_right_here, {name="bushes:bushbranches2" , param2=2}) + minetest.add_node(two_above_right_here_south, {name="bushes:bushbranches2" , param2=0}) + minetest.add_node(three_above_right_here, {name="bushes:BushLeaves1" }) + minetest.add_node(three_above_right_here_south, {name="bushes:BushLeaves1" }) + end + + end +end + + +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + "stoneage:grass_with_silex", + "sumpf:peat", + "sumpf:sumpf" + }, + max_count = 55, --10,15 + rarity = 101 - 4, --3,4 + min_elevation = 1, -- above sea level + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_bushes.grow_youngtree2" +) + + --http://dev.minetest.net/Node_Drawtypes \ No newline at end of file diff --git a/bushes/textures/bushes_branches_center_1.png b/bushes/textures/bushes_branches_center_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f059851488e4bc2a186946b53828f548db979dc0 GIT binary patch literal 473 zcmV;~0Ve*5P)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00C7=L_t(IPj!*aO2bePg|l{tJ?5 z+2ZW{m{ZUA)~f4&e?{=r;!Q|`0Ru81CxX%>?};a-2hD=Sq;f^Rji^B_@vkGIHzzqm z(3Fr3L~W&~T+7N6{XuF!CsO-YVnkh@BSIU1#NwspiOPe^^%+YLi3H>t@_FehPe}Gw ztVoYGED92h;`GEJq5c8j^CxqI^NF3f_`oL8*9OV%;vmnrXp`#fwHt}!a%-p{o~{*J z>*q7{{_z%P*>h;dfBI4Y7?Qi6-$egkRWSe(ymX)9yW_1NIL!K=z0LYnpi+Q~odq)h z8n|sWT)R0{*(_8Ffx%83n!){H5l0P!Ap)e0NgL8&J6dv&4_A4su64mLdplTW7`9@A P00000NkvXXu0mjf4w=YU literal 0 HcmV?d00001 diff --git a/bushes/textures/bushes_branches_center_2.png b/bushes/textures/bushes_branches_center_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2009b503f22fe0cc81d73b246e7445295c8a641c GIT binary patch literal 487 zcmVN2bPDNB8 zb~7$DE-^7j^FlWO00Co3L_t(IPj!+%O9Md^#IMpu3%eBBq!26=#YiG3S|}$R;t3X_ z7!QJ=h@Hd_;l~ms1UnH+K?KwJ5!Rb`{+4(C354C9do%Oq?Iz9hsnEzK!f|^hl)t2# zF4;OcHx~G2c(xKoAMdGfoyE~=h1y6!1O&7f?u+#eTx+r0sT?Iz>!Nh?L`-~lm?pSt zRTnCzP!1}@l~|B10#2T&ZV(}>&b~|L6K4S6volx`g~upmME1$)S~KPa^tT|);}X*u zaf{I1SvHYke?3m#=j1j#Mnn@pjr)e+@x$416W4pt+Rv*28<}Za!S+JzLM}MjxAHuE z9He0C+&b_vj#jG|>D?hezdYr`;eFeLzhg%MNT^GI{YCnJS2Y2gM0^N2bPDNB8 zb~7$DE-^7j^FlWO00J{fL_t(IPnA;7ZxTTi-o*w>NEJyeCLP#aD9{LMw{~~gg|bQ^ zDjJQ6hsrLnU6iJY9!+}at^a^muf~fP{|im@A_wfD2h+xAJTzW=(Twv=9AaWUbP||1 z@5lGP_q~-RcKnSbrK9+}PxR0keK?Zw9)CQNuEtg6SK|D^&)Ko`>ctQ4Kl?>f-yZJn zm-U!5wVO;y&(`X+(Vn3%w|f)`i)M`fLZ>(bAMD-@o%UU28hOY;jd)9&xAaqRB8X%# zVt+F1VKbZg8#Jir^lTbKpT{?ppm&iuk@J_7FWS}_V>-bp0&s=1O#004kJYwrD4 zrzLkPndhM1ujLfM4sp%^j;^5{Q6;@#@8C#PEJlAu-?1y!K7xV~V8ZqW|xY(sRz{p9v?WWuhd z-SJGaht+M~T#O>l?8F2_7@|{PYld%;u@DV$ZzZ?H=zoO`@c_cc{5$~>!U+0IyfGii zOz-iJX+<;dRZH|?HC^LlS>#(_DeZq)z`?|eur(FHpzmHupb%>Y;3IdQ44Y*cEZ9b7 zCjcz@STO#z{W%a7V1o)thHkbD&|{1K=Y(+R3?{*{X5c;%0Fto@uz(JpF}HtW0I>z% dx$p)f{05k85IZ#4_p<;1002ovPDHLkV1nfNHFE#} literal 0 HcmV?d00001 diff --git a/bushes/textures/bushes_branches_left_2.png b/bushes/textures/bushes_branches_left_2.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3e23790539b39f94f949119af3fe5f84388325 GIT binary patch literal 689 zcmV;i0#5yjP)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00J#ZL_t(IPnA>4Zqq;%by6v`s#-NH8dQ(t*m*T=d8EXzyxbN? zK#Gtmb2=q}OB_q#}UMKabh@Y|Vub0xnRx?7J0-I}5xdElsN9s_aE%$EnwastFVhLU2+5E!(s z&VrRo3)hM<5P)p2nNRu}c^}$^%+vcuoVB*0q_Fy}YtzUPkPKFU{M~m-dDkGH5Ci5K z;t$>eYjLfZ@Ga>bQ@~|*YuRP&k??H0Ig8aZ#5d2~R?IciFHodc&oUEvVWt2;M^g%& zs@&eQ3#&+UO>+3~*3u;Fou0Q%GUZ$8m(=X9`;MANp|G5h89_(OTBrseJWV9H?5Ux@nXxAMFuKo;;qs|@N311XI!3J9P;{!|bhjqefztw?14C~A zrvd;qFHXl)fP$WVeQsA@_%b9Dzdx{ZWZ+^5FAcNJnft0 za%ih7AU*Tac_57QE8+=N@+YV$+K#sH_d*0n#w4g0KZhe1KVF!CO@tEo)hn;455N8a XYCi5KSyIck00000NkvXXu0mjfD#tap literal 0 HcmV?d00001 diff --git a/bushes/textures/bushes_branches_right_1.png b/bushes/textures/bushes_branches_right_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e7762bb8904d9ad41ffe46478678ab36a41619dc GIT binary patch literal 712 zcmV;(0yq7MP)N2bPDNB8 zb~7$DE-^7j^FlWO00KlwL_t(IPmNMtYZE~fomef2LG0(Ym`#)2>?XBo-2`=-?k3r8 z>rxThQn5vLyPJ>JrjH6fh=_kfU;HD|Kj4eL2ns3|1RoR;d?^ZLoik-hN-K0=xjT2x zJ@=k76D!d~RF2Epv^2P@()rlV=jT!Hhau_B-q-Jw6c8?f;r2hT*{!VXC()l~} z<2P~xLubk8&x@}}Xep(+TNk4B&OijRW=$K#zERDMwCZ{i|1Y0zMw_-Kr1%QzZ zV-GNjk@slo+qOGCiS7*}(}x<)iUc3qQXec^#i&^?ETYh(>5m(8`76M5+^NCPy;9rpA}uv5oBUi#D<-TH>qtVMMLdG5CkA0K(h#PuC1#s+Q%wt9`diSzu9?MxrLodmy;Y56_#B`u1C z$wx?p+vvhb66_f(AZ=7s3x*0X8~<2y(!8p;{65(dhC+9zqNk3dPspGvMukD%^-I5e uQ>mS(^M7pU8c<~wGVV<)Bd6-x1^Nepd0000<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00K)%L_t(IPmNMdYZFlveJYBv78)gO>AXoYlS$HAH5JXwWG0ElOC?vuh%h>dl)s%Ava5`kU#{0?m5odDW3nodl#oOO zdT6SzLBi-m41457wy`4Oou#4!`MAU?6Nn^*Gm-%ol1=4%uRePk)zKC(f)xQF+tu#{ zruw_(6;}YH{r39B!dc{W>t{|j>T{lGqiUSOiUN!bTS}SM1W<2P+;>u?(mTpo6@5PLH!`eV<-KDp?cddByovK)cY!`075tRU6AjRS?a66V5G>%JjmK+zJ$2&rIK@KUW$>GevSfnYer705o>R`bSN~H&-ZUs4-?T= z?CMnkcJ*uY3;B`F-^;1o1IB@d>1*uk7icDqi8uB$6ZAR>0VHMQiz-3zY=nTG=M93l zX;6qHL1V0i6?L;|>n;qHfT(+71j}0IwfdUPKj7w8S^0^#M&DgKuZ(8@CnAR@GWn07 zJo77bv_*{RzQ8-~tAAosyGbT~TeGyOeFKMye*wM%_@l&rGVK5W002ovPDHLkV1jk; BP)h&+ literal 0 HcmV?d00001 diff --git a/bushes/textures/bushes_leaves_1.png b/bushes/textures/bushes_leaves_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d0bc984e55ddd57d9bcd91a302f30e5e73ae1f06 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF^FxA~D}xmHlx24?mo=~w?=pWK-ooLb7%7v6XMW5ic>v1-vjos(7c Qfc7$Yy85}Sb4q9e03gFoBLDyZ literal 0 HcmV?d00001 diff --git a/bushes/textures/bushes_leaves_2.png b/bushes/textures/bushes_leaves_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c38a51d244d4134ec158eafdbf7cc3cc512a8fe2 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF%6@O1&$ Q1KP{r>FVdQ&MBb@0Nv|Ny#N3J literal 0 HcmV?d00001 diff --git a/bushes/textures/old & unused/BlockBranch1.png b/bushes/textures/old & unused/BlockBranch1.png new file mode 100644 index 0000000000000000000000000000000000000000..c3ba887d24ef98349ed337a3a3c4e44ec29826dc GIT binary patch literal 91703 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

5u6d&g!}*HJ8YK3WvleEFSnCkhQj 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 literal 0 HcmV?d00001 diff --git a/bushes/textures/old & unused/BlockBranch1L.png b/bushes/textures/old & unused/BlockBranch1L.png new file mode 100644 index 0000000000000000000000000000000000000000..08fbb66a7ac50022dbbbc95a501af087389c998f GIT binary patch literal 42541 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 literal 0 HcmV?d00001 diff --git a/bushes/textures/old & unused/BlockBranch1R.png b/bushes/textures/old & unused/BlockBranch1R.png new file mode 100644 index 0000000000000000000000000000000000000000..58b92141ea56369d51b2569c70607761537949cc GIT binary patch literal 50602 zcmXV1bzGC*+ZIVl3sKSpX&KU^R76@@8l-b{j}%Z4kap6bfOK~wj7}LaVua-AF=_+e zXW!rZ2OmDbc+PXqx#PO7`@X-tSCyxsWTd=y?HY~3yEhuwu3gs$zCKWp0l#TXc((+6 zBXZM_e|4>Nn0XWUfy7!?MfTdYidZVV87c7d4d-`yZr85Sb`ida;E)0f;FpZGIjh+UY=>sO%gH%xa(9Z(vF3P^e{nnGltVERQ*`Q~vVZxQmql;(t)8=3;o)3p6}f4P-do$O zBui&A(UL!*cM0p{mwZZgz!1t|DI{k znzki=#nZzOG-RTh{Zlj$I0yVR(xeShoC^2U&`2}sw%-Y<*uTFobjL`fL0cy|J1sfj zsJUptVb1mWMA3E-)kJNsxiHvg`fw&N`>Cjjpu?qqe2vk@#}3wXTx9%GvtsuuzH~AP zVJAZx8nuP8Xw9)>!-PP-O$se(D~4kVy**qrc{1VCdBe#m+|mo;^1wdqNTgY-wa~+0 z6t=>?wj*pPNR<_R@)bK#Sw}^x4_sO9Q_)Nf7cs$?i%eS6r{Nr!d-TY_1m&{$j^G6C zb)w*V-Jy=@O0Dqos# zStMbs^<9upBw1IQn8}tsIo58otlsJ?y)FD#ybF5i1Z>VJEU zu9RXkj-{oxWYqtc5;0YrN?k}k+y2$-Ip=WM^3rVlv(f~KCaFB0dgibLYovPqbvlu! zm;#4js#MbSH^MMs$D;Lsmz9#s%N=df4ZiV&dl6b*_e*(2s;9ih3mQpnk_C2bw~D#V zLT+r8i<*Tu|AbaHEk1%Ak)y&h?m-$!iMeQrMKO+p z)Fu!l?!Z7tmY-x!tRW?S8DHq4v%kk+ad5>s)b8%6U91cLaP{CFV3#V+k5;H)&=(@S z8SkQ;8$~^0{JLFk!z_?5pI1+sGm`Oi1+slRn=>vj|0=j z-+FLh3cMZg{-9#FC^Ef@!pYxyaBat2Eb|CeeK}oo_r%!Y?Tfy2VO2evYQ8-^s=6;V z6Qm}2x`nseuJHFW?B97QkaNB9=qT3VYZP!{=?51Iv|SykbYs-BqpyrF0VOQx}CRS~(%= zx6{;q7t}u+fRNavUQ8>m@e?1(jUG)#@)P31mU+#`0~%?IZ#7#9bpNfel0sJ8c=X#1 zCU2QyAB-ZmmFvu{rW^JqFHPyIwmrY>fi3N1HO5`MI?r!aP;i#|m2*0E=U}bGWhK5J zdE+<&JvovSvA_v=4@%ROJDEtw=x`@bDc={GbgS|B%f=PU&-$yl9!&pr-M@IUsF_VS z5WE=={#tG+hnD z`&r@qMk~$4EXPMZ5B__;-cGJZ0Gz8{BHs zi;F6kF%tYvce&MqjbbF#7bOnp6FIcif35(t@cq?!n5GY}uSjyCAfKqfvgnvvlIgBp z`P7rcg0!?RIRqtR&J~p#!6=a5nIpM$eUEp z5P~w1lmkq471Gt|Qi^WN)gCx)!{Q30ZMb!mnORUO{=DU7^t;CB*<(N`8otBusdJoD5+s&B`1>grY?e0G^4 z2NX)ue%KWvIk5uD^BhNs=DeiJrAn=rYNZ)L9^0?hn_6wYL4srdj5FU97>K2HTodkt z_<~9_jAKe1y~wBmd!n;`h)GsyO4HIM(FgN{59Wr};LM#s$R-d!$e^yubXaA9!UwY#({4W7RJK-`4&% zswUmoG?7WS`LWGJ|iYH;-j z^@~5V>6%sY9EIIxM?Lv7v8;g6X^W-L&7sBBluuOm0KbL6vKuS=s=20zp3E|PJTEh` zUyIHG+?jHH@o?k`xgL|o?wyh?%s`hty`M9xoSC6wQYFphLaSZnT^^)1Rlc@s=jGL?6NRR06u1qg9Obf{1dpv>9!Hp@*W7JCfozt&K;Eb z<(t!At>cr7a`b+b{nFH<# zlcE8gz{6XF>p3P-Y2ipm{#BZpTLsqz&OAQfynK!PH;8A43EMZaN1AaOmgpmyO{~@$ z9+nss@Mg$X%W<=+LDGUfY-aJ@cL@m0^kjIODd29@^%A=v+&{ZRH?kt{;(S|=y zt_JYz_2m!rW_9jo;iP5Ipd=-8vLJKnvgY&Y*Tsl3R z-hvhL%dZlteUCA|EsN~=gr22k5GGa=3iABaSFQKgO#1w&B2b1L#QVgZk9q>$Z?@RT z#6H0VQQEQRp}4LyGAXYg{SEsCf4Io?touwGv$LJ1Y0I*DVWARv7|#lzrL}9m@ye-k zy0i|TX8HR33r|OV+E3F`Y?BOlWv*H1he@{DD6^1VFX6@s6HNcipw6_oNXov@KFmEt(NJStxkZqGAt{mJOKx;d-IwL1#xYe?DO;A(MQ`<>0BP#~;P$K5z|C zTxZA|Dhs@)X8v%(nm!g5cAOnf`+dQ1fINdr8&u*tAyXs(;ChgTHEVG4U~XrFpB;a( zngJ7OJt($692FSg(9N(>58J-f2j9!#dBRiwLM7#-#B1lf?aH#hijuR-2xC24Ucpd| z%jr}?6Fn=m?E#uk!ku>d6rZx0lt88*?cyItTEbtnzLh9}-J-qUD3_-@(+;_jv$AR_ zzs}qrK0ry#r>uGMN!mwb<`ztff3$VFv8PQD;7m`M^=8+Q;XHKL4PI96s@SigN7-aw zjuxUMtGdHNd2ZSO{*tDh>AxW%e%dd#r%Bj7orrMOO4uJEb8^G)?A30y=4kQfH-=L@ zG9Zt1Li;-&1m*!TWX^E*{j-VR7Tz(pIfPeMW(_*mJY zr*k*Ma3e{Ev4jfX&XdgcYq8;QMLRa8y(cEXLD+CSFnMT!1OqJK+R1=BI85eHG**im zG1S`N{Rx2hTvBj^XZv}bkyv>!0q+u*_=>H4w0u0e_2Zk{YU7S_!mZ-k}@L_8tIv-2;0E-UbOA?jzz_ z*1|9yn%R1rkgKdHPD8)QNCUYL_Pdv>aWSwYdMoMutl)PETN=a+d109@x#^bJ=2tMG zV92BRRY6oPki40FIogP(22MXdnkce3m6ZCI`9H+DQ0X=aGeeJW0^EYT2)$+yPLb|r z?>^kpn1&pWLMLiV4}fCrGFGclUThq6_|ETxYz*};cqJ2BP}ARRFnSW1^$Jt^f@Lw(4IDkB|aFg6_aIyA61RMU0>`psso$d^?-EZE!TW#xyYR}(= z(pzNIyT_blz-^u1Rzm+IPW+cvO_2*yQ2=YP4BJv*3l+nv`3=-n?e&YDA1bw!vQX}x z{6Cj3i|-O-I~_{m@%Re;?YjPluRn4?>AK3Z=?pt2k)`knP4(M3sn!W2=@7u{S6X!oR2_BcoCv8@Q8jbK z0Q=66_}g1jhCCwekm&r1xXq{>BUP|t4pW3OTLif^-6B@oHsaJheQwl<>UQ%>bjUaD zf|!@1j2$eC7y4Dg{>f#(2P?@Yf2)}E+QbMqrktl^*fS>fXLc}&G$~0h>tE2+C|(m` zhSk1v%FKdfxMoJ9MjUnsLdX+l^c~NW;e3E#E0VQ+3W^CUffgU1yvP=>yg1+C1^9AO zN2FLFP4g0vIh&c}>kK@4`RTF`s%m*)ZwYyhdW0dWo$8_9={O|=yQA(2M_1Cd>oKkW zOVZB`V`IMhE<*A^P-by>+m>PeQu|>yVC0&86(+K886fNvDKKnL3Y_6CYphxxe^eI2 zu2v4tXiw1w>%ned#Z+AJ&sN>BMI~L>n1urR)74K_wI5-Noj)Hx0L`KKk^Q|fTV z74}LX7XpTiupeqxAI3gtU1&`s#00$!?`aDpNTQ<8kBbvntQ)xgj`MO4mD48#?+`68 zc2s~0=r~Cxn6Q<4N%Vq3c@LiP^wpiBi5S?2id?@d8)&(<4K>=Z&|fJmGuWgrh|2)6 zGG_@Q+IE$eUKd(yeocy8IgeLDm*oN0bEQ`pI5B#d6i69?3^OnBJ@R$%c3QXlPxt_s zGQ5#P--GpWFS62t%d*Q-h|2K$%PNhhu-XE$d|cZa|AdI$40W?qt9RnkSazDOVDwl} z*NeK}dA>{EYzLe!tXJkdv?tTY+e7s_p=#R~@{55;;b1l-vZR~ZH0U4|h6IDRn z*vQdBkeY_bfK3#p#Ro>w{UAU1yJk!{q1Q1eivS7k*IAakP0`YSKt{+>Pur~3A#GhU zSZ!}>i+gb`irFGtMrlobY_8Zd#Orr}lv%A6MaQ_5HQoH8DJ|aP}+bmnb?q&IiM(WYtDM?$OSeJzV{}bbfF; z*n1@Rmyflm{MlP*?@^)D^U=zkE&O-D=nJJ#CK5DgWY4-Vx_{{|)Y&ZlJt-3Kf^t?i zMg|33kGkK>o0=xq%B1uOu@^YDfhzfRx{iyQnrLVokUDK;XDt(KwO1QBbk#Zm{C_03 zVmEZ1D1R__D>qoD5xM<{*}oY7H1kewSD1pUR+>xP#^(l%m$CD=m4Z8|2Zra1kt0CP zU`s~*87EH`F%Gy_Vzh{&hN8V21?!ch=NmrECL^OO&tbhvs8Fl@)ZZp~yo|c`$rRP$ z`ql(gB{zY-W8=ubG?DVONY z@QR`$@i-A@+#5Hx>}TCYLQ(VLwV}ZM+MX`;Jb)j6=M@wW{Lv<}piC#w| z{)+L=Vh8!spj;^PkXAThod41XG{w+&0Xj~#ezzn$1M7jQL_#JpI z0sLL_vX(D>w^)s~QYK6LXRy~&=g;2AmwnZi;al*h6A=}4b>Q?RpG^Gq5>%_BlRQS} zrLi)0Y;;Vhgz(Q#46(Y}KV`7Hza;@^v-99SRcV1LWHZ9UDSM&mncvo5IK7(g@AWn$M&}O zK>qZC18Thn!&l1zVh*U6{E*R0*ly;6TA%a6%d~~93*H8=LngxOtL~Va1bOrV7;vis z<;^WC1G5A#uon8|-BF5&7&gCaQ4`C%<_~u^)3EsU!$O~)`Q`RzI`9}{+w>8Gh;`4B zpTKoy6#t+KrxW<`%K-i|@S8>(ll2U{Hsp=2k_*bTlt#IKJraI)d$p=;tFFk8uQ(9U zfzvKCGud2DFkJn z7LN&aF`B`z-X&lun8&57lS&jvC#5x#nROd(ux>g(qceids0~YP9g-<} z9;@%*pDlO-*KllfLNrWDlYTYc9s3&Ky{ge4GNAt5a0rDEiMm^~@Z!o?Yx zfVJWV4cGyjX-4@@TpMKM ztn7H*Z<1r-!XnCM65chDezw%1m}w}f0JxJSfWC=XNB}5@cZ8&B7fA>fluPe>if26T zRE?P4JS>&}ddmv&McJUtXnw&>&KIQ5iR`hlUK2e42gWoC_f`-6T?iq5)he6IFRPx9 z(AaGBvNG8@?K6j4oadbHRmnSFshnSjQvl{;oW6vO?m8FU8aSC z!cS@cR#$Hi0V|v5;v*>#3KM>d^T#0*={MG?Ks5%;i=9uih|K_KRbE2{M_lI-EH{Nt z_I)wS(pEVE>PE#c<;p(}o3P;S%SR=jDSAb#!_D?d&;BMGbJ3RNvL3(SoD=y9&r1m8 z4+TmmMjnpwn-k@AkYMb0631Aobom;7d3+%BXBxL(p=NFc(&c61lDeM#=M*uE3=qMD zXg>jE?WL?n3;fa*b~cs1?Ow@aa(#9fqPhh74?yatR!zY2TtI#7yH4qY$Sv7b0KwLYZ z{Q)O6!wI391!287Kh5(%tA2V{z}9`QNkg-nEhSSa`v|XP{QpfmV&ub?yKT^L%wld%ZQPaeB5X2mpK< zK(hj~4{YV_vP%hNC^=0)+Itg$B*`5qK~3iWVR`V zYHhkZ_PS#3ZkD_b=px<89YSAU@>*JigK^|igu9t=H{BN;(P3tvV4$CpEn)p$Kn2S< zc)`MaN}a!M|Lx?-ho05h_3rr39f&QTT$`j_$M@ZYVx_kf^}y9dw8`NT^q|>zeEt2J zx++3MqT$621kpjgGf?+vWP@aQAWGQIP49A!QZf>ul-BE0xXF`wa~?Z4=q-JhY4{n8 zSmS3mz->`fQ>XKGL3|EY+DmT)G8@xwMV^r^1aydWt}g&3I7Fki&q3Co4ZJBhs6;uF z!#bR7DPV>mkpUVI<1w?z2ih{*Uso$6F1A8Ft#RI!sxV_YhQE3hd8WaLMe391a{>CTF?Iqfg6wxI7nq zIIq$Lc^3hq<=3R+9$ltn`hF~Y5p$>8EEUThEBd~NR1+vOc&P0M&ew-uFCh+{f%M%N zfSBrFdQzu;JLBJ)wYt=wid-7VdwsxdQC7<=>aA#6tM7Ze18RKMQ2T7&U5U3Hcf|vz ze>9v0{MCc6^k4_b>3z2u)Lve}l8*e83MHaD#T z&~6`1CefR7hL%WhA*udHRAgmfK&`(mIDSdI0P*^}8~C$ck7c8JzXvxx;$%uyY?yaq zcvy@;6hbdK7lM-)>bhJ=^?80Dycpgw-26Z%I5l)}R%_JQnJ?HgE~vPy3Q8HDw=THy2ws(lAn0$ii|)TP++QZ02n;dJ!g- z0#pT*0RS!J@b4A7q1g99k>*-~uJmO~XX}JbZPAmFZMNU?=Q5&O4E{2#>Dy{|AuNpnicg44Ul{;X1Esk&^u&>8?&xgq?Uyx6b^y?M}f%np$YTE zk^0+iGnakXkAG=m|74uV3vmUuw)hu&(kjl*S`p|3e=*Fc9s0>Oi+-?5Zoui*Qb)f< z-rECelq*y?!0&Zl*;Li+Iycx(ROzF1WoKYJxX!roOCRX4IJeuc908C(0&6g?K75$^ zjI!F!{PscEd~-eKN>1{xe$561s5fT;Xy#Y^Kio$7wP2l*pHq^=B`oKU4IYlj4D_h% zf;4kO-X6x7f8_|Uf0vvZ_FF5y+|KC}k;G=#Ar^qAU6!kHLNb=Y#J9Lduj6_wkjd{el6iIS28a4Nj@GA*G_O{xBDN^CBlOb?^>7S3;k= z+^EoH($WQ{{???H^nFm^0?mHVFIL=T8Hd+@|7=NFjX$4#r>N(T42`24ht&C`;{p&`pwT{-n&*Ghv@^v^rBi2jOD{DuIv;y#LdOP9-?XBJCAcD;Q&F6 znT=ciHmG%OmJkD);ZOonD$E-{6!`+#*5AgmQ?+&_dN;v` zvEnc5R>$kVvYG=oZL*<)B|KvvUOSpMhYr_J^$?uh$1)FZNBMvh@zG( zkKWB$gCBqhX&#UMZK~8D-}LoH%t34g0fWI@+f8}&_SW!!lj0jZBEx(5BJPZp4{1*E9-$xX%c@Cb}XQ8sjI~(-_$5MkvR!w^jHo zXVeKeLN%KW&<V*cK3c@E_yA zCPP8?1&(Bd{fFSNKXB{sTj=cVb=;k^{}nnDlfMKC0;fqI%Ccgxs=m>{a(Nz9EgU76 zzVc9WH%r-3CCXYLixp#^?8P0X4D}x$Db2-FJJ#)tw{DY12At=$uFi2Bi1AMhFmVMA zx@m9O_#VzL>5WO6dB6WC?NS%R zO`lRVo7~}s=vis$1N#u8+-uvY57ZuG3Y-^T{qeX)4RT~2^>u(IgywD$1S?FXxmX%# zv9om2*`zs9X!KmIz1hcwPU$vBbxSR(wdpkwx{J}7=j?zUpx5K4dG>cnP}Ci0ZYIQG zhGse&6wl;CbS7#chftR#XLt;h*n7x>d#hbOh{4zO1R9Q$u0$x>`U+2Y2T-Yxjz!I7 zdG%@|OxS)p)EDPe<+~rc?)@Vak%Xg6sCZ&Qyc6r){B)&=<1Vyg|Kqs=Ef;8u+cPl4 z@x)Ea+u1bJgt9WA)$a?Su5#Ts{5&TL`b2kKA&1z0)R_+K6hCObtouh@sV@+GQpeLmMT#Tu;u85=v8cktI5=4fq^0L! zWmE2%vCIzuPuZ~iT(`Xh&BVG3dNPK`vHZ+o%bASLC zGZEpU*lj`}{3Yg*0u072Ncg#$+MgAtKJZW_ocRt7i6IEe>Y&H9FnUPwR5$SO(K9%Z zF_d-ec{1xJ-55yq4K~3kXNMtsv&RA6lAN0pw&jeju5NAGvHP*TRT2!~wm5b%4%k`r z2gbC`i+c|;A3mqceD8Ckn$@J3tWL@!Nb2EnB_WM`be@s(0=hbMTfXZHzT^}{N*S=C zthVk0-RlgtP}=;r8mnVMW8Xu_3_~$sO8lO*bm>ln?ze6n4HxGHkQv`h5MZRV^v%mo)SiirTl<`4n~Lv7&LEtWfU)&w$G7A&|Q^P0;Lp0R>c}f zP-P+C&Nfkxp)~5of>id0t% zw0GrD^OImM>7LwKfoFoC$t4D&!!>j_FLtKjBAkHk`P-_|*ZGbVL{Dh?e7FAw&?{ig zqPEnHYoB@p_ZWMdskY0&gW(L6o)gzCdhMeY{-Aj}tT*bp8U^n}&lib-ALyzX3Cu>P znWAuf0MHyeQth+ZTyM84U*3SU%99JM!z%Nf{L5U^Qa=2*o;kmgsw>Uio?2to{tRgD zA;-ut52 zDCZH*V@V-+2OCYI(nXdh!SP=B%Bl*pA3dd|n46(36f-2D+V8~#W zJ)tjzdR-;Hh4)=mEoWiGI&J4pN*utQto4(I6 z&mq#NCc}yd<3nOWKUvc9r#PFL)`f~rdQ%us@B-b~BDvW4wW8BljG?No|7Bm`VPRZi zG@p5j7^?8tsj0TC?(%NxVMn8eej6 z4~}aaOyNKoOYP3Ftz6Z*iDhK)If}$EmSjq)W!~qx_Pd3M+!^i$le!TA5v+-2*)3X? zIMt8gJC%KH@Ip}Xys5;1{FA>^H}i=y5$J`t_vKB%s8*~>CQh9ZwPDv2Uh02l!UFRZ z#Qc1RK@7A0muRAAL5-n*5=W6?Se16B*zp z7uJ`}JoB1pRD){@)NdCr-4nNODvG_XZr?G1wtl|p?AsQ%Ka)_zVQ)J?NxD_zTS5jv z!rM9_StCy;tcOr+hT*eA|9lEBDzp#>Vs;r-6w;650a=;3J=LJn!an(UfO0*8$@=#$ zo>*rSnO#!<;uBj*)~nMXkLsTyUxVg#sYqGp3ZJFSh+gOptgv-RDa_xw++ebCy!=S{ zj7fE1B_}J-RD$hlNYy|`8r85^$QCsQnn>=P7Hww5cq1;=;No=9s^W7>o1tZ2yvq7p zO|hV1lL-iFK98V9;m?PLkgZt{qx!)8JBTrsQeUdWjn4fK$>lQqr6C(V?c}^e?C^=# z#KVr?3WIMP&eomb+D}!F6)rD;su7dwtmKkf>4gYn11Rzp{o*ZJVQOT?uF$^#w+M{u z-_IAqycI({A+~`@*)LLGy~-eW)mpv%64Rs0jk&r`9;;_G79&99GQi&xiux#8MWh5gG+&Q>6!jGBxz7R|kHdGM6r+KMf{` zI1ihyuy&}aSg@|H6|`OR`2T{5plLfrDpT$qtpVrHngu#Nhf46wDT;O|Y!BlZcY=Mgp zYz~SlK+y5z5i*F=8JJSM9`6RU`SlY!eF4y@U~0q3bZk%ad&zl;s=DOX!QVKa>YZ%bdWJiI&bMpRR9goc;bje}#K+H2&-p z+;!N@T57nYlq@19W(Fw6*L8%&i$&0lOK@KJ#2Kbf_=oWHlrU6&ZI;DZy8gtXs|_V> z<1=zW{CIt;%y}?C7+cGeM||m$9qorstKZ}AlRDNp0-O|xZrWVj-k+J=FBL&1td4ri z6IWkLub?XR)&RNT<|sZtM1wjYkNf>844-?%Fa->wYdVQle0fA(w4C?6llj&iQ*4_H zG^8|d9K#G#VYX0dn@_RNfN_C03d;@R>MS$slM_YQk?}xx$J8dnr6WWDAy>%0PiO$9 zPY}%dXV1W1EE|~1fr}!5RL3!Rl6$vZ114lt0Ss=|0`v5QzEW@rxWSh=s;E5Tlu2lu z8t-g&8jiea10*b(U0_~}j#{QjrU zo(wHcEi8aMI&gk&V=BXR#Y@M}&a7YKZqd{b@P?)DNYV1kic9v$I&Kvk}g@wd5@tj^w6r5qDr_i9lJL>FlJCxwJ~<~x*Xg6Ct+s5zrRo2xi>iZ{ zU=UrCmsOiYOTCM)Sfwu~{Ssf*XQ20I2YH1Ii`*)*Z}xj?8Svl_df@Yyfu-O4I-$w% zV&u`;n-Qoj6U#+vx`qN3*7FgRmVXC8UoH=Ps^Z&%LhZkK4E?^mn%SWO9FAX5&zkQT z8o#BxMl(=j>Nm@C5_!L@*!Lk0bgqJ^8453tg&qb;EN4Tj4|>l)bZ*$0$RM^SS2&!X z*4L)FoTY0aCk^*Zzg%5u?NFVxv9W0v!x8v~f&gLs!jTzxD!U~EJbl!FiB@i6EzWdT zdEVI`Qz+U=yYxO09!9NN^<)EFH;oJ54!6hvYno{6v^d(y)G{ zx8#-3WS9lv2PDnwCu2`B)2FX}EIf*^X%AN2%AfeWez4XfUQy9h+h!GHnJvBv!#BFY zhA!XxQV5nCAq*Gxm>1Q_^qU?xFBfaY0}VlOJK-xS!$EKeSiBh~rIbSp{pKZG0?1*dK$0wrUO&YA$eL}$ev&ZqB$Mum#ZT#S2Lbws zsW=8;2BKsqmReZsJ(Q(LBqwO_yAXKl2Y_$r&*qa72m)f2)XJ@758`6h*Ep;CCJ|)2JN`q3d9mBOSY$MP z8k^^U3T~Q#n=tPI)HH0Dp^E{G{>Bi<$p+*@S752g9}nCg)st4nA7Z8z zTxAKVeg{LhdAL6UROIQ2X1tHqYD2_&8>5tbyU$0I{K(D+1wu0Q_IfBH{FtuH1s82< z^oI^Mv>-1fdm1hLfV%g{Y)+zO>g=7s!}fAwzTFr61B#3ze^7iOUEw}EWvIg~ly_bT zH+iJMY4*_Gq>I!s^C&Q!^Q>=dlZDhEJjeLzjK-$AjUAT1UCLZ6b>mRX`jn9mBh)W3 z3S!o8`82+Ky|NRca|{$X=kJ&l)#OZ%)i>;+@5KPk%aCuaoTd(OToU!K284Nkd{|0; zrf1B2%3C)ti7`YUw@i~6eztGE{`*@b-b&3;TGpua{NHN;i*VA{l|$}T&T@DH_)|4w za^dAsLv0CAg9M`EKmj72bSrY^WF&LXCl^~HO3wzOLWql6S}@#>M4Ga{hNq`WUCMM=(UGA zTtK4Uze0%STkhBTnOI!2eg&TI<7Asl3ud;|6&JO!@L=WDv;7LdDkJZZ>ut=vu9pZN zGC8Am+1Iy_96g+@Iep;=r{%&$AvWK0vV*9pKsnxpH{90ht8 z4;KfC>QQ-_dp#4(=k!K@^x@v*hU`V0I)>EAL;fj|E-8Kv&S+OmcU! zAE>ET&+J}22Wc_XrW^Gc{YJ>T3yF@l1J4P z8u8kWq}iKQAN%Zr#=4iQP3#)~wjMz#$)T{*D6@X7ENxxKf8w}A**P-Mkfw=W`_=+} z_@NS)BiC&ngH`rzsdPDbYF|%UTNh{+wvO3mJc-15NwCnljY*tg6>;AgN-S+qK(m;Y zqu&hm@M%>MpE9UL!(|`MZO7%xaBFR*(3*rgRB%8@+VPttlq${Rnfg47(UdCSANBRu zd3SAi?yM5UCOtdp)=5T?v*L(%q*sE>{H{Mqpi>ScFD-i@4sX$)8Iu}dT*w}aDt&V8 zZa+SmrI60RFcinx9e~^QEWv^|lyt^Id1}c9yXtwrS#6} z+xuJin$w={vc0)QYW#-}zYF+wjjYo(V^V+0M|tV=>?Kpn)bZo*8K;E z62;Py=e1}qT^hQkyEM6YQ1IQj>ognHW~xRyi1fK;R<}2pLyNAKcpxG3Ubq1) zq*eXXjZR;V7ULzjcP0MkS@a}k1OEtc?Ia>P>)@?0Bb=Qe@S=&7ol`VoUYSBSt1g;c zsuF#owgJwYPLy1bFkx^`n0OFw1J~P4enDNVHbub!L(e3se-V4?D6ExT{FUQTA^9CO z^(UC8mOy9XqOf;Oqf7pgx8jQK76QNxIN6rqV4+E zA5;U#VlH%thU8|w5NC9603b~4I#NW{Vto@rEKo8^`L+8F0**}SyFlmQ0vnQ6=U5)l zCo#Rk-uRoaI%_sm_iM1@uXcAsY2vO?Y;T357)Nk(xShwSN~Q zfGTujn1SO+FU5j2Nphq9ku=ACk2^w4zbdE&N=3N0w>mA;CwDNduci)x{&IpW3LGb- zlnp7ak$qcxA82$Ve9GO~U*ML^ey${ppVBE(XdsHD=3US=`BFjKfLLP@KE9LO*FB+( zxs7JF&E0c4EIcB;=^?RqGrR(z_9}$NcOd*fMyKM*is^b{do9mFE5QXNi~a0d++WOs zIzy;1;qbi*?mN(dq|E^|ZY&QyRM z_ZPqeW?4z}ffCd&;1P_Aoy`K=e_e9(t{_IY13)W}SAIWW#*+NK&P9t2UU+)5EHZIdx(=HVX4-{DVA-AT~p{QvhuD6`&WuOyV2Esjx= zCd%em*?S%#BP2ye$;wV-@4ZJHduEey9P3!ead6Dv>+bV?{Ql~n-1oU(^ZC4<*L6La zD!B%S$BkZWngto8{2(*vv1+32x%@g-MEcYr{?XC+!J3cm{=PrOxKpYDEGxWM%oZ_hz(|3?BU7yXL+A&Nx9KPgyN(Gjy%B}cmDONVx`>-Z;G zFIeF5yaut)3$$|Yu}DoTfW!ri!cz}jl^^BAhYfhrA=1F(@py}7_vQeLHP!+BYvm7D zbPR|rUw(|9!>%-S?S)_ZF3tAEBHLaO*&RDh@IdVytFd2utP|rBA9myJVD49&5i*A5 z%Nx%P5!<~+(8-|}Z^Hk4E_V84;_d@XVDRwvYP`~9NRM=#;NjIkhit?nLF2E3wVS8) z^+ol<+Bf{9E^Y~XZEM1CgR^pF1A2ZRagN5@5B?G3a7|XUv&f#aug?|0s$t%->$~aF zAZT=p*_!*7^8WtlUzzFjR}5<7binTOQOCk|>gM9)D7Z9-bD2uKM@ z3V#3L8%7ZejPU=u+Y;MrR#)%e=KTFq0DX~KHemmZWf2$hwcwR3Qo(xH54~?3wM2VA?6w1iR*uJ$V1*H)=aah)Z=-@UN4_dd6-4M0!Hxr{CAYdSIqh6-R0d=9T6p8Fs^o0*1lJ zQ_()u2Ueqs_ux48LI&A#7>vJMv&VW)i!K5A@z9iSOPIXOXT9y8!=WK8 zvjX=B0zz$5kZ}>z99-9*YZ_F^`06*{Y-a;SwCxJ*Qdy$LDDQjy4AA~u+o8pw=Otae z=mr(loP4f5#M_h}>)<<);qsBhXV}%+81nmT4W0Ea)1&yy@FL~8_Y`Psdq#we+aJya zriJ zbNXMtVs5A5PPy~M-5Qw_7SAAf_$lqnnq}uJPwtB?O()mAaqovd%$0(7ZQ4CZScL>qP) z#7SC!6Aw7>?H+i2`TL~kC2+H_E!HQFS}$fvKvR^*v)QAI zxpxP1h1rf@lj)`h2}CoQGo3rJ;K}oF_3)-$?K~C5f5)Bjn46z^KqY4~Ohyuv#YbJP zv(|UIzUZ-Rq{JndiMU|Ukb?7`5El(d@eujOi%x~2krW=T8npQXre{*Rb~6I;w9y1D zk7mWZr>gBS2*YdG>*@$nT`e{&Zc9qI$w6} z6o=W?f4X=)kTTQe+o}B^9CHv|6Yhx!Gh*Ps*K9K*qwjNcYBQJmp|eKCPX45cBGp*5 zA$;V0t=CI}Au5`~_{HcpmK#NSnNv6*b}mfR)S%RJ|DycLChiQ|&NZe+$Dz6Xe{bA- zf%gwXO(x@@69W(A?B=?2Q7#(P%xPbP?v|mS8fEv+S^SkQ$h`sbG439KmrD**2H_Nt0y58888-Xm{%Z`f4X(=D^>mB5q9;&6!3YK+6VH_zpvvT z{+mVaX?-giop|JvCVlcd&;Ja*I{#85*wH7_n|(qu^7&I@gJb@!E*6`?o&OG0H$e(p zMB#*E&@efj>aEI=6d-Q9=b6M|+AlWh<3&;KnWAhree{xC(v@As><&kU12mHllY2 z_gC?_=Mr-nZpJMrWGTHhRx;T4mNlw`P0e8~9Z<4j*xh}A%fKzS&;Qx9SsiV1K6!i0 zpo`zYTdN7tiZPlz-1p)%ZDM?rOxl#eE$`xSkTIR$bYk& zxM!8b`+|Svgw!!Lj-8EBHhQoGm|Z~E!y?SL2XEIMv!>-EDZtEerxU2qx2D&|xJOtC z_Pf&m%rcM`;@wVr$Ay=VV%1-%`%XWg{hFubxI_bsFmF$48cuad`H79oA?cwXLG<|3 zlW4FQqRw!qa**FlUvNaii+}S@XNWS!Q#U})$_EYGN7J?~yTW-a&MvQAW1Uf9*zKRG~>N1$w&ldx9c zw&%XHA<_9;cn28JRHmUU|2J%;xp$}MIE+9znQHrd@bDGQb@NS@!*768daH3WA9LatE4k+db=UszY_6s-tR7DO zZ=*CzIcb`HPJCcuW>Ey{%<+WT5if45$pAIX`0}RZ3D_cKEZEQlm{UD)=ed z5IQ$SFf*BbcDwU+DJ;gpPf*{6T;KY`)uzHb#)1ZryBXixL6P$R%|~;Q7P>ni9OO+J z;a_|$V8Rbs-+jpzq{1k$t=vXpK6I~{|9wPg(EA+?@7d$?J3ra4%-ec7AKo7Zfs$9N z;W38$*yz~4=Yoa)!Hv4pXg+l-0aIC1=rrm87m=;0O3@O{N39G={BOsTW|!KF7KEw{&i|B@9sEjY zv(`=W1(L5I@D$ITz^DxT{*9=lcXAqk)w6)7fX-?}9hoiOwwW)!M8w znx$(n@L1>~v_z={L62;(op~gFdf8;|3MTpJwmk=%DlcvfQ^$WcvI&*AK!q-b%AGZ^ zQ&dwv&8*9F&?G_fGKT(r-LmfO!Nrm@b0)syd2If_FjsOqYk*fT#>}s$BGHpv!>`bo zY~>(7XS9q1Ie?Q$WFXCo6-{$@&NW-gv$Fd3hH*?~- ztEKlyx5p}kB{%`BO#B1%w1@knZL6$Bk-MjCE7+)&?=C@q|H>x!i3*ya;ZBcyD^gI4wU^CKb1;VddOKqYX(xD4pfdM?8KJ>bFx<;>b(lcsP8d2 zTkJfV4P}%CY`0>3r6TQvkg;+y{vW{tvH|94;mEGtBgM}0T)!Eq%cCWv@*Os?yO&w4 zvH6FhPI8CXi+rgzcG|d#@XJ!9p=A051m;lH^SR!uw%jy?NYOFHaR^OdvfW83l}zCV zKnB2`&Lk4DuiO_AZti|9T99je%(#8;Ts;jGPuT&vHMqjI@C~l;7VZ&#x~j^gMl!)D z69b~$o$4EP?$#kQyDa+LTa9mE!SwoSQJ@+Oc>?W{uo;X=)zp~n0MEUSjPQ(q4+heJ zE!7|NsYofj$2%!3i(Iz-QX(z{Pz`uLv&g^blKH8GgQ%*W_EA6}3`L;b^6t+kKMe2; zf)0ik9F3-H5xWa#As8lEg`fj_?k6wjJRV*S_JL3VCJxIYC{XzBAp!fn7p z4*cw_?f=wi_z0vo>X#z?l%s9*5H5v`6@LQa88^0JUUj~@&@Zu&Ay2k)YM#x6){TyU5K z$`9)ZS2qqg!?4Cmu=Fa+RtbI+3Pie;kQYa!l)^6b-+4S`z)b5gb;o3vZ!S_m1EL9E7e7HC}E;X2EsJ~zPL@q8X7 z`%QaUhY%D|@FFXGar;2HO|)Ucc+pGUUN5#=!K?m-sKa-#@myk5all)DR+EmKTiZnPT4K%C*-;G)@8MzI9R(8`w` z6}`XwRjD)ASkEb-JJu%%S^qTa#WncE^Zo1{iATlwrqsrCaA8nbDR+LE)EoHOA(L@T zfFxAOMy>r}P$1dsbcF2~2jwZ9E<2~o<0?*VRwxj0DxoQvGiN)LL;=&K69}WW5O1VuSWg=QZ0p_gv zdE+`H0|3Gbyzh`=sM(BwLX%t#$#~dK-@R-t%-q~uke5SeadIR&G+*9>sWR zio;}ta&^qxTIs>xe;S$JtC~g5qG0osS;l!|yL#I#KKTgE^01nx9ifxkvLu431NFUm zyO@sb9(#acZ3<&00BT62>%Tl`$XGlye2+sdpA0_0Zhpn41 zKtt>Sa{0g}m6pw1B>8qNeDIzLhz-mgCIF9b_}nG%CkP1K4_{LXRa>T2*n8Kzy^eV~ z0lXld1z}!1j&uv`ss~xz^7-xDE;i25kNqx1G#t_I6zz1zdH=1fPjmaq$nS!QSRwGL z3CQQP@kZ16H~Rzf7{OK6VlX?UlKDe9s_QKo1bwzSIid2ey+uEi@aqqx6cdE0(WeN0?*tfvsm?nQ|)%cMh(Se@kqn;xrMakm09P zI3v?|ZTWJk&;DEJXbZiZOb+e63Tgwn1Fj=B-cW;YoMen|zQ$Q(ud2`1N)+LFH|)-R z$|`ZyXF~c<%em|;cSJ7ZR#!}j#s14)K3b`&3W*f`TxYVEI8fSl?V@8$x3;|YyKU75V7g7O#E>jC#ddVS+tMp&xg55WMmS(b z{W#e>vH?aHYMDJL(L&GD0DL6>Z31+_-?JOlH3<7UvycK7 zQ^lx%=>WJkl|$AU7gT?VI(-M+2dXN5KEG(K*n;mp+dOuQYYFB?T2w1Fqu(1ZrpNM$ zJqF%-B0k28V{1{7)CgO_;C{-)=ZQSyAF$*mBa5H*q>?x(4znIBzN@J0668}3UT6M7 z_)g>y*Iqw=l%z64t{$87ePHM-+6`Cl`wOZPWCKkYni5T2{IUVUTQq*%7%S5OiY=7G!$@_lzEYQPmfQP-X z#ihQUSWsUGm;1UTQp|Q#pMW(E*=F+bJG_V*UK8}y6gNucqjh(L2E@yean4i6cb7A> zg(+xfLOC10bT)YkPUwuqfOW$~20HUb%W78>u9?QWo=etxDYo){0-Ca_@=}8-JX8`H z!=v*1+yjbvJP)F{dvwt4V(-%2fB~8fMLm)6xvdze#5D*c5`+YLTIaNL3*ZG)E+P_z zs0-%YgRfzgEK`pZXa{_i^<2Diy&PGmC?XkLZMJ2g71HkPbx!8FaTSTOoCkiyKW<{Z zH3@(EsgIw0$36rLWn||A6AS7;EaIGvt<2@#yWYI7LF>l0Y{|)rVWXAQNvXTj&cIg% zq6$jHjRtZ?FbqFM>Md)vFOBcc&*Lt+fGS1yZFnQ!ubE2g65v3aSzdi%BvenHlPs zsY$tX)f}O|Bh;gr>k%<=K#e-%9Lc)#hdN$L+wxlqoGC?Xw&g_ffr8f`?F6;VHiZ2< zfkt)*hr~;ja9`QnmH6Jg?*lGL#J5DsKX+%H**LYi-4M`Ad6h^%!r;(1g+cyptDsMvmN&>)9u(3bZIg%L!5^CC zICqVY!l$`OQ@!bIy>6fTGpax2=f>g4Sa*o5Il>Hn0uD);Yy(PZ*9RR(u5%|x7TiCZ zx`(VN0mO$YY;(mwMC=@t|bp#5qe|!Z!?Reu}Khsd!jgeoQH5^Vpn-ghwH+uJHEc_yhw(~P} z`ZQ#Dhzepwjp>u7CP=EZhG|MC)mieTe*&{A2=L`QXJ%rET$>K=?r9h~&UgF0US+31 zxDrWC_|+RHiAj~X%JbF&%&mUS8(ZO%#2l+(J588T$x{Xy`Bl#zA3bNsV~TN)o5>*J zg>GT?CY!rg5{&66WtL6Zj7FX+&%0{XU~3knjis}RXP=W4AeZ?(f!&ewI z>g-2-RuBI$&RsBX6sUep>wHQ6AM0Z)_Nzuc2lEu{ubg6uZop_dO6Mvyq%HsNbiaxZf%r=`-X4 zmp}G}{+e)r?{_}sb1=MyFKKc$s4C{(sTJM?RRnMr^eyTaisXeBsgG3 z&48*3eo}@W&{&h~0r#5PVkIZ(LBxaDj8Ifuhz=W)1^-K=AVDD%GHR`vQD`W7-F}0U zOi`skpI7SO72v>H22vhpHLgts+?^7Yp^2v8utt=dZ}&Cuza5vY9Kr-s`?|*qODJ2QTPN6fXEJmgZsuQNO-Xjcn)J&cRB660zlzt zZs+vAse~(RaN%u36@VG>v8Xz%2P6A?n*W(X^E<3qT-@{c4IFF1;*S_x{;nYOL3{z8&n$&HmuUccjv4|FRv%9z8 zFgiF;P=M^%vO-`eg^9-R>wdtk1X6aXV?Q2QmX1H%%hmO8?`OKV#aWxM!Qi%>>ndHE zMV&%x3M`U*PQO?z6Tz)1k3CJSyTqZtnsl*7#}%5bFj!YunQt{Gs(hH=AJrrg+{}o9 zo$aD?{W*Z|Cj?w*u@(w1vD$n2JlSTH=>0Wi&$I7a{_xLS@((J5Q95k{n`3VZl?EXcu zf(gbkZ5{2`J`4~w8hOISbjRQ8@B51sValdI(PM8N0833AyRX2{deR1q&g5B(l$&4#LCubepEnesi5f4feMaGJ4Bggd z-#bNzcTOuboDFPq=b|M2MG`=g3jC&B1M*RzTB8L&CX)|dxo{Jg>w3u+3)9$9`5;+6 zI3|_Zc#oD_udq9I?4|!ZWM8^>MuW%g)Bb$e-DJDB_K(8G0$P-zjr5~zJtp#P=MB4e zjqzQgnl8b<_Su4c=N_?~H9@F62|#x<^rEBXA1DW8gJ`pFZ$&hibUW1#^RaUi(nqI{xM?bjjR-H`pEeIR1) zy?=T7)7$%NM|XhL!_* zmTEO6VKV-g*rmu(B`*3Je-CN4P3BdMM2jdQRV??Z%OA!Cv?Of*J3S?FuMJSlj(L$cgn>#1=R#4rB~6zuYr350%9&zbrN?Ed~FI0otB=2G6j zb+7ga*eA~!NBd&n__gux2+s-+KVh-C{(i}$QbAnK;x1;S0k)FSlsYwIz!bk5`=;&H z1>M_}vZoPpg|G7R&FhrIga;RIIv6)^B693q@Sk=smFhApy@APaI68J%$V6z&9x^7* z4W8(ixmVKz(=gipU-YZY=>gg{8yn(T>%@Luo{(Tr4`J`{Hq-5d-`W4lxWvc>on~_@ zA>s44`yap3u9OJllh zcTe|kspX?sEAPO;q?-YMY7#+O(NsPj_l?bFV4VzE$_hKq40r-NE4v2JWkB1JmFY*j zbOFPbq*fjM?mhNJ7%j2R?f^x5X)`g|B1l_u`R0be&m z8>bw3=Fg1q$@`i1qqZ!kKIqk2kNOA8vL9j>0ATpd=hhs7jX&gEo4WEuK1y~Eaq_(9 zDJ4>hp;b<1iO9pki0(5+h##qs4noMkuVw;%%$_HOY@mPzeVJ;(^}#g!bal+L|{d}WB+4Vxqf_ZdO0sEzSqubX5DHr=HZ`M@c#st{sb%m@Gmm-;N z;yU`aGU%>T38W@()5P_);+Zw8>;FO)mmDfW5l`-W3W48>9E zY>i^TO9{oWi9jtSk$%xyA$I+W-&&2Ah0F^wV8nu0-7BQ}ei>wmm2YmHcYMzsfcP~L zUyR8W5_?&sbkex{?@zn3jpqoN1`5d2n#*gcCeo|DU%3R%&e!*mGnMF`I{=yv({M;8 zYWXVHysviM1PbZ>YL+nY__yqHK^}+@r`v&)dKeY|X8!C_sok#8=x;L#Qub*Tz==c0 zD2CeOXQZkOWCWs4T!T$dvOfSl7)-KEmYB9jX+!SW>Vv?^*q3qxf zSIEDvJFm1wUiE&!*lhIM+n@$4WK~5iQ`N#XxXyaO2M(y)PR!Ohw+9KPVnx(2l^igt z0U>r#$iL-~MzYNd^?q!V&Yq3&r1yv^x4rucvc3^?^H8L8jH>QxQRMGU^3v>AKNf(# zZYN$Vfk7id__A@2Vvo}CL>v?}dyObQQx52-eYmXAE+RehHkXY(NFz%vaQiUy=7cMi zINxi=B8>6Mp$w7~IpXUfH{NhxoAo4-cIKxQ@}NPh9iu z1*4UBy@~G!1I8Gs%hwkOgk{QC_`uA7*wPlzXFgeAO+d zro{*pq3p=?PyE58L}OS*{H65&151M{Wj3^Pijlo6`09Qz6~D)VTd8--R0&n6%|5l? zBV`m`fqB~e?oH;S9vZBaH<1}tu zNx&K>JKI;e2Hc$**(O^d_xvk>o^vt`(xp!d;>^HT3-fyEQu*qy-e28ah!oE#f@b6C zHc};~h3T(v+0m~Ch}AA#!%Tdo%%vG~^vIhxOU#KM-Z}Ls(w!Zs0@t^w)XK$t_II4A z3(e3&Ke%x`?M{D;k7xcU=J{0|J!H6LmH<84#qSV2THb}9USZ(@a-w5=Av)3f--3g! z%jo;ddGq{|V!Z<9_RB&>r8Od$s@&Z(#2%syz*N8b%7bhE3q~p-K-(&eW?MZ{-`6%R z^MT?D*-c!Ik86F&3YWF}o^%@igSMP8!N|oMa{*$>U#yNwU}2OPT&J1-5i<;X%$GFk zrcx7m4XEUBoCOg(aR)5do{|6*6VW9O1ss2EkrTp$Kg7Wb;T^xXcz;=g0JNW1J?)u{ z-4afZj|RRr@NTTeqja0bqv?&^M1PH5 zJ==>Vs`g8)=~F98hWhZJ1^Px?0r zaUd~N*dZm0lxJM2M4?jNxADg|J7nkhRoA|XcPjxR|8+0~==c59V0RK+fzsU*Zn!Ex z1a8QfEf@cM_waMGOtapen1~W#9dH?GF3^`0#rhioWK#kpPbjPG(bJBam1u@5)(MeP z7Lx#W_e!~0({jlh6&1|(*VJl-_32iB(J+2w6Ss4C1E2CDvYG?| z*h$U$pCGV=E+@0>icNuLK7c~5C4Wc_+p_N4J$w)$rxx&EI_Bu^**VVrEWYPM9O^{% z?rN@Rl}k@t-)0jf185nNWERu_s^2Q#W|9@ad20_0K4+4RGgtac497~GlZsDTu!lRI zq~lLYD%6R!kVRYA^R zCl3HusJeby^EeO6u8JnPYT`({#pcsasZNSo|8Vcd-How(Q{45bHUX5=$j_hC(JISj zSWo5(cOp7$No9)CpMmzco*eP2;jSes; zii;`VbTY$^;pr&m+pP?5XwsgqZZ8jbn{#%)b~c@0Dekq(&7{me+?0{=(b#)VHEwJ3 z6jx%(pDdNGV6s=BysWd(A|pXXuCI>_B`>;e+$vYg2-cbcuwbEJ*D#pCh#E^hzx~4S z0ht>x2K_nPavU#NT|7iDsEz5RSHE-8662*+TCG%Pcy6k2f#nr*+PBTsB(^n!-kd&} zdtO}CG(iI-)a9Da>W<__qN&}H#mV!Vc8?|$yHy#!{e`P+p3AFA)prB?GLcQ1zevEl zaVfVZunDXICD=dkwO#6Y-QQDHk81<|w|k!a*MtbHB=PO^^uCl}9DD!*`9hg?@xfOo zk8`lX3w+bseW#b$N7P~Z(il24WmS%qt4y>qaH;*^E6ok^1@OnFVxAv;cazfB{0HLc*>OdHsbKv(#;eU zrCX`9PSjFMy7KFUZjddN^Lw6uCl%VWe|g1R{xaGn=TY;o%2ibAEiBGfXZBhXErr5^ zSoE#Uy;#3$!OjQ}00YdlwFD!&8d&4eq6_7e=z#z2#6h`qf|ATdQa#qx_-UVmKkOJ0 z)7aF{Ey1uf#;N;HmZQO`O^V~33FX1%c>?v?wJ{JM#vD&{xegC9mr7LVP3wqP9Eq>f z6VMA1{~p{dCF<^Y1HcfCEo<9U911vW>a1ZK>dOsU^xobwQ@4@Vmj3{|7I3NzqB!?) z#Xm$Ft8HmIrcP*0?xL^f30HCn$E_fr+f5{lm@0w&&=(-eu{h0Sq`4Y;J%sjl*eF8Y zDGvS9^u>fjCeHG-)#cyE1>q^dvE_3FYb@pj?*@HQ=%OWiOvo=P%p7s|T;AR5SnCG3 zovvTCOV;jtzbWu<<*wXm`Khz-(l*d<1W=-=%B6oOdo@@i4?Ugb_SLB8epnybq8T(V z3Q64o&NI^oiJ$jIfcg>OL9I%NFz9uMu$_7-#?)B{2QerBvAE{%f?!o!zGg3&dMXbp z1$U&XqmXx9HH*6r6MI*EkT{4*r-ic%;`E^K+lU;DibXl1-`?`4=w?S zjURYJ4Ak(LcL7|UXWZoEFPnQ>9_drM;yoeZ_R%JNiaP)(G z)cEQx#Lhlr7!PgRSN=_Op4>2l^lFSv8Chcu6|ryvpj;?4HEha!Fe1WZsgt4qa{??= zN%cc?1cNQokp`PGi*Kw`3W7P=SqhUCzK1rWvq&8nhNbX=&~hD0JHmsg+qxQ0F`9P= z6KOsu`3ygEP16lgUQZR7ndre`eG#sk_-jz5fg`t4WWkDb#c5Ww$u)59@d;zgcy0~H ztE<&BV+F6+@b*T1K4$bTx3pL= z`eNm58m}1E!iI`_UNzB+0bFyT;dt7pyUfHUQ8rcz{+>S{|eNWe@fmj#mK54wPR=feR;PLNZey?z3NABnW z)(dbNE6SyX$3F^-rH;X%w<8MyjYU;2KY=$;qe!tw+7cF-Ccw)Nh+iI#RUxA!R&*T%||}U0Bw~pT$}yqI(v~*)^d9bI!q

w8%0=CpFbp^-X#RXp8cw-t4>TU1k$pjyDYN@&J#M6 z_Vlp^9u7~zxuaLw;7dQ_XM-p9MbuwCncVd@=q+Er#zrI~G=>-W{o;kKWm<40l9D!7 z0GGFMug+o6_r#~a$3m<;@zKougDpx6ty-$`jUY4DTM1Q0O^;X&@&MWc?hdVo3NtWF zJ_#edM9Z)-X77bgAKT=!}5UZVuH@-O2-#YOc>YEF5_PC*Of=# z(3vextF%wZuk_QppKKhH(yqN08fTLJO2n|W5ibVE-XYVsSLqz1o-Qm@1D&VxKH45T z{%NYWUU9fS7xuQ5dfn6W1wWLA`x{<6vmP~752IJ>;{s=vKq@{(Y;c#*+l|Q=;1{gl zx?7Mk^-@M*e_zOX4oSTWhgF$zLxu07mf&-5*EiLR8Z_k--@O(MVg{bHavYwY?7Rb0 z6uPucTljh7O~siZgZ4_PK3_hWNcY5kx0KSXP$DSunodVSB z54)$eW@AO=9(==JASt*^u#J(f&FZV5?NrB5L2K`?Up+x0UyaAfofHYi7I7HH?zi4rV49by^HWam=l*{4D%$`h?rM%#=bCIPdF-2JBv}DDWEUWQ5_HlSPG`@zJbfAFF1CE{ z+w{E3veqP>^e!>*A zk-fl{TojReezXDo-atsmn#t4zNRlnMd$@#Vrl094EHxpyCTvJGTerxkQb} z(tQ=p<X=!1zN|CZUPhT_wx)jS zTBvcGn^veCt4>rHMB*OtWJ{?U6vkGLHey+hd7G1EE$%75+ouEJ2OC(@=2sQA9v*Yb zHMo3$Qmt!|sQ2qv^dxl1?}U$>wE)q?sq@_tInD;D4}_N@Q#8U5_u(JscONhK4q4J+ zz4_Hk>jczKvK8~Zn?XCDKoA2lqbpPu)QVC8ii9uU_>uR97)h<1mWt=i&{M{0p4KpXr<%O&U(E{Pzkb2 z3<5OTdP8OgO@AYEqftgpWN%rK&FHCESO4nH-jNz*0@j>#ppMf(b?sygojARi5rNClY9h#Dj;f`a(*hTk( zJ?SRk$EiH&lJF86eTjXYtbjKkB9wy?T#O;4VT}Cs`#?QGhnrmJTP@Ft&C(6RMSYvU z6Ai@K-k@JV`fgvaPra`Mpet9?W~-Y2&0h!N@$DK5*~auRXjfn}AO9V^KbwVZ&$d6} zX!z3J!h}7iGghjuFpkaJC1TT98p9?-(b*z7!&9Jw%3({J>YG84 z@Z)&8;7$So46~oV#@C5BT2<0WS5Di_d3hNf{Y+@dm@C;Brb$W>+F&OnkT8o+X+Q+_2iKI>xuWcUzX;b043ZUKm_WppfZe*5 z^8=*&%DT4)&JKChc9FvrD1ue;nlTQQ4GolR)9V#;rz5)}Ot_}hzai6+o%Obix%|<- z5$?bb^0j$#2uLpT{Pht#Lo(QVLt<+c-9>ZoUyD03njmndboaRmri)hSVQohU%ckz~ zGZM9$pvqvhIX(;(mN<9}~2jCf*O>u;}#BYu6y34A2(5dm(^9 zjq@fhHaVZm3DnEgJ*peqzE}_@|H@OwE_5NnJsWqA)#m;!MPUFz(j&(W{{Af%rl`KM zCOHSYxWR&wVknikb_kkY@@;C*qyH{v>#Lk{UUO=|J{~YVws4Q=88Ex)Hvg&#WIgp3 z9c=N2h^4FVw%1agfoLn&uPS2Gc?|Jh*xgs7twIJDCnu{GAM5?zSmp~l*9Qe^Xu8j) zE;oA3Ke)A#(PqqHh0{BKqobxT$Z4I(mCmAYU=xM@wQvCXxyX<_I*r+tyq(!F+ZaGU z`&)b6JX@mhC}-@de&L*Tbju1?u9NYo*>7Vq3$H9-V(CDwV73BMin{?xkIVdqJRz+V zI?n6!>CQEd1f5J0p@*Q890hI4Uez&FWZ>eL6iT^RC6}8gdZx<#1fL4j$ zy)0oAu61SV4uJT;%nhDA*(dTlM3jmRBGGmHNPZHLa%Yz^f97N~#_Obu0bNh3&;R*L zcn~|svhUySM_4X%J>Ci#k~7>AM9a_VNIRl2vtAPiFiS)cCwZ)3Aqeh_0IJ8~{pQUj ziqhY66?AzMp2JQ!&$mNs-@a1{Jv{snPGhpkqkHPL^04tylCl(k=Sm{+^tX9Mf2g95 z$xjc<8>jXF`49w!(PHvv#qZbN5c_`;{SzS@0m;&gw% zH+BCZR9lN1>s$jRX`RZtn+6Yrb~n)|C`11W%s^M?^?s9{cBBh}Q|5~W>+OW&mqoYO zdAn=a+7?ZgJZOIDPZWC+&u{?4W6HTi*~3>iaCwIy!Whz;Gc7-s03sI2Mr|A}^wzX-qk#-(whw{H= zmjk!WJkSgH`epcSm-%-zY0B^`pi$J+&RX@Y&;dk0?G7TFR=R#EoNR9#6E)w}#4)>Bt4pQ+hkV zXg7TCGtiZP=4FbrxDK_Yh97SRlQRL3puUx+j<_hDh$vys%&pRXIo0Ocjz`X-Oid1X z3N5IlekTz!Z<;yqHxKR<4GkpsS~6uFlpp8cn0K+D0m`)ZcI;Ku{kPA;$v3Ow!hq}> zph}_0M!%J%t^1&=Zhp7JW{4qlY-m8ouQBcvOQ9v&+HaQ~Bx6Mml7w5Y&*noM`t-$$ z4vQj<|5mYYy=^!wxLQM#Q>YjwG_QQAJib9~^+QnSiE=5z=A%tqt~bxx{7;*ABpqXI z8L63{LIQ3dPqt zwKCiuJhE+P@Z^xYUZX|1Srmr}LDYtemrt@S$Q`LAwEF2qO+7kK-vu3j%Vp}Rm4Bn; zH`kAT4$EO9V_IySboOce^a*RKHR~59o9w?JR4=AJYp*_I2)1hhts{>r&C}7K{kMj; z)jefoKAguys__!p(eIJk}>zncb~=oWgypgcZsz?$FQQFrv&XD0NN)21GSBS zIdNY}q@Q+N8sZ+m`sv#MDV0b+-6W6Mz>>_w)CiT%gGAB{yH*Z<*h*fn4!!lo3+_e^ ze;96wwqtt|3Qh}2I>?8Fy@BQ_tW<_lFd7hIn!Rn_)43yhbDZsBb(%3ZnqG`-dnJ1F zULvPmmhbldvXb4KYNb|~w0BDNRJ7?SP44+)#k6*$e&H`F&tfY*1|!d2rG%zcc4K)O zOslyuFJ#vX(Fl%Mo7@k36Msuddbt^#PfB+$3l!%=aLAt*0uNvj#qZo~ z1FW5^fW5=TV|IScseS-_Qh%&)mUQI(=fL4tsU3x&*OGHWxEbr|slIg4q0=Pqgc>!2 zUt=3F<)3fWWHi^>ylbFRsUi6$z;*&$SlUwt>xmh6txs4PoPEZG8J{HvR0$4Ln-$OK z{B~UXO2C=7BmJpi488B{Opc}@sCg0TWSNM(S^mz9Z(M^co4qv(eO=4shV2ZApOYt zsTZ(^gMBL`-$*4VxiV33%aYcYXSRgciMCV zz06NX#3s+fd2p{wY_~$bf$p*O*ef)a$&xppr*V%P-#XDww@dX6Eckg;@2vP+Ljs|G zqc7lUli;WXa8fE|+Sbe0(?ycOQ`R+@+QYwFh z?%ICo`<}Ch?`HX&QDX!AWKv|e^9YG(UTSZyPK!^_atDgrm3)KC@Q?QfC4y$t6zyhP z7n^=Iqu!_c9<=&iv0%bWHaF zuh)g4>z{OE46c{v|IlM!&@WrVJ%Mhg@0fcj{Vj+=SR(>!@Tv3y-7NYNZgfmubN@Y$W7G9O(Lc>uOHivd}U7E z1~F$jPTJl)jg}4NgZBgC{36R=FMTx8gU(7u$ivD{jfV``v(H8O@K|-D$mk zt+0mTu6jP%4^0UP9GfemUNMzX`dEoAH9|Tw()*XqWJkN>Ttq*QrW{+LpVR^ zhR0cq+YdS7&o{fJhP)AKCmIgMn%?lp0uuRX(@w; z9@#?4yzC-u?Or~>THhVim-45g3m?}pw_6S`+%9{ND$BmC9IJEdm*lbkCvlQO;CuH^ zAoyXW6@DwC(C!zI7SPd75HGrkshB5Ne0hv{`QAH(xo;a)X{4L@!QkqUh|PPrir(IH zZ?-WN(7%X14Xh4;D=-cDjS#MQM(f{ODf&iZrH#d&S~4tVHJp`UHK~N^R#hEWKOh#H zjc>p9{2l!}ga-7|QBu4!S~ZmsEqWVKVt49H2Q9lHN&v__j|I{Afaf5vKXn2rI2?oqClmNnF8)L@+_O-Ki%|W2bMd zF^7C+Mi#jS?C62>b(>7CN`q9u&!m|@N_8I(3^GaB;%W!2ysd3&tj6cD7cr-w<)jbj zKtZZc*0Dh8`18(PF43lLo`EnVuyg=+82_)S_YS1`|Ng*}nVAaN?Q9yh%utlQ?lsHE zmf0l~k|H#?lw@@?uX$~mp~&u%J+E~sqnpj|+}@w>@AvbkdtcA{d_Bi`p65A_^LV_8 zY)!*!+l)pSKlQX*3|SPq%Ita;XFY7ma&P?&spaq-Zzo72o4 z`tI{zu^IAEB@+C0Z+-Q)nRQXBZNL0hbX#dyl9MrNuWToC1HthH8HL&Eb3lvcL3t=S zLeSeB){$;|qGh2Y2wc_j7c`l5mJeJ^TvW!To_JSmqkJYM$UgECNbAVmL&{ZrupiZI z;1EK5;wmb!WzH)vth!Kx+-j8`5C)k-oI}&Wa`iCzoIm;g0IK(}KtYkeMx5r32h8WK zy763vTGW@t?lzP~8d3A9&_SxQ{;X-ol^=4Wau;htDZ6w=PuwVv7W^wgMVhF}mhK)J zHTU-_1|me)wY#W0RG*`jgM6O6v2s z3vrjHCqneMYdN~fJe$tKofCXBg}lr{JAd^;_lA=d1y&ybjz*4VCFLo*bd2c#dGubn zSvUB8dT)Q;3aV4pD55q;B~e5>z6Ht=j|dXuZ8vJoMASoBDH7Vw|)f@@|onu-0r7ob#7VaPDBVW)*kiM?VjWT zp+nB6BAW5-WVuKG$!5kgaxL)>Ux>^Alr3iaGBq{g8g-D0u$HyuTT=q9Mb_(*l9F1T zp}^CtL*Q&==%wx<4V7=y8w)cTE;`KFnO&?hnM$qt!TrAZ&H3!9z3bQqyC+9r2g@Ul!qy3WCP zO75(a7Ji7;#QRzKji|s$I@nQ6Ucdj0wE^l>IJT2NXC*`1k2LYAt@$%?zDq`z>(_@7 zrVTdPv=Y@BK6uaLvfVjWOFQ>!ZbKxfEyX&OF#kR`1bt@YjD0etK=cK-IQ zwmoS9^xEhMD73euHX47gWC0m;BVv@G5CcM8W#ZsNkXrLZ@tf`|3z8M0;CZjn!YE8C z3uh^*Mti0WkTF#@LU&Vr{p-qZ#YNAVKUGmNHHLWeErT4Ug$dTg?S+)tpwVIJ!a{?A z6;Z{q@~)isKYv(OKJrt-9xf=?2WsL7q6SnKeI!pYKTNTXXg7V;{4<7X8YGFh_BP9y z2I+9L1}N_T)ktPOXyZORrvY@NH8 z8eS_%2{^P^@z+^8Z_jq0nQcbMOD42Ve1E_@7a|_pB@(+L+Adm>F?;SCg|&!FikiG7 zDRUQCH)cpuk@;v-A#*558XP}xA}n<)6V6fJrKM5KT_RfRm6Us^*b`qbyb4v?4;3I9 z5ss5rq^v;qTE!`*?s9k~0D;BpSmz zG1_tU7hJ@CA++(&h$aLEaw8eG{rB&)UFt@zu3AID*pOPyH_|cHSaBAZPpWR3D%H*T z<$X-Qzh#db3ACH{yxlIT_)F@~1M$;+E-nE@_2ELYnkM4B`-SR^I4QAr%CKmF<;U=g zr#Hs-ER+uwV||}aZw`d*Fn#lCcZJH?(yHfsJt;3M*@bI^hiBI4R0at_+h=rMkz0~S z*`d}cIWBi2vqh0ilX5Qt^xg5wxhvhCv7z!(?U&n^5;RTkT*IR*#sk&q^p3R--&J)w zch)Vjz9d6E(?f`>Lht;&b&fZ?N~wGtXZBVkpAsdUQ}Lh9UgkjFYljk=hbnWiA|*?x zDO-eQaDzIJs1>Qq`TXdR1I0i?W_Ga6Znjy@?6 zmin_H(CKcjVf>tEO5h-mIM$7Q_i^~?c7w^ZZN^?Hq&Y6~X{(BAt6UDy&+B`lclDn9qVR8(?-z1DB$WKd0*yc6+{1FZ8J=owm8$=uj&S6@qW+RF3WU zsQfx=#Fa-r_IvlHg<{3|Ft_W6+1Sbr*32UGKdn5cqC&XYT4gCz`+hKqEx$?NhgUeS z3s(L4m}FBi>Hd-WShxz8-%RY_afR^J14tW+7>3W!Kbb zWaZCQC~`7y=+ql#B)So=4ATf}_T!8}U)vRPv+whj9iayT%5(Y)UA=zqM@C$3mz;2} zlgTQk6h2`S9hB`Apv{k^DKKXv8{_jz_wQiMf2xvA6n~Y3oICS;5sf8}y{wRRu>XC0 zz|}7vFRNla4z2G>9EcC-JNP9hrqdMoyJstXt}M7Lvp1?mj$csrjc4a=&os5Q$?_XP zxWjNEX;&kBuG0>bk;}$-#(|XI<&ms%ynXgmD1&kF?(Eol)B005dt^vBiDKO>68A;ax%SPI^X(UM zL?%?@^R8W6pJ>i(VJ_UfNLOa(-)0T9I*V16&ivTG$hiM@LfLFWra2Pca92A? zqDJj)N{{t(R><)+aRD9pZ9oVM8eawD%vZIkjDOr-W3xIeTC5Phw?1rclB~{zlldI8 zo9qVKJkLuB^nwqS>(6En`|5WkCDA=9n+b>$x(wUV<9>^L69?al<5AIsaYlQ8`e{MY zMW>G5Bo#mG?o7c-BEFfKPx+|+Uunk5zUsU;GP~RJa%`~!*+#4l;X?kv&3!p=l0wwv z+4S$YIsRA=s0wtIOb3F9m;l_9O@}eXS#`Lk8FhF9;6qMI(WBZw$mw~Oai&#(yY+#p znY1M9;?RD26KQ)rnE|RqGY!Ux9e7J)36>pIbpH*(aK@e?*%@O1LRbi({fO`_5SG=No+M-$Y-4iS7ce4!&9m>cE|{#|)F;yptW0w?G2? z3vmy$jP?$~K!bwJQWR6CR3YbOaX3->fi=GCWac;&!y=ii9t=KtThdJ(=pII$_@kd?`7p^CGM9gSmilJ`0k?l3F#QQ<18{nd}YxNtWwqL7U zS;dKLR(w&@JjdT7IwyKA&79WqL&1n_QBq_x(IDqL>>|a1@TfZbHR{Pg*;w&0RA!=jK|MFySCCb zkHJSQGc?~O56vKme`%X(-kI;HkPY6Obyz+r!?!Hu2%HA-z&O(@v=Y!h|BZ0GFn`hC zs6CeRV0DFyEouN02Q?&yaxJxH1I?Wm+J%Mr@Vxlgi)Rz}08J0hsOkAk-#`3$+brC6 z)R?|n)t_Vg;j5)~J#(|w?XB5nHDZ__5*2!qvBWbci`Ao?F8;cc+#ln7MQ!MRdEJqCsgqYM2_1hD-*v( znJc?+JUE9Y#CLS}E)=>qZUTkFzn(;BGS6*Ghvj8aB>Xk}^I*g7NdjX{{*}L^8$@LG z4RRCtf)Zz_%()z+6+&~4>jf!j}B#c5hvr#U$ zb#3ss;VaZNEkTd_Y0fdC);i%FGB@h*)gtj&gos@#X1uqr^^Hu1Eo<}I;G;CM*E1kj z)o`kRbII{Q9kWOao6ZfX@Xh~KRMt|{v0XsXnu%M@Xww3zmq>7RU*5r20Xm@VI79X? zOK$jbPencZ`^Yfo5^M_=rC%=mS4KF0Qsa=aMhE#BmZl%3Te}{v20fJ1lLJx zJx@MR@ZL&33hb_SFI$4-l&8IcFRZcZ$aQHS1X`;fcKvG6vk9QoG&&(xmxba=9n(59vFfQO~&?i-3Z%$9c6(0Fw^p#|u>HsKs4L+pW_{SDQ#WN)PX zYofr}{D=T|AxI)&$inb-_;rnj>7)Hn?wk#~Zp>}dClKRy%T}E3OB!%!4)N4PYh`bP z7pk~xa_8fx{ZwftCJIthmj``Spwyq2&=K=krDHS4=b%z z<{zfY03I?VQiFv?;LPEJ5P6xHjUUn2M%(1cDHod-c^rMsSn-5lgx=_r25D);2Q8h} zpB$5(_gCnOBmMGF?}e+^11v;`NyT9`pta%HxAIpA!v#jKg>)-;)K@?1iH96t2uEy| z=zyt)d4dji{u?@qoFLmt?qm_&^R|2Un$Fe_a2o*|0{Pmt?f^zMFX**z56(n%duew) zi5usHdKhmI4WkqU45%9R5QpCkWe?x$u%bDd@u5IL=HX)~O0t$Z3!=CBHvsBG_8f&2 z0ej5d|LD|oV%z0)=ks-LuD@)LDIlpoFF~F<>1nyCAR9}Co_fz=_00fM}ogCP{-D@?8qb??7@?TB9!HZ=E**8+F0aqDkyk=DTG zt3$c@nrC^=QBl!fdt;S}pL7$*Eep8#9pkYpXRjYHap{>dIzgJH^H-+$O?>&0jKI@b z)9qpW{%%OAb;}`znhvdO0A;id7y0s<5MTQ?L~h-EHvg624$9fQ`6&U5DThU2*js@6 zXyp>!0w}>iFioBXl|?lW%sD5reV5%O7u{<6g=whOFxvjO)!Re)NKwTnJ&n7XpwvltWznuQXnxwrKH5 zAlpy_3Wk6!SgaC^~CB9ii^Jzmh0?e z24g~{dFzA5D6@19J*MKoYqdTn2DlkmeR$!r1B=Oc7lOx%Ja*(Op6I(9;B+HAmnUYm zKuTlc@59KU9Ja^fTr)R6fgrl|Q)Ago!p1ph5h=Z zF6x1N?+T3A+RKahuFgs0LEh=_?+jepxL5sZ_xI;z^ydO8&nzFu^N*Kr~1$u8MUlezoxtqwDq@Y`> zJV|Aj#33|o5zq5bu`a8)KizlZ$C%de{NvUqzE)>%VU0A1nnOX#*uGGgUxYf3;8WQeg9S@t4G-kYi2l1Ap zL4%L;uTJpiHIN%16Esmng`a$(d&VYcZVAyR6ug#}`7CGSWc(AIMwS-=V6<7nMnM4( z3Y7LL;gx=tC{0HPW=FnDkncYrR?FkwqK4xQnh$fJd%{O^c{!T0ICS}HR(fkmaJX2j z_YJOH&YLSleHTT1(n?_TYNSB|Vu;Muss#Gbp@j2kWA#gm4YzUGs2ymAiUX~0P8oLR z11D00d}jItW~h^Rv`T;X?>BU10U$^#Lh^Errz5TPDjXx1PdQ(&qLGrEmTR zX?is4$6wwep^&ICs;&DJR2T=6EQPL8q95qQ?vv&BTK;emZOKnPwFo$%|Lp+F9wJ=98xGGa83k9Qg-r`#-cK|Z9|?Rh;pw@Y{6`MHn=`-dFZ1}Z zEJN7W%f{>HSREyMw_jZS5#anj_u=+z-|VEDiB>$fg_#tI2DzcToJl@SZzqPF4SPQ{ zq)BFD-JSwVe`UcJl)YA_~-l+akNxC1l^@K%w6X*0!|fY0t|oDq zYU?SbEk>)LG3nE3CoM?a6yvzMvD)|G7v|17ttX~J811zOuiXBa4S%fw=#Ll-4w8y& z&EpJ&genSeZJOuqbx3Npn?L}Ge5-5p4_pw)Gmi>VW0St)FqY+?ia_K$E7s`{^$%mC zQ=%X2ir$3$P>$=qmlok8GfR40B&&rPd!0hfEM0y&6;iI(ds^>v)nkxxZ*{RAS0!(V z-qsXBzAqfS;z{>XjhXTbj4sC4`Z<>V5&2p#xur=rE!TV(M{%c4U@HG5iu zY|<5lB3ujnzz;vkB$~`j{L!2#+5SUvGM2pAwOD8+@~0_79k}Unn^(RCWqkKZdrOfN z9nAlJ|DMY)ZFjdf!+CKAH^E9wER^<{Flfb@h$MA-nALTp=sxvb6tpWmKakPu>)@iK zAf^x0?k4Sp6^teCf%>NV-!jU+3bRs34hbISZSK?wI-bqP{XM2bQQAg4Sf$7!0qB=5 zu*G0;sg9im}}}=#T6L zuOOjonNk}Kwo?<{OH(%GcB}qg!E;*w%$i_4RPZt8aZ9UkxQ!<@X3de~oOk4h?%@~3 zZwb@LiJ814cv^HW$RKZr$2`}LQ*IBo;8`mw^49?}3?a8;V>*~PXPSz_`Clo6zky0H zC8-f=F8&49mSlQkY45Ap@%3%6wY!$yAWc4Y56HXu&abz(z(7P6{StVIlNH^(7IFM29W z7gw9!bJo+cKW<@W7qt8Hs6|$gF{LO1?X|u0S@>7g`tjnhtGW;VKzhxQ{B$rJP2sKS z+4WnE4JkUid2wx*D+<3ZMU~Xp>`d0G1sRT|g0YayBQ;IF`l~kJ@l2Vxrs$@At51*k zhn^)UG$y>@rHZ#%ATwf)HQs!u4#W$nhwN(jwFKkY?%&bhLlG^O&-~iyPy6e1d+ zxL}J`*Ns*$J7`*S;(l8>Pv;aFbROJ1919>=ZpWgz;ab-O&q zf{AN8R#BMsUH0$pVbMR*2sD=i@cB#MO=8U14W2s~zgC(M*+Mj2eYiZ0IA$BAzejveGgnzbYxjUZCClyJ3)W zMaJ&-z4mr6d;zzTUTmldVv6a-M1*`OHjLe}{k=$3U~19$?$@vSRU+gLijHfMJL;<%x%@|+A$-hiS}ay%;1dM9z-Hu-Hx0tfLo1kC-co-lRi3^@*iV3L&Eg)u)E0|poa z3ywc8IUXT&5PNW}HU;@#|J-m&xG_53Bd6{lFE+gQhvJ1P+dqYk@42l6WL&uSR0-fD zz*jC=?SXbPj>fJ6;Qq&r&A1b1xG0t1b9RI%0oEDm03)Rhh+OgPC=sQ%gr|6R&K z6%*3zkP_kczj^QS6ftWHDuJ9GF`}&d!qhT63T|Ok)4mJ2_MFH6hn-*XQ7M#xJbxE3cOXjK|{ee`B1JHPLuRm1AGRBxv_EtQL0suMhsE zhlE{I30&gY0p8=}3&$6t{wh+6cx~>|%26lR+>?K9Z5tARDKYi-mtkz2fjSKbJ8Koi z6aAJWG5&Qf6zHCU7Ij=)q6&hx>vrZ|kpalOE4F$%=FbURPFrDJx4fJQQ0VjT_9SS` ze*X^ZWRmJ3`pb5*>gA9*>#yCRK~lt~qyC@}`C2WYgt~I_sz~G6Rvr30RK0$so0cHv zYWG?Tg~ky|Q8SLyFK`Y{FXPdBVNpD-^`>7_1x1)YiSu`7d%^KVXJK}A*NuBrBr${K z7*MGcN4kQhQvP1-B9!17K!ltv#W2ZVh&Pb&b-x@k%n1`m&mbnk<#NXEev=KT(Udu? z9@rz)O>$`sbR!m)c}pOARuEEs1=7@%5Uu~lDlWg1;~uek+YBX@Rr|eK7NR2CpREb$BLpcyOdLqdvws8jTThqx6z6xB zqisgNzDJRhX5{NLAJiVw6UR&wy{}QZcR)1)qZ`eb6eiAK45r$1R7RBsxhyJ9c7a*d zkKlM>8CySV!QDlOkFsyRUA44R?YUt6-I2Q0{-Wgnb#W__f(``OTaRiqr-)|w`rtEBVwFK;M_%K6tYydt5uZ7t;tb^v}%Ql(tTi95WFWe;}nv$O$tPu-8sJ)qc_-xu~ zqjGp~>yq2yF)?^|66}!cV@8dy2`4N+$7b8f<|rzSDGvP1P`y$gxk70Cl|q_dQW;{b zA+Ih7y0JHd6ujT485y!+IXur{bB*d1A!{CLE2xN4#V;w)OS}8!w5I=sf#RGQEzC|t zn2LFh=%oXO%yK93Xb5}7t9CD=tGg9C{enDcqfoqgz@BzKsx)R>jWG8x;s2iGu}Hkv zes3rCL$sBBLc3gRf`{B&pdgo9JjIv~uTNj#F=Sq7WqF21FL=p2=zdEz?g*+HmJO8A ze9zUxUOo*OtrBBt-9d-*d(f59Q9t|%)(YbO9lk9ZB(E4R=Y z)6+U*uJJC%ihWTq8EO?;Jcli6y3lDr>XaX6^Y{O@k9WzS%dNP7^pUGGa7xr=I{!`W@w zAFs515HE7E0QKxC_*pjBR5f~oJm1Ao z<#t~~Op5*Qlx7}Ev<4ly1qq2|w+eA)Ki;b+UGc|_Zq|JE;)g{?ptMNz)z*v%{BHl} zd~up`?$TaKqAmT|D;0EfSM6jGBz$C-FiGeAsAD1i8AzNuuCFSBk#1A0kZ5=38)Npk z@sbWF^EHPW>9dYAubq)=`&yzdJQu?LfM;&mr&J{5)X3@i-}>Q<{Y&0n2NU;jTc{NB z&(c~X8f$U~a^D(r-TLI`^cxB6)&;kQYPKEysp)v0LHW4J(z5yEa(UYs*+FRn(@f*5*u`W@(j0oCACaqt}mNNFOZmTk|_An_CG=r?6Rfjm0QUj8h0FEo*Y z{ooOlP8*TYSk+-0`Y_1BFvy`7qGNK;PXQd{U;Md<5}V~K+TrD1Mw2~7(5O_({QZFwSO(S5_kxq^Ll@;X%9ttxnw-Mt1jRFgB^s1YHcEk9^!<)k6Pt*0s&MO={sN(=)WIXWl3QVUZk zBvv8ef^1^e!LQ^OV>b1!0B%`@R%>pXO7oWME%p znj|32bB)ef>Av+fGRNKWOC@mJ|K>GS=Gu}n8Bmh%_MIUf_( zIJT1pYyt0W5zBR&7>Pf8#Ojx)f}O1AJdbrUb!w+(v)30=x9WQ}E9U&})+aDqBcO?Z z@*>z_Jl424Ng6JFuJKaa!S{2IRjV-6Go>QG;6}1KR%^~#tXQ-$a_Y?p2F`- zYZ`p`?`J3nk5A_1?{k_T#|#oup7;XgOspbf0h)6r4y$=lJZ z8K=0ntHU^-J?ADSzo{mpE}au|$7=RHt}N~>Hbg_PO*)d_BY4?DGjd5Y=C7_hX1X;2 z5VYNBVel}R!WjA{IIrXTLYpZ~WiKsXzBE(WWeQ=#HyC z2D}!s70;!pJyPH)JY9tZgneS4O4rEX`feNM>)z2ED62Ftc~NCo+UnGDnR~k+clZVZcyg(xFgowI@aX>1~6e8g~K{{`?vK(zhYeB3B~amP?!oD0=5+ zM#qM!WjEfv!&qjIFc^<`nhFW#B*hd)kH?a08iK)^vAMTANvuLi+?o&Sw{g^E604qP zibo2E1U8G>*DQ7QQVC)0mQvcZ*~T!Kf%ot5)VM!}+Q-A9Thfz1hx|YTwP3A$D@w3X zCu4%O*S_-3%1Pt*6da_lb#--#L9j1 z&7LO{R1(p#hBim9*M9bS5!qmWc3Bkf**Cvg-R5yB>#l=D1r$L3?{PeY!O!}UPEzVg zp^p2eCjHR}5>;XcPVb-ZoLh`rPsb*Rbm=~1pj*64SAqEja*vSd(u1x8sgf&|?jzg3 z2}Qvz_iYLF%K6&(*v$8y_$#~xsq9z*ird49uVQ{Pvvx(Kx=oS3`jXc=#CoJcJpyYz z7-?|tP=vjW63u@x0cN~sqB4;zGsK(V^w5hy6;HV2fIN&v{G%U?Du-h@&iO(`A*;zL z0>>>VPWqlyYZ2@G!m_|XFZF!;rDPx>UAP`gKke{dZQ0gWL=t{$keWlPvF1o)e>TJ~ zqu|?&In!`hFF{`B#LAZwHtMdc+g&Uyj>kuaKfA=VVT0 z_@Nl+jkpJ9x_f&jrYG`E!*sRNovfjDhrQ_MYT3ezL-5{SjAE`&rZol~Q`Ot;wuHDe>+%Fz zoAi>jF52m_CzvE7HK7lkFg97E0vTgJt{ujz<)ZbV7j4$GvAr=dVU`1ev^x4LW$k-p zbH7F-=6ZeEfzvP*6C1N=8~vlRwf^a%R7QwNH4Oqjr#}oUvC8x5U25aIoRg>dYAf$Q zAqUBHp!im&PTcqfQnJtlY~?BFeRoF*E01HTbLOUAE#`3?QKTTmgy?v!6Pk%6FX*a} zmdXAeUhrsZ{e6Dv5oTt`+TQtRU@0sCWObOB z%j#Kb_qI>qG(erxM;mu?$j%!tc?n#JrW`L6|1H`zKLIsjc}vUIW&nG7)=m77QjRHOZwZM|zE{<_Zu3hYkR4VihU_ioJYpn}=WY z;Y#8*{O|V_Z>s_P49!IlYen~G>?e?8N%lUo~Y*YhvDvo{^ z2vn@lxG+?)KFk@Lmv61pg4nN4FK}K7m&g3h%ljam(<@C7CF)ygwhNP~3=s|115cEU z6FyrwVQd=5+)v_OrUq-536R)?u&fgJ-U!C@#k+AGeVbnc!0cionZ@!78~Eab#C@<(vP6)+(Z=@+sN7H{?zIgyV!JF0CVwrIf!Gk+q2N*W z=gnM!_nv4vFt&9=29;P;z4JyZS6A5L#7&%;A@?)4mgPCu(JJ-swoqKR6H~zY93h&fLC-x#VLgN0Y zYeR>8%&Cth1UBUPF=lZhN104JMQrcusU4Y1c8`xgSYfYJ80(~K`1uNtHCo;@6Mz{5 zz?w#nEZ?mIRcVLXv|)=!1%`2+IPxhYa#rt2s%kXk^X`V5GZ8$=w!e*0>_wwzlO!@q zfl@^NW%k+Bg|{bm`zPytQd+~>>eRb-&7Vw{xb{CZB5k7nHBZCw)Yo%^Yworw6*8Y4 zOJg3@|41&zB&ys#%a`VRSVfue^xbijf@!^0TRdBduNE)#2|TQmEq&bgG~6o!!^$|N zCpEqunqCb*i*ugy0~ngOCYSCd4|4$~8noo;_En~@$9^7Y&aqU+M3A?iMt!)-CJnJ- zAv6g!Z*nr_lq&jkdDDidDmxsPeUfKSwx15pU4c*}NTL0`-G{k;jPQgY+xNxqooc7PD&0^hx~v;w zJBA|CA5x`3^bWd(#Ru&%Opd2dE&I7ve->pe7Zj$@>m_rF7#>RDfbPYu{pF$M-~m*h zoO0dt^)>xF9}k_)Z}p5uA0P0$sx~rgB^qmf1e~U9FK2CQ!sgS?wy**glMkbErdxy_ zW4WbG3-Ux5p-Lw?QJqR#n&!(imf{)B0(g^DT$u1!*E8(ho0HR(g!XKcL%xAQnuMvb z(s+Pg-HtfUZ%cmR<}TLj$-}jwXxZbt#BaQjW1CPi`TT~$01Yqcbe|c`RqV^09=7CR!3jm?c<`}7cck8BsS=k zo{tElGhg=j!fNvttH{ZmwN&5Dc$Dy4a#qopQoD7WSfAYWz~_5DRAU(V2kc$trQawb zTY4kE%FwKo-LH0z%VWMlEsql3fBN*!nsQx`PtL+hcI8a>YUt8;Bn)sG9c z_LrIl@BBsQ#*mvZRwyim!ld(m$|tFG^LZZZT@x}Dj;Bj^el({n!a#wJFc~WQaI?S| z-LYE|K4)yP1-1o{@5VrFpf~wEFQF@-uJ~>zZ9D{#ee`r;U~^^^_!)+dbdN`Nx+7e8 zNrCqFw^PVPQaSj43)9H#Lx|Bsk|)QudDD{Sv)POt)V-DQx>UA$*T`zWR%9oRCSn#xzTmaf*pGk{N0%!2q_vo+v`PL} ztp)#jk;CQElS4~uCP<5L%dk!jYG#8B5KK*+5hb?XBwqtXG@W6`7E-)nEbaxB+*ISrH~)UP2T#;xXGy)Q2U+uf%^{DQQ0D*g%M;F|Z11MpdqsH|3U=RFgj`7WCp5 z{lezh+=FE67OeXW2)f{!e}im*uz|Gv7UkYgikGZ6{1put>ClTkQnTT0ECXHLWz)Rm z$K%=}=S7jHxo_zOLli6FpJl9VjXB273>xiAQdb z+s{^jNRi3Px$$E&HeXRVvj>madYcMZdZi|r$R}o88+TVZGd8si#WT-s=lS?T*wrtA zHFQYaObfYnEy7!%7(?d2K>Z)(j%4^(TvcK z2s67hC;tEYr$H)SdMla?)|wo@m3CNUFkQXwf$r{cx8q}a|6Z|Xl?i84e_}QIdRHm~ z6>`_mJ@wz*TjBTSB^GT}3hK4?#iSt|1*^M2ffD;QL*5x0va6#-z@aKj`)_H5dp~pNRWlg#rAJ?f%-x3j`t<`1e5>b}P35zNGY)H}uwVv-9?|^0WnM zS~=lEg#Z|+$S<5G zaKIw1&m5%`?U`2XS|a?lpS7KgGBqm;e-#~=Lh}7B!@zPTu9ULhlO^7kbYLjS#N}1A zc0{pmMj02sr?9K(w#M}qz6@|OS$x(U+!&S_wX}iA55pQXGp$Wc^TpBBDB($Zo?oSz zv9$Y@!y%_TN0r4m+>c42Ril;VobGp~=V)7|0WOl9B4JbcQhkNkp*S++A%&F@r^w?c zv4MreOw>9%L)N>!5Bvo*yYi{W>K$GuLV=3}zb;i(&_6*DKd{WGUt`B&%Yfe3Gs-?3 z%Jxrvi9TF1;!Y!lqJEy-x7;4YQ5o$_;V@$wyFOg*|CM5b1ow}84c=tq#u#ec)hI5g z2@S^Prqt-p!#c1I^cw?7VC*6HrIigeAgI!$GlRa$=(b(nmCYHY} zDoAUelYD~qVAOA^a75%{k6C;e)%$Z%bPZ%jzA}2rw}%BZ)FEDKrg&XciNY zc?%5qpe`n6=JupA^u5w`LGQ=ca|O6C9Ieg{R%8|iPL4Mv{^EU&Rfme{;-6)3h2Yd0PUYr(Y^}Ov8av70O|`A zdiTljFYhhNp{Sy(Pho$%F9g?8c`QYclP^YS^EZ@!*iKJhI~0KO(k+X~UxK;K{>1eZ z*NJ19xkS4iuZ>-%U>GPulnE_-CknBr@|LC*M(OwxF^ z3+2YE=eqqAp>8K35x~Vl3nZlIPU>f?It5O3g!}tW?dhW5XTQyuw@bTT*G=PuxVSP= zemxIc+@rsJ2u5r-)*{4slOncIKUoG&nX+(_g^314sOO7*5JpB{kg2B{;7J2l3lc~u z%|N3IejJhXSx?G;g9W#N5^$=~jn_1VDm0L(vE{9T+a88=@90ra`S z-QquZiHRt09>STW4&qMP05%fX#xcjC*FckBAQgSUy4V z(5G_wx4c_IuRa>2+>~_%9+i{F$0ZV;47}Mdf<=(~CZ%~T#=O0(BMS~m{LEx%Mds+*O_&2hCiC(1jEIVeZ->03I!DX^h^THJDcw83#M~y@!0Dhhf;S4%NVUoDD_RQ zehffYu6zJOnpo`Gc_SNhLTD(4mzpR;Z?~wjOWK5HeX`30F%WiHR|G|`GVIDSP+Zdf z{O;~$n_~;HCCOK-akdagrYS=`RxrK$uRiM0sojvLKee^cJjDSbxYnCnBxb&2FTHh? z(|w2Ug~8&L;W&3#1aX&{yW+>VQcDdOxZ2%ZNi!Nl|9k!~$Hrl6C|3RYO5~6CBqRJf z(Dx5e)bC3r_j6a=4mO2BiiB7jba-z<*%vrrQje#%qq4>UZ(ocf2F$bgg77q~%XsIh zsL9da0ipSR!*-7CCnW^hk=e?vJh2f?e-mt=6-`V#W(4 zGRun)m##KUfnWW7|9xrv^f4t{$VoiWT-J-ReJG~Y&Eg^&L@hxxAO0OM%vrIgD@2BIl@%*xum5Y-A|r` zAO5V#PzY<|l>M0&RLJddkCK8-+Pp%9e#fA*yo%cH41ZQeEfoNk6#+-o4A6ZrM$eHX zW3$}NU(e7=`i0zwihuR#UCUQnIyu?QC7X;8;l~=d7H1N6E?oUF$5uysdwMwpsN+>imVZK zv#=7$u5;N9q)}3YD8L&cklgbYygQH4upcTE`Q4sxAJt4DuB-JKzX(?4fL&oo=Q%r2 zq&y3U)CCS`o9l??Sw|{A{MkrkWVtcH8+Xw00nAu58NNKelIWDdTf{&e7CV; z|M~X9D^9ec07@ejFk(FtL!%XOB(m-Oq9kWH3|8*M6|JrE90qzXJBo*_q zwdUP97Pis1?CpcU7ag>` z4VDal_1VR|j3v-0kSK1=#2Zcbx?2bfZT_fVM{ivqje{)%@ee5N8vy0HZ07LFy|wnd zrI>zRNv5)9W{40?9TsZ+COS@qqNw40cDP?ecP~F>A+GX^-sCpVvypy-$0aNg})E)80SCPzcuf*=}k3`X~dG$Fi~ybX_i z0dDr@0`$g9;X~G8*=>*0vIbSlBm$TzjHP4seKv-8RN4k`n(3lIL)MPuGvt4XK)_Xf z^*Yh#;??-ZRfv^p47^=W7iJZ4hVj@vFXlo&WqS8~jyPE9ij2XE^5+!HKZ-QkVKvJr z8^k;#<_{^)`-tI@+Qx&wrz2EBlELQ?iQ>@0sujkAd_yce%~vIXS1k3v?H1x0&|ZLa z)FCoCUoxyRsJRm9*ho3UZcai}ZpvAHp}4NqPd@ue|93=|M*5NLTDFhbeI4O?IZucP z8Jjp7|D`R_gf3x&nn=UYu7J8_6`+RF5!w3LO!20q6^)hGe%f1KI}XJNxz~8InOAk6 z;u#LnG)`CXf}efc8$jkMgUg>WRzGK+O`-5&dIR07-|ZEmxu}R*v}@JIA2;CM3K#@? zPRA7Ctumo?1|IPRj-XS@LfhZ|zKgHS?=NiT9{Pz}CNcoaMk!6D2z(1=Z~Ysa`K!e5 zElz(4vt*fQKg&jjP|4YGW&vLio1${)aVLzFlD>f9EsbIep}YYWPOqkdh}_Bfh@@nvLHYF;7I4wLoxffb?2BDbx2^6- z0=D`HRknsQOMQ73$z$R#0K~b%=DuPGseTJGs zC10jPar!^Bqk8*DgBZ;IVw(zTWkDp#x=Z$Y!{wfkaQFoHKx4`qcJo^p&4ne zg3;pWlP9@*uVE^d%g6CmvxaBi^QAB(WRi=4pS62@FG+$DIYHk5zEj&qrn}X)~=8K-kCnrar(-Coo z_pAvdP3VQhso5_Cf{Q(D#Ce3vUXimqg) z>gH0En2Ocmc_)y4jD0W2rlbimw2dM8B0g|CVu+;W!B~U?$faOkeR}SIqf^U)p9n7h zoW|P+5m8d`{%~KEc`TCHeWz0iSuOm^V8XgKbiwuyo|a(=nZIk@qU6J|q*t`oIwC`P ze~|0FJcZx!s+|>;A*w1w1{)J+y4uH3ycA>Op!F|>s+}T*@QG>kn(w!?Z0pF&hLaWJ zWjPEuScX+FD+}ZHyzv3eaPky$^{WJ5DDmgShE|YbqLYllABgK`yw`ojIJN5-Mh1o( zyuWk*LzCsTofk2WK~T#X2!3jUqH8kv#_i<`bnGL;HwsmbR$}I+)jtzS7m-f6I|M0P#ny1Q`c4oz~07u0K#!^*wPPlnm zk4E0l_4Vw^Ks-A)$$UJIQuoc=T`33WsflJre9ag9^2I?3o%fx}Xyb7!xI=8@@2Ky) zytnx;Qwcd_4RtBna5uLosE4k|smSB=-U(muMdD^Mhqu6Wf##uwKvzlqCvV&HE*BK? z^?n|M*9^0S7Fw85b$rn09HOTtZ{z4N#;x9;kTAOZ#&0GDsDQ9>eaD_6(dUh1FDd#$$&X}+K+j3j6}B5@gMe!G5Z6<1R~mq_H}ER z`GwPqaRx3Q;GKoG5AkK#ir@2f1|2o2f~o2Ar6&(pP=sD@=ERQ&eBkT);!1qn`YVK5 zxGh~6CD%!ayoU96Z;`}<55q8?tbtKqiSnLdLz6(Eph>-5vgV)47s|zs+f*=ekc8&Q z#kBf3{D@fL6rHcE<41lE*qE-Ks~pOqe#BV<#psIUDkVA05_u*|j?K-hKD%NZUDFV* zm|hPQOb2wtR2T-zpkn$6XhXJ~!kE(5;ujGdMcR&4@3qY?{+7LSb;55t$sB=l`j+Y5 zXY^p5dx1yO;{6={Ru%^A5*s_e|HjvWEL9R+WqGy*ob>#+4vXM7#th^|G^myPu|-ZX zbo6~haPU&WcGIxvhtMp8#X?&8Gm6@*Iv;!KFI?6EYWq3){!hOt;?4u~dF<})x->qN zy(HJF7nVUw+oHA}j#cTj3M`ZXOvI=snGqo_OJPuD2B+hQ z1?Yhpl6ryTlco4IQY<|IV{?}fy?W(dEGfS;yv!H;VLuGk15?u)d7;;y4`_eh5z>mq z&^(J6&LA?QHiQ6;nf>iugB^Zw%X0i z`2SLUIy_mnjDIUA_`NvAVK}^>qh-l)oj(QJK4$18(d*l6&jlcJ_!iszaJlu3-8u+P z1|gUc1Xy&asbz`sgl&ENAO62p1_i?HZLl7ZnKhgN9N~ZcpyXoBI;FEzwUucb!5!5| zLdumbpNiHay*v?%iZiwD{-NTj@4=O1I0jhs4#q?a* z90Z9Z)}v!z@GVx1b4RxVLrscoH~1oUxq0|od$xxnAy%$|Nz6E=9GOY({!ars87vvE zWCcIJjsd8Sy8cp*+V3i5QOLQ2%rgT6;gR5ke3X5uM1F=qkvdArj!Rb7;oJC%SK*r9 z04|QBMox?)oFkX75e>}qSn0Ulafj6wEH&e`8vR-Ws}%EzPL8g%};%(>D7I6?t(mJ^G<(p z`~cZ>8r2e6?*(hZkdv`qVUTsOj8AAUaa2T{QQKqnn;I1Ke9Jf*ZC!~8%2b2tP?uDz zJBthv-hfpZ#P-`?n5@Umobk zwq*Q*bxt#L{>#bMlNC9)gOa9KiJ!;SnHdI9jNREVjOynJ*abae5nB}20q^;`9yvUG zx4$p{Jr&_Ejz+`nCxVX-#fcK%W)6Vcq|E2BwH;C#E>MT1%1I_T$E4j3WRVNC#y#i~ zhp~>0LqA^f2j8y~1bz&2^kQmokQQ{JUWV6r0_=mYjFTcUyIgr#0#p?0f#vqAN^&{}hG={YZy@$sX3U|R5T z@g9;*SPq8tMK97jdx-x0ew?MrE!F%J+`1J4fA_?aOJYvo`itb>ZSACF~LSFA4 z7CDiD<&!_L_DB~G(=K08X6{AS`uNBV_jUVSR{M#M4tH&%^~8$jw*v7M@&;{m;C}DK zMg<4GIAk*nd}PwzF?Aq}eYE9=ZiN>rDe@OCl3ANFX<5_?ipTTHcKPVS*N=&BX{Lj5 z_mk*-1m01w-W=H|54fhBb6xB0LEX@7InNgYS)5CEOI9FQ2Af&X7MQB^#)#m&p_P0a z@Ez9Hm&9G$pk~Zop1VV6bByi$T-0>g}BFKs)$OU;gBvLnZadv~G{u9wN-{a-r^C(x-spTWq9WP*V=uClS8S#TjU!9H*GqL2Y> zJpeGD{wVHtqc%lfg8fS&T|4?tRlgiIcd8HaWpdALP21nl-2Ehg8tmtc?MXwj=%Pu` zFsz5KNYUH0bvKAU6~45FMXk{5USO^?`QW!3qx8ohOpr2! zSQ#=G<&@?zCBw~yPN=}GpAZQ-tExbqd8AdTSJgHpLIe)xXkB->UMK^r8ZYe|G4ac^ zS2eIa$67r92n9=ZxKnn09}@O+J2UJxN3A zuA&=k#u*L}$=?_Vy+zsPIby2C78-v?=nI=L=j{Q9Ks>M<{@HL5194eGQW;p~HO&Gm zpq322Y+-U3$IS&8VL(C9)b_@RO}7rxiPTN)B`#~eAoo>ul{bh5HcCOWdkY@~Nyxkn zWbNSyegP->x8|w5ZOXaj1mC@(wyhamBA$~%C8do~XWR>Kc{X;xP_yB15DQ1X_E1jI z428CNeM_n$Va@a$J)}$_&kLS0!2CH8@$4UJl6V%u0NxxNopf4msma;Y_6>rE^*QF20Co;|+Saz^~Sf1N&$y|Asn> z1n={3c285kqRO?r?b)57Qg5IKGL=)y8%>eLyz8r@19EyJ5wBxnI!Z3T0=MH}0BU`! z)12GrF2*ydAz&L0m(KQS-b%MS^LPE#MPbH?Y9Ei75%JqltveKN{~n9_KUy{rc$$ns7#GG@ce@<^?IUJ1O=>00QJg#fy`g%J?iiHnKw*6y{sn0d zBhiJwj){o&Es2ij`P3a#mRw)+#ndid6sWOLuN&HK#+FdMn+bA>ic0G}mMP7BpZi22 zE3i<*d6?Zo8E}bFE@RDbVm%^O9f2;eA2Kwc!($i|x-G=#F8+6eRqb^`Na6RW2%vXm ztGTS74b!yp#0Y+oV=K(6_v_iL&2pQkWVh>Zj0w}*N(aYJxDw7NN#U2X;`T>%e51{u zai~egIU%UPj(t$NHmX)oIuDtqkkW(_q2ccC>Pziv<1TF!bdKZ-z7nTFAC_ZeFIk6Sc>O%V4JV92&eJwE9Z^paO_M0MaP#bxc$fL^khS`fmgto*w7jB z_k{*3BF~LhC$DALz92+-{P^buGqMQlD-;i5lH}Sp=N148SM&+LJo^z%-cRm*oqO=P zn$7)_VDxQ&GPZ+@%e-iZ?vne?809kcD3U}&OS?9JThpLFmB$zQx01%V zp9a4n>A!*WN-{C8PaY+0%?aDgQ*){e3v@tBtzt2}cKe5HcY68l2s?JZ*2NZKgPH{V z+HW?CDPKT=<;%tqK6yV*7LQ=L>$^%ppH=K|MBc7yyfLO2P`EJ+N)Ix$q@^2Gr*h3l z%KP(#Pe=JF=EO!5^SRY>p>t>JpF;s~FmPc+7*+puCN@}qpk(;QQHH?#NQUsBq@_OY zb1ZSxdF`(!ELlU8A9h%5FG}PU;U5HLhGn{JdH&0hm{wX4!m2Plc-2tQ4C~7n$rEy1 z$|BS^Y)``XiT|D4{b;5@9Z^Z4&(`TQm@|m97fjQ`5{R#-%*wM*CB8)PveB2N{D~Y- zwQK9PQ_|y7L9O!|H1%#K0q&9fndI!uK7b9TWtq`^;)MjTG{9$x^CnpYdRVd|F$CUP znbX#W!;R`53BgydR9qY38&I{ulx-m`_6iOt^mQLr;;|Jtc72L41o6^&t(#PW0|N%h zSl9x9<9{eYZ~WGz&EIBsKegYa$fmhU1wQneBu)Mr&PreYl^n^tvEQ7828siy9hjS0 z(d-=m)H^(^wzhz^M)Vz0d-0GnJXu35+)Q-!v1Cg3qddPdf)%dP>Ey=bR_{B zDWnHeynP`{TA&c`xZ=`BI?utA9*4Tim6Ndc3RcHD;BZ+l&%hICimTQy$$x0Lm$2b- z#UbiUg3+VK;Dne8uj~7X9omnVYMr%!S{Pne-VceWwE`HjilVHZeBK^`;cTY(XPjNT zEVoTr-4-pDn-=td@ZpVK2}4% zHA>UJr=x2!HO=o9(%f(&gx&5Oh4{0DPR3{kA1-x7l2VK?Tq2$)W6%xXjxJX5hjWMn zdfT0-=0E}M6GZnKggfqIcvxMQ@Cv9*YDS;urc@j^)#sK~yW zGh1X)=UR1*{U$GubRf)(kpFbL``CS-Eu_k@O&Smc_=2G9|c&Oxa03A{0$4>k-D z1sC+((sXTNEI`H!-rs-xh_t5`2gv_7>NZ1)1wl29{V_JEcM=2dBq8}Mw|Sy&e1RrZ zLexaBIuuHWfCw$h@+Y=JxI-Wxq38mM6;>X_RW2N{ZjRALFGj8j|CJE$1~NEdBJWvx ze?=7iMmF;lm8{f(<(tH3_U7Y3kz6X=kaGz>ae4QD`BYgTg)n54?c*V3^KY($wEh&D z7hcl0X?TJ(6pg_80KzNWHtn_}3RH{-M6a`DfV)&Mcn4c7#k8s3dKl#AkuxpSDTy%+T=O0`A^62w#Pq^2Y;R*k6oJ|j=9FnkX~?-p6ypJ6@=8F2KVMi?x@w)D z4&Tf2r>tpDof4p{S7jc?(kN(Ni^=#cz2N#9gDfn}!jJaFVe&?nKoA}~YoQO}>|Ywh zYTOslD+ZZtkGmhlnhK|a^@L+z1GJ=b!;^}>=;bmUWvx&?hSL(mIg;Dtxq!zlYGE;M zno~rsMa_^rm9mo|mg%#Eyr|d%hq!BuIi66Jqi_9r}{j=-lqOosRFu@G{ z&VNCd?oe7%F5L1~3>n!CP62)CmoLGz!DMfEL#HiLu7GZhT!y&7;*O-h1j^CWIMV~L z+;6gFKR(%3zR6d$TU5u>Mg7Uo>6cSl#}Um;H?X`gQyJl%Qs8mi?})S~o5{MtopykUC9kctL-;!!Af#G2gGrh+1g5|xnHz! z>9BW^qR*bg@c_NtK2ZK0uHKdW(&~ebeZpC^W{_Dmrj;BLNtsTnD76=k`n$Sx zdKl-D2o56ut2c|O$ad(rDa6Ui#>xne2|5jTUyPRQ0`Xbc#29`$NB@ITXLHG_=Ig7#shkMg#EacDLX!sUH0D58sj4+>qKA(9N=~91<+^6ZC7g zj;PPYs25OiN(z#Bnv}$HBi)euS)EB`}IooyvDpIjj7Kfs-gBvN@XYf|ol6^<#t71R zi@g3R)H0pTpavOMrwPvm+=T!OaQPYscpM6|I<3{Ry}x$$r0P%_AKo?aE}^61wB*wo z#5`%AT0t5n`VdslQL7YIerpj0dbFt7*p_6#7LX9^D`%p}ud%mtbby$9>mCq(e;!t^ z%)N~&#Vk(IeosCLJ1j3}w-m+3w>Ec7h+-mTND_yEK`5H$#K>f9J`l40>h8lcne#9t z5sm75&j#_h8ANn0Lq@=8(4=?&0t z3yA)((~u_I^EgG&Py$vN)J;Sc+$K02YcJe)@acYwuXVN)xFb?**q4IEn-4p&|=%frKg|K9_$=mA#tu zFVS(bH%&GsCkbyx0hUfz(@4~=-#vfrpJk)66bhDch(s`uu5|k3Ny;f*Cuitw|D51! zgn_ab)GJ8cSIg3onQ~cBFbZ)Q#w3|`Ss4`W7B$|YX2M|jScVHftijEcl$RQRv%AJA zt`!HASUIWxJod)y#rri$+vMjPu_)NfyAzY=#cx;>z?*vP{5@WzLFyu99rtk`XLcsi z-bUCnIsJGT+;Q#_QiPxixmcKpe;fW$u&2WLoUlz|+&alO<2`glG#(pe;{|5FeZ~Ve z`YOuzZ>KGRIW-kgDM0^U*jjaac+n^@sV@*m#lAS?Hk8{5)318hub38NobB^bAEC%P z+T)bDTLQQe`YX@W$5EBv4Ga~hDiaAccA@1W7lf~^S@n0$tTkEDIAZYVGX7F3(EJMbT_eU zc+L#Ip;}A`o>vU=DouJd6mw8k7Rm`Z&miF1Dj1)`U{WV>UNR zqmo(<5=FTAs;Wk3;A2ArX<{GB+$X4KJcSs{J1hxe8D7f3(e&%~j{TAcjR{w#JZJWD z_U?Nnf&rt>XE-q5eG>nzDAb#5@g#GByQFmxr66@i6WbbS(=k)9FVQf|Vm3%XX(W2- zlE7^WM8W}I^&=zQKtgIeWrb<8D|XP=<99*aW^L=Ev{iH%6l9zqBZLicWY|K*o-K=; zu0p7k$kOaeDwTMQAgIRw@&0BJjQ@#-sIuAp5Yg}Lm(x&CI%~gCucd&EiNdnEyzVNn z!=$>WuLvp=S4TVv^F^bk+Tu&(WnT z3!tC;&(5|XXr<%-R*f={+&wP8 z4I@7b2M6C+e@DEzrq`Ry6~>M*#tL9G8ap9*d;{0^YiqkG2DPDEm9@Gl?|DS$Cy%cx zmYa(PdyG#YHuMBQi1zu+G%zzbyTtRoGgtoK(=>%={sd zlD1E3H|aV7YL-O%`%2VJy?*rpUblLonA(oobj2b-GOMAEt6s)poXV3KL^-$DxNs;+ zT|hIT=ryZ#coN!ZGFNZpdd%ay=#{2pVc9C0e_Vsv=jR2T8@9b#}zWZq@ ze)q;=9KH`t-Cs;!4+7clG8PrF_p9X{LkOyS|Lio{BoLgYq7DSLwPB5rQSW+jC9!IB(vBUfCTosQ_IP*vUJMyixUI1B3-Gt4-yaCSp1KHC+RszUR;FP#+U65P5qx) zmFVqTy94zfBo(Z5u~0Y%%?w1~PhP4Rw6rBrhSMWbRJUeq?!cwF^tGrM<)I)J*UMLG z;A;NFmzp;W==!ik4m|ZVlyRqX;@g4 zHI9(U!BMzGpzFp_crnXZK4~QutmIg_Op`T$WqPZZVO=vx7M>Lgd;}L__NQBlTO2R) z7;H52)3<)%LC};yFi2TAN|}3T)WnOxPv^>Sq6QTc-R!2U0>iIR=AHgF|F-~W9QF3%HhJXhsYwIwYa9xJ1Eh{qlV zh{`jej&&rnnN0sS3H%*_^JYD2#==gCqVjLRcs>1t1i`^&_PnP(dnlQXpN}sblX`7)=9o?A;v-bY0b5ul$5u%pz)VbZ56@L8TlkRRyTjC3N4YVrZ;D zqCXIP@Te0&GkLTLHw{1izHG2ZlRF%}|9g}+O}jx;55G0#g7kau3ukn46Y%IKfoaX` z&|(CC-c!nKPOGN;^4BC*we{~N3)9@BBv(s$mQ?((DYFt8j30g*z=TE8v6hI_OXu-= zD0suoQI9JsiN+fh3JLfg=Hqu`5l+HUneLt0Y#I*X308K3h8S_}zHfSSMSuAkMfwDr zE#owg#j$4tTG(;#_PQfUdni9c=EI3%+heWAC$$L%X4LXlu^Z>I!QDyPxZwIwY#H;v zoG-!SPH3_cliQVK#fmJquNXBLI%4)9;cb@FWpadqRIl0-qb9h=lYMbNd51$JE6(=| zkIl+!Sp`{4n}xn<$Mw=ATV_vMSFs$i`Z3bYakY}TAEFp~4o~1+8fuLgtsWXxTUwOhm;m zH+F=*v^4j3{-8~q5q1KqsIKE>0(y(WWaV9MWMIw?uP%h|;7EKY)jm$15MxNA5A6pe zD;g^yPaH>f1b@2;KM;;;d?^0L_?dP^>=?!-v;>Mikwxr@w6VEIAf=cqBWhDT8{UK8 zi@Ls>jOCNok^hLP>>hng6va=ds1A3=bEGl?=1u}Z1C)?pf!I(e?z9Qh4IjTt0TE z(&E6%cc~(HDtjy)7fZsDq)cT_afh&f*l2Zr3F|*kf=Qiz`@(=+z(rPlzA4AD!oDQ4 z9jT?3*M@;Zi9mY0smYXOIDi>pAa!DNpZH=0gn}d(+2nIYHc9|$jPM2n65%F4gkbFTw&4FltIKpEl z7ei;70S|6g_7Ay!gEagb1c?;6mlZ7N1tkYnANox_9Uut&^9}#~tYqL+``V z-BNF?AB}{w)mb-84%cA7kTY|4@Y)f1T1lUIkxOuddnHIVny?SjfGXMRJjlmm#x%h> zQD_cmYBGeZ|D3xz_Ds!C^utBY9RCb8lgb1`(zlOPuNnK2?qu-noxpic$|Lb@v7fEK zev-{HL6b2_3?`WEO|L$EEAC+|cE>6`$Bybl1`j_RJ>3t0ettQdkTpa}r+85g(RmTa zKH}LqXPDF4(|X_fDp`ZNn#G+Q7h{WS$%jm@RRcWcpQRoJ>)wj$xQr7Z#dt7 zRWHZz$UoF;Npi!s3qMygeCvUW=YJucE zLBtaE_ma0pB}%q*rj0!SLM7*F6LEJSOvI~e;9|6^@Ih&kqr3ukDNy3Zs&^2YHVMY$;xgD5rdqLY~u{j-XBNe$SCXVBwW)h!Zz0(DB`gJ zxwfoL*l~#b5{W_vulmLuX`vkV0to))7)=DbnOGHx1pUUxj#gxRE--^bE~5`7!aQCf zUYS6Ny#2j>L#|8dyxgV4+9O*15^PXAtYexqEu9&h`hw4LenqKMSLDk}cYvjE3lCi@ zPhFa@TwT*so9>y@iK*g=QCOm z{rPCa6|*`KOxX^=y?be{paBzS8&Aci>+c1Op{L^wt#*bKQK@J^6gWH7z`tT|C1V*Y zK~TGc+@ptR}pzGS6@hfjUe63S*sfwqbHnyh3QS;q=>Hi2y3Ya&%F21QN0O z*xJhDKT%lRl9Ud8u)D0OuV3o!3zg>s2-wLVF0*9e z2$O#YGGn(7AYk%IXXz9B(Xl^OzSHD56YSqxvY_Y)r8RHArF1|`B8;^j%Ej*UzA^`g z=-6jNdYM5ij+2LrT@(>a7$z;z6K0us_0<%RP3U2xuK0wR;U7srKF6(PSd2;f zu|4e)Usth^&$IbKkJm5(?TgZhZJNbk9J$rGSi3#e7rezf+vgT)B}bUHQLQH_=@*5u zb`r4H%&&jeMkzVqTJ_Hg85ihMY}0p26t-6<*r{J39LTJ_`wk;@{#1sYPg#s&TVdS- zjLkB0Tp?HFc9iq*^MtT{heh_xEF+M5ysf!`<6^AGJ5RBI`fxQkUq7=_k1~ZmR?(iN z;xxQP*FnM(GU#V&49u9C%B|vkQX8Jk`_D2wDfzSddW7N)kM~mn-| ze=RX{7LKfJWoaHPmi23LmT+QBb$hh8l>Xw zufmlEYY9w2a)g%+&J{(Gx9@Rs`xF*GDNMTy6!7YK=(U~U#8}qtI0$?#8 zpMgev=FK+G5)}qS7LZ>V#U?c9PL zTlRVX{&hNV7*bK$nCx1fm9r_+*bgMer-GHk3+t7X%FzIN!^(ld<9vem&OEb3pNV%O zM>yM#>ERs54Vb*?MWl8`KJN2fZVec{ZxB1Wdhz`JJ!KZJz4$xSkk_Hdi8hkV)wA!h zd4=nJP(A)xB4B3KDHyh{Q4z!-AL_vItE~bBDa=owl@&x z2QYkTdV6$ZfwB6%Q+imHXWw)z>U$-!;{khts+4y_gdoLjm7)PVRtg7Gm|RBk6t2T$ zakBvo4P;cAY8uk;HP^`a8Jj2)e={m^BZ9yYv3()>vih!?nXssZr6CGw2ICoUr$?B2Ro%SvILp?2$& zf4|_^jue}(`=Yfixg|I0s5}20=Q-bTHGM_Lil^-pda42CHd zzcuJ)JM7=|l`x+#^>e>G(HOK}l3z;>XJ0UbQ3ho__d0SE2Y(i!u)Z!pyFzToTWH-r z$p3(A&^+C3N$N{wIZseBwgQ@+ehJ}K{F~X>tVL@VpH!z?>~aT;S(Od@;v1#PcOUrdz85?@ z&}X0`Ld9hl*MI1w>!YJazfo*;wNR8&p`(QP-z+bazq$fpe6M!EvH6*PEcDh>p-yar z1F|2RyJp5;MK!GEC{Kt6sAI1oee$*L4d(|Sy6;uK*Ec+4{P6ro z8_<{?=HKtPnVnNb3=ovS6Xo`RPeE%(~&ZT*Vg6MxFodrWw-`9nS0frEUZXBe$ zk%k#ck(O?x4O$u`hLG+OknWHUL8QAu1O#aY1f&E6@%JA8?-!UmbLXCO&)$2jXC2`6 z$dIQx1sTiCrRgBQ?qJrvYqX-faoRlmo$`k&NZNJqTX4rbm2W`&L0M*PfbeVt8a zUtdQPB0mEk!KTQD=o?Ot7-7%U@M+K4r&0YvJk_Kn-I!S-lL!*31I ztJax#Su`jvOfrTU5p3MAbao;h(`+#9MR>2a;re~he^A9TL1M3?T}j2pC<~YGUHFO| zu_9fHn3G`4SNJ{*m1LNH&vo5z&<+rJHjU6rRTxy%vn!a00JHzB!WrN0>5>F;78 zZx~rRB2;}fUhqvrSZqh|G@t= zh!uKrcl#ZED+R1(LFw46DCdJ;+w?vy<4|5x%0tWwVY?|(g0JllZ5N5Ex=zOM->mv# zzvjAI_@Vg4x#}P{SGdFa?X#5OHSCp{sYg%&<;4?>`XO%0qOlcK@7K>N8;i6fXH3-; zTA-v~?7GK+F|H~y{lsB5XKM1uCDF~jNe=VQ?5}XfP-Wx~Oz-2hO?=FFI-8QLHQyMA z4~}yUWdUd7w4@J4ky6oRaVvB=T;?W`4b_njm&EDiNDC=R;U(ij?0O9-D-!RN%4F z&3Hh&mbWosXfmp!)crz`=AuNwQy+Vn!{jD5;r+q)`>R){nl}W0b+h)GAitzOLvS`a zG?<529VZ?9Zt0e93gARJ2JAz#e0)&mZbuVdR+;=+!dp8?>9r&hGtqpDz4>fBWJ+bp z9&`2WNNJEr332?UV5PdNCZ(>@4in0zR8n->|J8B={Y4Ibul04IUy=RN?}d%`Qu2U;Bs9 zHN?^0+ZDZlyEvu2?~XFuibcIrrj1muD;JcN>v8*UV--}+I~hOR%W^-u;$qVh0pC3u z@fjY>!Le#nl7_6*)fxdFp=T0!U0=K2n2I(`Q!gTJD;kkRQG1jQg^^*X4W373;c21> zPRASKGHx`m{fp9^v?tx$%3h13Q^@0+zEXDi{W-1QeemG}-l{<+j2fc$0osxI`_BM3 z;Cd(Hy<-b75-5WyAiBI`gc)A!xK_9i#+3pJo%iT1*la28#-Q;)x76cbI5=qWF5?it zxexr(Rg6G66Wx>)F|o?|&0;BO6CFd0nIa)kPq|%Sy7;4VV@b|2JNl+h@9MS z_{Pua&C&Lg-QX*jpniE}H2D+~yYkZhY~w6KeONo4*zHTX9tPk1czX(}Q`csBh8*uS z4-Ky-O*h;FB|-nm;cxO`EpB^zfz0Tj!9G)TVI7lHCxNV=8-NTPk0F6m^li|ff&`+6 z^E^uMv|?uG1yw!0lkw+Y?^^%sfsKTAzyqGgoIn5h{lE01`=7~iKr@NqW+bjYMPdm~l86DuV!ZD;I!K<+79y8NLXdjI|I(F;13wwI!RQ@TBVUV>8mWBhS~6H>UR zVkWeKp)H)9wia}rHAw%6gZTi^K+MI;d2dkoJ;HZ3P5MHjR^C7}kD!6xKI*IY`2Eds zFr2=%wp7alTo&0PZ~OFXzwJ@#M!pMPVO4f4ir@qYfzYp5Qwwp798PBRJ0it-yfH*G z(WLnE!M5O!8ycF(6>sxB;H=E?p7Pc(-CFui+He(Z zG3aShjkvySu6~usx;6YZ!Rb?YN{n=&phu&Z&9K@zOm(rGN!!`*@h%o~7%Zfoe1_Ne z*N0$DF%ySmugXBbgqdrH>){0LR4d^_=JwWeZ;xz-Rd9d>n%vN zD9tMWqht=NUHd>WxR16D1fqz<9kD0oK~Cv|q$cF2O9LXjc{xZ~{}Z$+(E*(7c|Tw4l15fs*&2ZS?R2H=f=dZ^Z5JfFyopbbrOMM~Y>!FVw zD&cw0#q+#F`d-&Bl_#cMC;Wph_rLYPvbCMH#(3UZ=@~C!Ztk16d5Yr-V;_XVpf=mv zoS!v_vsD%vJl)u>cV!KL8u+VRK4Qyra+xI2(DT2HhCpl2_PIQnz~HNL>)p=8I`dsx z9KwQp(GPME+nr4jfG$Y!<)w=i)U~e6{hUi$niT!nn2A=6MU%v`Gr+=!a4(({ z*9)WNXGYRq@uhp;2hxQ2U=iMSN|nKz)gACp_}7JyI;sbxR-jpw=vEWyqA^ z>z@uuek^Bd^ID-GflfNsj?raNuibIK+V%d)U`>_N@Il0O9LdYrv+R6s1ZT#tcLw>Y z?#zz9rM8szI_{BN^4+&OQMg;xz9~YeAex8m8a{*$7Y&x}LK-%HdzT!4P*5Vuj+N4FT8QE_*%C$8Tl&S{>>m7SICKdBfg~kTzSfQb?=X;4a59pq_Af#@VpyrWRrx0X<%VogbM-w-jZ`=8NI3X`Z zx1hZe|I|F}>OGCYy!3rKzv%OTxbYr~>E1|m=69~=Mw)*$X^HLG*b-bMqQ!nzo>;^Tr;3J%7c{5d_zw##SDWP|PQWeA_xG8V8@9g{y3+ ziOCNqUoepjX0o@r$$2YdQ0WP={zd~_%qcB*jldQW30sX3=vdAHE+Hv z$cw<0B1p~B>nu>r$x&5{pJ30hcmaN>l?e^~z9DxxGDO2E#W^)!#hp<>oSPQXX-E6% z_Olm}wKx*8aU}iF$!z1Q>W5|i`?!DJqjqIS1r+5-6qxaeP%i%Wi!DZ9;**aP-h#J% zfzUWowyagqToNl&#)g*!Lw_Je9{R6>1e%-6)p|3&+7tFS>&i*@rMib6h=cZ}9|v_M z%e;D>bLl~y#YbM5oVnbGf?q=OsYGa8zI8?ib>&l)`V?UQ$mSmB^NxlgpfjOAb5toF zyfUPm5)7K+8L_uy;dysX_A+Px`0vWj%xttf8XW|drx#FC2P&0_@YOW;4sk(|*J6Rz z-)H|Z1Y|g9AHEcN6_SYHqK}oXhmlsYAoDHgRSQ;_WwJ=swomH6&YxgG!VEt1E7L3U z9lMJ+5hWdgChRTxj$GUlptpnrNHX>-58}Y-` z%9Gt(@ipElcd1m6PdRZJIBZfV68mqNsdCU6@+pXXz7>|q&IQbjs7))jP4sF!yN(%vdtbf_D?B`239`NPEIW*~6SZUi{ zE+C1LJVoP>6Xi%dyMRCQayQcxy*pJ&c;OcqS<}*Bg#>8R6Ypk9GeGp_siryG6_13n zLRY>+O2bp%%MVi$ky5w)#=Nm@o5W}A8z9)(SMVy8%h}DoGk>i6jgDLi0sYnR@)3Vr z>v%fzFRWBE;w85JHh|=N`e}AxZ1*`7=};EIU;c_S6=lY3^jhcsH(sXs3U`vYp8hGQ<7-kNSK3#U_r`^`bq0{X-!7BtBIJK01WU4Uxr=bdB zS)k-ffUHFuomTwjd;8lpc7$Z=5^J1t_S}0W>P=jfjM7hmJH48WtGg?^X1W35w5Ojk%C!_A*gUY)t z63+20y?C6tRj1_tzna<21HshNw?bFih%?f}@PZYGK`m!R`LKG0g5=EECEg-|PwoCs zhOODkrYOsPS#Yd!hP)PXp5+`CDv*8aNV4R3jV${q%(_BW?pMv!7C6ODL@L&Mv^H-i z0X?DWKyeV7eRPw=O``#a0;w0rOapDH6(WdHj0dWT;YEW)it;Q4d{6|^MgmXD+Nj)( zUmsbQ{x?_r1;g5*0=c$1VhyVMp|s%Zw~h6JB0M;qjDc&tm!g%B5jQlBB<2-p5c;X! zvv!Xm&ATko^eetoawC#S-{ZDPT8g$ULUn)v)wjm*QoQ87#v*<8SDzgY@pCcjT*S?O zje`LTnjYux$r){gM?U#KwSu%GudSH2E74z#`hn0k9fKX}Gr_qP!vzJzECx=7WxAqG z+HtyFBj><17k7k5qs=z~#e49leuSRV{9FwE6vM3+PvSp>!us3tjlWsuL}!;+nGLrH zd)WWJsWDr@ui=Q8rhnOIBmp$+*_ z43)lecDSl`s!z7-{_(Iz$tCNAR>yseb}opv#aPb=Ys-Q9b)%5BSw-!@yVG!GsbgSR zS??{;VrCQNdD=*6Fqwn}D3|HXo{q-}kZox)y_k6eowE^1c z!DNutpqQfjRIdH85e$4@;o#HB_K!av))Ij8LQp905G+ZMH+HqYe~MUF@JI57&-OJY z5y!(ONWq5$j8UuJ)ERWfGYsQ$lQos`RDQF{W|iyd8L{U?fB&4|%_SjLoOdiWhXf07 z^YH9ng!c4t`?Dui!Fra=p*OTp1f~=S)=ac9QZOMNdo3oAs926X~oI zaYCSS$+!euB9rD4igUO*-9ETCC9I#?Z-0TYhI!s6QLTu1>i^FE^L!_2(HX!W*rsru zDU^eajZu>@Hpii6+y)w;of8Ow{Gc0(+kIyFe^WTcOuWQt89Cs5Fj<_r6TY(Vl)dbR z*x%yid;7RDR*q)>`FrO=^N53U5!&dE?clLg^{av7rRW1FQbCdy7t{Q>NnXSJI34q( zd5i>6_%hb9_6Q*($D#HZ1<Okj)BOveC* zE59_sO^edmOW7+?Cn0}fcozAuG&RBp{aK*HPi5L^k-uhbz&3gY{!;4LN$l1 zM3!lP=t4Jks;x_g?wg-r0E6Zbk~5r($Ni7~$|??7mkFC4C5{%$YU~ zuZ^ZQV@C;Slo|}{&j9o2vWMq_h82k(2~S9lb$fr%mMQPIw%1}~wtpE$S8sFM+qMy3 zUF$|cu|gviE)?X>Gj=aehhr);ARy2B)csUqHMTuvdWt~8y)Z^4&(0-XD{#wk;)5<- zrbw#`?nqA|B$CWHGq;j{o1n5JC9 z{&H&46j@2&J?=Sa!5#K8fsG<(4D};-rW@b$3o;a^8AN!KXes4NIasW*Y!P$`nu3Vopea*WBhLxx_DnwJLcEwMJ z$u+AoM!K3PTZX-YeWl!|dVu( z9_5aa=RCB3O?jt209Kxi+ULB-6jkY(nrj%@U5ABY^Ll~l_xqr{LKX#xk;Gs-9;SzY zZy|YOj3)%`ZFRA1gq({Cmw9^CBM{_W}Zv0HHiw!2As+F;d@uyOS1-%1&pkO z|2Q^u`uX30*BMuXR{for#V`bZlNCvF|F1lvXQCS*N#qHiU9{P!6D+f9KmA2_Ubr3} zLWFI~QtbBe*UvWv?_a~h{wF0&x5~3`Eqb9r4oG!F!qI#5P{|9z1j-lEzs)x?H}>BR zX9eP&S_A2R69syRgkedJqOXKVIN;7P4C5t}eoWA=^+E@mjNE6}$a~eHkqMvdveeJB zjx#E%2_1v9-7ioZG`){Lh#~1(UApgZ@2bOSAk6t6yt5KXrH0WPaH2tV8iYr6^>PB! zMm?Z_`o$<%Y~R#+4Z zIxKOc*8aPF|3PI87`wx=8cUlBFRQ*nHWmbQ=%s8rmiaC4CbC1`ST>JCQ#X9OOqv!nKt%tUIz;CH5j393`tuhk%NdZ``GkeBK0EG(z4J<) zKD*IXnNb>Im63k*HfVPPU>?Ico1096#2B}u6FKw8$Q}KGURdMfv)J*0X~hc)wFzMW z9enCqW>y_c%vDqE+GTTPfAKV|QcRQ0<&Dk8uQxw7H%qkAG)P!H{^Q2M4gc5buC%48 z0u1sM)?kY5(;mVfBzTy}sApSDl&6_d(gUuma zcv!}xK1^+F;cbMD%6nm|_uA{k>rtRE-ne}r!4e(*S~PJ2=;k#qcx@zce^Hj#2VP9i zV9WT6we{*W*^>=wGAPqCsw^{QeX{P?KG}e4xd6%`czl7iWrnlIrNx{=up%Bh*Y`3J zv&BnvEB7%XnxGfk{G(%b?wzpCX2yS4guk#PIGXR)HQkYwPg#V64$Y9c~r; zfqpfDAaFJfLmWY^U&Cf^ulE%%MDRh=D~adkSxMr?4+r|Ax`WWfKe|IX#R=-8FLYfR zi4@w^+d#>+r*0}rvnX8v`6bpjM{T~aE-(p~;x+D8_ptg~p=6BCy5@#|}^RQ{v}g5P0F*~*CB)9Vj0hu?-H zQ+Xl!h;mle?-X}al7B;x>hNA*^6lq^rrp{Fi&y#LZd_e;cMOjQA&e*63Cm^#D0sf` z?)F^oO)N7W6Qit4WDOA2QF9In_yaxo$6mRNxvh>7iAEQKBs`06_nd3&{2o342nNIN z5&**f_KKBs9Li&-77N7;UA>p@kuRvG{$4Eai+!8Hs#v4Xk{Mlu<@5_LA@2ekqA`X) zz+xuS73hm_70y^56ee;IC?=;|3F*)7QeFr0VPJY-Nd_L)cQx~WK((Tg-!Lka-E3C@ z`m~_-S2C?r|`eEq@P|VKk=|`*$)^*W2-NDx-lJbau5Z^G(vvm+6+0B zrB7dBJff>XmA;_TKVWJ4ZuDopU{y3^17aQ+*-<9e# zlVUtW7x$UM33?y8{1*ni$Tq{0DzmGh<5=^eFttS&rY_)Q!?c*q=7ZOBj@noNT$+Zcwu@08U`mnik` z4RpeTn}QoUO*m|;p*=TnRw~(XK*YB6{6VW^zny7~c3^=LqBb&*zbuD4b4L3Uo$HpS z1H82v{fFBD`5+H@q8HY)o_Za)S*3>)M{C`=zX`UDHGZFNbosnv7={ZoFiVcg`E%u*%+2XwXT=X)GFg#Ux$AZWm_xrRA!nJ$s3 zp)kdFA<-r?azWex8T;N7F=|{jlxdlKG~DYbX#Jdis);vTCG_oF=%;0~7L!_8HBo1@ z?F(Kb;TZO;Ai|cJ{xQ5yGOvM#LPOu^*Px?i7v*ngzP8 zmF@c-Zd=^V!I(`|zLSm+K-Xo85Xa84(7}}Lr@gDjW`t~j!3GXbZp%KDJ}&+-i%~o# zj%)}p)oojlqSMD@gyZO?mgw~EN|T4=_Iq6o21x`${i&B6;+gC*gk@Se%hQ+u4y#6} ztxSiLPE5IxPF1tq{=QXoJQOn~BWC3;7Xg;xp9^M2^=gZ5B3Zxn5o!`Nbo(m%<0}M4 z9F5cxBhvubWQXzQ7H2&XicfGfQrl%$!y+%Ihd;Xv^(O)Etr81VsQfW!pD zs7mKLABBt9c36Sd{p;4w*_WP2J%E1HrbNow_Fnc1e~ksxv448x*a!?@G{jg0Sa@0p zDRK)|%^n&4(w-Clfeqk^gM~etDf>saW#;N6+|1o@Pw_F-`lw+BoX`TLTVXh!GCrvntsoLN8E?^biSuiAeMDsFgb81PB|_6{ z2!P8o4#vrij18kUc%hE-aD21DK4qN}yu0zwK!sAD>AGyX-`Rris6zCdEN4RaLF%m| z38QRq5OJ@~m(CHHp-vDnant>udFMsN0UVnF=jyS@;HE5DunJMGE=C-SVgy%e`kM5m ziuIcdprW3cB4R)j2n{5friL(yD~oc#lWtysXmKY|fW@ z5LH(j8T)7Y*PH*O{r=b>*28TgTI*z1E{s!+#%H*2TzAH%jC=K+R+V{6;7TMZf?y^P z7t8UzQukW`=SBs`r?)5F?D1$-z_Y9#D8R>hWZ42u-MIhH~PIHP{>v-bcSm)&K1j z044;HLE_5k0-=)|h3*e=#qen@W>_66>qy;mv=471tsmS-Lc?-DhDj{|lJCn2m!LhO z<8qA(2s4LN3GOEX^B*NmXe`VNOY9^LeB)1kLN{!TC(5zf)tz7c$2gy&i&iPuI&5Sk z#PRoSA3zEZ&MuPFX7p44x!=!*H^>YUfzDV(9?x2#=2ydhI9f|P^J7NB*3vnLr~#T= z7JhY*%^eIZm58#h1@-EVV514;V8xg1u6|=rkdIk#ib6^%cj|NzuQbR7%#ye~c zUee%MD+VI#nJHaCHJJMkyBzK4f49l~527Y;%s>D_Ej3mBhlrDn6lKE^K{JFf+@F!D zOdtAvavFxFV*wqr-phtR+U#XbqX}S}-ukkD3}9Dhj0+MUXv?d?#&VMW#|Q@xd+O1j za-qKI|6K;_58GxvGQa(fdPKNNOdFDjYZ4k@Y>lh zg5GSOUy)9)7{vTl6&ZrJp}&p*bOP;w3y>6N7xkN^v6%{GQK_g|p)SeQdjCck55l@Z z-zpzY;WYsuYRnmuuPgqican7K{FNo?{XoKx5Ls=8|BAd!CNyylnX&G1487bHU>Z(lSy9%L@7L%f2K)6X1@|fs8OpM&Q!g+mcqLekhSv-=MfHbSGsK@Q344pmp8QE=I$^e-kC9{CYK-(b4~peKsj1rvvi&G(Q7K~x?{3qk`|82^At2NQ(f0A4A z=1g?{CIRv;P^E=rhnA2!rL?sOWC_J#%x%yfS4~|!b`v&j&mD>`+s7P%0e-XF1Tv`0 z_m<#aX4{Q_EeTwRGfSP_#dICEJKcGZmjFyR;)BAiJGPpV^9xkK~^_`U{qyz0d z;6IKK?Xd@#(IdsMq!8T2FNFVo;#_|O%Z2nQZVEg=_%omV5C0e@u+{KajqC|&<-ukA zHf{bIXaaFO?(AxhNH}S`LMW+t9Ep@M9uOUu5i&_%_4_VcvkNuyPIHf;rtyQn&UP5; z?JLWtXzS4y-hQlRCy_mjB7Ba=kt*6MRiXCdzJ-jUOS_Q!OO}4B=Mr_>Bjl*y-?@!n zO}X}XJ-reui`;A}r%GJOl0Ir>E=ROxL1?gMIRV>1@U=Z2fQgmMXv(IK+WhK_tuAy+ zeMMWMf1Fc6=nl^m31DU?HmDZTxbh}*y_wtE_~fnTQ8hO(77}Qky7U(lv^-mWE^Tws z5H0a+yXpeZ{AGr*-ul&PN+kLy7=FQ^4AIQ9KV$FU648!^aA!f@5p5|X@D3TH+e~Ti zg~JUJ=W^v~0IWt_ zdbHsNm_??=sDk0@KhsKcj6$hMQKl_*MQIZkj#}AoRrign{~Z*ppBf=y-1p|bcfMx4 zE5;Np_(<}y&WX3^6xF%29nTJW?!P{KR$)}3dIzvQ1@Ey#f!^aRR+mlS$s8rg8IE|= zEO>VSN)qQ!V|j=6WrjtpOP6j_eO`FZ+jqf< zHlbqxvDm*duFz3N5)-RGC|e2MLJ4~g0r>dpaUG}lSbX(Sy;kE`JOcH+t0w(DtmEusG5J)@6Xw-b|33K7Y|68?q#O6YXm%Zodfyzlz^n zZi>80ZTCeX98#~kh5fI2c9Rviir3pzfY|-|%kdZf<{mhHUn$^F zW3|2{yYR7MKBwsicI4!nvAfwJ(!eBbs+!Wx$`h6oyh*77R|>kVjq6pa%?j0Cvh93* zQCqQb=)e&ki`C#2-SP5kCz;D5seF&oBFtYz<~8^*!_4%yZK?pPN=9mx@^czZgH9jX zLTCEfP^R623Nc4-Kyatb`5(O&O9>3R^AdPfAH0W{v!ix;h zDVn^9a6E<(+_PD)lYRx7h?W-J)id|RjA7hUUKko?Ka#1k3h<&skiOUx4a`i1PX@9% zpj>3ssH3e&JQ3DZjUrpa64qF#2P@6@sUOW66Wjqq+XmpjoV1jfn61)igjfS72`q*6 zC)t0X<~E3E^&SlJUHK}}aHB|Zz@$NiQu_soJ)45F(Ha-v3ii#U25jMR1WOu-NEIk; zh6Om$nFg7nD4CX2GUuy{JP_tQ<=PMh__1U2r$tFjd3q03+HwFP<1h0Ewi8 z=MJrG1u;EeNEe>t_~^S<_g`R`iUjB?i()H#ykLyeHLjUhgcgya)}2SA1p8?eNKzW9 z=~O}#-|>VSzHr@~pP3dV>2^_AZa=Nrf|-|@X*;j>>(>5=IX~k zUvqx#DPz`JP)fR0QIX^7rwYI9ogV~paM4~S{8Wf!sP+ih{xSt0bo&12fTdjG59Zlp zl3t%~$O4SiNv&&p4|?*x=jQx|$NStH5wE$2x=>{Bhw9Cl!d^*2 zEQiiS_K5{_jFtPQK4b0t$B8WFRyaxpPfnI@gVtlh@VB0elhQ%E=W|uZDtq3LOzL}&%X;>M9cI}G{V?UoWkQ)RVlT6br1RI$Fh(~43 zjpx;YuAw1DiJI-C8(?sSWXYjY-81pt-X20~XxX@tZ#KDmG{r`+P~gtb-KS zy=5-!KtRS@pc`?ZUJFIQLi*F5kAT1-&<{wI$pZk7<;B*Lxy|Pft`CK37?8@3Kf#L$ zQD=@Bk06K{rk@yB00%3hMdK^e$1fM)Z&|G5#GT*oIs{I`b(3t^rY~Fc0t!%0ga#ZNGVF#;aqq>!%f+It4#}qB7 z#$zX^c+LwNYEK%crVgr1jKL*9q@dQLb0C4A5!gZOjXLcJ>cAp+BbJ_pz^wY`IR#j< z0PxdyCV^m7!=UwEW@8jDaxY+h)*ylDQWp|=0$+{UN93JV|-qg zZ`m76YC+|+$+@8{>5C2Yau)~9I$ICgL40OZbl1=ebjEUisPAp{GmvvQ%x^@$! zX2Qvzj8!VWZ2faFWYDD7SQHB}E>D{|dFrQX!nj)#48$mkET1d3t80uj5}H_d_V`Ta z3eUFutPhQaZXLQ+@t3&PKGb^HAs(NDE<6RDdTVIV@*zHq)}l)_mNtUv5@%JcvWInL z^H_(AcaXW~%P#1Dg85D2#u3jWIZfC5lJ-Vq%T)Vd0@C21{it!!mtOOJilgy&wa+{W*de&_os+EJCJo& zqxbtty-})y!~Xlaf9afC+;v*O3-BmQK2_ZwNS{&wp6!muu zdy}iB#>**qpo3NHOBN5#5`FZsk#~@d(wY}On(Pmt4&%8L0h*jUX6ykc=seieGCP-^ zAOE3o#-{oicNHWUVDD5xnPQB0tS zm?feqnl4#xdnLAJC3F3RnHX*BCa9qq`_>4EEI@(AJimW5~3TCT)^1@`V!Gi+JLb#Q4WWs7r!Jsv#%uw(hrezj(No!uyCD`XVB2 zmMHX7!lyD7-e}L-g%s^_Bf!Fk2sZ8fZvW?fi({ly#h++MFNyPbAD;PlXaLcl>AI;{83G}7!D z?Lg2387g_am<@{tdxkr*)(xTf)61YXHq><@!cH{V8UOH9xOhEEdqq&7u5cvBMxgfM z6sld=%HHyGt-5Jv43LNxMJq2iceI3>9w!>Y8Z^|Jtd~FdQr?tsXTpnpkt5$yD$H=@ zl>d6sGnAKwB|uvLb5xI0Yct06!^oS~_ob~C5CXD?L3KLNHU*-gBFE(LpSjRp)*4b^ zj6rpq!y}+!NB-hrIpogPD7`kBK;Z3W9wF-N426LwUX`aOHS6-bVClUj2=jZv5JT*l zg$4}c$#bvS3n4TewJ4+j^|a{4L;lF9dZcZVS<7=$a2Nx=#B_a}`PkEj{Nm%s?@Xq@ z*2ObZKo4W^#a>nv>t*W}Q=vf9&heGeUM!T29OcPR%0Io3ZPYD!-K=QxOxUFc1#$si zs%pSX0!DMw*gc^D#HHfW2;T1nzRD!Gp~qjzpvT{;+QlB@5y|}Cm%%C^GED(M(<&%K zFW{0MQp~wnQA5ySzEQ&jykOR)SwYMh6XmI)-eLVk(?6W{=Bld=irKch4v(stB4u+j0IiH>OBn;E)#W ztI_?as6-PO_ZYlyg~X2&o$D8z&1xIPosy+I-M#hGyy+!zhY5kdfA!3nm&4Aora7yh z?`ws&N@3ua#LkKXw5?U&kXOP@#y_Px?su^%Jbl3zL%9W()=VFfOwbKXC4{%m$4dv` zxWf@!I8fvQ2X=+D+15Q=o8#WZihYc*vMgnUguk3uC8YGD{BpB5A#O66E+Hs&v}ZI= zOJDt%7WkEDDk1Sr71u3&EV7zHoG3%b_l>(NNLKA#crC?wfuE*q-vR%#F(BgnN)6ucwUN98-1g(fG=+}yO8BeG zGyTGmgQ{ux{OUeu&DAw-?0cfmqlo>){y``q=Twz0JmH7SO%rr};=FLE_tAHiAC@{L zB(l0B)Bln2URO2Luv8qNM_-&>SINtDQk&NV*J0C9gr%6j{h3q{jGH8H?5I!x6H27T zu>Q$2o`1T5@}WxI8J>HWCGPMbZY}Dv0G(vUYbti%U4>Ig-{1@7rmP#LN(%7XNi>xZ z{1hUZ2L8p$5N?nwCJ(yJW+#6NXw%Z9gF&EMB*@ebNar;LiDYSkgG&-nIt9I~l=t(^ z9RQUv*ZLj|<7Bs0fMBg@X5{2D@Go-82AhsvRYb=AV0Eo2um*M?{-XOVT4YBO0d*ua z_o}3O9_o7oGSt8|l634s&kKKPQ1)W?xlM%}`6O6_(pAf+A{lelsh=!3QF%mWE(Z>7 z31;{XQ+gwB5l}+MF;(CR)aO<9*m@m+zndkn8RW0{J&FYr!<4Q2k4#%d_B;))pQxg+ zQd;H^7|`~lqDX?IjZ_T+EUD6_nU>dR*S<&uR=#tYzh1gd8mdheSPorcsA+Xx4q68Q z-8}df!+g5$#i!vD;B1Jqj7j_g+AA#l8`rbs1J>~-^TDzUjSSL0?|J%BB7G~W;#|!u)Sz`A$MsPlDF~-7oyz)rf9&!1f%a$38`)Oghikl@sZVLyTnpk| zyPW&n0}_?3?jfLz{N8BhX#Bb58G(U+F|d{2Ba%mQ7;!#iG_=*2wL;8y!rTXiPZg&t zr!(o|778o)uMY<8nCVg*_JeHKMefB)sWIL&>kN?N5XhH~_>}$BRVzR$wWtkg*PzNr zHz-Efl*c`YzhJ zpK_`>s~_VtIU>+k!L`ZOm!VGI)WuZ@>mIMZrAZwP4+1a7J+hx2~$5^pG`nm2-u@WMDvcwV})fgS$21Wb>~1*o?Y=O z+OoqP^XEJ^{OO!OF|%WL>M3{y`@9nZ(eI|(yEw5l^`XM8{L&HQp?07eFeGQw)O-+txTJaas^94ZRV|-m4*%N%|0e9#8{TDBrDjuxQ-k+ zl}oCqHt%kjM;8$Pld{+l<@ef#&vccsZUZv`$H==gqR=$R#-R3qH#m2yCd@0w%eS2( zezyy2iuz!xzXiT5@Afdd^>4FiXJ@B-O95@3I{_e)_o54{;742tQC}}x+gI}1*Hy{HtKOuL9WkSks8ce;O#e8Pp_=$XeRhEfXza(6xoQ>nwNS^WSS&bWcf z{7Ahv5A;!@GVuGg%GlSF z%C18G-V@+RNHo6@m9J4+Rw5dCLufF0@OwvZ9+(i7ax$et)DY#xT%j<9tzgaF4M3%t z?msaYG(@YNwTE+w3~{eW>^^H6oB{rV8{K?Z3UFCw`CqWCC^q#pH!T#XcA};Hf`3%+ z8Dmn9Vv)6te&G8gOJIh@{SEc7(j9S)o;t;WYaT z-aVg9v?);+D-qvyY*Ly4Dx$Dxz_)>Xz(b=j8KcWksYQtdP| zMPIU%2ft;tN)?WM-`V#E(B_Lr{G#leKwuFc;)yf7_^09JhB?-dmUG{9Lt*vulno)R z(F%p>koVr&1g(XPD<%JbeeELrMlTOBSxa_@T~R*H;)g~j=hWXnp5vWUpJqHKcWEI6 zHv=%36`x=|ZOFI{@hQ@TP=jmmfK{ zT8+!|L&&53Z=Jwt#CGU&ms6_j56#s-&_Ucd|5$EjMC6BJx;F%~LWx1>dU4)QQDhd} z?G%vDW%qPSDCq~a&}F!=khwk0?IFH(70rX*TCq&a-M@exe67u*V-mh)9%tkxuqBHB z*;U)eP!#o(@Mr74yHdb6cBs$a7hO|e2L)fHcC`(8jxc_kH8%eH=}E-)v$I%Yx-8bO znni6szjFjL+dQtQZn8omzpw5Ik!J4vNC>%5v^I`Ep;8;B3fr~$r406o7`~X6OM)d} zHd-RHlHityu>l|auLbI&kUe>souA=t^=K}Z5p#=fq34MBirUz`wNTI7$B5uGuvd!C z4C6K1KC4{L4^|0z9n>se0Ge_-pUy#YpA@IM`s9rj|3+Ja$HN`-|&LkR}1#bN|XqyqN#Z&zh|M zw_Sfrl1e*a*2os3QsiI+VyfL4AfHg5BwGc6ZZrQ!(pd&n@w8E#?(PyU-JMc$N$KwH z?nb0jx>H)DL0Y7{1*Aji6r@C?e24%0l@ILR-I>{$=Q-zh!YwYn%=FW>VyUltexa9~}k7ie?|agd8EB^8LJ2MPk*y%{1G@M%}Dy zjwM(C=g2OFg7^EdN%^>{j;G3pV;@Lu@ymN*{t`-}_i{6$2TWkMKLVr= zYdUkl=vIUq?jqhn7WE_OUk3A$S;X|yuU}~aJ|^&@Itmss5wKGq&aFa0R^*2b+N-~N zSKs@+D7A|fvb67YYfO}k@y!1Zu(JQEgc4GR1T)UWn<;f7A>}I~7?sOCvpMSHiAB$d z30}r2e$=;ZZWrE+hh$TnL_61_lob%!8$c5BjDqlmtv7n4c%%!#5mZS2LBhoS^JRmS zUt{ky;n=qZGI|LvP9xzjB@Cu9EI5uWB5re1YF#g=6ssSAlC-Ky9$&Jg8n%KF*|5~y z+PK(VlUcX>!N~7@Y7GIvcIUrVVPIoGVT`E5?Ki!CEhe2$hM4;$>hAVvpwDIf5~jz0 zh!pAVLhy|qS;>pAJBH6Xzx@Z(^TlmxkQ6XJcL{s-bK8qRO9oSRkkd;g3}UW@aWj{Q zo{f3FH^fNHI*JwKPwUDX_bL+VJ*z^|nSL z>!WL`$Zw$AEG`wBj^WoK4u~_#stb%#kA=H7i6QJbMmwyuEA%4Bb}Wl5eU8jaUzOh7 zJ+e$|nws)LK%g#-P()E^_CdHy&6g!_Od$o$Pv_l3M!v+mAYHK5Z($>MTp^7K5LubY zBH3xZEZ)4KU&owU5|!@pIK{)T#Q=eyOB={O0M#zwKfDY=owMo;gn~RA`8-re8FIhy zWgF)E|J<6NUpFRb;BCdjqxtcs_L>rwV#4(eqz^ZHC_|m%@pNpN#x60S#6**%~pNH;kC&>=H~aF(-~N=Bg?u1fy=g?_z@-S0MB_ABV@0}5aN@*vihJ*W>|&tU(a%IG(2el~q}YBKf`6FP#F-H%2`y<+#G|R zv4_e#4~c6(C(=r~UWre%+XAE{$YyGmYWliNo$48%3JSj!i3Gd-Zb+rZ9GdwpA6Q>_ zey(ijU10T2PXdlSm({y4Z4HQQ&NE|_Dz_jK#z57)b$T*IWwfT%`u5L0_I`^{7=8H| zugDDT@8r^QBk*wW>Gf!>DjZN$B=(NYlO&T_!LdRHI~GdIh9fnI^?@`X^lmy%vhRJ5 z-wilOU{S7m-rmBtgG?Q^U}D14Yl942c&41KBM>Rc690};=uV#at++I**tOIc4%OR8 z0Xbj36Ar|!(3Q_D?`<$8#mna1aEjV1; zkd42C*kUs{uYORuiL^Tu=ez?x-s``s0Ovbvj0Ts!ctYdxO$XhJ_4m*}`8TG8tvbB+nx5w$9?`gL3!-hc;5@x;^bM2E6+aUbP4s zt7t#Dw=RO7TDc3URF0dQ|J4oQ_j1<$7aQvI((oN3vZIz`xHD|rsx$OFKb#^BLPbK;VRdgaAWI45jDLS*#xH6$=_X``-{ zgsR1Hgx;Q&ZJkPq75}Egy=;t&{h68V!d7(+1dq%Nb0iXR$ebmg6nsA(vBJRRW{h6( zqs%gK`0h9dNO572rGV6?VG&JK7M4W-n%7#^poq1fs{K8jlUSAw-0g4qA7ql|!#_g8 zAPD2U{Nu@K(FX4!t%5E_GE2+czO#GLT93{!Lm`hc6oQQ0oaXSoGd7*$~AP**e z!QX3y&MZ0d?5zcV?*?|Q-vHxsjD8^if4=ss$L1a$?T(fR$8F9_zjcY8be3hK+y7+s z$g>ay*+R=xpoi}Ou)epP14=u%wU+EG(N4%tXLG9A;Es7@8jV{35_ik}iU1@X{`&hM z6N7tmpL>`7AuNho7y}o5StZBLply)3GxAaUt#|r`yl-&&`?cWVeEDH^Scjqp(dEy! zxQl<1Q3;d-NMt0dL;UWLc8zuwft(OyAy7jO6)dB)Ac_b9 z3#Q?iTt)8ZN%zT!t-D1oxg{n!zA(2E3glyEg(?sK>upW3XVlhHL`No?R|_29&tvnL z3S1H_S@T1q3d(a`ee=|TpX)&&fBs9rDY{aKzuKX-^0z;e>+|~C`vlg^Gd)ch-!FXc ze!Abt-kG!$m8gR*(P35QZj2lb4=4s#1=yiZDbQ2b1MXDtj4J%@ygqfF^?!TNY=~Cs z;;+UkBMf#-N-?aTi#rbtH)3#CL|-@C+EklU9jGat!GbjZU)eD%RZ{UI)Visn&&yXr zS;@!cAKO0|U<*(+4*-_mwo$}^BBg&Jlj~1sozR(~3&IYCYWP;SC0BiVRrEL4_eRzoObVA?;)AMh-(3RA+bv8A z*{{Ieaj3Gli;2)jlGd``9BAmuxibiMXBxHR&Q&ZMe(k*fDf7_fMm-2CH^52xx6}YhKv5&(_yl!+h2A8F?T1FtT~Blx>T^)8l^)v;kh@xmbZ31yMVSi ztAi&c9bI59hw+9Rp+nSOitHU=LMA0ClA;K^hEC`*R&B*>>(#dys%TdZ7=yw#rZMXy zV1M#c3Io zb(i>OIGXlz{pm1^s|fBsZfMLQ;VZt~H8c{R5&H_oZo~>Sb2=F#i<=<3B>W6vGBzY4 ziG_1Sj!76D&DYeGAf-(Iv-!x6=3~X>jc^yWsE^o5yU%fUv}k4R5K(uQL8e!<6Y>i; zb&Yks=}iHRTXEII5&5&~FiP}I1QJXr3yquk+`cs5?MW&e#1cj&q)suAVP#PzdqG#; z&!;-5;=HYlMX+31GZC=PC`cEV8K#cceyk6YTfvFR;eL~3AOsCS$C(AR*S?HZ772BC zYE`XXq~E(MMR8e*ivG+ad}ZxI=uP{Gt$k&hfrB?bWVdoPRypv~_#vz3{bOTX%4ubF zj$%kCKz&_(p^A=XkS`mY5b^3bPYzAK87zC#KHJNX| zi-~+k{op+uMlp;g83hPm+SnkH;>@!YxQIaHbPu3bf5)Nx%?^EGEa5m6e}qLsHM5R0 z>M3MAKIGv#xqg>Cvm)!5a^baLWKM+mg<0C+z z1|L$bND3_msZCOnN)zWXrVv&Dq-+T6v*S)Qs+&qooYGB+Ik#*j&E%cfSqH~ z!dBRDR?&X}6rdP0ioh4RLr-VaeuV@yyHpreNOCx6YVZARa^zoy)3Y9IVa|o1^=D5v zJFk2y_|ZNpT+Rr?#dpAsJO|g0lM9Yx!>?;J-udW3_(ad__bs7I+ar?71ljs-H1+IxtDCpiqH7G#Eii z+f~3la-I-FgjjDc`lS(1M96(>?&CGYN$7IvQyj>KElpB#T5Cz^N=)f8mUj(h%~*I> z)lUIM(d)KR&*XHWuWSN>Q5EkQ)8sKjRfV+!t~ zA5#&t+iwbai{05?6t@n|rNvYvB_O~B!(h7uJAHDD9E6y%VywoQ(@Om}5(tp22&VA0 z6Ejp_@)JgI*WyZsOHK*p_mDKTYBVLs{Eh{DVQ7P!bAHRDIz2wfzbYq1tZ`vVbQMML zRet|M>#p7aM}g;$rft%eCWe&zR|ELY#1uJ+qO+*mQ&= zH``qWyFxoo4lU?@GZFZi_D$?+v=FgDxU2m+$b^0PP?ciNR(JjKjg^*pH(<;g2^%tT zK{!=}l?}9x_FzNOY)7sA774WG31>vrtvlp8c%?x8BwrNwie+w>8BfnAU~#CMlPZnu z$1y*j+Njt5wO3of%SndSzX~mH;|!3-#L2JuSF0YVFxM+TW4?dVB2$Vh@B0LiLyHP0 z2*ZIX43Phjlts#^(hdWHcDwKQK7xwWIZQkRdhtXcYp-lp2s*!jRQ?@;463s#rM@&o z*4eI>@$I=_cF zg?;vMF}-YDA*f2(ji3brpT{-7kTtc0I;FTzgQdp_0IBP~#}0u@mBHbmI9wfgmyqRn z-v3^}%WrfA^%<79^PU;QoY7gR&fp7zYckT`4^ZArZdA$J%fAUP(%5+Us~p~jEx2J6 zM~$db&7H$--2ewa7$DhOLlNggG5fn z3w5PL;g;b7$zDx{Z)DhOH~9D6hX>he)dU_na33w?S>Mjn-CR!_=K04+F~Qt~z=4L` zfd<7ND{DG}!gF1>(336smA+(LGQ&_DOfxi>zTfpuj3 za1LHB3%C=Ep_vH5cDJn>EC*TzD9Y)6mG}EFl%Jr6YL^^o-ZL|%*dJyjkB-jwS#1|4v zOfXcf6Ziz!nzjjY*q@=VUWJlKh9WB3F#p=-_&r4k7@#CEVO&}tF-CiK7_p%Ob6jxx zQp`duWBm<3V!sWOh|!{fTBK;OrI0{kg$gtC?cHfGa8o46Zoo25NcaO$yb2og#F}Pu z(CIKS315r4Ngk(FB8&C6ex;AH6AqU%{KCx%u3OqAvIMxv%2|S#R6h8mF#Bi?L zb%!qiIjaHEp{goWdx9#t;z-7ONJ$M6OtcudXxikR@osTF%L)eGlb}69Gq6NF>;PhA zqj|NYNv9PTUQoQ1A(h7$brPzW0;+fmyL&jEhxrvtDZ?nMWabh(CW4ZmV9ILykG=al zPUz$V+eJCD9zV=O&Hihhh8WDy=a7vZq-(sYyb=#SuW;Gd)Ib)r`mg?pST2Mggdd*WL)Bd=|5La64tj z$Gi+@cAOkXB|LLv63XsznN^L54Xu41HfJt25$x!Gr zE=UG!ANHK#2^1Sh(=kRLN5AuqI}I7`@#S4FxFdCP7cbfWOJ`a~&@z z6DVBnvR;LLmPotYoE7VQDXa(58v0K$VL=x8*()V=8S-&WHHAg~3`;wEH*g}PP8}%` z(QLQBCqtR63aSk}!Yg8X@kILO64|`S=HC?f&z3xl+cj}-sgT)y>vx7r%dKqyQgJ(P?BS z9b}Nv${0Cm#XVodH%HxQXg0${j4>NGyA$onNvY)KK0oCcl7#4A9y#$4<8^>3d?QaRzT^aU zo+z{UcHw8U9m=c`?2wwDgLqya_cEn zPhbDL*S9So0(WnE1b#Zc_JuO|)lLrSpWX(dcZ{PYc=X|jg<$8A;-e53%&K!&y#w_K zey{YAL5hF9UC2J0p7avNmN__5p^?^<7!Jx#-#<;KCA|yc%RYOu1F_l<%i$&s;SdBr z$vkzCPa4Xd^QJ|Z%mD5tyBUC}W_OVN!j*29mP{`z;EdIm6AWdX)JA(8)8(|~F=oSo z1#VtZKX-HcFjsfzcktUI=9u+VSu68MVEa{r#qRl{>KJw`*uBu0Cj-!7^f3~d64YZu z8Q+x+mk#+62+Z)IejqwtbOJ#ocQG;aXQF2)DK+v zilZzcJnZMX(>Vn(C^Z2AbLld)W!wNNAB`Z;FAbjuBJ{QkI!Y!rH-TTlW6||3b%i#@ z2&m+BLV1|5N$gy6{DC0qIy_}Xyw+#dtmxlkeW$S1x8z11Y;u!G=nEXB_hKfa6?#Ww zRDt{JjJHC6B^JK1IwH2$tTbSR8z6uVNshQLo?;x2jKqF+##%5a{dK5Du$WUpQ2@M~ z+=_~JN^|(dm(!jMKC%|{4-2UVjW6cjG!}T?<)a=FBMoI#*rO-}uCRR8dZ$^VZrEk_dL? zPu=RM1_0R?0)G${ouGg-rk&c{CfJR0SJVJZrD2QFp{b8CsFbZIl3*^Y;kc}JXWDWw z?l!6+RWBJj>4=fd^JjeHi`rrQn6!z>W4`p{EGZhQ=5SaGbZzXIE8;;y0k5NU>rLnU zqIeR1kF5&B<;i5Uq<gWZ{H3Pw-@()cL@T2q2iKzqnBa2qI<=3(BvFZQpu7qIa%r&os=is;M}` zFJQ75Y)g>rW>}e{z(H}aoGYcV$GCjAyvS6?wH-yMd$VI{5q(ua168>x3iWB%?Dw5@ zbG3ARsW~7kw^S7*m#??DvLa<*ur48a1woI_;WSL?Zevc=1rj$a@r83yp#jvR*!CY~`EN#zI|C^VLcQ9? z)mb1yJifLfG3yymrfWxf4-V+1P9#Oa21HNL`Syyej6#mz^oe;i`Rqry#h!pYS|`n07JFA8T`)^pOCIfpDgDL#V}w1jA4=^$EEC7Bj&ad_u0MV?Z(6cB%I@xW!ua6EHP;TCWR>Y zZbAqUKq*f%XQ|idC1QAdS0reeamcVR9e3Ead<+IuaJ=ksc%pSMl%v=*_3fmyO><=| z>&mno76hF1`Smn8@kU?Uvo?t#QcD5VB`Zt5KgEp=Tej}YC(@*H= zg_y^d!s&kP30p%^rl-}t+CB%l9UUTzpbx56E{l@BQXy~3KE}O=zqWcU`zD}CobMi$ z;>ew#NM~w~^;4Y+{_U7#S|669)?HJ=WPd zu`QZ)sWQ_`*&D$gKJxAXpuRB}LRo+MzEiz58aUy2b%8VneuEUAp?hPbp`ArEgTF$p z5IIt_Aor`Vk4fe$EP3v?n%QH zFaU=)5!Afw14Ywu;v==9qWi`R;MeGkj7$B%iO@$O$JIQt6KN7{+`}${xyj?ci7V_T zWO~mt=ZjNON_;H4v-fQb!SKU$j$|uLOSND__vifJG6;&jpCXDRjz`@LJ0l#m49UDG z(1MysedhLKH*7f!mkID-1`(&g*|)_Ws~6rt$o_Q9cEerCW_OUhQ>OznA+4M zO8JaLxQc!~UlX&jWFnpWh~AXGVRiobjUd{7fe***$-DzAnxr{JjZ@{K zt4S<0Ee-_2k{dMdJ3S8NWUgt!zLtTG!f0bwWi>_(N!yj~HE+#vl_>CghfOewkrmPp zenzKGC^D;SZJ$FoA9uX6_tJ!ibFYP<&gm-dT#PS#_zh(-)K9pWur zeP(RR)o|5xBru?MarZB@WWT4q(wl}-53+<;j8CxQel3%d>Xm)B-sLXM|D6pJLfB8y zqDJvxF!tle$2x(WcFfbNW5ocl7vNKh0`-{J@z*oq_>$V8>YP!EG!kfyb`jNWY76Wv zh_KA;D5OO#1|Sb2kW%vVu=I*Rx<}ffWUaQ&wp5vdt7IeQZ8HiA60~Vs%wv5Gc(Q;TdtMnxHc;tGBeAf9-kw z5F#xE(5sIi^M=s zg4b%xWTDR|o4TkbCrZ*|(lN50Mf`Svq%y_IOGoof%zlfn(LfQ0@|Cxq$lv6-vZ*-9 zOn`4KI6}b~c}R64*V2{4se(CP0iwd<&eCG7oqj?`BJ^2!mYz?StIvBTikGuPw17bB zcRZ>7q?-Xm>y_pHe~XOdouSLzm4s9&7MoQ?+eJ}${*I`U&dzwfh>B^&Z(4y;4p8^s zlt!7Ed~W?V2M@)P!-*OKfFrvUDd(9A9FT6AE4m}OisLva+BQO05OMqXSbx+t5rOj$ z*ZDWD@?8EGH!{~unEp8et~R|5j7T+MotFV0ICEu@ZeTQJuZFmNa4?${^j_lxJs}>i zVvcyJ^0bag)YF`E+?mMehxE2;%6KCb6LGw~Ak8zgveJg?Ga^um2jTn@BoExur0wVV z^&)$<$!L%_@VcFd=)i5PGTGj%8hl*c?(#4Ef?3QLADAV@nMmtq{!p&Rs-nW1FEL%$ zfzP)na9bo<3900})L4&$m20uBg4K>L(SAagvsvF4c-nD6u%Yi}QDnJ}H$8n0Z7t*@ zY6gFvrV4Er%;COma^maXGn+T0+L;Tltqk9xNoM}7N{HLM9EkgM@s!@zDO0j#F-k;j zo6gbuF!$3gN=`Bfp`-PXnsnR|PGmV_Y;k_p;$aY0T*L- zX^qV}LRov9XW~*DigTel5AiK94NU`^ZvuJzIE)<5FcOLAg}uhYqH@uZ?de}K#w7Lx zfiKhNV|Ha(ur&LZNUf6+TA`6z$dzHhwd-dXH%Wm=GMbOQ>_&Tkl6g4-QrNmUN{)~%zj*t}j9$JynpH-eR@`7?Mg zLZnBX$gC(2-hV!QA^<6@NgsuA!+r(=C51R2ky5^JuFjh*!@8AOR#W3`cTG#O_+st~ zmD|4?NdPgWboveY#N|P}2^2?8M(oTKP!eno2Zb{Jt%1C!^OrX=R0ScnmVc@ba5|7pc!Na&z-vX$|_PZ27gdZ%fcD`8s9dZs=* z@ee^D5y`RJijhe)cbsNe)p@`z0OrySl(s$!(KdXcG_pI1>tq-%p;BD@?1IufO43^zojQ{mW1`Iy&gs|8xTBjW z{Sh!bqQwl{QTMl9h~Y&UgL!Fi6_1h>T1P3Cd5%KyBx31ugyLF3wNQL-H`_fV{_4uq z1xynuv&jhGRrJvJ$u3HkG?V8H9Z~E*vtW8? zj!K#Q(8^;NuH+plFCstygIt|LsM)YWDZZ*D;bnnXFrKRlT7^o8+vGHPNbv^*!id># z>8fN%9DG=030QxQ&z{g-TZtJ|sNn5EZjN&!`Iaw;gufm1qi%vs-Z(1%2DDDZfgzN` zNTqDyTrp|jT}P8qDfN&Kp+)iT{SGe@aW{z4qTJHIcYDw1$?2h)1Z(K5;8NxcY~+#= zrCZpXgTrH?q^5_Skin+d1MfuV6TOA0`UPEx58@?uI{Mq zr|>VpKDe4wfBeP%ge*|{T_0}5T}T4D{)R@a`R3^8Q^yrDy|d>|dd`a~bvTVbpnx?% zz6&3Jnk%bwRUtd}?sjoutDs%9E_FbtzXqPhs_w`=)C3F zHBpzDWc`y=DC%TaiBll;PlKgPV~ehu1!QuPPn(LSZ6(#Lr3LI|?bDeHGJjiURwEq{ z>h7Q`1)7JrDxVt<0I;RzlNA-uuX0a3GHcg{3D35(*%?T&Auy`nXs0O5gOP?Zjnt`Q z-qXc{BCX{N69m*D5~^AfHBfNW-K&kk$5RZ}cnP$pJJDooBI9MhPW)P_x2DWYkU^6ce!@=0mCQ@a^TtY|KRM-4KeW+x<_3>$MfCTCo7BMT&ed=7lO{ zb%IAdjzr$!J1f=jjyxI^aP$2oP|N=MN=y3;s$ZXQiyA*Qe@mBD-Ky(CZrkz14?jn> z8vR5g4iYXC2x%u^Z;jjOSiXcqcDf?%gt%N9vvlTncce726Cv|dxXzWVsN49i0!Rf9 zP%=#XKP;)YeAELVUeqq4#s5g5v8@+MOeuUR$(J5+JD_*)_{KZ#I8%0ECY4E1F5~(; z&!aFJXufSHA$F{5#G{D$Qw#XnuWku%yWs?U1+Ad%wg}7gA=o}Tt-f47p)j@JNmGja z@|Z>EHa3O3+EJ+qy?_E#e1 zkNy)4iZa2lnmKEYbSMZhMTcTvxt;YhlYNk=8I>7CypK*gv$n6&vrvsIXVc5(#*f-5 z)x>-LjWZcLK0T|Cb4CU$IQbjB-GM|8Jl~TbcUg}HZHr$G&r9s zd554f#&2_~~9#tF8lh>sjx@7C^0p(!$( zb&Tg`w$$}PV2At7cY>|cs^%5-+NrfAXo;4ice~QeD217#NJU#zZ5);ljV3(A z`_DqEPJP$OV`E)i*%01|C2Xk)%;dD2cM}i(wicGOWflye*Qta{Kw- zeh)!$16`CavQuK>TdePj*mPfV-koI?dOT2zIF?ZFHYG07?!Lw zkI+^w4)c)PjPa4$fBhMD}$SQ4;A&(!?6H%b0nY#D)VdzG^qV=P0 zQ<1DUo>BABtGYy+zX!!0)^R{j2`_-viSdec!%}>+*)ZNhJ&$!MrVt+&GAroC6*k zELScP%VBI=S1a72+0CUr?I0=acn1769~T^rEQoo!&AOgG613fB$HO^qF8)5|@$DfI zU=NaMVo8||7nRcXdnu8P^&?NCOy@D(I^a`IzkadgG6#hkvw%lD*4t5Fx%p|%aCc63N8P9X zy=Ve94?qG$wZdiA;yF8`%PS^AYN|MG>UY>va4>I0tYwj-T7i&V+azrSf9RVc>9iOH z_3q6^-Z|p1gdQ#E?#EEd_kk3Z!?l+~Y#uu{v(=_S1zYGh=ly$h6T5ERXPu#~^UG#9 z6wqusr+61-Mg3Z0_QJTN*Cezf7?xi#{#UdBrGyP`Uqj=jm)?&cS!z zD9!omcs!&FU^tKfjOzqy16*v~j zYeGO_lzLjS{Gx|c+_FtZg0`So?;}AY@so|;9j?REbjr%x@ zZv7xucKrU4!Vk>vzIVQjgknk@Tz(#BLnQ8-o%2Cn8|H7)nvrJKe8DQhkkC&|f~}6j zVC`@{o<+>-DdSxv*&R6{OIY4Q;sO`8l@VeeX1M~~~>k*@_az)=N z@%))V%d?KBERvdQJ=1%&{JvaC+;?`AFBDhGWwm3G6rBM@4ktGp=o#!L=v3}Vds`;H z38wt+-(NI%;=@#MDb_`$e#%d_97gRQQC0t3;h;J60(_4FN36+0lb?FtjIu1IT#J7p zU(#$G2z_?YQzNZhGDGVef?_++Bnqgjh_@OQ!vO~71#Sg8_)%m5@mkWhUpTHgABMY3 z+TBkao|r2uJz|E<-i6Z$N`Bi-RCPtMA z%~N_S`vHFhwVwdGEZoX%MEk)jYmme#9fWb5XGbg2(*F6-x0##rg=-(|g*;``Y3;+# z&$KpIc#ihW@p`$K5-s@Ayib`so42iIL z%|vFxu@&R1kd$J1(OD_LKUaM$?j@bUtbvov2i4n9lQbP2p0I zjC;SMXi=s{9;T0~Y+06di|_oovP#;uez&Pg)Mi)h{#yNP%lq97*dMf}=!>9XZmTu! z5A6LiLfh{>N*n87N~&@zVo))@@_BkMqlL{B@%LX9R=Td@k(dhD_}v$X{gZ!}_mv+j z5t0t~s?#sCR*f2yN@>v5=38saZA`_p1i;}{=HEsB%q>hEnCtY6SPRly&>zJpqcRg3 zC1k3$VelmAJhzFR{cJ%w!AE4im1|t_MELscH!-Tm%L&z6xHQNa8NbBQ4Y2$*Uqx`| zaw)j1b>W)s^pb$>3eDi3ltJ$3oTHQK3y%H0)_ETDRK%?%kd4`P?yF8re_^8!OBg$B z#4j_M@-N|a7UPr`Gs^8_ms_CZ0q$0t*gGD()&|GEb!jF25h2erI$Jp&a+^A7JP6UW_`cNN}n)=Jd?ErII{lgKO z?~9bF+Lly1Jwk-yZpR3<8i3R9QXMueQ2&|RAuV-#XBK0>vGXxAoEC+?KQ=A&^w!-? z`d%$i+Dos+MV_zlgBe82CImu2^R@B|1RRDH51-I64qAZCBQPQmBrj%+XvPF9u?tyt z+?Ptp{n;s{hry2!rM^4cJT($0*4((CFf9w{s~?y(OioPlNoE62h~pM*jy8y~%BazT zQk(|O=?6a79QlO|(JJQvVlj_;2YUbCIGbL}9VP~#7Y>ZDT3&Uu)*WL?lMi3u*B-TT z2(QJxd~I_mxOM?Zndf@Bfj3zz>Lq9EaUD!KdsHFdD$>ta5e*15^+sm4Zg;g`tFzOc z&q?_n^TP`4e_fL)kG9(CL?54Uk>=q4JzSZVH|i<3ttw{(ht% zT&X-3BZ3d;&N_O|LU@&kIfKzqiFttACNa!as2}qCH#zJ3^%hca9oj`#^-p%HJr!=I zS@koKNih-o>in~TCC`il!BNaQec2qQw}@MPQg1eMs;qI9gT@6!Sbh=^k|@6;DW;`q z+S{Ts2~@SL&YE)$W_73Ky|9I}GaRz4EN7m-VSL z+B}NkcIh}Zm;JxG?tc`S8inKncBqyDCBD54pj5=EdYK7;w+d#wu6$o? zT7T-vx!MZ8<4A=3ltX}RdwCT5M zn(797(b;y=;uKp%K3Up}ZFNSEqI6HFO3G5f6-8`}yY{;@xs#JOA_9BX;NZa?0-B#T zep2x$vR4b%_xC%G<_*6#Rkny!?#>UtGUTFQLJ!$zpl@zlxjJ;470nN06o@2HqOkd~ z#mES04xLftGBcInF@#7WQWZE89vV`#4{=2RYi*EfsG!`Sd+U&M+^ei8A3Q1khByBN zZrEqBIkyj%1nLlf=?)ZIB1fF(Uyo&~HSeQ=2nAf^5!~5%14dC^GL=H!0@JI*F|)^> z;?JpaN*R2-+Pps7&D^(apZnV4J%ADs=Fvh9ghE+Q_trZQp-!G(gV0cPs$B^lp|BYq zy-raxR+Zb1X4I`hvEZ;jtPm%fqFqy=2c3C>O-ww?<#TG$OND0wdsG}c5Elo#gGS|s z{mUoVFj}DYJh?TxDk?6`Cld3riLcFol6;K!-t3r{w|aUAl0nb`+B(m~{x z$zTdK;{m`Rnkg~uBSGZXx#~(shBacIo$)cs{-EF53$8ec1-IF9CS%VP6gT%!=XLE? zUj<@_Zv-xk?{2#J)bE9p5DvuCQC3c-5tZb-O-Q7h4-GDRsSF`ERnF$;HUJJ59|}ze zk1?Yt;2fQ)S*QO8(A)Ok6Ostp6JRnYzmf}jqqO=(IO)A;#FhoJXpa3gk%zWCnFK$V zkPbF`-$5?&hfE=r{fhTEZYd9&kRf2Av)kSI&U5$sl>GYTY_jcpPYuZ+@aQa<*nH8Q z(;6%BvUPJK1zFv0{mgRIc2FlBpW!v(gKqwVD~bhmi0^s1)qeV2-@*nLA!Yb8wKwzt zcNMr!bOKQGTBYM6RSBa-aNR;!C4@w9|75D)Y+O7PFQreu4|p%eS^5$S84m2jxYs+q z*?HSu{hK7o_)&JwA4N{kuO^RDIbJ*v4PFy1ZKoLK>0fha3|Cj2f?*QwZ|S70W5tu8 z8b>L}9aS8xjcR@l)d}ISWdyr;DJncal|xgNK4TW|04zQ*g-*$uKno$>j?Fou|K|rrZi+k^9<2c_5ibLBSj2i~}P?HEv=(zG-58nL+gV^nGIVc8IF^s2Ro!$s9TSQ#Z zB?P0C`P2_b(S#6$%^5jVLpGz)2x-VwwRw}CG zVwk3*L8Q6w04Ud@T@PX>O57-u_pX<_tzXvc$A}2TVhgW-oga>CyJ;6mL5VSDtlFY+K}rN8~{AKA_yq2AByTB*O*OqBy)A(NWFFeM#Ad(+yH;8zY3c4`z@ z(sv1^`4_1DpcFA1ZD-rqTHnL=^ZSNX7^)<-Oa7`nOd||f0E!7BxS3%?OcVuHGLXK` zPE+iki{ z(!Y6|#X(&SZ-BR!TN^Fqqm>Ex&lkJ)F)BHI+-Da@M!5MHW|fQ6L?EC+?!pFH2kgXZ zG0RWGf=jl#wU5s(uZ!`^bnD;tb@k)A`~zwjFgMgTHjpE3lNPnU{3p@+CbsPf#-rPT z$#@*hhZXyrB8b(X?N|cv?xV;0u*tX`+L_U3a9g-=Ey_3Gk3-kN{BChS8b`cE8F*Vg z|K5aH+wbD(JAZ$SlC-w_T(3_r%h+5HP<3Juzc}0Y7bPw&U+`h;vXHl)j-1LtpagW9 zp1&x-_0BgvBo*duLOugKC&W8Idg=c8l?Q=?AsJYxM2R>HM|zZGpWgDw-DP?Hj{5NP z2Kb-RiK9R$f*3j{Z;>vCbY2R5Lya)@fJ`(Xz0F25Rlav!C*}Z)7zwz}&0C7a8=dPx zTlx4LPX;u1lWrT_I~mDuqh!TaE$C$bQOj3C`N6mqDQf7K$}@g?>u?pF^>rEaSBnu1 zEONN=kDUt`xnEQla(VLwhp`M;w-ntm;wmBjo*txYuoR3{?-klbVEO*3qeA>C{-NC&)s_AVWOP zojAfr0MspOSN)`mKM-q;p;WZ6bC3rbi2{gTB#(R-AirsA*lkzlhiDa&tB;vASpKkp z48WQXWL~M{@MF3BX!LyBF7SR1@7@|nT)=bjc+Au$;lPt9@93`);$cCgz6X7X?WK4b zLdw7jgx84B+m!?AFs|`2z?so^&>7pj<%;#ubM9$CMeP%1V%o-#MgOKJd(IU1yl9m@MzzagBNGv(T>mDpKc|W z^rhX4Y|TajX77^#=n}95`3@u>95c zg6|UUxedR?_sL_5W=j^b3qOIj5U+8O>T3RbCgpA4VWm31J=}$UZ7BS%Z>EQ*X%8L6FQ^pX!-BMu=W08ItDIm@|V?x7_0fJ?7N_n6NJ2a z^#G;ibPGD*!}u8cJ5Lu?P{YBN;a`TDzP~iI0$Sh@m|4Sg#@{taQ&X!5>!9f4;%1-x zF~u~ZlsNvnSBN^6UZBq05bDW8NueBX}b?A~^XXcfZc z`JIl^lb*J~L9faDvzubgHKEOBlNB6(M2+4~1*JqgdLcb&dS2PHxFiV8E?+Pbp=uw) zGrx(eYDx#I1`#|;oSw%g*2j?0Sv!1fdS~3tRXp2cQn;!AwRDwnQ3YFE>2B#-SQ_c> zmTpA4LqNKh5LlM(F6l;A5Trr6yFp0_NkJNccX{vK@Av#>&iv=h=~J|uh4;aV$U~Oj zIRb))*S@q#7y`jP0R$`(1!fP>Xc{A`TvW{p!Q;B~1D|WE6OAM#fGkb`S)ZQsjn-W+ zuofjkAwZw(&hHpQY~#D!dzBkw6I2D$nix98J%Ha?8M(YaZJPW+iN~8}2_;E?9M4?H zM;R?_G8ro(fvVtaZi>$Hc;FSNbQ;{=ubs9otqPo#`1B7$&VYg64#mXEYs64TqVH6O z0RbVeUTo`Adwjwe(Xs1gl{D&N_(fUxR<_ccxD7~*2uQS!RKlx5L3|UCZcVyIti4yr z8A)CEoMYL86r})j1^g!>6xL2y05=GMtjnH7inG6Eze0L{_OHYMxxi;sGl<#kKy-^; zxGKth54WcP15KwGA-p^)m_fp>2MHASy41UswEGz&#O$wpIp>j0>%?5J?+$|^Vek@|~eMN>~c4+qHE03sw~88BUKUtO*662hN2 z7oqfMA7b#2v5$Dm=5B8ESfCMIK;qsOCVS{YJYzOe$R?kHdMH-&TlDuG``NK zNHs*HFAF@N0$}1}oNoDb&7a#CUc2!eRa}yZIKzH&F#}&AEX_YG=OLfy=V(=u9Lkhz zT=O^GD`<7~qVIvC7JGNyl(G?^wsM=EatScP8+bF*$rP@3Aeb|^UI9?Z>n6v71`&H6 zQ?}!i25!PPUyKAkm<|548maYc(Mw@NE_67kD8`eLk$)MQ)SoNn_PfchQK&#oQ287@ znaTT-X7l?3fR{YCf7TgO(Usr)>&}5%o*RUi4Im0Gc1|w*y}doW7I2A<DT`P}L2`B)h_)jCPGL!+Jb5pt>Gr-uQvU(-aIOP!n|0 zU7J*g#eHBHa`=AtRQ`vz2rLzWrjgnP3oGO|luKC8JAb_0>+(Eh4)`E1AEf=95y z?R|gsNe4895dn&`4)PBFZI2zi+di8BO^3IJDBqdo*DuGs&qSmgYy%hM+#AqDz`L|5 zYTf@Sa5dbXmoH`sZ zTp|sQ2>5RqS%K&lkX!L*8b=#2<5fYb*%AsjH^0p$GP4t~i5q6GfEgiBs3yj6L{}AA z^6y?#VJdRkou++JSLAGX2TX`5=|`eyFkUlEkKd-w~q*jxdgh!Ts^%Fld+cA(Cc z_ir)sF+2rB?4GFPlP=GKSt9AOhDY1MAWkSa5h?N72Mx|fOIOj3eqKh4&{`qJ++3rO zir7}uyx}gD)LVaWcXK{e8@-2?Tm1Ot7s+|bq}qYDuCt!L{`H0GwbRL7z+~>hfoPMn z+TM?xPrpx;?cStrD_Q73(#PbLH3|k&vnLXWuv?l$%uvD;#qw7;g!%0wucYY7!vFMV zd?KlPMaNxPM|d!L=8_qO#{un)q;U=?w|$v7=Il_;I?9o_WE78EOqZ~kKC8QGnZj3c zA@goASLPI*F;pfqHo{pWi(k6WHWh10-~7rkG-KRS8Ih!CQ$EO*j4=x#ASE1*ee`(* zn1OT8%$mlOF!VloctmXmH&jM(?R@O2dbjQ7D3KE--$vm{#r{l$0PVXb!NdLWyhV4EL@D-#K>)X@O0WM z6hEA6s(T)5OOhT4kAt=ruW}E!T#kG`jjRG@U(%x{_rRnuxA63WC zsz^Yf#X8|A13M62TMrS?Gh3$`oJWtHWeUf0nsTWZcE3oBd>d!{EshT5%#{7_C|q)n z{ESQx*oWwRr&s5e;pI~5Qx~#WH z!}7{Y89zD0%O~64Fm5rdPlD3Ec&&EWlN!m=Ww?tk)JYbCwB6jStPkJ3J39W3XM zKdjMbA~3WX+?%!vy}fVLP+Y2FAJo@t4|g5Edj+O8YmA4}ix+IW(8woX0W25#>iS!C zC@}u_B=cp*l)ByM#xyHbIHr7*7p`FE|4CVlpX*`D*K?I&#l)Thz3*S&y{4J? zBwDNv0^Z8s=*&=4RFNr~7p-i<)t}y>6pO+RY`pKrlspHyt~X?aYCsw^uUdK;rWGmX zZ&nX&yxBm10CdEZ!^rJ^)m{XffEogD_G^C~iQeRnPU8zGjPf78E#QP{0ssEU>hgs# zxV=`cdC{dEzH}m3wYOwq5tbob{TvoiWBOXACTI|{)@-PJ$2d&-R~((veFGj zT$N(f_1L~F)fHr&xaN}}JA#&NDfNdqxn#t7_|yOsg3eP@UC6PATyet+#LO0j%DV6*qJklUgw%2Fk6Xv!T$2FjoRcZ5*2qW zDzFNWr>X;;U!MsWH7-ZfjN>Va^YNz`|G8_c`=ymd4aCeFUqEcLW@P z0U<~QBR(8o(4W={IbmlXF+sf0!>2pO($5Bjx;$iQqr8uMuf1D!R%?N(@S--kdWU0e zGy~Qv?-&hT-6z(u=BC4=q8*gHdxoc1G`JJf2jb3)DV({}MfekF;z<|6y#) z&wajSqMP}OOsAd<@R&dxabdK5RBWC?2!lVnge%V;HK}4g)j#fHU=c7(kQMFhM;|-_ zgZktjr7L}H-g%cwrp&UW;lz%L06;@P!Wb&6z`)`J%hPp4F@iTN*! zgIJm{Gqc_S_#zeZJD}n(6tY#aK!I01tUa_%y$?-l(r8wBQax824jeJuqqkCOkc*EX zO&v+y&(C?If4#4@ybXqANQlq`a>u>`29ag0+-cF}NV#*{(m;}vk9EJzk&wZp)+9DL z0`H<8gfY}VD^|3|Ml4n60^JQ?GfF<*bWmyy?7jkD#F+GLbm(;K$6M3@7#lnCb1To* z`B7S4@{`j^zFf&>>jE@M?v*4l9-!St{xE14oFVNWm5Rq1VqkMNi3VifWlh8-f^G*G zu_Bi<7svsD5%f$a;PR5h!4Pylq6TJ&QaIPZV4B>=dwDu#6J6)QOC zP_^ z;1G<$T%lVe+wuI^6M})Oy`~B`@=_YL4pgwnw2PZBaCe47=3uNd=s6{J#&(DRCDdn1 z|IQC5DZYtmWubpT%gvzGV7T4Ai<(_k{7yWat8(sQNm3c?ea%Q#lA#FFf?SyFHwp2@ zeqMM3u9su;{BsSNrs@^?9-er%Y4-H^b~387Qd!wh;F}FW8fBMrJRLYjCwM&wE7uu?42xv(3E-HnLh2?37%##Oc@NFz;E!T&8?G8t=K z^(GQ4ly*C{&|^5dWuKc{N=eb?eZ>jS1d+*`@#9rNHb?QUAT9+4r2XR#>uWVsrs@%!CL4_$18&ALLm@|A3wOX$;&`mKZ!zssK}`U=}1LYq0Ka;qgP!GBsoe!&A2Jnz@pUK zukJ?awtY*%iEbH3sd1AMT`+Y*+3PtsIsudPTk^~PjQrwRYt7X^T&kdb_9K}^e7F0n zaa~)a=J_YxqvXHISN{%a32}ghvE7!1Tpk9dq-KO1!K)x#@5|K&WE7KYiV3_nI~T*% zkuf^ny!^+&=d&UISz6M;apeeo>2$qfryG3Q)oCLe^1TAisdh5$DJf$L$dw~}f$-9cf+ zG2b{!o$!0~Ao1`LhVCKMA81Vlym5+7wA&$nMY2sFgrvH29}e>^&_F!U#VPF>DS?d( zk_R4DDS#g@n_bV^6-7E{{-&;FSWS z$g@rd0xhB-14iI24OK(Tc<+uzVGj7Xu3{SH>Kv*|7SjPYOd$ zu>4~wnDrfe708(OMI9+=*>}B2l|?!P zqRda5CrZRRKe9Li2eEm(Ip71la*F=-ij$5G8eS$yf)(LbGqE^iFb>F)Hvd__#y**` zz$j_SwlTDiW1d#;`_Bs#9mC;wUsxh&+hUUi>d$_x*-eY~61^aiDWh%gq-`8ZKL51# zPw4J72)H|}UlF@}2>fj9;5UTYXgewMN8K?fb<=`M8hVc}DH&<6Vtj^}V0#VBQs$dHsPj5bpV8jcFc6iPBhfwtFstC`Ssl6L?q61wUubkm=6KEHYM1llko z(1(D`m#FHVOI03c8JkB;KxPw-)QYbv!s@M!%u0D)(FFMtn`A(jG0S_JIixWt;L8jp zc(s8JrQ~U&?a=n!(u1LCeYeby)-`5@_b8R*LszAvBvZhSP=Fn2)&~0PF|vTx+jpxw z?!D8GjNso+7)g`*YBXN@%av!?sQpyDAZ2^K{g>yPOo;~Z3b1F_Oxha>02k5`OL3fGjM>sz(Q8A*@bH_6wCUsdu#IhNS4bicZ;$6Q@Lyz%E6p^gIb*j?2B z+VH4Cf#uO{Y-@1Dclv1Wr!5+vQ{m^@!|pjIsJ1V2#Dvzjna7Et0ZxPV*mAfdVjl2W`O;2y^k5EX2ccc0{ds3levl-^=Z z@>nJD9IKt&)zKYz65PI7vGAdiSi(iGvtnGgOxkAnucO*HK%e)4MWJy(Rr&raB!d-8 zSjF?BsW0cX%ma>Yo;FD3%{OO4Ad~%42L=A+@U4fq#D60DLdf;{P6sZPW3cvwpnrWK zm`QZH*{4+2(EuzNd2l+unOU<9mB6eIrWXXG%w5hpY4e0>^ywM~H;N7da`odLFaMd% znNya_j`fv2uC2hdgjDegEb%479k+Q80Wip+KGQ)7D&~36W?uD&dFkpo%OyEj+;>2j z*z1OO~0q)`(|Se1{=aRF8!j^eg>IpWbR1gbh$;|uoy=fZiU^#Loh*v4B<7d zj)K*W>YJoVGYjFEYy{zvx25`~a^(zr2aOumq^*>DmeVwA{#0);WK@jeZ&)PD_=ST*l0Cm@MqQcgx(j&)+vhyQJ2ubaLu4>27h?Tl>r6bM?g} zm5f)U?|1W!scyWfFKGebswf25O9ZgD?`XM6$ChLL!j7A3XDWIqCXO9iwrTHct)s^{ z2e(i9Vt$525X-7E)=6;Map9K9lofR-AC5{E#z49xf0aBA*jBB!nH7ME%_LEudO?I#bplvX+HRO zvcM4*MGmay!nor~N#y=xcK?xZ{7^EX?4AwhO553QGfO$1TF8>#vhPV=CRaz4fft71Z|`1#Dj%Lr5;nzbUIvn-V65(0Q1?i1PH%=y4#y3lU1Nkh8){gb#^>r z$KxYYT|0ZuBI1evIUq0+A#n@8LdNKAr(W&3BTgbSVD$ZWTr6aY_jqQovG=7KWs31C zAPY-J7hrq8<-@?d1IORAu|WSBT}aVGwCX2(rlLtXI|B+H@EW^4^D6091*P`LXE;!L{#J3Q@eJ)GT$6uxJ(=t;mp?m?V9-B_ zoiBaRs*!FQ$0+u%FcZ$MbA))3+`GE@DmJTC=ASS8tK8|gTcuOTB%XJucp4>Hp``XL zkRkTiMcD29HD%e0*7Al{RNJU3KA)D$%by`S8axef?dAJXMiswt@;l61)^p&QBc3dY zK*NI0sY_53!qC3PBKEi&C zf9{XDWcGCZwCVd&IB?fG?K)%gYI3=`$;}w1ftp1CSOY8^qTbt~!L*9rGWCOWB-;}# zpM_N4wU)&)NOXYdxnW3o5jZq*<^7un>mP85;*{I2oO;g?&H?XE0sSZ$QHeU@`Q0Qqdxa4V*RM z_reYLt*I~{XjkgXVI@l@&k>&(S&8oKd@AsPu`mLf)z-{Tt51gk->KB{V39X|HRZVMt zgsA43mVlzbBJy=t_YhD{W9YXJ4 zhip6}Uq~6dveka_C#!T1)xj0?=G$yQzIVSOArD2Bs435PSa}AJR@)Pk#3etIo|Rg7M0|? zHUo)`<1md6ru1v}!gO+97JriReWOnZ<5uMc#8oQVIr4k(4Db7?7)7HtipU5V-ICJK zU-JqBBb!F*B}eHhL4vr09_F*(F1Jkj%9lLR(VYUu1)NM{w*OBc9`K4~Z5z9n#zf{< z8Go6rU#R^aK1Fa_*o!*l;(7CkxcR6={@SMeKE+=^^1dXXEzyyi}hLxw1~(X zD+=&qhCBG|d-0o?&)+8eDJMe&y82^14eA5-N{BBgs34|4loZ^OAS}u09OYl_CiAqq z$}b6SQk~_EoLj4xaGA|X(SZx%8E|#WFAj>PUUr$xtRnL(u6k8XyqOpzXM{#?CPh=> zsGg!lX%nTB##Qb9PT>H!I5W3NtwuA5Iq|ZPN*>;=p*npxT^Nf5u%6_4+lN!d1^W75 zn#mUOtD}#9C?Z@H*|tTB|Ha`E-3_xV%$>@=&Q}EyIGdb2EPV~mXjo*pF9fah%^b$j zdXfBd)DA8G#uJMHtg8fgy2oSv-r0(qnEsy0H2PfSDqJ1ej;C<%I~ItVPyZML&X8H! zbPaz^N$VFo7q$c0fJ*B?h*7OF37+xGzv}%#o3{Wi7kx2aqHt>}cc6#Xi;a3+&VrOpS?6&7(s8wJamy=+$Y5PV}kNEe{T>F7RM_5`NwFoQa%_9L*2b zMtm2AHX040+)W5PGDF)8HPAfQ|x ziu|ta`}YxVRo>tL+erp&fT)nKdlQLb_Nm;*GjyqElN0Hjih~*si~}45qm%w|6q{LU zT9}38U8Q(9V(0g3*ZBuVM>L{GX(*=YRoywkVxa);h5_LAecxD7ePmh7lv3K;DBIIf z4QK5*bwD#fL+v8qgQ2d_c(Y(pMN(2mhqS}k;&B-9=Py-b7n{TJexs6!GO0WE zc9SyV05a?>@%5DXIHqsT40ZcoUcv zeDd)^geo;uy<^?}H^WUv0s0j+ zV5@=9xuF3mHC2F-y0L_D+?~%398deF6eL=~uW@Oh1t?u2avXh9q~<`SGdYQ;lk+5o z3g}j$Maf@x*rW=(F4*ZO24$4RR@n3MKp3Fm!gQh|hKH7!mNI3_?F!GwN4QUG!BgX+ z*#LKsw#hZEn`6>xc_C1Hb}QnsCP(=WH0%3B;j|^~gEk{-lh7HH&o}}`0yGq{cNm4- zy$9}mI(k`D^;6aV@F!G2FuYJf^-pW@y-);o=8h9RPGh`J5{;=>&C{G+k21!o)vFZZ zk<^W5O-b2Jz9KliTyD>JK)rW?$~nN&TIQ3jU;A%C_ zURG{j-Z_8&5&IUaRBkekrfYCB`2P4JE2Z)XjkC#H@{aL0+)_7DSR4de(yb zLYzVS>{B6=qEuGy1#IH76| ziFM@)%NgH~-svs21Tr>H=L&pO$g+S7>h{gebE>_|ZXIVn!6ZF#h$CYo;hOquJ`N0z z%x8AtQb+@)gz`+OIbbI_n^Lru;_vm_g3FP`DY%_Cr@J3Z(h-xZkZ2}=qiRQnBnSZLYg?*X#b zLJn1zRMOJQ*I#Y!XC1m&`IECSjZeq(`Ge1ac%i(Juja!|G^vWdw#wVFekC4NOF&Hn zV+!#fWzQ(rmurzo-c9+A`o(Pr?q@}}#FR}>NJ|T3(6#lvpX{U(61Nj@fg}roLYF#k z&i@7n>|Q|D-ehoouO9UTuH(jeTFjJdep|+lP7X~()OX334os;E+|n>5jIM{PCnaHr U>^|~-%@@F@B(E-4D`Ot|AFz+ae*gdg literal 0 HcmV?d00001 diff --git a/bushes/textures/old & unused/BushBranches1sm.png b/bushes/textures/old & unused/BushBranches1sm.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab7ca35940d2e538946ec72a7ae53116a9edd7d GIT binary patch literal 702 zcmV;v0zv(WP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0006lNklc{#<$m{`bMF0aDbMr7WnpkpXmF z_XPk+k&`~Y8z;-<%9W+{BmooIOW|Ix8%EtgfL5?HG&LIQGz>!&DGVVw9q|QVlQPqOAoFt)@74{SbSV0Q0`$06*Q$3epU7b(S&?v86s5?s=vylCa7AV& zGyQw^*UQ&0-jBUOeti66Uz@)P3U4Pnu`G)|+JwyrVg;+bdyUB#cno>_%E`%e>fx;( z$8j(VrRf@GKs2A{&hFbPNvp8`^kodcS+A)B@iUq1%#W$>Q|WKuKok6FaYY0VA7Y%( zo-EX&Q^8yzGiAP@k5g!08xhh5kCno1^4AHsw~1HGE2fvRb>fV5EnoIkRC zB9$Dx6ah)CsqvQPx9?u9dlPIDm}VX2zP8Y#$0NP1p$GSe{$m511OU^#rN2LM_1KP{ kSVvcQ=kSeaP$2NUf5hH7CzB23qyPW_07*qoM6N<$g8h^<_5c6? literal 0 HcmV?d00001 diff --git a/bushes/textures/old & unused/BushBranches1sm2.png b/bushes/textures/old & unused/BushBranches1sm2.png new file mode 100644 index 0000000000000000000000000000000000000000..81005e146a2e9f34fb553e2f3b8810fb6dc1b764 GIT binary patch literal 714 zcmV;*0yX`KP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0006xNklS?D)C(`Y5J5p4if)rpcHx{|yJkz%^edZN zlG-(ClD6^5-XPsWczMow&-0w~o=}!$<+A*n$59X_NN;d#p_m76G#cP^=LxZxLmnAG zRaIL6kQ6!Ti^p-M*krzt`=2E6dD$y5TS%9cCr)0FzEBG*i2C@V3iMV`_epzA)`aRv8BbC ziBP>>$1GGutzZVQ^)!3sWQ!#2!2av^S^Q>ow>%lV98avoVhb;$A=E(Q{AqDZL>)eG zocBfsK!)9|Y$}mr*CK&FKhwWgXgLDlPceVJ@9c+H&web2^JT@o2Qm_4LUU8L}Ds w1c0yYz}Q&$)`cUXz<}RN2bPDNB8 zb~7$DE-^4L^m3s900ERqL_t(IPi>M*O9D|8$KCZ6TGXaRyIy3BK`-brfmkDGTGBK% zjpk!EVJ1k1kq{U?q-a@-zCxcM3XygZErSSh=SMi*bL?Jct}cH3&*PqR&pk6903aSO zicG*`rFBvn-9G`1-yfCbo6fi}cp+DPd7RXV+}sHG+(A*yZX-V)CFSVqn9Ik!t58_5+c}T8qPzdK)&4EW819&zFB^^+=PP{TFDqQS%a;q0WuIHI3sMN+amcH zQxA~34jRE}QckxCcYqfyJHEHu8qW@AcgIwvj%*<2WcY9R%uJAo#jChhlv z>FWb4;r_J|m&3uu<}?LvZqFghe&4IhvUr+IM*uOry^zn_u(vbN2bPDNB8 zb~7$DE-^4L^m3s900IR`L_t(IPi0a~YZGA*o`ayr-V~a)wujyt6)UL_wP48#CC#pB zY&Gp>b=}lBb)09yyJWYAhnZ(S zo|$)csoSQ%%uH_{H^nej!V;$(`UGEczhD7({0wjZ{BDiTrvI6kLSC;0HJI zduE$(e3<=_6bEzdzpoQ9Vt~Uo>U=AAf@{?& j_N|k=em9U*vX<#TAM|2>WtZ3G00000NkvXXu0mjf>_-?U literal 0 HcmV?d00001 diff --git a/bushes/textures/old & unused/BushBranchesCenter.png b/bushes/textures/old & unused/BushBranchesCenter.png new file mode 100644 index 0000000000000000000000000000000000000000..cf6f00a32462d2561541cf75fba1e53511d067c9 GIT binary patch literal 445 zcmV;u0Yd(XP)N2bPDNB8 zb~7$DE-^4L^m3s900B8kL_t(IPjyl~O9Md=z0SX2p^b%IL@{y+_*Ez;1n~kXMDaWb z79w^Ue}q3vlyKOISPCMT&Yv*uo7`J>Czs+evor6#nO!y!5yg4B?1CgkwxQ9Y=xxd5 z=R31~pIC$9Xj5YdD=v>aanYN&X&Q~dp23eAb_+~EB<@dAp*guzgNBLorc+3B-@u*i zy-BvfK)=D|_KGGz+28d!(Dabx#8;?^Wq(H_(X;_;+FR>!?2q#L4L}NC zyEt6?&)t;pF_BlVWB-}3xi)w}JnK%U+VvrN|9H!*>N!>8n(qk!M05}H>umm3kpV!$ z%lIk39qj+22D8c6=bqgPhz`KTK}!t)3T}FB8FrSU$wYJ@AROhX8r-?>i`XOvW(q*r nUQ`iawYi#Ee(r4by`Nw00000NkvXXu0mjfj6J=W literal 0 HcmV?d00001 diff --git a/bushes/textures/old & unused/BushBranchesSide1.png b/bushes/textures/old & unused/BushBranchesSide1.png new file mode 100644 index 0000000000000000000000000000000000000000..ca1305c5138165b2e3ed025d9a20055a7113e546 GIT binary patch literal 770 zcmV+d1O5DoP)N2bPDNB8 zb~7$DE-^4L^m3s900MqVL_t(IPh(_&f@pKuqbwXu&I=Dd`~eb52(ubgoV~VLCVP^VIxk2L z$mWT2H~b%OFVB%^r)pZCo`hU%ZW)b+ozk$%-gf#wZK92_Uuc zHp=qxHcDc!fClT01_ofPsiIn}mAqG?y_yk7VU&f;g;ZxPj(Br<1rR^PLWVQOQf?(M zY+j_hD5-+zQb`9cW+8J6XfS`Qm4Z0Pn?TwN?)PLz z4Rc_0SSDC1ImOv2`++n?o68)@@it)sJJVK0F4jiT2k6RMps39BFkp)|mA(&T3&0IQ zXCzoEngXNs3Q#i_NE6tbw#r68=RXCpfdTp*6vaSq-ot7LFyxJafp-Pu+-Nh|TTx~* zFXL<#&48|W6KO4L0}=;X@GQYx9^n;alYoK81dJxN`ec8`czb<;NHeMD5W}S3rr4{< zq`BxY0+aqrV2prcgJ=MW9qBj87BWIf_DVX)iH|5lKmiwHBK;KTlHUm?ilz~!Qh$lk zh^z<{sKBuJ4EB<#^aGL&fF``pF;)`mfZ^~B0At(MN4BKqQvd(}07*qoM6N<$f>&ih AjQ{`u literal 0 HcmV?d00001 diff --git a/bushes/textures/old & unused/BushBranchesSide2.png b/bushes/textures/old & unused/BushBranchesSide2.png new file mode 100644 index 0000000000000000000000000000000000000000..41f0fc1321f44b5081b13d32e01939ed1c5f4eef GIT binary patch literal 801 zcmV++1K#|JP)N2bPDNB8 zb~7$DE-^4L^m3s900Ny!L_t(IPlZxlPt#x&Zdt(Lj2R(-(so-*yAB2pqqJRHHVQTn zqca+f__p1;0fQ@}UKr!OSN;L7{TC+Qc!3FObS5T#paG&$5)(;`H-H4sX)M7H!kaYj zdrr^uoO7OYXn$B7q-lC>tM$FBJ1VxGKO9&KkrJWSN?MT%(Lo3Km-S52vowx_4siN-dvn(C)46%SAZ4MA_}v?oV1!|7R9R1T20f|l>*}D`0YXYaD~goc z(Iwxb!@kI_ns`Js=E;mD_UxVxH8-A%I100L{esyHM9(}!Faxk5oP#eY-__W+kTs6u z`vZ&yEYnA?D4c|yIQYA~I83KC077M;3-=Fbw*$uW3hgVfC_vH*I`B@OTc~J)vD52b z4E_n;p48ZP`2X?{^9^T>0?ukuup9fHaCuyXT_r=^YmUwj|F_S*m>iW`_Z0pTi1=wz f<-7LH_*cL$o1fgKJ{rvH00000NkvXXu0mjfPzPvQ literal 0 HcmV?d00001 diff --git a/bushes/textures/old & unused/blank.png b/bushes/textures/old & unused/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..06776a05bc52accdc9d7a73fd446d9f9d7d6f5f6 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvU_rT^vI!{Fk2CD9E6|z^wQ^-b&Bm;e1x!^xNWT2X$t!ZcY$8(-djI fjo|#ud(L!p?O*v9eW%|6ObP0l+XkKrF;yxpacsvG6C)c^>B55e2N)1))u97J|AY>7 z42Y>xr7VoFGPG5fsuBZg(>96izVGCVLM%N!-@EVbzWeS{6<-d1od3>Q9W!dxbE)3< z;Xyx&j_EBh#b_8_Wishy@_ild^i$D$r!kZL^zF~q-IwsAK;WZ|nU~F{LMyE4vE`dl z{&7xJUHw0PW7~F8gq+BFv5wmOX=*3iT6N zp8f# zuq(UGjr2Ne!PO9iL-bqn0)>mNydA5KYREpxXex=Q1@e?zv0Sr9qg{F~Dl}8qxIqBZ zr~PPWS887VsO%e`nJrI4W8^4i;*`YN$w!MF-^&gYY207Z}p1c46002ovPDHLkV1l@JCWZh2 literal 0 HcmV?d00001 diff --git a/bushes/textures/youngtree2trunk.png b/bushes/textures/youngtree2trunk.png new file mode 100644 index 0000000000000000000000000000000000000000..96a632247e3cf79378fa1c52911608b87247b32d GIT binary patch literal 1127 zcmV-t1ep7YP)BZ^ zjdNbOoQR@^Z=;26Ur9D_RX&%1Y;#*iY*apBNi)o?m3dxEe_%z4YgF34sE>PUmVj@N za#?X!Ky_F?Yg9swZ&hVWH;#5;dtgVNf^VjXa+7#sc3nwvSVLt^IelPEVM#fEU`BUg zOjSNBaa2BSSVvYtF=IzGYEnC1LNIbzLwQ?6k8f3LPdai|LTyq$oPB7vmVb0tL#~Q& z;J>KHs+GW>hk0I1nS5n%Rzq%4J8@M)d0a(vSVMebO?6sErh#Z>Nj7y+JEDYba#%ra zP&|ZYPlabub5=l-b6kLEREK9xjBZw)d}N}0UU*+ib67-tUP_U1ScYg%Yfm|fZCGte zGmvjsQ8y@TR6&MmRANdvc344lTuM$pFjYb_fM`|Fsf~qYOKed;n|WY!Qa*@iQk#2Y zd{a4CLo%d-XKqY3k#%B^aa?InJ%nUQgJDR5V@!u_T90;Mg=kTGVohvJH*Zxxa#KLG zl6!?{RA)^(k8oOKO*KO@Bym+grG#u)LNk|iT6|kWqJU>~RzXEFBSteNk8xV2eqp4D za&S*MlyFvAK`c@`DsxjkUPCdCa$R{|NqSsFRzNI)Uq_jFVofbvSZ7W;T0=0Mby$X6KzLh3hiOw_L@b+R!Juz8Wau(00amCwyuzQT~kLsA|DwN4FduO0KK=5bX5F6 zC^ID;6%Yym2>`#oj#WrQJ25XSBO4YE3= 2 and minp.y <= 0 then + -- Generate pebbles + local perlin1 = minetest.get_perlin(329, 3, 0.6, 100) + -- Assume X and Z lengths are equal + local divlen = 16 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine pebble amount from perlin noise + local pebble_amount = math.floor(perlin1:get2d({x=x0, y=z0}) ^ 2 * 2) + -- Find random positions for pebbles based on this random + local pr = PseudoRandom(seed+1) + for i=0,pebble_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + -- Find ground level (0...15) + local ground_y = nil + for y=30,0,-1 do + if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then + ground_y = y + break + end + end + + if ground_y then + local p = {x=x,y=ground_y+1,z=z} + local nn = minetest.get_node(p).name + -- Check if the node can be replaced + if minetest.registered_nodes[nn] and + minetest.registered_nodes[nn].buildable_to then + nn = minetest.get_node({x=x,y=ground_y,z=z}).name + -- If desert sand, add dry shrub + if nn == "default:dirt_with_grass" then + minetest.set_node(p,{name="cavestuff:pebble_"..pr:next(1,2), param2=math.random(0,3)}) + elseif nn == "default:desert_sand" then + minetest.set_node(p,{name="cavestuff:desert_pebble_"..pr:next(1,2), param2=math.random(0,3)}) + end + end + end + + end + end + end + end +end) diff --git a/cavestuff/nodes.lua b/cavestuff/nodes.lua new file mode 100644 index 0000000..7327f70 --- /dev/null +++ b/cavestuff/nodes.lua @@ -0,0 +1,243 @@ +--Rocks + +minetest.register_node("cavestuff:pebble_1",{ + drawtype = "nodebox", + description = "Pebble", + tiles = {"undergrowth_pebble.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky=3, stone=1}, + node_box = { + type = "fixed", + fixed = { +-- { left, bottom, front, right, top , back} + {-5/16, -2/16, -3/16, 1/16, -1/16, -1/16}, + {-4/16, -2/16, -4/16, 0 , -1/16, 0 }, +-- { left, bottom, front, right, top , back} + {-7/16, -7/16, -3/16, -6/16, -3/16, 1/16}, + {-6/16, -7/16, -4/16, -5/16, -3/16, 2/16}, + {-5/16, -7/16, -5/16, 3/16, -3/16, 3/16}, + {-4/16, -7/16, -6/16, 1/16, -3/16, -5/16}, + {-3/16, -7/16, 3/16, 3/16, -3/16, 4/16}, + { 0 , -7/16, 4/16, 3/16, -3/16, 5/16}, + { 3/16, -7/16, -4/16, 4/16, -3/16, 5/16}, + { 4/16, -7/16, -3/16, 5/16, -3/16, 4/16}, + { 5/16, -7/16, -1/16, 6/16, -3/16, 2/16}, +-- { left, bottom, front, right, top , back} + {-6/16, -8/16, -3/16, 3/16, -2/16, 0 }, + {-5/16, -8/16, -4/16, 2/16, -2/16, 1/16}, + {-4/16, -8/16, -5/16, 0 , -2/16, 2/16}, + {-2/16, -8/16, -2/16, 4/16, -2/16, 3/16}, + { 0 , -8/16, 3/16, 3/16, -2/16, 4/16}, + { 4/16, -8/16, -1/16, 5/16, -2/16, 2/16}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -6/16, 6/16, -1/16, 5/16}, + }, + on_place = function(itemstack, placer, pointed_thing) + -- place a random pebble node + local stack = ItemStack("cavestuff:pebble_"..math.random(1,2)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("cavestuff:pebble_1 "..itemstack:get_count()-(1-ret:get_count())) + end, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("cavestuff:pebble_2",{ + drawtype = "nodebox", + drop = "cavestuff:pebble_1", + tiles = {"undergrowth_pebble.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky=3, stone=1, not_in_creative_inventory=1}, + node_box = { + type = "fixed", + fixed = { +-- { left, bottom, front, right, top , back} + {-5/16, -1/16, -3/16, 1/16, 0 , -1/16}, + {-4/16, -1/16, -4/16, 0 , 0 , 0 }, +-- { left, bottom, front, right, top , back} + {-7/16, -7/16, -3/16, -6/16, -2/16, 1/16}, + {-6/16, -7/16, -4/16, -5/16, -2/16, 2/16}, + {-5/16, -7/16, -5/16, 3/16, -2/16, 3/16}, + {-4/16, -7/16, -6/16, 1/16, -2/16, -5/16}, + {-3/16, -7/16, 3/16, 3/16, -2/16, 4/16}, + { 0 , -7/16, 4/16, 3/16, -2/16, 5/16}, + { 3/16, -7/16, -4/16, 4/16, -2/16, 5/16}, + { 4/16, -7/16, -3/16, 5/16, -2/16, 4/16}, + { 5/16, -7/16, -1/16, 6/16, -2/16, 2/16}, +-- { left, bottom, front, right, top , back} + {-6/16, -8/16, -3/16, 3/16, -1/16, 0 }, + {-5/16, -8/16, -4/16, 2/16, -1/16, 1/16}, + {-4/16, -8/16, -5/16, 0 , -1/16, 2/16}, + {-2/16, -8/16, -2/16, 4/16, -1/16, 3/16}, + { 0 , -8/16, 3/16, 3/16, -1/16, 4/16}, + { 4/16, -8/16, -1/16, 5/16, -1/16, 2/16}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -6/16, 6/16, 0, 5/16}, + }, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("cavestuff:desert_pebble_1",{ + drawtype = "nodebox", + description = "Desert Pebble", + tiles = {"default_desert_stone.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky=3, stone=1}, + node_box = { + type = "fixed", + fixed = { +-- { left, bottom, front, right, top , back} + {-5/16, -2/16, -3/16, 1/16, -1/16, -1/16}, + {-4/16, -2/16, -4/16, 0 , -1/16, 0 }, +-- { left, bottom, front, right, top , back} + {-7/16, -7/16, -3/16, -6/16, -3/16, 1/16}, + {-6/16, -7/16, -4/16, -5/16, -3/16, 2/16}, + {-5/16, -7/16, -5/16, 3/16, -3/16, 3/16}, + {-4/16, -7/16, -6/16, 1/16, -3/16, -5/16}, + {-3/16, -7/16, 3/16, 3/16, -3/16, 4/16}, + { 0 , -7/16, 4/16, 3/16, -3/16, 5/16}, + { 3/16, -7/16, -4/16, 4/16, -3/16, 5/16}, + { 4/16, -7/16, -3/16, 5/16, -3/16, 4/16}, + { 5/16, -7/16, -1/16, 6/16, -3/16, 2/16}, +-- { left, bottom, front, right, top , back} + {-6/16, -8/16, -3/16, 3/16, -2/16, 0 }, + {-5/16, -8/16, -4/16, 2/16, -2/16, 1/16}, + {-4/16, -8/16, -5/16, 0 , -2/16, 2/16}, + {-2/16, -8/16, -2/16, 4/16, -2/16, 3/16}, + { 0 , -8/16, 3/16, 3/16, -2/16, 4/16}, + { 4/16, -8/16, -1/16, 5/16, -2/16, 2/16}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -6/16, 6/16, -1/16, 5/16}, + }, + on_place = function(itemstack, placer, pointed_thing) + -- place a random pebble node + local stack = ItemStack("cavestuff:desert_pebble_"..math.random(1,2)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("cavestuff:desert_pebble_1 "..itemstack:get_count()-(1-ret:get_count())) + end, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("cavestuff:desert_pebble_2",{ + drawtype = "nodebox", + drop = "cavestuff:desert_pebble_1", + tiles = {"default_desert_stone.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky=3, stone=1, not_in_creative__inventory=1}, + node_box = { + type = "fixed", + fixed = { +-- { left, bottom, front, right, top , back} + {-5/16, -1/16, -3/16, 1/16, 0 , -1/16}, + {-4/16, -1/16, -4/16, 0 , 0 , 0 }, +-- { left, bottom, front, right, top , back} + {-7/16, -7/16, -3/16, -6/16, -2/16, 1/16}, + {-6/16, -7/16, -4/16, -5/16, -2/16, 2/16}, + {-5/16, -7/16, -5/16, 3/16, -2/16, 3/16}, + {-4/16, -7/16, -6/16, 1/16, -2/16, -5/16}, + {-3/16, -7/16, 3/16, 3/16, -2/16, 4/16}, + { 0 , -7/16, 4/16, 3/16, -2/16, 5/16}, + { 3/16, -7/16, -4/16, 4/16, -2/16, 5/16}, + { 4/16, -7/16, -3/16, 5/16, -2/16, 4/16}, + { 5/16, -7/16, -1/16, 6/16, -2/16, 2/16}, +-- { left, bottom, front, right, top , back} + {-6/16, -8/16, -3/16, 3/16, -1/16, 0 }, + {-5/16, -8/16, -4/16, 2/16, -1/16, 1/16}, + {-4/16, -8/16, -5/16, 0 , -1/16, 2/16}, + {-2/16, -8/16, -2/16, 4/16, -1/16, 3/16}, + { 0 , -8/16, 3/16, 3/16, -1/16, 4/16}, + { 4/16, -8/16, -1/16, 5/16, -1/16, 2/16}, + }, + }, + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -6/16, 6/16, 0, 5/16}, + }, + sounds = default.node_sound_stone_defaults(), +}) + +--Staclactites + +minetest.register_node("cavestuff:stalactite_1",{ + drawtype="nodebox", + tiles = {"undergrowth_pebble.png"}, + groups = {cracky=3,attached_node=1}, + description = "Stalactite", + paramtype = "light", + paramtype2 = "wallmounted", + node_box = { + type = "fixed", + fixed = { + {-0.187500,0.425000,-0.150003,0.162500,0.500000,0.162500}, + {-0.112500,0.162500,-0.100000,0.087500,0.475000,0.087500}, + {-0.062500,-0.275000,-0.062500,0.062500,0.500000,0.062500}, + {-0.037500,-0.837500,0.037500,0.037500,0.500000,-0.025000}, + } + }, + + on_place = function(itemstack, placer, pointed_thing) + local pt = pointed_thing + if minetest.get_node(pt.under).name=="default:stone" + and minetest.get_node({x=pt.under.x, y=pt.under.y-1, z=pt.under.z}).name=="air" + and minetest.get_node({x=pt.under.x, y=pt.under.y-2, z=pt.under.z}).name=="air" then + minetest.set_node({x=pt.under.x, y=pt.under.y-1, z=pt.under.z}, {name="cavestuff:stalactite_"..math.random(1,3)}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + end + return itemstack + end, +}) + +minetest.register_node("cavestuff:stalactite_2",{ + drawtype="nodebox", + tiles = {"undergrowth_pebble.png"}, + groups = {cracky=3,attached_node=1,not_in_creative_inventory=1}, + drop = "cavestuff:stalactite_1", + paramtype = "light", + paramtype2 = "wallmounted", + node_box = { + type = "fixed", + fixed = { + {-0.187500,0.387500,-0.150003,0.162500,0.500000,0.162500}, + {-0.112500,0.112500,-0.100000,0.087500,0.475000,0.087500}, + {-0.062500,-0.675000,-0.062500,0.062500,0.500000,0.062500}, + {-0.037500,-0.975000,0.037500,0.037500,0.500000,-0.025000}, + } + }, +}) + +minetest.register_node("cavestuff:stalactite_3",{ + drawtype="nodebox", + tiles = {"undergrowth_pebble.png"}, + groups = {cracky=3,attached_node=1,not_in_creative_inventory=1}, + drop = "cavestuff:stalactite_1", + paramtype = "light", + paramtype2 = "wallmounted", + node_box = { + type = "fixed", + fixed = { + {-0.187500,0.387500,-0.150003,0.162500,0.500000,0.162500}, + {-0.112500,0.037500,-0.100000,0.087500,0.475000,0.087500}, + {-0.062500,-0.437500,-0.062500,0.062500,0.500000,0.062500}, + {-0.037500,-1.237500,0.037500,0.037500,0.500000,-0.025000}, + } + }, +}) + +--Stalagmites + + + diff --git a/cavestuff/textures/undergrowth_desert_pebble.png b/cavestuff/textures/undergrowth_desert_pebble.png new file mode 100644 index 0000000000000000000000000000000000000000..f85dbbd89441c715a05bf9dbb0460608cd30a36f GIT binary patch literal 1203 zcmZ8gzi-n}5WW|`*l|)fX#+H+2s-cwupqHQ6QvPq6(J;Gqo|Q!C{$q48N`Cb#)dk; z#0C>16MqL{0Ym{2$WPm`6YhKNg_JLP@$=ogyYIete%joud-;=jBJvvR)hqlgVdZT8 zKhvFT@x#7#xn89SelOp@e$Ezmcm2i#qCy!<(Tn{G8y&x~QFA`J#j@?GXA9eGTJ~$# z{k3~LJFUAut=(^J`K|5My*vKx)p}#2dF|2s5|LhMR4-n=u%Jr1JyQG4^AipvODQ}k znQ&EJV`DWY3X_B!%SvAk|1*4Cag3gKv@vzUn6Ura4JgarU&Dw_6mrJKMa>xmbi)x9 zbJ=M!{iQQBFOIh8=OCir99Z#kbiCk96H7oZicQsnUPu-wFf=HGo^54lI7;YLF;Cxn zfpL0HS_xHA9ezQ=J;viP>3lY&7bRok!y!~hFaiMt18(-H4y+t$RG#9{4-sd3b-BGP zuTBurpCC;t1vJzj#wj(>0&+S{3Sosd=mI*E`hqw#j4}n=qGNg6XaI^>5DhEj#9)Yl zI=eVWEAuW5MzLv8+R>;2fOZh4RiyVH{m|TqB1H$hmouN*eUk*&o+@Zk{G+avWvDNE zuF*m>3si)di!LUf2%_WKHL?Pz{(qm+k_;QpVJ}11j}p=dT$*#J$WBlO+N|`sO3Cz# zcMOg|dPj9Y!yr1~Hp;F;m<@;}b`+4kB$Del-vXQv4uPLL1HxD*lcT*N@H9^;faCyX z!rTJ-lHMR3An#HMwr@P*m6W!2)lb^> zd~>vAP4dCb)e=Vhef;w2t@Wgyt=)S81bM21_aA1h)2o!%SG@13$^3NjtGidXu3}~7 zZe{uD&d&Ce3YMR5Z&kJ*F1>tQd9<`zUf;a)YO(;B`Eu#{?Q7?p&@_&n-QC@h1tO71 z&|o+mVl=Xut*Z2TJ@~$_Td|JgfNFvu5J$V+2ETv){vnsO4%?WXnn6097G)5VFfNnH z2!@NP)oQXyCX+_g#miTaw*0bvHgBuDl%j_l}bsloY+Mtv)`z}cm~Ja0Tve*LC{`x z4-4}PLN4PC%c8Js22j)&)gwER0FFtZUaw0`+>cSMR*}o)B++R-0{d4w$>Kx`GX*qT zN0@MJfTfCLh9TcQWaK2?=!;|a@jhMn(jza^mIzexXuI7m41xK4ULFg3rW_p};^Ku% zX9V)$sOTsgjfS}79q7D|djtCdQ}BXN!0KlL{nm?g{PJJm;Xx-t+RtLY8X@Vsn3y~r zCHtgOip8Q>9WBW=1hXIQZFc4~NcWnFNVY<-wn0+m0?jZUJYKS%OZu^emxbSgtMQe0 Pm+3CAY?MCVxc~YO){ius literal 0 HcmV?d00001 diff --git a/dryplants/crafting.lua b/dryplants/crafting.lua new file mode 100644 index 0000000..69154b5 --- /dev/null +++ b/dryplants/crafting.lua @@ -0,0 +1,360 @@ +----------------------------------------------------------------------------------------------- +-- Dry Plants - Recipes 0.1.0 -- Short Grass -> Dirt +----------------------------------------------------------------------------------------------- +-- by Mossmanikin +-- License (everything): WTFPL +-- Looked at code from: darkage, default, farming, sickle, stairs +-- Dependencies: default, farming +-- Supports: flint, stoneage, sumpf +----------------------------------------------------------------------------------------------- + +----------------------------------------------------------------------------------------------- +-- Short Grass +----------------------------------------------------------------------------------------------- +minetest.register_craft({ + output = "default:dirt", + recipe = { + {"dryplants:grass_short"}, + } +}) + +----------------------------------------------------------------------------------------------- +-- Cut Grass +----------------------------------------------------------------------------------------------- +-- grass recipes (remove roots) +minetest.register_craft({ + output = "dryplants:grass", + recipe = { + {"default:grass_1"}, + } +}) +minetest.register_craft({ + output = "dryplants:grass", + recipe = { + {"default:junglegrass"}, + } +}) +if minetest.get_modpath("sumpf") ~= nil then + minetest.register_craft({ + output = "dryplants:grass", + recipe = { + {"sumpf:gras"}, + } + }) +end + +----------------------------------------------------------------------------------------------- +-- Sickle +----------------------------------------------------------------------------------------------- +minetest.register_craft({ + output = "dryplants:sickle", + recipe = { + {"group:stone",""}, + {"", "default:stick"}, + {"default:stick",""} + } +}) +if minetest.get_modpath("flint") ~= nil then + minetest.register_craft({ + output = "dryplants:sickle", + recipe = { + {"flint:flintstone",""}, + {"", "default:stick"}, + {"default:stick",""} + } + }) +end +if minetest.get_modpath("stoneage") ~= nil then + minetest.register_craft({ + output = "dryplants:sickle", + recipe = { + {"stoneage:silex",""}, + {"", "default:stick"}, + {"default:stick",""} + } + }) +end + +----------------------------------------------------------------------------------------------- +-- Hay +----------------------------------------------------------------------------------------------- +--cooking +minetest.register_craft({ + type = "cooking", + output = "dryplants:hay", + recipe = "dryplants:grass", + cooktime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "dryplants:hay", + burntime = 1, +}) + +----------------------------------------------------------------------------------------------- +-- Wet Reed +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- papyrus -> wetreed + output = "dryplants:wetreed 2", + recipe = { + {"default:papyrus","default:papyrus"}, + {"default:papyrus","default:papyrus"}, + } +}) +minetest.register_craft({ -- reedmace_sapling -> wetreed + output = "dryplants:wetreed 2", + recipe = { + {"dryplants:reedmace_sapling","dryplants:reedmace_sapling"}, + {"dryplants:reedmace_sapling","dryplants:reedmace_sapling"}, + } +}) +minetest.register_craft({ -- reedmace_top -> wetreed + output = "dryplants:wetreed 2", + recipe = { + {"dryplants:reedmace_top","dryplants:reedmace_top"}, + {"dryplants:reedmace_top","dryplants:reedmace_top"}, + } +}) +minetest.register_craft({ -- reedmace -> wetreed + output = "dryplants:wetreed 2", + recipe = { + {"dryplants:reedmace","dryplants:reedmace"}, + {"dryplants:reedmace","dryplants:reedmace"}, + } +}) +minetest.register_craft({ -- reedmace_bottom -> wetreed + output = "dryplants:wetreed 2", + recipe = { + {"dryplants:reedmace_bottom","dryplants:reedmace_bottom"}, + {"dryplants:reedmace_bottom","dryplants:reedmace_bottom"}, + } +}) + + +local ReeD = { + {"wetreed"}, + {"reed"} +} +for i in pairs(ReeD) do + local reed = "dryplants:"..ReeD[i][1] + local slab = reed.."_slab" + local roof = reed.."_roof" + local corner = roof.."_corner" + local corner_2 = corner.."_2" +----------------------------------------------------------------------------------------------- +-- Block +----------------------------------------------------------------------------------------------- + minetest.register_craft({ -- slab -> block + output = reed, + recipe = { + {slab}, + {slab}, + } + }) + minetest.register_craft({ -- roof -> block + output = reed, + recipe = { + {roof}, + {roof}, + } + }) + minetest.register_craft({ -- corner -> block + type = "shapeless", + output = reed.." 3", + recipe = {corner,corner,corner,corner,corner,corner,corner,corner}, -- 8x + }) + minetest.register_craft({ -- corner_2 -> block + type = "shapeless", + output = reed.." 3", + recipe = {corner_2,corner_2,corner_2,corner_2,corner_2,corner_2,corner_2,corner_2}, -- 8x + }) +----------------------------------------------------------------------------------------------- +-- Slab +----------------------------------------------------------------------------------------------- + minetest.register_craft({ -- block -> slab + output = slab.." 6", + recipe = { + {reed,reed,reed}, + } + }) + minetest.register_craft({ -- roof -> slab + output = slab, + recipe = { + {roof}, + } + }) + minetest.register_craft({ -- corner -> slab + output = slab.." 3", + recipe = { + {corner,corner}, + {corner,corner}, + } + }) + minetest.register_craft({ -- corner_2 -> slab + output = slab.." 3", + recipe = { + {corner_2,corner_2}, + {corner_2,corner_2}, + } + }) +----------------------------------------------------------------------------------------------- +-- Roof +----------------------------------------------------------------------------------------------- + minetest.register_craft({ -- block -> roof + output = roof.." 4", + recipe = { + {reed,""}, + {"",reed}, + } + }) + minetest.register_craft({ -- block -> roof + output = roof.." 4", + recipe = { + {"",reed}, + {reed,""}, + } + }) + minetest.register_craft({ -- slab -> roof + output = roof, + recipe = { + {slab}, + } + }) +----------------------------------------------------------------------------------------------- +-- Roof Corner +----------------------------------------------------------------------------------------------- + minetest.register_craft({ -- block -> corner + output = corner.." 8", + recipe = { + {"",reed,""}, + {reed,"",reed}, + } + }) + minetest.register_craft({ -- corner_2 -> corner + output = corner, + recipe = { + {corner_2}, + } + }) +----------------------------------------------------------------------------------------------- +-- Roof Corner 2 +----------------------------------------------------------------------------------------------- + minetest.register_craft({ -- block -> corner_2 + output = corner_2.." 8", + recipe = { + {reed,"",reed}, + {"",reed,""}, + } + }) + minetest.register_craft({ -- corner -> corner_2 + output = corner_2, + recipe = { + {corner}, + } + }) +end + +----------------------------------------------------------------------------------------------- +-- Reed +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- hay -> reed + output = "dryplants:reed 2", + recipe = { + {"dryplants:hay","dryplants:hay"}, + {"dryplants:hay","dryplants:hay"}, + } +}) +--cooking +minetest.register_craft({ -- wetreed -> reed + type = "cooking", + output = "dryplants:reed", + recipe = "dryplants:wetreed", + cooktime = 2, +}) +--fuel +minetest.register_craft({ + type = "fuel", + recipe = "dryplants:reed", + burntime = 4, +}) +----------------------------------------------------------------------------------------------- +-- Reed Slab +----------------------------------------------------------------------------------------------- +--cooking +minetest.register_craft({ -- wetreed_slab -> reed_slab + type = "cooking", + output = "dryplants:reed_slab", + recipe = "dryplants:wetreed_slab", + cooktime = 1, +}) +--fuel +minetest.register_craft({ + type = "fuel", + recipe = "dryplants:reed_slab", + burntime = 2, +}) +----------------------------------------------------------------------------------------------- +-- Reed Roof +----------------------------------------------------------------------------------------------- +--cooking +minetest.register_craft({ -- wetreed_roof -> reed_roof + type = "cooking", + output = "dryplants:reed_roof", + recipe = "dryplants:wetreed_roof", + cooktime = 1, +}) +--fuel +minetest.register_craft({ + type = "fuel", + recipe = "dryplants:reed_roof", + burntime = 2, +}) +----------------------------------------------------------------------------------------------- +-- Reed Roof Corner +----------------------------------------------------------------------------------------------- +--cooking +minetest.register_craft({ -- wetreed_roof_corner -> reed_roof_corner + type = "cooking", + output = "dryplants:reed_roof_corner", + recipe = "dryplants:wetreed_roof_corner", + cooktime = 1, +}) +--fuel +minetest.register_craft({ + type = "fuel", + recipe = "dryplants:reed_roof_corner", + burntime = 2, +}) +----------------------------------------------------------------------------------------------- +-- Wet Reed Roof Corner 2 +----------------------------------------------------------------------------------------------- +--cooking +minetest.register_craft({ -- wetreed_roof_corner -> reed_roof_corner + type = "cooking", + output = "dryplants:reed_roof_corner_2", + recipe = "dryplants:wetreed_roof_corner_2", + cooktime = 1, +}) +--fuel +minetest.register_craft({ + type = "fuel", + recipe = "dryplants:reed_roof_corner_2", + burntime = 2, +}) +----------------------------------------------------------------------------------------------- +-- Dandelion Leave +----------------------------------------------------------------------------------------------- +--[[minetest.register_craftitem("dryplants:dandelion_leave", { + description = "Dandelion Leave", + inventory_image = "dryplants_dandelion_leave.png", + on_use = minetest.item_eat(1), +}) +minetest.register_craft({ + type = "shapeless", + output = "dryplants:dandelion_leave 4", + recipe = {"flowers:dandelion_yellow"}, + replacements = { + {"flowers:dandelion_yellow", "dye:yellow"} + }, +})]] \ No newline at end of file diff --git a/dryplants/depends.txt b/dryplants/depends.txt new file mode 100644 index 0000000..465ad78 --- /dev/null +++ b/dryplants/depends.txt @@ -0,0 +1,3 @@ +default +farming +plants_lib \ No newline at end of file diff --git a/dryplants/init.lua b/dryplants/init.lua new file mode 100644 index 0000000..0227771 --- /dev/null +++ b/dryplants/init.lua @@ -0,0 +1,185 @@ +----------------------------------------------------------------------------------------------- +local title = "Grasses" -- former "Dry plants" +local version = "0.1.5" +local mname = "dryplants" +----------------------------------------------------------------------------------------------- +-- by Mossmanikin +-- textures & ideas partly by Neuromancer + +-- License (everything): WTFPL +-- Contains code from: default, farming +-- Looked at code from: darkage, sickle, stairs +-- Dependencies: default, farming, plants_lib +-- Supports: +----------------------------------------------------------------------------------------------- +abstract_dryplants = {} + +dofile(minetest.get_modpath("dryplants").."/crafting.lua") +dofile(minetest.get_modpath("dryplants").."/settings.txt") +dofile(minetest.get_modpath("dryplants").."/reed.lua") +if REEDMACE_GENERATES == true then +dofile(minetest.get_modpath("dryplants").."/reedmace.lua") +end +if SMALL_JUNCUS_GENERATES == true then +dofile(minetest.get_modpath("dryplants").."/juncus.lua") +end +if EXTRA_TALL_GRASS_GENERATES == true then +dofile(minetest.get_modpath("dryplants").."/moregrass.lua") +end +--dofile(minetest.get_modpath("dryplants").."/meadowvariation.lua") + +----------------------------------------------------------------------------------------------- +-- Sickle +----------------------------------------------------------------------------------------------- +-- turns nodes with group flora=1 & flower=0 into cut grass +local function sickle_on_use(itemstack, user, pointed_thing, uses) + local pt = pointed_thing + -- check if pointing at a node + if not pt then + return + end + if pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + 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] then + return + end + if not minetest.registered_nodes[above.name] then + return + end + + local node = minetest.env:get_node(pt.under) + -- check if something that can be cut using fine tools + if minetest.get_item_group(under.name, "snappy") > 0 then + -- check if flora but no flower + if minetest.get_item_group(under.name, "flora") == 1 and minetest.get_item_group(under.name, "flower") == 0 then + -- turn the node into cut grass, wear out item and play sound + minetest.set_node(pt.under, {name="dryplants:grass"}) + else -- otherwise get the drop + local inv = user:get_inventory() + local name = minetest.env: get_node(pt.under).name + + local the_drop = minetest.registered_nodes[name].drop + + if the_drop ~= nil then + if inv:room_for_item("main", the_drop) then + inv:add_item("main", the_drop) + end + else + if inv:room_for_item("main", name) then + inv:add_item("main", name) + end + end + minetest.env:remove_node(pt.under) + end + minetest.sound_play("default_dig_crumbly", { + pos = pt.under, + gain = 0.5, + }) + itemstack:add_wear(65535/(uses-1)) + return itemstack + elseif string.find(node.name, "default:dirt_with_grass") then + minetest.set_node(pt.under, {name="dryplants:grass_short"}) + minetest.set_node(pt.above, {name="dryplants:grass"}) + minetest.sound_play("default_dig_crumbly", { + pos = pt.under, + gain = 0.5, + }) + itemstack:add_wear(65535/(uses-1)) + return itemstack + end +end +-- the tool +minetest.register_tool("dryplants:sickle", { + description = "Sickle", + inventory_image = "dryplants_sickle.png", + on_use = function(itemstack, user, pointed_thing) + return sickle_on_use(itemstack, user, pointed_thing, 220) + end, +}) + +----------------------------------------------------------------------------------------------- +-- Cut Grass +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:grass", { + description = "Cut Grass", + inventory_image = "dryplants_grass.png", + wield_image = "dryplants_grass.png", + paramtype = "light", + sunlight_propagates = true, + tiles = {"dryplants_grass.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5 , -0.5 , -0.5 , 0.5 , -0.4375, 0.5 }, + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Cut Grass becomes Hay over time +----------------------------------------------------------------------------------------------- +minetest.register_abm({ + nodenames = {"dryplants:grass"}, + interval = HAY_DRYING_TIME, --1200, -- 20 minutes: a minetest-day/night-cycle + chance = 1, + action = function(pos) + minetest.env:add_node(pos, {name="dryplants:hay"}) + end, +}) + +----------------------------------------------------------------------------------------------- +-- Hay +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:hay", { + description = "Hay", + inventory_image = "dryplants_hay.png", + wield_image = "dryplants_hay.png", + paramtype = "light", + sunlight_propagates = true, + tiles = {"dryplants_hay.png"}, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {-0.5 , -0.5 , -0.5 , 0.5 , -0.4375, 0.5 }, + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Short Grass +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:grass_short", { + description = "Short Grass", + tiles = {"default_grass.png^dryplants_grass_short.png", "default_dirt.png", "default_dirt.png^default_grass_side.png^dryplants_grass_short_side.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1,not_in_creative_inventory=1}, + --drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +----------------------------------------------------------------------------------------------- +-- Short Grass becomes Dirt with Grass over time +----------------------------------------------------------------------------------------------- +minetest.register_abm({ + nodenames = {"dryplants:grass_short"}, + interval = GRASS_REGROWING_TIME, --1200, -- 20 minutes: a minetest-day/night-cycle + chance = 100/GRASS_REGROWING_CHANCE, + action = function(pos) + minetest.env:add_node(pos, {name="default:dirt_with_grass"}) + end, +}) + +----------------------------------------------------------------------------------------------- +print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...") +----------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/dryplants/juncus.lua b/dryplants/juncus.lua new file mode 100644 index 0000000..72934d2 --- /dev/null +++ b/dryplants/juncus.lua @@ -0,0 +1,127 @@ +----------------------------------------------------------------------------------------------- +-- Grasses - Juncus 0.0.5 +----------------------------------------------------------------------------------------------- +-- by Mossmanikin +-- textures & ideas partly by Neuromancer + +-- License (everything): WTFPL +-- Contains code from: plants_lib +-- Looked at code from: default +----------------------------------------------------------------------------------------------- + +abstract_dryplants.grow_juncus = function(pos) + local juncus_type = math.random(2,3) + local right_here = {x=pos.x, y=pos.y+1, z=pos.z} + if minetest.env:get_node(right_here).name == "air" -- instead of check_air = true, + or minetest.env:get_node(right_here).name == "default:junglegrass" then + if juncus_type == 2 then + minetest.env:add_node(right_here, {name="dryplants:juncus_02"}) + else + minetest.env:add_node(right_here, {name="dryplants:juncus"}) + end + end +end + +minetest.register_node("dryplants:juncus", { + description = "Juncus", + drawtype = "plantlike", + visual_scale = 2, + paramtype = "light", + tiles = {"dryplants_juncus_03.png"}, + inventory_image = "dryplants_juncus_inv.png", + walkable = false, + groups = { + snappy=3, + flammable=2, + attached_node=1, + flora=1 + --not_in_creative_inventory=1 + }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, + on_place = function(itemstack, placer, pointed_thing) + local pos = pointed_thing.under + local juncus_type = math.random(2,3) + local right_here = {x=pos.x, y=pos.y+1, z=pos.z} + if juncus_type == 2 then + minetest.env:add_node(right_here, {name="dryplants:juncus_02"}) + else + minetest.env:add_node(right_here, {name="dryplants:juncus"}) + end + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, +}) +minetest.register_node("dryplants:juncus_02", { + description = "Juncus", + drawtype = "plantlike", + visual_scale = 2, + paramtype = "light", + tiles = {"dryplants_juncus_02.png"}, + walkable = false, + groups = { + snappy=3, + flammable=2, + attached_node=1, + flora=1, + not_in_creative_inventory=1 + }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, + drop = "dryplants:juncus", +}) +----------------------------------------------------------------------------------------------- +-- GENERATE SMALL JUNCUS +----------------------------------------------------------------------------------------------- +-- near water or swamp +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + --"default:desert_sand", + --"default:sand", + "stoneage:grass_with_silex", + "sumpf:peat", + "sumpf:sumpf" + }, + max_count = JUNCUS_NEAR_WATER_PER_MAPBLOCK, + rarity = 101 - JUNCUS_NEAR_WATER_RARITY, + min_elevation = 1, -- above sea level + near_nodes = {"default:water_source","sumpf:dirtywater_source","sumpf:sumpf"}, + near_nodes_size = 2, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_dryplants.grow_juncus" +) +-- at dunes/beach +plantslib:register_generate_plant({ + surface = { + --"default:dirt_with_grass", + --"default:desert_sand", + "default:sand", + --"stoneage:grass_with_silex", + --"sumpf:peat", + --"sumpf:sumpf" + }, + max_count = JUNCUS_AT_BEACH_PER_MAPBLOCK, + rarity = 101 - JUNCUS_AT_BEACH_RARITY, + min_elevation = 1, -- above sea level + near_nodes = {"default:dirt_with_grass"}, + near_nodes_size = 2, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_dryplants.grow_juncus" +) \ No newline at end of file diff --git a/dryplants/meadowvariation.lua b/dryplants/meadowvariation.lua new file mode 100644 index 0000000..2c3b554 --- /dev/null +++ b/dryplants/meadowvariation.lua @@ -0,0 +1,27 @@ +----------------------------------------------------------------------------------------------- +-- Grasses - Meadow Variation 0.0.1 +----------------------------------------------------------------------------------------------- +-- by Mossmanikin + +-- License (everything): WTFPL +-- Contains code from: plants_lib +-- Looked at code from: default +----------------------------------------------------------------------------------------------- + +abstract_dryplants.grow_grass_variation = function(pos) + local right_here = {x=pos.x, y=pos.y, z=pos.z} + minetest.add_node(right_here, {name="dryplants:grass_short"}) +end + +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + }, + max_count = 4800, + rarity = 25, + min_elevation = 1, -- above sea level + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_dryplants.grow_grass_variation" +) \ No newline at end of file diff --git a/dryplants/moregrass.lua b/dryplants/moregrass.lua new file mode 100644 index 0000000..293a0d6 --- /dev/null +++ b/dryplants/moregrass.lua @@ -0,0 +1,35 @@ +----------------------------------------------------------------------------------------------- +-- Grasses - More Tall Grass 0.0.2 +----------------------------------------------------------------------------------------------- +-- by Mossmanikin + +-- License (everything): WTFPL +-- Contains code from: plants_lib +-- Looked at code from: default +----------------------------------------------------------------------------------------------- + +abstract_dryplants.grow_grass = function(pos) + local right_here = {x=pos.x, y=pos.y+1, z=pos.z} + local grass_size = math.random(1,5) + if minetest.get_node(right_here).name == "air" -- instead of check_air = true, + or minetest.get_node(right_here).name == "default:junglegrass" then + minetest.add_node(right_here, {name="default:grass_"..grass_size}) + end +end + +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + "dryplants:grass_short", + "stoneage:grass_with_silex", + "sumpf:peat", + "sumpf:sumpf" + }, + max_count = TALL_GRASS_PER_MAPBLOCK, + rarity = 101 - TALL_GRASS_RARITY, + min_elevation = 1, -- above sea level + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_dryplants.grow_grass" +) \ No newline at end of file diff --git a/dryplants/reed.lua b/dryplants/reed.lua new file mode 100644 index 0000000..f4e97a8 --- /dev/null +++ b/dryplants/reed.lua @@ -0,0 +1,380 @@ +----------------------------------------------------------------------------------------------- +-- Dry Plants - Reed 0.0.5 +----------------------------------------------------------------------------------------------- +-- by Mossmanikin +-- License (everything): WTFPL +-- Looked at code from: darkage, default, stairs +-- Dependencies: default +----------------------------------------------------------------------------------------------- +minetest.register_alias("stairs:stair_wetreed", "dryplants:wetreed_roof") +minetest.register_alias("stairs:slab_wetreed", "dryplants:wetreed_slab") +minetest.register_alias("stairs:stair_reed", "dryplants:reed_roof") +minetest.register_alias("stairs:slab_reed", "dryplants:reed_slab") + + +----------------------------------------------------------------------------------------------- +-- Wet Reed +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:wetreed", { + description = "Wet Reed", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed_wet.png"}, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Wet Reed Slab +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:wetreed_slab", { + description = "Wet Reed Slab", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed_wet.png"}, + node_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, 0, 1/2}, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, 0, 1/2}, + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Wet Reed Roof +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:wetreed_roof", { + description = "Wet Reed Roof", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed_wet.png"}, + node_box = { + type = "fixed", +-- { left , bottom , front , right , top , back } + fixed = { + {-1/2, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, -1/2, -1/2, 1/2, 0, 0}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/2, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, -1/2, -1/2, 1/2, 0, 0}, + } + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +if AUTO_ROOF_CORNER == true then + + local CoRNeR = { +-- MaTeRiaL + {"wetreed"}, + {"reed"} + } + + for i in pairs(CoRNeR) do + + local MaTeRiaL = CoRNeR[i][1] + local roof = "dryplants:"..MaTeRiaL.."_roof" + local corner = "dryplants:"..MaTeRiaL.."_roof_corner" + local corner_2 = "dryplants:"..MaTeRiaL.."_roof_corner_2" + + minetest.register_abm({ + nodenames = {roof}, + interval = 1, + chance = 1, + action = function(pos) + + local node_east = minetest.env:get_node({x=pos.x+1, y=pos.y, z=pos.z }) + local node_west = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z }) + local node_north = minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z+1}) + local node_south = minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z-1}) + -- corner 1 + if ((node_west.name == roof and node_west.param2 == 0) + or (node_west.name == corner and node_west.param2 == 1)) + and ((node_north.name == roof and node_north.param2 == 3) + or (node_north.name == corner and node_north.param2 == 3)) + then + minetest.env:add_node(pos, {name=corner, param2=0}) + end + + if ((node_north.name == roof and node_north.param2 == 1) + or (node_north.name == corner and node_north.param2 == 2)) + and ((node_east.name == roof and node_east.param2 == 0) + or (node_east.name == corner and node_east.param2 == 0)) + then + minetest.env:add_node(pos, {name=corner, param2=1}) + end + + if ((node_east.name == roof and node_east.param2 == 2) + or (node_east.name == corner and node_east.param2 == 3)) + and ((node_south.name == roof and node_south.param2 == 1) + or (node_south.name == corner and node_south.param2 == 1)) + then + minetest.env:add_node(pos, {name=corner, param2=2}) + end + + if ((node_south.name == roof and node_south.param2 == 3) + or (node_south.name == corner and node_south.param2 == 0)) + and ((node_west.name == roof and node_west.param2 == 2) + or (node_west.name == corner and node_west.param2 == 2)) + then + minetest.env:add_node(pos, {name=corner, param2=3}) + end + -- corner 2 + if ((node_west.name == roof and node_west.param2 == 2) + or (node_west.name == corner_2 and node_west.param2 == 1)) + and ((node_north.name == roof and node_north.param2 == 1) + or (node_north.name == corner_2 and node_north.param2 == 3)) + then + minetest.env:add_node(pos, {name=corner_2, param2=0}) + end + + if ((node_north.name == roof and node_north.param2 == 3) + or (node_north.name == corner_2 and node_north.param2 == 2)) + and ((node_east.name == roof and node_east.param2 == 2) + or (node_east.name == corner_2 and node_east.param2 == 0)) + then + minetest.env:add_node(pos, {name=corner_2, param2=1}) + end + + if ((node_east.name == roof and node_east.param2 == 0) + or (node_east.name == corner_2 and node_east.param2 == 3)) + and ((node_south.name == roof and node_south.param2 == 3) + or (node_south.name == corner_2 and node_south.param2 == 1)) + then + minetest.env:add_node(pos, {name=corner_2, param2=2}) + end + + if ((node_south.name == roof and node_south.param2 == 1) + or (node_south.name == corner_2 and node_south.param2 == 0)) + and ((node_west.name == roof and node_west.param2 == 0) + or (node_west.name == corner_2 and node_west.param2 == 2)) + then + minetest.env:add_node(pos, {name=corner_2, param2=3}) + end + + end, + }) + end +end + +----------------------------------------------------------------------------------------------- +-- Wet Reed Roof Corner +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:wetreed_roof_corner", { + description = "Wet Reed Roof Corner", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed_wet.png"}, + node_box = { + type = "fixed", +-- { left , bottom , front , right , top , back } + fixed = { + {-1/2, 0, 0, 0, 1/2, 1/2}, + {0, -1/2, 0, 1/2, 0, 1/2}, + {-1/2, -1/2, -1/2, 0, 0, 0}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/2, 0, 0, 0, 1/2, 1/2}, + {0, -1/2, 0, 1/2, 0, 1/2}, + {-1/2, -1/2, -1/2, 0, 0, 0}, + } + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Wet Reed Roof Corner 2 +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:wetreed_roof_corner_2", { + description = "Wet Reed Roof Corner 2", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed_wet.png"}, + node_box = { + type = "fixed", +-- { left , bottom , front , right , top , back } + fixed = { + {-1/2, -1/2, 0, 0, 0, 1/2}, + {0, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, 0, -1/2, 0, 1/2, 0}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/2, -1/2, 0, 0, 0, 1/2}, + {0, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, 0, -1/2, 0, 1/2, 0}, + } + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Wet Reed becomes (dry) Reed over time +----------------------------------------------------------------------------------------------- +if REED_WILL_DRY == true then + + local DRyiNG = { +-- WeT DRy + {"dryplants:wetreed", "dryplants:reed"}, + {"dryplants:wetreed_slab", "dryplants:reed_slab"}, + {"dryplants:wetreed_roof", "dryplants:reed_roof"}, + {"dryplants:wetreed_roof_corner", "dryplants:reed_roof_corner"}, + {"dryplants:wetreed_roof_corner_2", "dryplants:reed_roof_corner_2"} + } + for i in pairs(DRyiNG) do + + local WeT = DRyiNG[i][1] + local DRy = DRyiNG[i][2] + + minetest.register_abm({ + nodenames = {WeT}, + interval = REED_DRYING_TIME, --1200, -- 20 minutes: a minetest-day/night-cycle + chance = 1, + action = function(pos) + local direction = minetest.get_node(pos).param2 + minetest.env:add_node(pos, {name=DRy, param2=direction}) + end, + }) + end +end + +----------------------------------------------------------------------------------------------- +-- Reed +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reed", { + description = "Reed", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed.png"}, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Reed Slab +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reed_slab", { + description = "Reed Slab", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed.png"}, + node_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, 0, 1/2}, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, 0, 1/2}, + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Reed Roof +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reed_roof", { + description = "Reed Roof", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed.png"}, + node_box = { + type = "fixed", +-- { left , bottom , front , right , top , back } + fixed = { + {-1/2, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, -1/2, -1/2, 1/2, 0, 0}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/2, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, -1/2, -1/2, 1/2, 0, 0}, + } + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Reed Roof Corner +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reed_roof_corner", { + description = "Reed Roof Corner", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed.png"}, + node_box = { + type = "fixed", +-- { left , bottom , front , right , top , back } + fixed = { + {-1/2, 0, 0, 0, 1/2, 1/2}, + {0, -1/2, 0, 1/2, 0, 1/2}, + {-1/2, -1/2, -1/2, 0, 0, 0}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/2, 0, 0, 0, 1/2, 1/2}, + {0, -1/2, 0, 1/2, 0, 1/2}, + {-1/2, -1/2, -1/2, 0, 0, 0}, + } + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- Reed Roof Corner 2 +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reed_roof_corner_2", { + description = "Reed Roof Corner 2", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"dryplants_reed.png"}, + node_box = { + type = "fixed", +-- { left , bottom , front , right , top , back } + fixed = { + {-1/2, -1/2, 0, 0, 0, 1/2}, + {0, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, 0, -1/2, 0, 1/2, 0}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/2, -1/2, 0, 0, 0, 1/2}, + {0, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, 0, -1/2, 0, 1/2, 0}, + } + }, + groups = {snappy=3, flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) \ No newline at end of file diff --git a/dryplants/reedmace.lua b/dryplants/reedmace.lua new file mode 100644 index 0000000..88d9f76 --- /dev/null +++ b/dryplants/reedmace.lua @@ -0,0 +1,410 @@ +----------------------------------------------------------------------------------------------- +-- Grasses - Reedmace 0.1.1 +----------------------------------------------------------------------------------------------- +-- by Mossmanikin +-- textures & ideas partly by Neuromancer + +-- License (everything): WTFPL +-- Contains code from: plants_lib +-- Looked at code from: default, trees +----------------------------------------------------------------------------------------------- + +-- NOTES (from wikipedia, some of this might get implemented) +-- rhizomes are edible +-- outer portion of young plants can be peeled and the heart can be eaten raw or boiled and eaten like asparagus +-- leaf bases can be eaten raw or cooked +-- sheath can be removed from the developing green flower spike, which can then be boiled and eaten like corn on the cob +-- pollen can be collected and used as a flour supplement or thickener +-- Typha stems and leaves can be used to make paper +-- The seed hairs were used by some Native American groups as tinder for starting fires + +----------------------------------------------------------------------------------------------- +-- REEDMACE SHAPES +----------------------------------------------------------------------------------------------- + +abstract_dryplants.grow_reedmace = function(pos) + local size = math.random(1,3) + local spikes = math.random(1,3) + local pos_01 = {x = pos.x, y = pos.y + 1, z = pos.z} + local pos_02 = {x = pos.x, y = pos.y + 2, z = pos.z} + local pos_03 = {x = pos.x, y = pos.y + 3, z = pos.z} + if minetest.env:get_node(pos_01).name == "air" -- bug fix + or minetest.env:get_node(pos_01).name == "dryplants:reedmace_sapling" then + if minetest.env:get_node(pos_02).name ~= "air" then + minetest.env:add_node(pos_01, {name="dryplants:reedmace_top"}) + elseif minetest.env:get_node(pos_03).name ~= "air" then + minetest.env:add_node(pos_01, {name="dryplants:reedmace_height_2"}) + elseif size == 1 then + minetest.env:add_node(pos_01, {name="dryplants:reedmace_top"}) + elseif size == 2 then + minetest.env:add_node(pos_01, {name="dryplants:reedmace_height_2"}) + elseif size == 3 then + if spikes == 1 then + minetest.env:add_node(pos_01, {name="dryplants:reedmace_height_3_spikes"}) + else + minetest.env:add_node(pos_01, {name="dryplants:reedmace_height_3"}) + end + end + end +end + +abstract_dryplants.grow_reedmace_water = function(pos) + local size = math.random(1,3) + local spikes = math.random(1,3) + local pos_01 = {x = pos.x, y = pos.y + 1, z = pos.z} + local pos_02 = {x = pos.x, y = pos.y + 2, z = pos.z} + local pos_03 = {x = pos.x, y = pos.y + 3, z = pos.z} + local pos_04 = {x = pos.x, y = pos.y + 4, z = pos.z} + minetest.add_entity(pos_01, "dryplants:reedmace_water_entity") + if minetest.env:get_node(pos_02).name == "air" then -- bug fix + if minetest.env:get_node(pos_03).name ~= "air" then + minetest.env:add_node(pos_02, {name="dryplants:reedmace_top"}) + elseif minetest.env:get_node(pos_04).name ~= "air" then + minetest.env:add_node(pos_02, {name="dryplants:reedmace_height_2"}) + elseif size == 1 then + minetest.env:add_node(pos_02, {name="dryplants:reedmace_top"}) + elseif size == 2 then + minetest.env:add_node(pos_02, {name="dryplants:reedmace_height_2"}) + elseif size == 3 then + if spikes == 1 then + minetest.env:add_node(pos_02, {name="dryplants:reedmace_height_3_spikes"}) + else + minetest.env:add_node(pos_02, {name="dryplants:reedmace_height_3"}) + end + end + end +end + +----------------------------------------------------------------------------------------------- +-- REEDMACE SPIKES +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reedmace_spikes", { + description = "Reedmace", + drawtype = "plantlike", + paramtype = "light", + tiles = {"dryplants_reedmace_spikes.png"}, + inventory_image = "dryplants_reedmace_spikes.png", + walkable = false, + groups = { + snappy=3, + flammable=2, + not_in_creative_inventory=1 + }, + drop = 'dryplants:reedmace_sapling', + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, +}) +----------------------------------------------------------------------------------------------- +-- REEDMACE height: 1 +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reedmace_top", { + description = "Reedmace, height: 1", + drawtype = "plantlike", + paramtype = "light", + tiles = {"dryplants_reedmace_top.png"}, + inventory_image = "dryplants_reedmace_top.png", + walkable = false, + groups = { + snappy=3, + flammable=2, + not_in_creative_inventory=1 + }, + drop = 'dryplants:reedmace_sapling', + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, +}) +----------------------------------------------------------------------------------------------- +-- REEDMACE height: 2 +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reedmace_height_2", { + description = "Reedmace, height: 2", + drawtype = "plantlike", + visual_scale = 2, + paramtype = "light", + tiles = {"dryplants_reedmace_height_2.png"}, + inventory_image = "dryplants_reedmace_top.png", + walkable = false, + groups = { + snappy=3, + flammable=2--, + --not_in_creative_inventory=1 + }, + drop = 'dryplants:reedmace_sapling', + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, +}) +----------------------------------------------------------------------------------------------- +-- REEDMACE height: 3 +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reedmace_height_3", { + description = "Reedmace, height: 3", + drawtype = "plantlike", + visual_scale = 2, + paramtype = "light", + tiles = {"dryplants_reedmace_height_3.png"}, + inventory_image = "dryplants_reedmace_top.png", + walkable = false, + groups = { + snappy=3, + flammable=2--, + --not_in_creative_inventory=1 + }, + drop = 'dryplants:reedmace_sapling', + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, +}) +----------------------------------------------------------------------------------------------- +-- REEDMACE height: 3 & Spikes +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reedmace_height_3_spikes", { + description = "Reedmace, height: 3 & Spikes", + drawtype = "plantlike", + visual_scale = 2, + paramtype = "light", + tiles = {"dryplants_reedmace_height_3_spikes.png"}, + inventory_image = "dryplants_reedmace_top.png", + walkable = false, + groups = { + snappy=3, + flammable=2--, + --not_in_creative_inventory=1 + }, + drop = 'dryplants:reedmace_sapling', + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, +}) +----------------------------------------------------------------------------------------------- +-- REEDMACE STEMS +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reedmace", { + description = "Reedmace", + drawtype = "plantlike", + paramtype = "light", + tiles = {"dryplants_reedmace.png"}, + inventory_image = "dryplants_reedmace.png", + walkable = false, + groups = { + snappy=3, + flammable=2, + not_in_creative_inventory=1 + }, + drop = 'dryplants:reedmace_sapling', + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, + after_destruct = function(pos,oldnode) + local node = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}) + if node.name == "dryplants:reedmace_top" + or node.name == "dryplants:reedmace_spikes" then + minetest.dig_node({x=pos.x,y=pos.y+1,z=pos.z}) + minetest.add_item(pos,"dryplants:reedmace_sapling") + end + end, +}) +----------------------------------------------------------------------------------------------- +-- REEDMACE BOTTOM +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reedmace_bottom", { + description = "Reedmace", + drawtype = "plantlike", + paramtype = "light", + tiles = {"dryplants_reedmace_bottom.png"}, + inventory_image = "dryplants_reedmace_bottom.png", + walkable = false, + groups = { + snappy=3, + flammable=2, + not_in_creative_inventory=1 + }, + drop = 'dryplants:reedmace_sapling', + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, + after_destruct = function(pos,oldnode) + local node = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}) + if node.name == "dryplants:reedmace" + or node.name == "dryplants:reedmace_top" + or node.name == "dryplants:reedmace_spikes" then + minetest.dig_node({x=pos.x,y=pos.y+1,z=pos.z}) + minetest.add_item(pos,"dryplants:reedmace_sapling") + end + end, +}) +----------------------------------------------------------------------------------------------- +-- REEDMACE "SAPLING" (the drop from the above) +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reedmace_sapling", { + description = "Reedmace", + drawtype = "plantlike", + paramtype = "light", + tiles = {"dryplants_reedmace_sapling.png"}, + inventory_image = "dryplants_reedmace_sapling.png", + walkable = false, + groups = { + snappy=3, + flammable=2, + attached_node=1 + }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, +}) +-- abm +minetest.register_abm({ + nodenames = "dryplants:reedmace_sapling", + interval = REEDMACE_GROWING_TIME, + chance = 100/REEDMACE_GROWING_CHANCE, + action = function(pos, node, _, _) + if string.find(minetest.env:get_node({x = pos.x + 1, y = pos.y, z = pos.z }).name, "default:water") + or string.find(minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z + 1}).name, "default:water") + or string.find(minetest.env:get_node({x = pos.x - 1, y = pos.y, z = pos.z }).name, "default:water") + or string.find(minetest.env:get_node({x = pos.x, y = pos.y, z = pos.z - 1}).name, "default:water") then + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" then + abstract_dryplants.grow_reedmace_water({x = pos.x, y = pos.y - 1, z = pos.z}) + end + minetest.env:add_node({x=pos.x, y=pos.y, z=pos.z}, {name="default:water_source"}) + else + abstract_dryplants.grow_reedmace({x = pos.x, y = pos.y - 1, z = pos.z}) + end + end +}) +----------------------------------------------------------------------------------------------- +-- REEDMACE WATER (for entity) +----------------------------------------------------------------------------------------------- +minetest.register_node("dryplants:reedmace_water", { + description = "Reedmace", + drawtype = "plantlike", + paramtype = "light", + tiles = {"dryplants_reedmace_water.png"}, + inventory_image = "dryplants_reedmace_water.png", + groups = {not_in_creative_inventory=1}, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, +}) +----------------------------------------------------------------------------------------------- +-- REEDMACE WATER ENTITY +----------------------------------------------------------------------------------------------- +minetest.register_entity("dryplants:reedmace_water_entity",{ + visual = "wielditem", + visual_size = {x=2/3, y=2/3, z=2/3}, + textures = {"dryplants:reedmace_water"}, + collisionbox = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, + on_punch = function(self, puncher) + if puncher:is_player() and puncher:get_inventory() then + if not minetest.setting_getbool("creative_mode") then + puncher:get_inventory():add_item("main", "dryplants:reedmace_sapling") + end + self.object:remove() + end + end, +}) +----------------------------------------------------------------------------------------------- +-- SPAWN REEDMACE +----------------------------------------------------------------------------------------------- +--[[plantslib:spawn_on_surfaces({ + spawn_delay = 1200, + spawn_plants = {"dryplants:reedmace_sapling"}, + spawn_chance = 400, + spawn_surfaces = { + "default:dirt_with_grass", + "default:desert_sand", + "default:sand", + "dryplants:grass_short", + "stoneage:grass_with_silex" + }, + seed_diff = 329, + near_nodes = {"default:water_source"}, + near_nodes_size = 2, + near_nodes_vertical = 1, + near_nodes_count = 1, +})]] +----------------------------------------------------------------------------------------------- +-- GENERATE REEDMACE +----------------------------------------------------------------------------------------------- +-- near water or swamp +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + "default:desert_sand", + "stoneage:grass_with_silex", + "sumpf:peat", + "sumpf:sumpf" + }, + max_count = REEDMACE_NEAR_WATER_PER_MAPBLOCK, + rarity = 101 - REEDMACE_NEAR_WATER_RARITY, + --rarity = 60, + min_elevation = 1, -- above sea level + near_nodes = {"default:water_source","sumpf:dirtywater_source","sumpf:sumpf"}, + near_nodes_size = 2, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + }, + "abstract_dryplants.grow_reedmace" +) +-- in water +plantslib:register_generate_plant({ + surface = { + "default:dirt", + "default:dirt_with_grass", + --"default:desert_sand", + --"stoneage:grass_with_silex", + "stoneage:sand_with_silex", + "sumpf:peat", + "sumpf:sumpf" + }, + max_count = REEDMACE_IN_WATER_PER_MAPBLOCK, + rarity = 101 - REEDMACE_IN_WATER_RARITY, + --rarity = 35, + min_elevation = 0, -- a bit below sea level + max_elevation = 0, -- "" + near_nodes = {"default:water_source","sumpf:dirtywater_source"}, + near_nodes_size = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + }, + "abstract_dryplants.grow_reedmace_water" +) +-- for oases & tropical beaches & tropical swamps +plantslib:register_generate_plant({ + surface = { + "default:sand", + "sumpf:sumpf" + }, + max_count = REEDMACE_FOR_OASES_PER_MAPBLOCK, + rarity = 101 - REEDMACE_FOR_OASES_RARITY, + --rarity = 10, + neighbors = {"default:water_source","sumpf:dirtywater_source","sumpf:sumpf"}, + ncount = 1, + min_elevation = 1, -- above sea level + near_nodes = {"default:desert_sand","sumpf:sumpf"}, + near_nodes_size = 2, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + }, + "abstract_dryplants.grow_reedmace" +) diff --git a/dryplants/settings.txt b/dryplants/settings.txt new file mode 100644 index 0000000..a9c6369 --- /dev/null +++ b/dryplants/settings.txt @@ -0,0 +1,52 @@ +-- Here you can enable/disable the different plants +REEDMACE_GENERATES = true +SMALL_JUNCUS_GENERATES = true +EXTRA_TALL_GRASS_GENERATES = true + + + +-- Amount of Reedmace near water or swamp +REEDMACE_NEAR_WATER_PER_MAPBLOCK = 35 -- plants per 80x80x80 nodes (absolute maximum number) +REEDMACE_NEAR_WATER_RARITY = 40 -- percent + +-- Amount of Reedmace in water +REEDMACE_IN_WATER_PER_MAPBLOCK = 35 -- plants per 80x80x80 nodes (absolute maximum number) +REEDMACE_IN_WATER_RARITY = 65 -- percent + +-- Amount of Reedmace for oases, tropical beaches and tropical swamps +REEDMACE_FOR_OASES_PER_MAPBLOCK = 35 -- plants per 80x80x80 nodes (absolute maximum number) +REEDMACE_FOR_OASES_RARITY = 90 -- percent + +-- growing of reedmace sapling +REEDMACE_GROWING_TIME = 16800 -- seconds +REEDMACE_GROWING_CHANCE = 5 -- percent + + + +-- Amount of small Juncus near water or swamp +JUNCUS_NEAR_WATER_PER_MAPBLOCK = 70 -- plants per 80x80x80 nodes (absolute maximum number) +JUNCUS_NEAR_WATER_RARITY = 75 -- percent + +-- Amount of small Juncus at dunes/beach +JUNCUS_AT_BEACH_PER_MAPBLOCK = 70 -- plants per 80x80x80 nodes (absolute maximum number) +JUNCUS_AT_BEACH_RARITY = 75 -- percent + + + +-- Tall Grass on dirt with grass +TALL_GRASS_PER_MAPBLOCK = 4800 -- plants per 80x80x80 nodes (absolute maximum number) +TALL_GRASS_RARITY = 75 -- percent + + + +-- short grass becomes dirt with grass again +GRASS_REGROWING_TIME = 16800 -- seconds +GRASS_REGROWING_CHANCE = 0.5 -- percent + +HAY_DRYING_TIME = 3600 -- seconds + +REED_WILL_DRY = false -- wet reed nodes will become dry reed nodes +REED_DRYING_TIME = 3600 -- seconds + +AUTO_ROOF_CORNER = true + diff --git a/dryplants/textures/default_grass_1.png b/dryplants/textures/default_grass_1.png new file mode 100644 index 0000000000000000000000000000000000000000..594a23b42b9e3b811530c575878462b6c904c220 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=G_YAk0{w5<>&kwYSx8ij-;=M?11Ka_;u=vBoS#-wo>-L15RjOeSEA?V z8lq5UtY@lcXkhTAXdzJ5B2O2`5DWk02ag^lEno>=BAN1W1>@pGgMya|D%T&_>-;o! znfChs^9K(S9F8sgS*4NGXlbQUvtGp4V*WvW_s{#QyH3@cnVGRk@abK0df5EL@s-0T z#+_0LR$F|eeT;XgX#e|uChX_=GiS~`2w%aqEH+3~(IkM+rFla+pG&X5o(r!BzlSU{ z$B*z84U&10TnV?<$4L78p5~Mx@If=sX<~CHBg6iOK6}$v%sLEoErX}4pUXO@geCwT CkZfB3 literal 0 HcmV?d00001 diff --git a/dryplants/textures/default_grass_2.png b/dryplants/textures/default_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7f1025aed0fad2005d0baf2bd77d84ff586dffd0 GIT binary patch literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=G_YAk0{w5<>&kwYSx8h&$m(!5 zz;J?%hir%Zgw>48oKJ5#XwvMx=~4apoT>l$&gk$cyqUC$Bki~N%D?O<4<6ZDtdLbx z6nfCagWp59nVFfnxt=vZ$fJ2f{7$1eZ=<^seoxV8JUa2IV-kb)!3{FYQ>V26Lyy7J L)z4*}Q$iB}Yucc6 literal 0 HcmV?d00001 diff --git a/dryplants/textures/default_grass_3.png b/dryplants/textures/default_grass_3.png new file mode 100644 index 0000000000000000000000000000000000000000..aec589f0f90910045b5395f0a22a81102501325b GIT binary patch literal 530 zcmV+t0`2{YP)mRVj8yIHB#Q*?Bks-JN%mrO-4qhKkx zs_nU6?ChxPx#JDRM#kvc*adU`d0()^t$84PRu6%@qIuZXmmAIlm&OhXZ+nOg4AWEd zKrrLR458FG6khUOJ%rzz``2Ai!44r)+dyn^Na(X_Q0Sbs4TjXr-0_Ar->|0p<~Gvh z6(}B$&{=C;=-kI9^7fXiFN~nO;hsCKvI@%DYf$?7Ng`ve3a{x)NR|UapX$qyJI*;v zRTc$PS`R>d@ImS6rOd|?&g)L$=rhYXZe`r_j{S+T;O6WpR-D06&4<%>Kf+zz6f4aj z{x}P*?gw`=PwGFLlrb-Me8XExy*cBC52`+m$ipPk_8d416VdVekCsr1-nO3eZ@Ah8 Ulni4g0RR9107*qoM6N<$f(_W@^Z)<= literal 0 HcmV?d00001 diff --git a/dryplants/textures/default_grass_4.png b/dryplants/textures/default_grass_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c8c88478acad84b792b5eb14cc43eb9db1f6d0 GIT binary patch literal 624 zcmV-$0+0QPP)Xh$zeE#_ zu@7FNMx(8zU>n*}t@VNtSfm1}Lb=6)7zMgm)?F6LWvLO3fBCp`$RQHn?89V!^Ua*i zN;Vvj^XUH{2R9|_>s%k0{H{Vyr)8v9LZW4L4;HfR6&AAITZ0_P^7dXpoarIxy#W}ew`BX4fsmAVrLz2PR5Yc+d@$~7kjcBVVaTGpBWftnLVdmKmV)*b&( z4CT~k_cc0aNtLy?+!+4e9QWc7a}vXm^Bl=*Hx*axXNntxC@9TzcHEHphAiffD2mn& z=v3X^Lu33xsp-8$>iP{Kf9UR^WIa}!_VktNnB~*>DU78hsr7e3uJ)d&T(Tp`oot~# z+(p^hQJuas=R4afOTpemwzZCmyN#+B!O<`>%l$1FSFQ?g%-oT=V zhH>e#q}xGczJ^d9guzbV4;}xb{-)5~P&>ZiRtlpKN|SXQ*lXBtucGKZ0&j^67o|9! zu~y1_xX|-1?}n>Lh$zo_0T`|OAZxuJ1s3|`@dKpo733#tYV!vSElqOXaKtnK0000< KMNUMnLSTZ#OC1CN literal 0 HcmV?d00001 diff --git a/dryplants/textures/default_grass_5.png b/dryplants/textures/default_grass_5.png new file mode 100644 index 0000000000000000000000000000000000000000..20dcd2b45682a234de746ee55fab364034ed0aa9 GIT binary patch literal 710 zcmV;%0y+JOP)hw|;o{+`oO24o`{K zIRx?FYxoE1{Vxl8&6@*A^QH*P+s1liQh1kMLAl+^-($e(vrpuPT-L+m;@uk4VCPQ{ zd9H6BGT6K;ffwXKC)k*A9#(A=sey>teh!wqq5QJFb?;T(v~p(bD{p3$OY+^2IJa9M zT3%YQ$2U=Sld9djTra=L-sjBNG3Ah)xGN?I$$6cFkb0JvLbZ`neNtZqGkQVJ%(^xY z9651V{u)vobTym%?Q&ODBr3pn+^ z;kOq9J@ULYgYwl^{4{yNp3|ehSBq&@=`2Ey+h349k7B}_F_`C*mq$>j zO`_;WvD=FFbYlYXXU~NmHGAajQIj*5wMrNndlZHC7~)T!O6n|(wetw_%`q?w{4K{k zYC1W0RD0a8E4ix(b~+>2u!pgFHi&KiBj_zZdMw-R9uID%^5H>FUp8BVSQb&t_(O=7 s`#~PukE@{vdE)dvQuY9{onh_#1s*h-kxDaO0000007*qoM6N<$f-pWp`v3p{ literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_grass.png b/dryplants/textures/dryplants_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..a01ec989bf5baaf711e920827a9425d66ef680ed GIT binary patch literal 571 zcmV-B0>u4^P)N2bPDNB8 zb~7$DE-^4L^m3s900Fm2L_t(IPqkCoYQj(u?GN-pK?ueLS88!B2%-i}aLI#9n_5sS zgrE|HkSF`1Sm>9Z&RjKUtN2hF2!wlQ&YWd(clRGp%TC~k`?|@B@5Vglon4)&*=esx zvtuYvf*5ae-kG|%0iw}lp44{I(49DRH?yB^MNpYa=-6=&tb4fg*!0$Ws^y7{nki%W zk-=d7i0UjTn#&Uj+A@abK}usD{VhpdCZJeh(KOy==*>Y}L_~ARkkECKnC^;aOaz0@ zDgmZnHA7(2*u;naJv9dKw#|a?2kSI}h3W2s4?VgxHhJ_&7Z((a08tGQfDhwM40SU| zfIh*5-^x^`fj@xiW*BUix`>KmW-wewp_me0$d85<64JU(0`H&2bNy9nuFPa{*s`NS zE3+yYe(0-+@IiM|7?B*~uooA1p+-RY=KxL2qG`z}kp~JTlJEPWQUWYdVWyW7=sGFE zpyOoFUZsexBq-}{n&^i~8Uaw$v#%#ncZ~Cl2`>>BDda`Zjf;IKP<$iWMs*&cSohjF z?yKv}ktt*t7qHtkidG|Id1Bj6-u@p>k&jWG(p9Vr8~B$$`Wv}D=Qnt0X3_uv002ov JPDHLkV1kXC_cs6l literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_grass_short.png b/dryplants/textures/dryplants_grass_short.png new file mode 100644 index 0000000000000000000000000000000000000000..ad186e5d053c2f65c1880cfe6bcab088b8b423e4 GIT binary patch literal 868 zcmV-q1DpJbP)H;LN@>a0?kQ8K~y+TRg?Qp8c`6&_YKY) z^fcO-RjO|;nBiq%b zBs`E#d(-m>)9!I$xyBe7mAI-}JLwg*s2hsL6t7DMbQ1HTv#vuk=4ND8;@kd7{@08I zxNVg8O|qJt1?|&b94|{z(M!6;zVQSHTLzL@>0YAS&SX}#EM2S=oE8K@ZCH%rdBL1feFL&ssMX!1vp0Hf9jZI$FLT0+u9%-5+4c?B;AYLwY)$O?57tiWJVG{jCr7Jx)eYV zfbWN9xJE{%%!hQQdH)3DeB+Q64=MUG40k2IwGGvss{~|L;;P=A*l}h_yvqfk5p{|} zU<%2M#o%*!k})^|lx}}M&aSeS<%eo?0ZOYc*&uJSpE;~sbbKVJT z#yv{+mP7zfLNa3`ro&l53WA_EN-(hfye6ISI^+;#(+LD%c>`2rsK-2_5!Y{}67)06 z@NqYcgYA&KTS_Or#7JCK_42xzW=9!A5Cl)Cb8%&wj%{9C6ixWvOo{7yNRw4NJjSzvNz3%nHxK?Amhoq6Q=Atg+aS%SeU1cqfy4vibK|;Zkt9Lt6{fP uQ#o2=e`ASKg~=4He61#c0Q^fO27drpcte-VO&kvZ0000H;LN@>a0bfZ(K~y+T?U36_0#Ou(=MDBF zY|t*UqD>JxjyPM9CNXpxsjXs&3b_6hdaFk*g-nMmFip|5@a~ED(IpGAo{L0q3 za%e0t45wDc2SG+~Z6m-tjxJFEb<=MmAYa@2;xZE@0g!|Q1OxR%FzHHSkz=4{`rWpvMaK@w&bBTtHZ_JYg%@K!K867Wqd^BzA8VKa zp*&W%U|31ZUPhBA#w^_C4M3Rk=|!W-2veV$DyzhoBuYRTl+*A~O1Z=1BwRaT^WzKp zd4pj%HBIdo));0aMhOlHKPlavRk$lAU0jqv$#jwDmdbjLlnBF3E+)I#$n+lxc0(R$ sSepBFZ$Ew`447|A{uTUx=}&Cn9p8e1ig39>#sB~S07*qoM6N<$g6glt?*IS* literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_hay.png b/dryplants/textures/dryplants_hay.png new file mode 100644 index 0000000000000000000000000000000000000000..a919166a3608f9b7d4f5ee9553759eda8dfff7f5 GIT binary patch literal 605 zcmV-j0;2tiP)N2bPDNB8 zb~7$DE-^4L^m3s900G%aL_t(IPo-09Yui8&%uh;Ugw^;7Mg}FuD6Z_tvXGy$B5^qz z+X&PoI0-I=LjQ87d+S)W>Xd%yhlA7J?(EF$>I}fy|C|qtWoQ!S9{45g@jV0i-LN z9|yLMvHJ;6iG?q#TMTp* zq67o|P65%VL;x4qr3NN$kpM54i8@|ar-nve!o({>nH5iKoU9l;t?CF|4bS99=wGq4 zjWkKdAY;K2hHeF3Pv@YV*I27!<#sNSh${P#ELwOaIa`wW*F6{$3+J{#9c|qEI$ZJ~ z@N_uVCE{6wB?exFMqSS{P>37Z;^10ZSc(?W)tGX!XcPT1Ni&F*jUV3v&Wk2{Gjn59 zOQezl@*-U{c^~>6ji@__Csi8lUb`CiLB`3yphg<_B~DOokKHTspw0`ljBaxJPZ%7V rqwa@M9kx%!0{^%Ee**jo_|f+-`;&%287%=(00000NkvXXu0mjflOPDL literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_juncus_02.png b/dryplants/textures/dryplants_juncus_02.png new file mode 100644 index 0000000000000000000000000000000000000000..aebaacee23e433b744d2c90eeb13ce0c5e0b6d76 GIT binary patch literal 929 zcmV;S177@zP)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00SLKL_t(|UhP(0Q`%4zr2n8r3?HphvBpJ@`*|T?D09;N!9Sxp0o(OQV z{7C^c0^|W?g0u_JEpo+Z}oV~3hk#J#Oe=-3&9IYGo>dP?p zPM`l@1aM&4jt}yoDf3F-i{rDU3CQZv3cAPZ7{19vROWvHubt#?CBzmA7*BS2;73{W z8DPGB9~f8O?cA;pnYItDqX<&XdAxov8PBSnFg82S{-}nTB!B}*tHDX(wShVJm3|0Z z36<^=ayuc6F1C?Xy%1%;@jTNEpx6r;_odyCF(!A};!F}SE_#b~o1c80?*xo%OHUvn z&m*TUqpeB86EG&CHH;$J^rAgnH9(0>=AvR6 zpxE#sS9^>UyYh8Ha$}?8N3`rQ*4!Je6Zx|uY(W4oy4GJttm4MOD1k!HkGL!#tAwEL z35dj9P_zj0tsql}U;s}x1mv1Q6fU>T+eTsL31|$i+&(UOk&^s)_c6mdE+DOVv9`@R zUV4D+P5_auhmd(8yE4<%puPt&pTdX+u>T(&DN~*mqvJ(>}^dzTaVz?MF|xp zfQA->SoWi(g;8Ywplaqec%Q>|3gF;Af9l~#PodKd<9L)sy%EGYBjrB8$L~&^0ILN| z`+LhtYT5v-{y!05l|j3IPYSSm2d&mm3b4wc-M{|N2bPDNB8 zb~7$DE-^7j^FlWO00TcsL_t(|UhP&}PZ~iO<*8}YN24G&6$++NY~>CMs7twD7Dc>L zidJL#VxL;uq_?E$Tc7#^`cr%Q&8$$hX`t?dOZJ5lOQKSPJ(QLoCG-uauT$(4_F#JCqYhv zoCG-uvI%k$$U9O{L zT^XZ>sRb-njFQxmXt6d6`BQgC9m zJcU+2j7)P5t3^AWKAR=*L8zU1WHlf1yB;b1!oF8rk-x@KfvE|&2_RPuLJ*;l%a;xo z5vFybIw!BbR{t>+QiD9T zI0D3>-(Pfa&<#UtEn>T~jB3q~6C!2Ys$YHX&IvGjfV+O*u!Qa!fYJZY1Q=y-(%)wV lOnL>4o}U$9l)*`V|2Koz_pb7pSpfh5002ovPDHLkV1iXpvWWly literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_juncus_inv.png b/dryplants/textures/dryplants_juncus_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..4fad2f2a1a46ca4fa2a771cb671d96d6205e2190 GIT binary patch literal 685 zcmV;e0#f~nP)N2bPDNB8 zb~7$DE-^7j^FlWO00JpVL_t(IPkmBbZxT@u=E>Oj*uZjKZUQj{Ez80dmRlErg@s)x zY%hS7);5hV^+~IVx5W77lRv

gSxZWvih$$;nJ+&iUs1W{$_R!7g6!VN;Fe0q}FL z{rq(ewee`J`tFPA=GFj=Mba&P{BGm;G=Z-_rf%-~Z3_&Tbu5~JJMa|}^Ce4g3vX_U zJf2^bxmW93V8D}e8U6VV&oynIqhobs!;g|lNwURdhWoM=;$Eselxr!60(o+%bXVpWeI z-xi2&5c({ILQjM`Oz}-L4*iY<#z3aQ?3oTtbr>hj#KKA=SKG$^*cq784-tzfwCN65 zcXxp93JIh>4nyktQP3&2Qph%a$n6WLQNB5eq0o(>GPwJ2oW^=|B<1{oohMJW?>nOshw@*a2;@@j5>iskd?I7u-3$qL)ij{tpuWqz_0+m>5wzJ-i z*0JL_zpSCnKqgrlWE|bmW3&try;1D{k5{N4ZfwjJ60A`MQ#*^kk;Dao-q-aH^65BR Tl^#4MOgp`zKfDFdCQJEtMZBjpIqO-4hq+*NuXYQ;HS=D-Y-w3!DEXm& zy$(5eE`qva6aW%F4XVq4KCD|X<_${gu=X%-giaA{rhL)W7ium9`My%s5$yBCt!E@zY+09FA-Jw8lS=s@8tj zR$FPn`}fPVw1U!1{eJ1b9Tl|j>#k9N0nnKHby)Bs6dLXO$0)YA$ZEoY z6C^iMi=g^;><}Ri+L()itI#RE9y*W}l;tA^aXaOoprCvNLA_)idP>WD4DwcSJhW+3 z$^O_ABE%fyw#7xa(}so<1FZl%K~QNJ4ec@%L6b9Z0gy1TUpBiqIUW?jI)K@*m(_1`DbS(Laz3~tNtHzHInqfFI zuo4i+4sF$C08eq@M*${rHB`j~-TWCw+qvSdF8x>cY-#EywG|teDPR>BzRO+Pe^uy} zX7uDaBix!Gk)JpK8n+Qd^pp>vRGNDBzIz)106<2NO~A^xjGax4t*LL0fA(72fUG2qK33u3)(3=_zYoKcy|jhswf1M^5iFaa1q>uFODZMLpO z0eN~`0j#hrFBrJ`ifLg%B@MxPaT4~_%Sk%$7UVbkwUak7NWd6V*W&HCY=p5LCCn17 xki;UuItnm}2CR2NrV5G+(J`x_q~3oB{{SzW(xyG002ovPDHLkV1k{iNCN-> literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_reedmace.png b/dryplants/textures/dryplants_reedmace.png new file mode 100644 index 0000000000000000000000000000000000000000..ee7840f4b3b1e4090b77a04de1c82475030b23d9 GIT binary patch literal 734 zcmV<40wMj0P)N2bPDNB8 zb~7$DE-^7j^FlWO00LS`L_t(IPi0eUSK2@nH{3KzcbjVjx|>3Gn)OL?oi{## z{j<2jH%4*n-)^ic7{x^GcA6K@PfOXXp!XzeV%6;^4h9?l8r`H{WDm|A*)#jYt@M7& zc9>xPx3(gvS|Jq852&|eV1pRM1eZ%+w4nm_sl7Cs3G6=-$MrznM!Y-~8o_OCicxHb@`6`0OIF7+X0jJX#YE}dsfKZ@&DSRG=(3&KC0*-d@ASbbEg>f-R zpgC4>Gs|MHyNQ||CX%ou(A)&d!!TOp!_6!&6mYb?xs0$)xvQ>%D|Z_mn!@H&25dfK z1;Hf^4HM`d0VpnWT)@8ZmJ~_nt8Ns>R*<4hL!YEjaUx`H5T>`hLub^Bx=;i=JKY)O zQSOi;Qr4q!)*clU%y%M)Kdrl?hP>%s QSpWb407*qoM6N<$g5hIDUH||9 literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_reedmace_bottom.png b/dryplants/textures/dryplants_reedmace_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..4e441f43402486172a4f0da214c2dde8107d129b GIT binary patch literal 864 zcmV-m1E2hfP)N2bPDNB8 zb~7$DE-^7j^FlWO00P`eL_t(IPeqeySK3ezhVyHxt@WtLCbEb~02RTtT0mtD5D>DF z4FXuJ2TyC4@9pU?_3h-+>U_#w-e=yKJK;oY2ZjCy62cpB6c?%=Cx!<(X$3b!9v6xq z{ZSeR{S{QS7_J5(6wM8!Zx)`tZu30_#hr5XlT*JIdiFQIvtWPp+uL|$D(%iczBn8LLdMwLW~#v(422m~{Z?q?n+ zqK~b)${>Q2xPWYRl>uDAp}Nkp+z_BTh~b0mMOO0QQr={Dn$rXXZF|1H9&94hTYN6H z!syyO%T|~MP|yPC*h$p&IF9?|=o|k6s7+%yZFy0o-m#kZo6ERp1XL0!`dPTTR7-0 zqhy9&0PQCp`t3eW`}7J0&5ydXg^Cr1>}1fg5*YnDMo9^xW<^jp;>h;iF=toGCR&t0 zd`d!_?BY!JfRiYz^(l+iEDmG32a#;|f246Cc~LP!5D1W$m!3sEi82A2Tl4i6^9{I4RT{_fm6w{L!zqg zg+qW5ed~8TiqbOFNdhv>!i6b|x7Drt$DK3)z?h+%O-KFi5Aklc-4%OpIN0Wa=ozc$mh-%Aws^!|e7L_v1Xw zX%r$2(|>?s`k~4ZsFDllMqn#Du&fxnFw&Bk4ssCdLCi)3u=9AFWgs-?|B4%59@FRw z^MowAjSy;;`6x@RC@dv~PA!a~ya&BUK$RQ`z8As$lt=mU{VSka_MlRJ&Cu literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_reedmace_height_2.png b/dryplants/textures/dryplants_reedmace_height_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fc097818ced0f2888b22b26893a913c374c1f7a8 GIT binary patch literal 1544 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 Ug$}S+UH||907*qoM6N<$f(}6OnE(I) literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_reedmace_spikes.png b/dryplants/textures/dryplants_reedmace_spikes.png new file mode 100644 index 0000000000000000000000000000000000000000..efab46890b04c9dd9bc57755eff9e6135509f209 GIT binary patch literal 575 zcmV-F0>J%=P)N2bPDNB8 zb~7$DE-^7j^FlWO00Fy6L_t(IPh(&hGN7;C=RZ-7{r~?z12P6_n%NnSp}BurEOrC2 z8PHPZgrT^rAJb5{3m-i?^8dn_4RB2pTYNDLSi80vy9>U5zy5#Up2hzgiemmB-?s>? zs5I6NMe*4atNzw!1wq7etKCo}@7_K5fAi+K|L0Dt{eOJdB(PkSmB9aY7jZEA{rijm zH?5lZuOJHQEo4cMf)gj!{a?L$>i-?qt|8u9-{f~Fk z|9}3}n*R(Slf5JuP+YNeUi*I#etdluSiH`f?|*(AzTn@bT}}UwZE5=t zmW)tihZ|5_=Lw96{|ueI32?C{d!hfa+FWpcew5??tD6e`pWHL?KSQgN=>I@@CWK_Q zJJ^7R4n#B+8!-Qm*5rVzIdg2q|AmuMAp9zGuKzw#2rs0R+x^ci_WoZ|=?B-4W61SC zNCBZHyTtW>RXx-IbV-oyDMb$dCrnC(8{n(R{NGa?VL*C`10u}OB|!#6m00`_Niu>f z0@;>T;0otQ=bIr607>RmAtXWG0vQsKV*Vc#ps?hbU*QgC`{nAu*#OYM1N-oH(Cz>L N002ovPDHLkV1h{>3Vr|p literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_reedmace_top.png b/dryplants/textures/dryplants_reedmace_top.png new file mode 100644 index 0000000000000000000000000000000000000000..6beb58506385712ab8cde29201b755b725f2abcd GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxL735kHCP2GC{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KZ#fq~J= z)5S5w!hh~0NB=_(0wL+D?}3m*S}>=NhCOEM@(zK=g!q0yVy+aF$a z(>~tp5u?ej%=87%MOzjA?D=Q?AZtd`yDbVV=Zrq3zdkhaq|2SzlbsbWWJ@c)ZkRS* zn88G%`i8WU5HI)nZe!I$f9Ga%Fi7bzd`YoV__HI$VeQba!G{SzAsIee;3c= m;C#|!*C7RshL_7EKk#0w7I^wmqq_|l)(oDmelF{r5}E)prK?~7 literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_reedmace_water.png b/dryplants/textures/dryplants_reedmace_water.png new file mode 100644 index 0000000000000000000000000000000000000000..0b2b06d93addbf28081a1574ebe58b33899c1673 GIT binary patch literal 675 zcmV;U0$lxxP)N2bPDNB8 zb~7$DE-^7j^FlWO00JLLL_t(IPgRp`bJ9Q*h4X)`Z*66y2-xycppMp0I9j0-NeUs! z1_&fAC`AUQ+G=N6L}HqmXrOl!k7pTqi?O9j?*WqaVf z#(H`TViZlXh(%2~SigtY%_;!~<>YYsK~pA(Y}+aD3&dy=aet{T`oPCZ&_4QSqA&0K42^6WV7G>TfM|1sLm$4i)V#E;%6sZmT7rYs|Wz5E9knKdE z)7pX8k&${Tl6|(VhKn4M3KQQ5jNAj0&BwF7tit=OAf&`HuC;R+0x_vbVBoK=# z0!z1*x+GjJNNv0inZL&2h5?C0!y-nmo=oZzMM!SEy*WxD{|AHyb&D(yRE7Wm002ov JPDHLkV1fv^DIx#> literal 0 HcmV?d00001 diff --git a/dryplants/textures/dryplants_sickle.png b/dryplants/textures/dryplants_sickle.png new file mode 100644 index 0000000000000000000000000000000000000000..31d21de10810abfcc1222fdbc176662d8f2f89bc GIT binary patch literal 260 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 literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/dryplants_juncus_02_left.png b/dryplants/textures/not_in_use/dryplants_juncus_02_left.png new file mode 100644 index 0000000000000000000000000000000000000000..8b23c7add8e647aa0ed2eaf70d40186d0c35978b GIT binary patch literal 444 zcmV;t0YmN2bPDNB8 zb~7$DE-^7j^FlWO00B5jL_t(IPt}smPQp+Sh5HI3P)Y=aMl4A~O8E&?D>Sr}@?)tj zmOvwkh>1}b#`qF$ec)s7CFn|NmrimsoB7V1nL7;g@8W#IgP6X5QD}}7?ko>05Gios zoMQdhha@qW1xL|Ensx@pJWm15V{yAKMu&GcyFQ1mo1x&xr~kXa!?TXs`1re^=WplM zyaI?5ZCXTYRKRM}`P;>1*o`~_x9u#=!$5*$q|h4kP_9m*jWJx7Q5~?DEK3xq4^pUG zF&0Rmp2tJf61Z7OP#g{wBaNn2*zdsff3{uGS;#tvr`HB#GmVOnjKdWqvw=;9FVQ5F?F8DC%$2)Ns*(5x&> mcYEHk@0000<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00CJ^L_t(IPpyz`Pl8|+hUp)aDWa{It0rbCBBGcWAqWDB%GL)p zU$$Pp^bh*fFTaCF*UJ*k)!EnsJml!Tm`Y{4EXHJBIF@l5o{y@cL%_&Vy(&sI`tD1ZNoL^%$yN z3OO}SzC$-npCQlME!-guu0WyVbC7Koyg`%3l1Zaxv8Z>KTSZp>CYY$~L2}aIn)@&Y zIfO1Qga1W!3ENnORvesifU?1$pvNKE#}L{}se(>J^V!Xil68o@8pBl(u9!)bSK+Ty z=ZktYL~%06Yca@9FnJ|%+t%OiMKuN6&!V9x;rd&Its_ro651wN2bPDNB8 zb~7$DE-^7j^FlWO00KlwL_t(YOWjmWbJ9Q<#($s`LV{AH*b)RGgpd*nErA3G4TKO{ zIuN0?t&XD}9LJL!*Bn7(p zP`L+KkOIrvo~O4<#yQ)C;bv*ms=bfvw=D=l0B7!#CD3%9r)%?N3d5`C+a=&NmMs?g zg>SPuiePrVw*+ZS_A!{{F@2*zGQz)rJD19K2-U|N>JCerefvJ9v!}M)XHn|0=uUWu zoiJX%*XXx~mBNwr?9aiy21PTz+}IrZ=dO+t@SIQwdnlhKFuy&4Y(^mI9Q|JEL{YU9 zbY1Hw=rL^+%wwX~d%Px!6{U066(Hzgl+7e6{ihhXMF=Vb#fm{Y^@$!5l3%{+n}M$~ z?@rSwbRy_Y4`@?~*en@-0HrpIa`Q1nGJCb41#xI`NY_KO_Oh`mWNk;9qa?Cw5a)9N z6`Mm&XCNC1m_r79E&#*fp>*TK9fkrI+6>B_I4X;4yEbrpe3$l|7J;a7c=xeH6f-Cq z5oAt?;@Shqr%~|7524#>cv;Aj_xZX{X5;bGLgS)e@AmF8T1jPmTD%j=K{lDf$ zM5^WiabX7vvD{N!BiAw02$Gs8Uj%U@fZuKIxjbIo)}R_uw4E%ZI)|>4LY3shbo^`h u*T?5iHYTnJYmmZhE~C|sN2bPDNB8 zb~7$DE-^7j^FlWO00C`DL_t(IPo0rnOTusz#&^|Cm!ex{hKhQTFS+S9*?hrrTfS^I zvqZzn!gyjAvztITN>2*2?)fy+}MJ0kwo)6j%yyUS8HhSr#%nE~I)I0jo0LG}0SMWa{3N zt}OG4TP$$RFbY}#y$K6h-$y~Aad^Drui!hq+DgFzN#qIDQ5r1i{UZ1=cPw2`D`+~9 ne&+uGhxjlbU}Ui{dTD$DsfLpa@E=Ay00000NkvXXu0mjfb~n*# literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/dryplants_juncus_03_right.png b/dryplants/textures/not_in_use/dryplants_juncus_03_right.png new file mode 100644 index 0000000000000000000000000000000000000000..d43af2e0ce65ead54cffa56ac7ebb6e9fa77236e GIT binary patch literal 473 zcmV;~0Ve*5P)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00C7=L_t(IPpy*8PQpMGg<0wYC_jaQAR1FyC~Zhvt1txn3$!Vf zAee|hamP;M!syBu@Bw^OkDbB7!o}3Y*>p0w=bZ1}+f3#^&(qrgiJ$HlSNBvIi^ncL zJ{L@+4D#v4(+8Cm>!+J|d5;j@$Z)0-duvDAd?R%zu%csagMGE1^yHn3PYc~y4f9(W z=i@q5F9+{xpP!sKld#5+DXt!y$!?b2Wot>sJ#MfC#VRa&4n;h_5@>yKB{rubg1Llb zR=*4tTL9@-q1bseni)_-T0|yA)*6@KsF#g#3$QNhXxbw5ew}UN>>|e(Q}<4=99YW{ zVu~`zNCHjgCMN}rP8LQ`L_4gYX_laQYivrvZNmumK%xqaVHMqRiJ|uPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A0007SNklTJ;zuyv?f+ zRS8M3&C@&*Q@~)b4a9i>rI03ydPz@hTB$Fo>aC}KfPU2eJG%~4v^_*XRzf=-c4z+c zo7uIs1=q!^EEc@F{IwrHuc4G5|0Ce-XJh75EdOc+>ci+P;D>KEPDc@Z`F=F>UB9V- z31j7@4A1h(2Uj^{4fkB2wCS3CzrIOvo1J63QhEd?tamP>IoRgD1AB8hAuK@F^uikL z@j$ZfM%r+K4llR(o-=)X7xNGKp1-Yr>R-O$6d}`cLm$R@f;3Udk*L#g3iW|NwvYac zV)9Z(?IeaAoozjL#I1D6+6KB~2kl;M1DUqKZM7HW$Qdn##K^jf+p^}6S!%J$lrCX! zIlV8Le!RF+v0K@M*l-bn1oX}ZQkvK4c~8K*Pb%`a;+T(7>P)sVos~NYGDo{}>dRDR zhI(I6A8^do;|LNe5gCa{HGELp5!yXSNNZdWCv)cKt+`Xe{~aoH1*A>Z?*I>yVYcDN z$FFr~API3n3m{o_5pFNEehgAWfYOffmry>Qe?bcik!Yx7`eh9Vv(gSz&xwK=N20in z!;Uj>nWm2@1fd>ngH^w9!oM%p>@W=+RY@XB9Y4gn8ISFv|)iZ%T(O)a0 zFbz~{#=(RrH0AaF7DTc$%^-hz*7zwDqNLi+^SrmkT5^6_M3sr??a&~GQMaC;q6=tP yq5Dlft?K=ajs8%CX>H-i-a%83;(|miQuS}{dml&l4*}Nz0000N2bPDNB8 zb~7$DE-^4L^m3s900Co3L_t(IPnD8yOTthT#`l4wqCbNulL*r-S&k%Ms5#I%G>6jE zB%~DVMHC8s;7&dp=j?7|(S-~5aPR%`oaZ?j5ox@&%~ESV4`-##F?yGNllY)sPUdC# z5JUFJiN4BF2pgKJz_9z6TCk>H7HUq5o z0oDAh0E*sz5|ExWL(002ovPDHLkV1iJ8!My+g literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/dryplants_reedmace_02.png b/dryplants/textures/not_in_use/dryplants_reedmace_02.png new file mode 100644 index 0000000000000000000000000000000000000000..8380c200c7f4436db8c03b0da5172a61574a133d GIT binary patch literal 910 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 TQ4I->00000NkvXXu0mjfKSE^8 literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/dryplants_reedmace_04.png b/dryplants/textures/not_in_use/dryplants_reedmace_04.png new file mode 100644 index 0000000000000000000000000000000000000000..800cb964c247a8e19ed775b4d8e72a8a10f36c64 GIT binary patch literal 1554 zcmV+t2JQKYP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000GnNklHwRNi<%uPWo>jq_IyXh=yp{#|D!h}(j zL1D0h1i;hwA?EKI1Id8lu^mYLgpZ7fHcb?~e-uM3=i{*du$sT@>ahhqep+x#>UOU=H{=c z?iH!ibj=&o`gVy1EG#A{cJ{cA8{geU?%fJ-_wG%)apMPCTU(*c%~h3?{lrQQZvU0w#xOh(G6qks2FkeURk-ZwwG+0JGV^uo7 zcI|t*a^+i5$&czj6*tZ89zkbqm^W}T3?iafkZ9&@;03?oN!TV&;<5P+Q>O%0tct< z)E-fq$dA{kqQ*#>z7Whfs4r>)Q>R;~#V~>48TSs6Eugi<%miQBMm_OL4NRVD-qAv2 zu6~EevI6_i9zDUEJ3_5dv*&2OK~$hBL^Xk2jVUrNpaM=nQfKBc;X1cCmi377gEB@n zBRLm210Sk!T)<5;^0`M(=tx%*t``IBK{Wx_&&>By$4G_B!56l%DPWe|ov9|2%>e9D zb5yC0{Ha+l4JRCwm~2u2+%&$BsXA_DlwG__qhHr+Kz^>1IzpdP{A8m7Gz=Y}u3)9^ zJ9O5*0|1RW(iIvIpKYb~u?mWzN&vbiDyi9Dru&A7D4T_ZM&6Wq7Nm$@dE}UE6MYQi zYN=1`Jqwrpu9L8}977|2{HO#VA2$-ljGSl-eSkJNU8g5t1(eMIXfzaeN&xb4D`WL> z0MG{#Q8s=d9{Yg?Z2JMm0O-sdk$F<+2>}2NPa^}^4;a9H5INzN!nuYIngH|xQZa!2 z0R3W&{Qv+g=%2Dnk!1zN08Bs<`vC*k4={#m+hXNXWC?%}><8!%N$dw4vmb=hPN_Wm z0dg&%upjUQ_5+UD4~A0?sXY6^XvU=g><8!%RQ3Y~upb1Ib+T;sgHYOGRscUhe*mx_ z0EkuC4_G+%0|0de@B{RR3G4@$I3oIHKM2HYgB?I;1ky^SdsmJC$JwNhEVJWasnQxZ9f3mf)&^g7{Gpj80E7c$O+=ZexL#D2M`TF z_5%Q*H2VPq*bih&NMb+0jROGt0mk~p*0CQjfc*etQbhIx?0c~v;9-)0qVs`zZzw;& zVwQ37l@SxY!VglSg@gc(iSt35u(6z|$VfVBEp^X6zqTy=F8Xk&npAX_=HIx{2(?DP!<)Za; zVqCb8I3Glc&Ic314~%e?{IeMSRg?(UQa+~cvS@!bB?es->=qRbdng@r(qzI$Lw@so zFrBkgWc$n{Up_{66-B)2?Q3*ZQ6}J^XqSz$eI82s>gaT!g$$qh`kzU;DSX^Kgjph; z>NDS+b6N4wb*V$xe+oOCx&bwv0ssI207*qoM6N<$ Ef`T&2E&u=k literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/dryplants_reedmace_bottom_left.png b/dryplants/textures/not_in_use/dryplants_reedmace_bottom_left.png new file mode 100644 index 0000000000000000000000000000000000000000..c28ba71a8253e8f23658f8702c9369ac86dd76f8 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|KvkZe zE{-7<{>eZ7|F>t>RM>utcb(#*17GZ!Q`u%r%yTGP%Drl`XQ`vtOrXFKv6}&D4keAM tscZ>HBvvLGWHC&0vG-vTe8O8~$naxtt_#=q8fKuO44$rjF6*2UngG6GJyZYy literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/dryplants_reedmace_bottom_right.png b/dryplants/textures/not_in_use/dryplants_reedmace_bottom_right.png new file mode 100644 index 0000000000000000000000000000000000000000..65b544aa2d1b3ec03b8860e36aa9ebc5b83bc460 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvfex zT^vI!{F4(HntHsR|5xBin#}a?KYP~6wPnBM!?S+cZ#~p#!@Ox#%s+RLS^xak7yOBj zdG0w$F+qIEl-rCi|MP5Yz4rfe_8m`igL81%1j8e(zUh1I S7U=*T$KdJe=d#Wzp$P!1Yh+>o literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/dryplants_reedmace_left.png b/dryplants/textures/not_in_use/dryplants_reedmace_left.png new file mode 100644 index 0000000000000000000000000000000000000000..69783a83dd701b53a1f19cd2d353144e6762224e GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvg}S zE{-7<{>cdo7*awk{w{a0W_EVksGG{x@_cqs8iVUO`HHixrthZwwBLTKw}!dvwatI^ zDYyTq-xiqgIk`*sUwX)-nG+n$+(l;n^T;oSf$%XTY|ITSt*iWY#}+hOm5#vl~uxngZR$ N;OXk;vd$@?2>|(>T(kfH literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/dryplants_reedmace_right.png b/dryplants/textures/not_in_use/dryplants_reedmace_right.png new file mode 100644 index 0000000000000000000000000000000000000000..30b77ac3b16f594f2b50e343a0e5aeb7bfda577b GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvh#c zT^vI!{F6_tE&DAWmhx$SW6Xrur=RS19GFnUY@{XgpFJ?iA#11Y&uz_n=0>DB&tx=I zoi;^MATY&kCgZ}^V+G6(fn0}Fj%w&|37>xRPkrjmNy{Wtf(sTt{NLmC{Qp8$w!lvI6;>1s;*b z3=DkxK$!8B)5ZfpL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|KvgE5 zE{-7<{>eZ7|F>sWl~^-V$smj2aE1a?@P!M$>_t>} Z7#8HFPno%V$8Mm022WQ%mvv4FO#td(H-P{E literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/dryplants_reedmace_top_right.png b/dryplants/textures/not_in_use/dryplants_reedmace_top_right.png new file mode 100644 index 0000000000000000000000000000000000000000..d64b53735d5b368a1a23c45e089d593f8a6b733e GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|KvjjF zE{-7<{>eZ7|F>sWozW=7uxW;pfd}u2wPnh;k|p94T#Yq81n_w1Z2mnz@};rXNX{ mk{R+CPW-&cIxS^414G!mnli6d(LlQy7(8A5T-G@yGywpC1yt<- literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/reedmace2.png b/dryplants/textures/not_in_use/reedmace2.png new file mode 100644 index 0000000000000000000000000000000000000000..2450ceae8cf293666f8f64ed4e5e4b5c8349c687 GIT binary patch literal 2511 zcmV;=2{87FP)N2bPDNB8 zb~7$DE-^4L^m3s900~P;L_t(&L+x2@Ok39(zF?YAnx-sinuG)lCJ^$0jg2uFFb)`l zZN5JZi4E8ou=(%@*L(z0NK&QUmNnh7cA7dx+WxlFq&3>2b=uNt)09ryk4}oT{HUsB z|0Ye@{Sp z?#IK2zxwxWHNcQtom&US5=u8+ie-UehVYx~jTx&Z71KM0gfVa64Mw=?& zle6tr@;?1DyGE(+c` z%d?Zw7Iu-P4G+Y{ei#W@l=h(L$n!1PzABr7f58UR5eF0$6y%8p%?D}MK_Q>ZU9t}v zX}KuOi|)L+jSfXXRP2HAP{xHKmpWh|RCi1^h4?EyI77|co~RW(qIoY0$hpOhYJrH# zMIjJvJuy6A&jQ4n-07uYEzHCmN;|p`c%zMZvMD6K(hEc3TBUvYQnyl84J05fLTeWa z>$+e15dFC@?GBUiCP=&4%Ju*ZMlI`9Cd6;_LeIP*eQ*AFxIujZgkZuBT7ytnY!p7g z3yN!mo6*z6FI+!}UCx^u?vH8bh}t^4eM{_3(_J0{cMe(-A(T?#8z0m=tlB6vMA}-Ia;9zNH2KV%pS&PEMV&^0TQ7#3gI-N zv;fH#6uWg;2c@+d7!1@v+h7^D8PIJyki2hET07)oB#_EkM`KqJN0IP~6N=43Y$stF z!B$@x7&;F?+Rf@PQc-*7*hz?p4lXxz9p%13bT#^&h_|RioxLIP z!d0o{RxjIgS6tvbP76W^$=O>1ZgLhB2Zn&i$Ly0&rk)F`Vv`NpO#;`fQcE+ zf*yT7?M5V^KWK#0&HJFgTcfQ0g3$Jys z0NMkXRE_W{5%#ay6_OSlWnbpH5TwQw79U38-!Q+McD!p;$1gA)l8a3uRc!_U=&jG>zy#V)&%qD(-fI%9FqI! z8lK^pPlC8Finq9rf(}RC(3V+4Weq|#zbqR_=l|)cE|FhKWcU|Hk|NFcdJBh3+Q_O~ zpI69H%*WsFP}z;=fOI|W)LL^c3+5MP6O)O|C&N-XT;i^qN|T|5N#_AdGwc|xIOcO( zj*>21dczA9)_l1h-3Qkeg;QD|{NQY2XWSlJu;TO=N<@$-E$9&XHJt~_FnLQ8r0ZnU zUS-n~Zw&Bxfa*^*Kc_s8){k6N4>jk~0;FT2#eIYqF(qp|1^8BN%BD5{H4pHHh^`mF zh0PB_&>2E5ss~DgE72WV$8^wwF4H$@H!VQ#j(@^=9Zgf11A!WqtGdcZi}( zEMw@jW5y|>m?U0-gcXM7&%)-*JuntDu^{q!>Q9kqV9o@?6Z+jDAc2c;W6cAzi8}sW zML}=g^urXU3YXTqxo$FSf*76$V zd0=g(6Sk6en4QuqWUp=F0e&j;2gp-LY}^KmKI!XoY|IAh!48Oz*$?JrUJEQwWC*TJ+d=e8pG!nv8*B&qAU2tCp*J?VV1DfEe?WjB Z`~!f%`m(H(3WERu002ovPDHLkV1m4@sX+h$ literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/reedmace3.png b/dryplants/textures/not_in_use/reedmace3.png new file mode 100644 index 0000000000000000000000000000000000000000..395a1102a815fecfa71acc17353a6061b7319972 GIT binary patch literal 3035 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 literal 0 HcmV?d00001 diff --git a/dryplants/textures/not_in_use/reedtest.png b/dryplants/textures/not_in_use/reedtest.png new file mode 100644 index 0000000000000000000000000000000000000000..34a7a052fc136ddd47ac61bf0249b4540d3243c4 GIT binary patch literal 463 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 bj~yLNdC?t;Vmq=}O)p?(Y-v<;2^;r6M_onw literal 0 HcmV?d00001 diff --git a/dryplants/textures/old/dryplants_grass_short_old3.png b/dryplants/textures/old/dryplants_grass_short_old3.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f6c5b15b36603fd2c12b9e4b570b162983f370 GIT binary patch literal 823 zcmV-71IYY|P)2zkgOXjj<-*U$#Z%$56&iTF1 zdER1~0m_f*>=21g7-G5`x-xUGjZk62$UeDa;EOuwQ3SrYK z#~lS#pZ@LU7LC+xSI*j~IEm(6Dr-k}N3mU>EuCy+dZ>IB|JqToS&h&3h#!3gz#x&c z)_2VHOc$5Tfb5Xat@(@&W24wbod?0#MU~IH2)?CuB-IM)K3g2qaqZbpr%;+OMUTz& zh&x;1Ed0upO2;e)L$kV|d334~dR18!I$_|=YbnkMeYV8%37a$mA1a*UP~esB(U{N* zstzHTgg#_+FA9CM_VkOD)qO^FQE@~=U2`emN*3|Pk77b|UG0;Kjqdu&FJIL>R<^0U z%VGxs zH`cZfRw2hEGrV`c3HzxofDy=m+aVW^B65#}_~PBt;{row(G=tQ5|(a;;dMZtVBrOi z(vRt_dSL%N{=UY~4uwxGDb)zVB=`%;w-16?q8iZLN2jNaw9pC31C%oHn~q!<(qKGL z!RYS;^;-`r3~({UCLn_Y4|3g1Um9t6FR2^h%y3~86Iz7a!*5MNb?67b2tO6}_jLck zD?+!}j)0XwmHVXFBe!b7j03Bq#UY<;;*a?Mlz$#X0)Xu6I`04g002ovPDHLkV1kAu BZsPy| literal 0 HcmV?d00001 diff --git a/dryplants/textures/old/dryplants_grass_short_old4.png b/dryplants/textures/old/dryplants_grass_short_old4.png new file mode 100644 index 0000000000000000000000000000000000000000..571019a56cea72bfccd89346e21975a9acd19867 GIT binary patch literal 455 zcmV;&0XY7NP)H;LN@>a0We8KK~y+Tl~dbJ!axw+k0Zz> z2n~@ZU!*OC29b*r5)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00BoyL_t(IPo0w6PQpMGMfn90C^S$l1f)qN+$0o5T4^ceRM_JK}?is7R@0KZ`=9b;L(4L6bVZvOV5E@Mp=uaIm)3mxenIC zU?rf^XE0tBD5Tzxqi&?bt+8w8ASzKTyfRv|6iQkG4TC>zpgY;$S(H=;RW$|uHIJ&E zK+RxI1Bmi*7RIsyp&do{xd_S3z;^F~0gl@spn5L@u@i&fw^M9igago@I4bxSmym`m zN@^@TVC)w0wrxW(Sm>4*9zZPi-!r_pRhZKo`~c^Op4)%!&jA1c002ovPDHLkV1miS BwP^qV literal 0 HcmV?d00001 diff --git a/dryplants/textures/old/dryplants_juncus_02_right_old.png b/dryplants/textures/old/dryplants_juncus_02_right_old.png new file mode 100644 index 0000000000000000000000000000000000000000..2e9af80bef200f2b620e39ac2c3851a5b2cd5cfc GIT binary patch literal 481 zcmV<70UrK|P)N2bPDNB8 zb~7$DE-^7j^FlWO00CV|L_t(IPoymVN>HmK{9l#KiDr)+0Gwb>8nKJ|c`A>!7 zp2uwaco{&OKVY(|VDT+O>?i+--Hm({NW5;%F^l?$g+1pXSV?^S=)OR6@_2FXBi#^b zn1W~o@2^`Kw5K_Lu8f26RFTQDhUyyw*~vm5-1(x0!=5Gf?h?^t(d^zpprf}@)njNl zX%y6izxJ}}xU64?+>nwQN7YE8@A8msj?NkX;n+c0$0b16klU_(qfPX8StGe z7}Em0EJ}30q6V-?K)IU$uUw;Muqf*ZNOl%NF9=o88E7sS?cmvpqo`6BR9rVxsO`l2 zT{qj-Q3z26ITYy=N2bPDNB8 zb~7$DE-^7j^FlWO00DbRL_t(IPnA1}ceSd5>A}+oTwr?| zT?1$>-!#~L37;SGe)*GS0eMs0fH+WP!sh&HM-D6Cfa=hXJPV*V&p4NJZ4s*Jck0?METQkR~NQ}D_SJG zv-VzLAv`T>NZr))hdn=F)i09nI}-aN2bPDNB8 zb~7$DE-^7j^FlWO00C!7L_t(IPnDBfPr^VDh4)V=w^ERb#Go-s38AH-6oFo7X)To~ zn217n<^Ml;Y)4yo0E?3}yV>lV{m#skvAtM-hzNuI=S$L;i#u$$D&hm#JmxwLGnUXv3V>X|D$7wEiW++LHoZa!ig^>G$>cJVrbwLIT!8 z!17bXa8^ZooW=O9mRLv?(0qZABV0KY6RiyGMg50tKMql_j$1)f&r`)!pU1=S43f!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`R{j-xfP*s|z zi(`m|fAWw2|LvJIEw&%~SzoeHGT?MQTR)TNC6i{8MxKVq7qKhcb}`-z?JHpZ!?o4J zTw&=Qu{?)@iE=O5j)+Ac;^ol1qJEblf}!b<;+hK`CCnF+dzNS%5xcvX?N7P{Z}Wd1 Z2FG_Fl7l9QwE}Hq@O1TaS?83{1ON>HOk)55 literal 0 HcmV?d00001 diff --git a/dryplants/textures/old/dryplants_reedmace_bottom_old4.png b/dryplants/textures/old/dryplants_reedmace_bottom_old4.png new file mode 100644 index 0000000000000000000000000000000000000000..8a39dceaff1d525e272e999f52afed575b445ab1 GIT binary patch literal 897 zcmV-{1AhF8P)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00R9vw)XSZ{zac{Af;V(s^*;2{hYTiqvWgeq_io5xjq!J@c9d( zri-ZVrcevAa^BB*Jw&wRCT-5KDd!1GW%<1CFERncSNt)vX zGyUvcct}?~BFEzk$?pbtQpoV7i$t!aDp6Fe00*veO-70L=6{PCu8iEB!!sB zjpT<&W<_#+k@poZvGO3BrkhO7N5=NET^eJ%rm}DJ6zJbpd83W9t*I!l^_Qf|Q^b!) z(HcwSYXM^B0EzM#@2WFos(#irH~Y>k2R{LMQDa@N5-Sa%Y>J$0)5lTWi`fcuS`X6r zXM?@+B)hgst~Srch4@r`yf1sCwE<2AV78WtT@0WYjS%$@5sG*7I5(@JLN32A3t*fb z%PqhFZ>_;ct+vFm<>6Emo!tdE7IjH;6vb+WXbK?RoTA=d!)dQ#KP*eXM@c&>g}RTV z)Zm~n)y@C3`bvCfNm;`bt^7Zu!C(Z;PK1RB$c^BqL9Ew++wESfCNsOAm3pjK9 z?3YxUtq_K&QEDRby0LDx zLPg+L?HI?}vx3&=MUt7pXF#ejLj3Ug;86auM7H;0TE_L*m?M7l>r+71o*{Z5Ga&Xq XLgLvOqSjl#00000NkvXXu0mjfI)R{T literal 0 HcmV?d00001 diff --git a/dryplants/textures/old/dryplants_reedmace_bottom_right_old2.png b/dryplants/textures/old/dryplants_reedmace_bottom_right_old2.png new file mode 100644 index 0000000000000000000000000000000000000000..d82ce5a24bafbf7212ccb4c5f0490e0bce91a00c GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`R{j-xfP*uC9 zi(`m|fAWw2|LvW#mcFeQVB6?3|khb-2{d=da|1%xLMXv9j zn8V@hGxOyC15R`QbE<~@|C}A`X?|e2hwK{7T^HWipRiVGZ_J;l786`HRrw`bi>UNL zQ`Mk=ww5O?&F>BcGXFE?sgYn{XiIrs>)LC180aJhPgg&e IbxsLQ00=B$f&c&j literal 0 HcmV?d00001 diff --git a/dryplants/textures/old/dryplants_reedmace_left_old2.png b/dryplants/textures/old/dryplants_reedmace_left_old2.png new file mode 100644 index 0000000000000000000000000000000000000000..a66f882ad741f15eac05c5ea4edb9f7f8febe785 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`R{j-xfP}M9? z7sn6_|KuP4|JyU~v{-y;Ud>qrZ(*-B8paAc9Quuz9o8w_{=cC>+Jd?3RZL^wf&<)@ zTlJnu2V8pa&wl%{pY|sNHXUMk^5;TO^Z%QseNQAAHd$`)cwHZ)I+K(0$)5>Hd;f2I zy6nkLh7^Z{iSPcuFcQAR%fOmYHdWbz&B^P8$EgJjKAPKEr60sE@!ZAjz$g)&!)bP4 dbHG=7hU~;guWoCGssmlg;OXk;vd$@?2>>-4XxRV& literal 0 HcmV?d00001 diff --git a/dryplants/textures/old/dryplants_reedmace_old8.png b/dryplants/textures/old/dryplants_reedmace_old8.png new file mode 100644 index 0000000000000000000000000000000000000000..404cac0bedbfcdbe2c02207f5ae59166903eae82 GIT binary patch literal 777 zcmV+k1NQuhP)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00MBD$kB zJ~M6$(5zWryPvjje6x&A;}!2i*P~UGyV2kQ0|s;0wkAM#w5PvjP4n7$*u=>oiK00v z0eU|T^=cC5pYuTmyZ)j8OrkMR7(!pZ9sUQnOQCE=Bw()>Md5l3#l~C!sQL+1ta;vF z`Z?&Xf^9n*0LuLc8jd0X@2n|o7-N5qI?Dl|`MiRoUV`^+FUuL6f0r3j3B#W|s9eM( zKsCpqo=@X_YY8L}9k!knkg&8qwBooL=F#+40)Y8r3uR+L0z`CFdyCNY2#8LHm0^t2 zZVc1VjA>9AbvwnG(3|#iE(jJpVGI0O5>z;>N^8BtOSH8+ml{RUd! z-tgP*&ARlxIZ~j1Q33!(AZuTMReJ%toxzp}X5ST{KV?9@@$qI&0!{`A?D|pYzD$!u zBx|kPbuLLWr?8{XqbRJs9A!}%#shm9u;ddygij7t{Xy=j_!&@;6C;cR-@k&mVMLzS=5}+F6sNE%T=q|9*EhmSab`;y@1lofP z>JLe*btZ5s;F{2ZL?n^x?vfl7qN&{(u6I{x(eSf4wo=%4WBiC3tSEZF(a*50WFv`O z5?KY)SaRfWP=uOr<3Nma(|^svk)2cm0mzB7uTtbq(S&~ieKIsy2_d&U00000NkvXX Hu0mjfOy5mr literal 0 HcmV?d00001 diff --git a/dryplants/textures/old/dryplants_reedmace_right_old2.png b/dryplants/textures/old/dryplants_reedmace_right_old2.png new file mode 100644 index 0000000000000000000000000000000000000000..c916975d766b3ecbfdd879fd3d15cf2744eb12dd GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`R{j-xfP}Lky z7sn6_|KuP4|Jys~^%_t3b>4xGEql=kh6&Gh6d8YtWiUFhIACfG^QKj@|Efh+Ovrce zYW-Tj-pTY6?}8)$7jPtWXc#u#=HucIN^Viy;31vk5Hs`X{}n;WllC5Z!26{>Yw6qi z`%Ju(Oq=&IbTN7zYGj<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00IR`L_t(IPheW;K?^xIQ|HiRtV6kEY z=Ks-}9B>29o>=+6J}U^!2ZsU3i4kh-a0N@}wf_g<$JbYZ#c~X}{s$>QEO`I^;{Q#n zCj2jmazYr;>LmIEUtI^ zUsC1sKQ_}8Za^H+fQ%d$I6pti@&DCL1^-X(nFuie*@^izF8?P^PW~UAWAqOeZDkF9 z|FcV-;Rb|QD*azLDFqP*VVU~>5`fwa^x>0px|y0%JrNbi4i!%GN;`5SnZFKePm4gIAH-|Hu-f|DXT`Sy0;O{olVp j58;A|ZvQ>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`R{j-xfP?e#l zi(`m|fAWw2|LvJoXDFRj=yvCo;B8i%$Jh1xZiC$d1*y;3F&f4S+mFpGVs>a_V8}E7 VDRSh|%n+bv22WQ%mvv4FO#s6TGzS0x literal 0 HcmV?d00001 diff --git a/dryplants/textures/old/dryplants_reedmace_top_old3.png b/dryplants/textures/old/dryplants_reedmace_top_old3.png new file mode 100644 index 0000000000000000000000000000000000000000..07f9539497a85b253c5c18bbbfc7ab9fe46f11e1 GIT binary patch literal 504 zcmVN2bPDNB8 zb~7$DE-^7j^FlWO00DGKL_t(IPnD8wO9DX@h5avvMkr=khA3&7T4rbzS!R)?W+nTQ zyKE|z;+F_||Gk~OV>3IEi}+za9A@srx#x@vfNRoG?^DAk?#3Vv{%KD_HO4hb_EKM zZ1d!|Ze~$xuLxa#O@N2&2q4=WkZQVdYD9#ty~M#oW&pV|(t1A)vdsZ$)%{&<#f7ds z#lS;m0J$>Ko#!2pZ4Ss>&LLl!7kaM~0uPx1lW(ABT#)(#DmK0nV++ z=zGeQDcvNijBIm2b&x>G3JYL)5Mv=1TfzT;V>5)ayC~9CuNWv;L1cBGt&IS4kX1b+ z0MWRMqPc)0a}oKv9b&l`MzUc8Da6L`Uu4vo5r8U_d*9Z*IMMCisimCe|5IbxTw!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`R{j-xfP?eXb zi(`m|fAWw2|LvJoXDFRj=yvB_;3gq*eK#ZX@oni3$ xP)N2bPDNB8 zb~7$DE-^4L^m3s900Iw5L_t(IPgRp!Q`1lsh4X*J8(_y;+6rx~mRJ>)R)qCPw(7O2PXlgm;XqV1puSUDgX{ zk3w@zt@~Rv?yvkS_G=@f^k_pCyrHk&JG$^XeCX2dQuuLI33zSt^ry1c&JLf`_iMeAp!37B5;#9vA+M(_XF-i%J8`#pQ*1UUa!S(C-PEMGpRe&i zo}pfs6Sv6@!FKF4cn*wyWxG<~J~n8$|60~saPX4+UPTK0_|#&7iS?G}z$o?0l!@%9 z?-E@=Eaw7vOw0;7dx|n3vTduz2f!$Ct2B37T>nhF3^{Q`41l`w8 z`2ZNrtW6o|Ht8_r*cK513Tih|lQ+W=zQC?}$X#Zq8_b9!0u?SROCc$Sm%#h){g-{&H7B{tuEJUi GREEN DYE https://en.wikipedia.org/wiki/Equisetum +----------------------------------------------------------------------------------------------- +minetest.register_craft({ + type = "shapeless", + output = "dye:green", + recipe = {"group:horsetail"}, +}) +----------------------------------------------------------------------------------------------- +-- GLUE WOODEN TOOLS with RESIN & POLISH them with HORSETAIL (planned) +----------------------------------------------------------------------------------------------- +--[[minetest.register_craft({ + type = "shapeless", + output = "default:pick_wood", + recipe = {"default:pick_wood","group:horsetail","farming:string","default:stick"}, +}) +minetest.register_craft({ + type = "shapeless", + output = "default:shovel_wood", + recipe = {"default:shovel_wood","group:horsetail","farming:string","default:stick"}, +}) +minetest.register_craft({ + type = "shapeless", + output = "default:axe_wood", + recipe = {"default:axe_wood","group:horsetail","farming:string","default:stick"}, +}) +minetest.register_craft({ + type = "shapeless", + output = "default:sword_wood", + recipe = {"default:sword_wood","group:horsetail","farming:string","default:stick"}, +}) +minetest.register_craft({ + type = "shapeless", + output = "farming:hoe_wood", + recipe = {"farming:hoe_wood","group:horsetail","farming:string","default:stick"}, +})]] + diff --git a/ferns/depends.txt b/ferns/depends.txt new file mode 100644 index 0000000..0077f8a --- /dev/null +++ b/ferns/depends.txt @@ -0,0 +1,2 @@ +default +plants_lib \ No newline at end of file diff --git a/ferns/fern.lua b/ferns/fern.lua new file mode 100644 index 0000000..01b807d --- /dev/null +++ b/ferns/fern.lua @@ -0,0 +1,250 @@ +----------------------------------------------------------------------------------------------- +-- Ferns - Fern 0.1.0 +----------------------------------------------------------------------------------------------- +-- by Mossmanikin +-- License (everything): WTFPL +-- Contains code from: plants_lib +-- Looked at code from: default, flowers, painting, trees +-- Dependencies: plants_lib +-- Supports: dryplants, stoneage, sumpf +----------------------------------------------------------------------------------------------- +-- some inspiration from here +-- https://en.wikipedia.org/wiki/Athyrium_yokoscense +-- http://www.mygarden.net.au/gardening/athyrium-yokoscense/3900/1 +----------------------------------------------------------------------------------------------- + +abstract_ferns.grow_fern = function(pos) + local fern_size = math.random(1,4) + local right_here = {x=pos.x, y=pos.y+1, z=pos.z} + + if minetest.env:get_node(right_here).name == "air" -- instead of check_air = true, + or minetest.env:get_node(right_here).name == "default:junglegrass" then + + if fern_size == 1 then + minetest.env:add_node(right_here, {name="ferns:fern_01"}) + elseif fern_size <= 3 then + minetest.env:add_node(right_here, {name="ferns:fern_02"}) + else -- fern_size == 4 then + minetest.env:add_node(right_here, {name="ferns:fern_03"}) + end + end +end + +----------------------------------------------------------------------------------------------- +-- FERN (large) +----------------------------------------------------------------------------------------------- +minetest.register_alias("archaeplantae:fern", "ferns:fern_03") -- support old versions + +minetest.register_node("ferns:fern_03", { + drawtype = "plantlike", + visual_scale = 2, + paramtype = "light", + --tiles = {"[combine:32x32:0,0=top_left.png:0,16=bottom_left.png:16,0=top_right.png:16,16=bottom_right.png"}, + tiles = {"ferns_fern_big.png"}, + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1,not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, + drop = "ferns:fern_01", +}) +----------------------------------------------------------------------------------------------- +-- FERN (medium) +----------------------------------------------------------------------------------------------- +minetest.register_alias("archaeplantae:fern_mid", "ferns:fern_02") -- support old versions + +minetest.register_node("ferns:fern_02", { + drawtype = "plantlike", + visual_scale = 2, + paramtype = "light", + tiles = {"ferns_fern_mid.png"}, + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1,not_in_creative_inventory=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, + drop = "ferns:fern_01", +}) +----------------------------------------------------------------------------------------------- +-- FERN (small) +----------------------------------------------------------------------------------------------- +minetest.register_alias("archaeplantae:fern_small", "ferns:fern_01") -- support old versions +minetest.register_alias("ferns:fern_04", "ferns:fern_02") -- for placing + +minetest.register_node("ferns:fern_01", { + description = "Lady-fern (Athyrium)", -- divinationis + drawtype = "plantlike", + paramtype = "light", + tiles = {"ferns_fern.png"}, + inventory_image = "ferns_fern.png", + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, + on_place = function(itemstack, placer, pointed_thing) + -- place a random fern + local stack = ItemStack("ferns:fern_0"..math.random(1,4)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("ferns:fern_01 "..itemstack:get_count()-(1-ret:get_count())) + end, +}) +----------------------------------------------------------------------------------------------- +-- Spawning +----------------------------------------------------------------------------------------------- +--[[plantslib:spawn_on_surfaces({ + spawn_delay = 1200, + spawn_plants = {"ferns:fern"}, + spawn_chance = 800, + spawn_surfaces = { + "default:dirt_with_grass", + "default:mossycobble", + "dryplants:grass_short", + "default:jungletree", + "stoneage:grass_with_silex" + }, + seed_diff = 329, +}) +plantslib:spawn_on_surfaces({ + spawn_delay = 1200, + spawn_plants = {"ferns:fern_mid"}, + spawn_chance = 400, + spawn_surfaces = { + "default:dirt_with_grass", + "default:mossycobble", + "dryplants:grass_short", + "default:jungletree", + "stoneage:grass_with_silex" + }, + seed_diff = 329, +})]] +if Ferns_near_Tree == true then +plantslib:register_generate_plant({ -- near trees (woodlands) + surface = { + "default:dirt_with_grass", + "default:mossycobble", + "default:desert_sand", + "default:sand", + "default:jungletree", + "stoneage:grass_with_silex", + "sumpf:sumpf" + }, + max_count = 30, + rarity = 62,--63, + min_elevation = 1, -- above sea level + near_nodes = {"group:tree"}, + near_nodes_size = 3,--4, + near_nodes_vertical = 2,--3, + near_nodes_count = 1, + plantlife_limit = -0.9, + humidity_max = -1.0, + humidity_min = 0.4, + temp_max = -0.5, -- 55 °C (too hot?) + temp_min = 0.75, -- -12 °C + check_air = false, + }, + "abstract_ferns.grow_fern" +) +end + +if Ferns_near_Rock == true then +plantslib:register_generate_plant({ -- near stone (mountains) + surface = { + "default:dirt_with_grass", + "default:mossycobble", + "group:falling_node", + --"default:jungletree", + "stoneage:grass_with_silex", + "sumpf:sumpf" + }, + max_count = 35, + rarity = 40, + min_elevation = 1, -- above sea level + near_nodes = {"group:stone"}, + near_nodes_size = 1, + near_nodes_count = 16, + plantlife_limit = -0.9, + humidity_max = -1.0, + humidity_min = 0.4, + temp_max = -0.5, -- 55 °C (too hot?) + temp_min = 0.75, -- -12 °C + check_air = false, + }, + "abstract_ferns.grow_fern" +) +end + +if Ferns_near_Ores == true then -- this one causes a huge fps drop +plantslib:register_generate_plant({ -- near ores (potential mining sites) + surface = { + "default:dirt_with_grass", + "default:mossycobble", + "default:stone_with_coal", + "default:stone_with_iron", + "moreores:mineral_tin", + "moreores:mineral_silver", + "sumpf:sumpf" + }, + max_count = 1200,--1600, -- maybe too much? :D + rarity = 25,--15, + min_elevation = 1, -- above sea level + near_nodes = { + "default:stone_with_iron", + --"default:stone_with_copper", + --"default:stone_with_mese", + --"default:stone_with_gold", + --"default:stone_with_diamond", + "moreores:mineral_tin", + "moreores:mineral_silver" + --"moreores:mineral_mithril" + }, + near_nodes_size = 2, + near_nodes_vertical = 4,--5,--6, + near_nodes_count = 2,--3, + plantlife_limit = -0.9, + humidity_max = -1.0, + humidity_min = 0.4, + temp_max = -0.5, -- 55 °C (too hot?) + temp_min = 0.75, -- -12 °C + check_air = false, + }, + "abstract_ferns.grow_fern" +) +end + +if Ferns_in_Groups == true then -- this one is meant as a replacement of Ferns_near_Ores +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + "default:mossycobble", + "default:stone_with_coal", + "default:stone_with_iron", + "moreores:mineral_tin", + "moreores:mineral_silver", + "sumpf:sumpf" + }, + max_count = 70, + rarity = 25,--15, + min_elevation = 1, -- above sea level + near_nodes = { + "default:stone" + }, + near_nodes_size = 2, + near_nodes_vertical = 2,--6, + near_nodes_count = 3, + plantlife_limit = -0.9, + humidity_max = -1.0, + humidity_min = 0.4, + temp_max = -0.5, -- 55 °C (too hot?) + temp_min = 0.75, -- -12 °C + check_air = false, + }, + "abstract_ferns.grow_fern" +) +end \ No newline at end of file diff --git a/ferns/gianttreefern.lua b/ferns/gianttreefern.lua new file mode 100644 index 0000000..bc45f76 --- /dev/null +++ b/ferns/gianttreefern.lua @@ -0,0 +1,408 @@ +----------------------------------------------------------------------------------------------- +-- Ferns - Giant Tree Fern 0.1.1 +----------------------------------------------------------------------------------------------- +-- by Mossmanikin +-- License (everything): WTFPL +-- Contains code from: plants_lib +-- Looked at code from: 4seasons, default +-- Supports: vines +----------------------------------------------------------------------------------------------- + +-- lot of code, lot to load + +abstract_ferns.grow_giant_tree_fern = function(pos) + local size = math.random(12,16) + local pos_01 = {x = pos.x, y = pos.y + 1, z = pos.z} + + local leave_a_1 = {x = pos.x + 1, y = pos.y + size - 1, z = pos.z } + local leave_a_2 = {x = pos.x + 2, y = pos.y + size , z = pos.z } + local leave_a_3 = {x = pos.x + 3, y = pos.y + size - 1, z = pos.z } + local leave_a_4 = {x = pos.x + 4, y = pos.y + size - 2, z = pos.z } + + local leave_b_1 = {x = pos.x - 1, y = pos.y + size - 1, z = pos.z } + local leave_b_2 = {x = pos.x - 2, y = pos.y + size, z = pos.z } + local leave_b_3 = {x = pos.x - 3, y = pos.y + size - 1, z = pos.z } + local leave_b_4 = {x = pos.x - 4, y = pos.y + size - 2, z = pos.z } + + local leave_c_1 = {x = pos.x , y = pos.y + size - 1, z = pos.z + 1} + local leave_c_2 = {x = pos.x , y = pos.y + size , z = pos.z + 2} + local leave_c_3 = {x = pos.x , y = pos.y + size - 1, z = pos.z + 3} + local leave_c_4 = {x = pos.x , y = pos.y + size - 2, z = pos.z + 4} + + local leave_d_1 = {x = pos.x , y = pos.y + size - 1, z = pos.z - 1} + local leave_d_2 = {x = pos.x , y = pos.y + size , z = pos.z - 2} + local leave_d_3 = {x = pos.x , y = pos.y + size - 1, z = pos.z - 3} + local leave_d_4 = {x = pos.x , y = pos.y + size - 2, z = pos.z - 4} + + if minetest.env:get_node(pos_01).name == "air" -- instead of check_air = true, + or minetest.env:get_node(pos_01).name == "ferns:sapling_giant_tree_fern" + or minetest.env:get_node(pos_01).name == "default:junglegrass" then + + minetest.env:add_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name="ferns:fern_trunk_big"}) + minetest.env:add_node({x = pos.x, y = pos.y + 2, z = pos.z}, {name="ferns:fern_trunk_big"}) + minetest.env:add_node({x = pos.x, y = pos.y + 3, z = pos.z}, {name="ferns:fern_trunk_big"}) + minetest.env:add_node({x = pos.x, y = pos.y + 4, z = pos.z}, {name="ferns:fern_trunk_big"}) + minetest.env:add_node({x = pos.x, y = pos.y + 5, z = pos.z}, {name="ferns:fern_trunk_big"}) + minetest.env:add_node({x = pos.x, y = pos.y + 6, z = pos.z}, {name="ferns:fern_trunk_big"}) + minetest.env:add_node({x = pos.x, y = pos.y + 7, z = pos.z}, {name="ferns:fern_trunk_big"}) + minetest.env:add_node({x = pos.x, y = pos.y + 8, z = pos.z}, {name="ferns:fern_trunk_big"}) + + if size > 11 then + minetest.env:add_node({x = pos.x, y = pos.y + 9, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 12 then + minetest.env:add_node({x = pos.x, y = pos.y + 10, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 13 then + minetest.env:add_node({x = pos.x, y = pos.y + 11, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 14 then + minetest.env:add_node({x = pos.x, y = pos.y + 12, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 15 then + minetest.env:add_node({x = pos.x, y = pos.y + 13, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 16 then + minetest.env:add_node({x = pos.x, y = pos.y + 14, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 17 then + minetest.env:add_node({x = pos.x, y = pos.y + 15, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 18 then + minetest.env:add_node({x = pos.x, y = pos.y + 16, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 19 then + minetest.env:add_node({x = pos.x, y = pos.y + 17, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 20 then + minetest.env:add_node({x = pos.x, y = pos.y + 18, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + if size > 21 then + minetest.env:add_node({x = pos.x, y = pos.y + 19, z = pos.z}, {name="ferns:fern_trunk_big"}) + end + + minetest.env:add_node({x = pos.x, y = pos.y + size - 2, z = pos.z }, {name="ferns:fern_trunk_big_top"}) + + -- all the checking for air below is to prevent some ugly bugs (incomplete trunks of neighbouring trees), it's a bit slower, but worth the result + + if minetest.env:get_node(leave_a_1).name == "air" then + minetest.env:add_node(leave_a_1, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_a_2).name == "air" then + minetest.env:add_node(leave_a_2, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_a_3).name == "air" then + minetest.env:add_node(leave_a_3, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_a_4).name == "air" then + minetest.env:add_node(leave_a_4, {name="ferns:tree_fern_leave_big_end", param2=3}) + end + end + end + end + + if minetest.env:get_node(leave_b_1).name == "air" then + minetest.env:add_node(leave_b_1, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_b_2).name == "air" then + minetest.env:add_node(leave_b_2, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_b_3).name == "air" then + minetest.env:add_node(leave_b_3, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_b_4).name == "air" then + minetest.env:add_node(leave_b_4, {name="ferns:tree_fern_leave_big_end", param2=1}) + end + end + end + end + + if minetest.env:get_node(leave_c_1).name == "air" then + minetest.env:add_node(leave_c_1, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_c_2).name == "air" then + minetest.env:add_node(leave_c_2, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_c_3).name == "air" then + minetest.env:add_node(leave_c_3, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_c_4).name == "air" then + minetest.env:add_node(leave_c_4, {name="ferns:tree_fern_leave_big_end", param2=2}) + end + end + end + end + + if minetest.env:get_node(leave_d_1).name == "air" then + minetest.env:add_node(leave_d_1, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_d_2).name == "air" then + minetest.env:add_node(leave_d_2, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_d_3).name == "air" then + minetest.env:add_node(leave_d_3, {name="ferns:tree_fern_leave_big"}) + if minetest.env:get_node(leave_d_4).name == "air" then + minetest.env:add_node(leave_d_4, {name="ferns:tree_fern_leave_big_end", param2=0}) + end + end + end + end + + minetest.env:add_node({x = pos.x, y = pos.y + size - 1, z = pos.z }, {name="ferns:tree_fern_leaves_giant"}) + + -- bug fixes # 2 - doesn't really work, so disabled for now + --[[if minetest.env:get_node(leave_a_4).name == "ferns:tree_fern_leave_big_end" + and minetest.env:get_node(leave_a_3).name == "ferns:fern_trunk_big" then + minetest.env:add_node(leave_a_4, {name="air"}) + end + + if minetest.env:get_node(leave_b_4).name == "ferns:tree_fern_leave_big_end" + and minetest.env:get_node(leave_b_3).name == "ferns:fern_trunk_big" then + minetest.env:add_node(leave_b_4, {name="air"}) + end + + if minetest.env:get_node(leave_c_4).name == "ferns:tree_fern_leave_big_end" + and minetest.env:get_node(leave_c_3).name == "ferns:fern_trunk_big" then + minetest.env:add_node(leave_c_4, {name="air"}) + end + + if minetest.env:get_node(leave_d_4).name == "ferns:tree_fern_leave_big_end" + and minetest.env:get_node(leave_d_3).name == "ferns:fern_trunk_big" then + minetest.env:add_node(leave_d_4, {name="air"}) + end]] + + end +end + +----------------------------------------------------------------------------------------------- +-- GIANT TREE FERN LEAVES +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:tree_fern_leaves_giant", { + description = "Tree Fern Crown (Dicksonia)", + drawtype = "plantlike", + visual_scale = math.sqrt(8), + paramtype = "light", + --paramtype2 = "facedir", + --tiles = {"[combine:"..TSS..T1.."ferns_5.png"..T2.."ferns_6.png"..T3.."ferns_7.png"..T4.."ferns_8.png^[transformFX^[combine:"..TSS..T1.."ferns_5.png"..T2.."ferns_6.png"..T3.."ferns_7.png"..T4.."ferns_8.png"}, + tiles = {"ferns_fern_tree_giant.png"}, + inventory_image = "ferns_fern_tree.png", + walkable = false, + groups = { + snappy=3, + flammable=2, + attached_node=1, + not_in_creative_inventory=1 + }, + drop = { + max_items = 1, + items = { + { + items = {"ferns:sapling_giant_tree_fern"}, + rarity = 40, + }, + { + items = {"ferns:tree_fern_leaves"}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, +}) +----------------------------------------------------------------------------------------------- +-- GIANT TREE FERN LEAVE PART +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:tree_fern_leave_big", { + description = "Giant Tree Fern Leave", + drawtype = "raillike", + paramtype = "light", + tiles = { + "ferns_tree_fern_leave_big.png", + }, + walkable = false, + groups = { + snappy=3, + flammable=2, + attached_node=1, + not_in_creative_inventory=1 + }, + drop = "", + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- GIANT TREE FERN LEAVE END +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:tree_fern_leave_big_end", { + description = "Giant Tree Fern Leave End", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = { "ferns_tree_fern_leave_big_end.png" }, + walkable = false, + node_box = { + type = "fixed", +-- {left, bottom, front, right, top, back } + fixed = {-1/2, -1/2, 1/2, 1/2, 33/64, 1/2}, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, 1/2, 1/2, 33/64, 1/2}, + }, + groups = { + snappy=3, + flammable=2, + attached_node=1, + not_in_creative_inventory=1 + }, + drop = "", + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- GIANT TREE FERN TRUNK TOP +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:fern_trunk_big_top", { + description = "Giant Fern Trunk", + drawtype = "nodebox", + paramtype = "light", + tiles = { + "ferns_fern_trunk_big_top.png^ferns_tree_fern_leave_big_cross.png", + "ferns_fern_trunk_big_top.png^ferns_tree_fern_leave_big_cross.png", + "ferns_fern_trunk_big.png" + }, + node_box = { + type = "fixed", +-- {left, bottom, front, right, top, back } + fixed = { + {-1/2, 33/64, -1/2, 1/2, 33/64, 1/2}, + {-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}, + } + }, + selection_box = { + type = "fixed", + fixed = {-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}, + }, + groups = { + tree=1, + choppy=2, + oddly_breakable_by_hand=2, + flammable=3, + wood=1, + not_in_creative_inventory=1, + leafdecay=3 -- to support vines + }, + drop = "ferns:fern_trunk_big", + sounds = default.node_sound_wood_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- GIANT TREE FERN TRUNK +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:fern_trunk_big", { + description = "Giant Fern Trunk", + drawtype = "nodebox", + paramtype = "light", + tiles = { + "ferns_fern_trunk_big_top.png", + "ferns_fern_trunk_big_top.png", + "ferns_fern_trunk_big.png" + }, + node_box = { + type = "fixed", + fixed = {-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}, + }, + selection_box = { + type = "fixed", + fixed = {-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}, + }, + groups = {tree=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), + after_destruct = function(pos,oldnode) + local node = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}) + if node.name == "ferns:fern_trunk_big" or node.name == "ferns:fern_trunk_big_top" then + minetest.dig_node({x=pos.x,y=pos.y+1,z=pos.z}) + minetest.add_item(pos,"ferns:fern_trunk_big") + end + end, +}) + +----------------------------------------------------------------------------------------------- +-- GIANT TREE FERN SAPLING +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:sapling_giant_tree_fern", { + description = "Giant Tree Fern Sapling", + drawtype = "plantlike", + paramtype = "light", + tiles = {"ferns_sapling_tree_fern_giant.png"}, + inventory_image = "ferns_sapling_tree_fern_giant.png", + walkable = false, + groups = {snappy=3,flammable=2,flora=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, +}) + +-- abm +minetest.register_abm({ + nodenames = "ferns:sapling_giant_tree_fern", + interval = 1000, + chance = 4, + action = function(pos, node, _, _) + abstract_ferns.grow_giant_tree_fern({x = pos.x, y = pos.y-1, z = pos.z}) + end +}) + +----------------------------------------------------------------------------------------------- +-- GENERATE GIANT TREE FERN +----------------------------------------------------------------------------------------------- +-- in jungles +if Giant_Tree_Ferns_in_Jungle == true then +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + "default:sand", + "default:desert_sand"--, + --"dryplants:grass_short" + }, + max_count = 12,--27, + avoid_nodes = {"group:tree"}, + avoid_radius = 3,--4, + rarity = 85, + seed_diff = 329, + min_elevation = 1, + near_nodes = {"default:jungletree"}, + near_nodes_size = 6, + near_nodes_vertical = 2,--4, + near_nodes_count = 1, + plantlife_limit = -0.9, + --humidity_max = 0.39,--1.0, + --humidity_min = 0.5, + --temp_max = -1,-- -1.2,-- -0.5, -- ~ 55 °C + --temp_min = -0.35,-- -0.07, -- ~ 25 °C + check_air = false, + }, + "abstract_ferns.grow_giant_tree_fern" +) +end + +-- for oases & tropical beaches +if Giant_Tree_Ferns_for_Oases == true then +plantslib:register_generate_plant({ + surface = { + "default:sand"--, + --"default:desert_sand" + }, + max_count = 10,--27, + rarity = 90, + seed_diff = 329, + neighbors = {"default:desert_sand"}, + ncount = 1, + min_elevation = 1, + near_nodes = {"default:water_source"}, + near_nodes_size = 2, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + humidity_max = -1.0, + humidity_min = 1.0, + temp_max = -1.0, + temp_min = 1.0, + check_air = false, + }, + "abstract_ferns.grow_giant_tree_fern" +) +end \ No newline at end of file diff --git a/ferns/horsetail.lua b/ferns/horsetail.lua new file mode 100644 index 0000000..464e8c9 --- /dev/null +++ b/ferns/horsetail.lua @@ -0,0 +1,174 @@ +----------------------------------------------------------------------------------------------- +-- Archae Plantae - Horsetail 0.0.5 +----------------------------------------------------------------------------------------------- +-- by Mossmanikin +-- License (everything): WTFPL +-- Contains code from: plants_lib +-- Looked at code from: default, flowers, trees +-- Dependencies: plants_lib +-- Supports: dryplants, stoneage, sumpf +----------------------------------------------------------------------------------------------- + +abstract_ferns.grow_horsetail = function(pos) + local horsetail_size = math.random(1,4) + if horsetail_size == 1 then + minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, {name="ferns:horsetail_01"}) + elseif horsetail_size == 2 then + minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, {name="ferns:horsetail_02"}) + elseif horsetail_size == 3 then + minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, {name="ferns:horsetail_03"}) + elseif horsetail_size == 4 then + minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, {name="ferns:horsetail_04"}) + end +end + +----------------------------------------------------------------------------------------------- +-- HORSETAIL (EQUISETUM) +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:horsetail_01", { + description = "Young Horsetail (Equisetum)", + drawtype = "plantlike", + paramtype = "light", + tiles = {"ferns_horsetail_01.png"}, + inventory_image = "ferns_horsetail_01.png", + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1,horsetail=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -1/2, -0.15, 0.15, -1/16, 0.15 }, + }, + on_use = minetest.item_eat(1), -- young ones edible https://en.wikipedia.org/wiki/Equisetum +}) +minetest.register_node("ferns:horsetail_02", { + drawtype = "plantlike", + paramtype = "light", + tiles = {"ferns_horsetail_02.png"}, + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1,horsetail=1,not_in_creative_inventory=1}, + drop = "ferns:horsetail_04", + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -1/2, -0.15, 0.15, 1/16, 0.15 }, + }, +}) +minetest.register_node("ferns:horsetail_03", { + drawtype = "plantlike", + paramtype = "light", + tiles = {"ferns_horsetail_03.png"}, + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1,horsetail=1,not_in_creative_inventory=1}, + drop = "ferns:horsetail_04", + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -1/2, -0.15, 0.15, 4/16, 0.15 }, + }, +}) +minetest.register_node("ferns:horsetail_04", { -- the one in inventory + description = "Horsetail (Equisetum)", + drawtype = "plantlike", + paramtype = "light", + tiles = {"ferns_horsetail_04.png"}, + inventory_image = "ferns_horsetail_04.png", + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1,horsetail=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -1/2, -0.15, 0.15, 7/16, 0.15 }, + }, + on_place = function(itemstack, placer, pointed_thing) + -- place a random horsetail + local stack = ItemStack("ferns:horsetail_0"..math.random(2,4)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("ferns:horsetail_04 "..itemstack:get_count()-(1-ret:get_count())) + end, +}) + +----------------------------------------------------------------------------------------------- +-- Spawning +----------------------------------------------------------------------------------------------- +if Horsetails_Spawning == true then +plantslib:spawn_on_surfaces({ + spawn_delay = 1200, + spawn_plants = { + "ferns:horsetail_01", + "ferns:horsetail_02", + "ferns:horsetail_03", + "ferns:horsetail_04" + }, + spawn_chance = 400, + spawn_surfaces = { + "default:dirt_with_grass", + "default:desert_sand", + "default:sand", + "dryplants:grass_short", + "stoneage:grass_with_silex", + "default:mossycobble", + "default:gravel" + }, + seed_diff = 329, + min_elevation = 1, -- above sea level + near_nodes = {"default:water_source","default:gravel"}, + near_nodes_size = 2, + near_nodes_vertical = 1, + near_nodes_count = 1, +}) +end +----------------------------------------------------------------------------------------------- +-- Generating +----------------------------------------------------------------------------------------------- +if Horsetails_on_Grass == true then +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + "sumpf:sumpf" + }, + max_count = 35, + rarity = 40, + min_elevation = 1, -- above sea level + near_nodes = { + "group:water", -- likes water (of course) + "default:gravel", -- near those on gravel + "default:sand", -- some like sand + "default:clay", -- some like clay + "stoneage:grass_with_silex", + "default:mossycobble", + "default:cobble", + "sumpf:sumpf" + }, + near_nodes_size = 3, + near_nodes_vertical = 2,--3, + near_nodes_count = 1, + plantlife_limit = -0.9, + humidity_min = 0.4, + temp_max = -0.5, -- 55 °C + temp_min = 0.53, -- 0 °C, dies back in winter + }, + "abstract_ferns.grow_horsetail" +) +end + +if Horsetails_on_Stony == true then +plantslib:register_generate_plant({ + surface = { + "default:gravel", -- roots go deep + "default:mossycobble", + "stoneage:dirt_with_silex", + "stoneage:grass_with_silex", + "stoneage:sand_with_silex"--, -- roots go deep + --"sumpf:sumpf" + }, + max_count = 35, + rarity = 20, + min_elevation = 1, -- above sea level + plantlife_limit = -0.9, + humidity_min = 0.4, + temp_max = -0.5, -- 55 °C + temp_min = 0.53, -- 0 °C, dies back in winter + }, + "abstract_ferns.grow_horsetail" +) +end \ No newline at end of file diff --git a/ferns/init.lua b/ferns/init.lua new file mode 100644 index 0000000..2d389ce --- /dev/null +++ b/ferns/init.lua @@ -0,0 +1,33 @@ +----------------------------------------------------------------------------------------------- +local title = "Ferns" -- former "Archae Plantae" +local version = "0.1.2" +local mname = "ferns" -- former "archaeplantae" +----------------------------------------------------------------------------------------------- +-- (by Mossmanikin) +-- License (everything): WTFPL +----------------------------------------------------------------------------------------------- +abstract_ferns = {} + +dofile(minetest.get_modpath("ferns").."/SeTTiNGS.txt") + +if Lady_fern == true then +dofile(minetest.get_modpath("ferns").."/fern.lua") +end + +if Horsetails == true then + dofile(minetest.get_modpath("ferns").."/horsetail.lua") +end + +if Tree_Fern == true then + dofile(minetest.get_modpath("ferns").."/treefern.lua") +end + +if Giant_Tree_Fern == true then + dofile(minetest.get_modpath("ferns").."/gianttreefern.lua") +end + +dofile(minetest.get_modpath("ferns").."/crafting.lua") + +----------------------------------------------------------------------------------------------- +print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...") +----------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/ferns/textures/ferns_5.png b/ferns/textures/ferns_5.png new file mode 100644 index 0000000000000000000000000000000000000000..de87d3a016947b56684548800af0d1dc60f6aad3 GIT binary patch literal 630 zcmV-+0*U>JP)N2bPDNB8 zb~7$DE-^4L^m3s900HtzL_t(IPt8-`Pt#Bs?VsR-Z$#Z@AcAa`mHhw=n;`+BPZP!z z7Fn4L*$jD6D^v39_=rgdYE(avd%KKdsf@4d~S$k126m)?H&JLfy+H08Mex(q9b zx*0-GWV3U5zEL;@(Mzf2$FX$@_>-(JL0TJzZrTKS2Y6c_g?euH`&P4KUv7W$Vz2JQ zDj`}dy0CIGh_vcPu^s3OK4_ADi7+1%pR2kLiL!?crVKw`9*wbcx)H?NFOgf$%?A|$ zYC8(4Iti|N9>BukJ*0Fm#5#{xniugy7ZQpaOR5K%c7%5lR6hq%X+*Ja&LGz!3p14= zh>b9wf4GYkBY;io2~qL@DMPp>TRRJ*+nqy34?#SgAgXzAFOG(hPzTxOCFMQ?EfhUe zw#zA7E=}R*uNaag9?7yB*=`hBYZ_cu3t~|jWx!bRA!72KYn!R(uibg98`GFA+{SX* zk7SJ}mdR(PVJ$0OP$Ka}AkC|xNjsA;e>}xTeS*oRi=OQc*kL!wd#*Ol!0&24yjJYw zdqu&e(-35B7O}k%#z*>9=`7Hrk8DeL592DG>|F0kDH`&e?jXVNo QfdBvi07*qoM6N<$g3|{GG5`Po literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_6.png b/ferns/textures/ferns_6.png new file mode 100644 index 0000000000000000000000000000000000000000..7ca1c3f4f44f9d84f7dc7430a6e4d898e2cc9f9a GIT binary patch literal 753 zcmVN2bPDNB8 zb~7$DE-^4L^m3s900M1EL_t(IPo+}}Q&M3Nz5hWc3-A>wl@2N|xkjQPX)13?20;ih zNWe@@^8xrQ5sdKx;){VMrGI(ad(lj5oN4-I?%dt|cF&&OdoIKL!$}q_SSso08@17+LmH8t%Q4{6?3OO zFn?}>J=qLnRDk}u$8hhoz_2O42@p-nF_w_Pky60BuY)NjfNiZ7rWGlMzO=!)tAIIH z1H+;aBMCWXf0)YvT;b+LFA^7BaPP9{osnQTDZ|iu9R?RG;Y_L!De7R{lw#mhC9Ls! z494r=*?R&eoL0d+DI%u>)|FNS59%=R@hQA}EZ%?D6Wt29Xzq#p3ygeKqJO>u!y66o zrk`QzTn8qUeF)Ei8m^3jF7MGJfICG%C!O$RG_c01VO*}I1}vt}`(TL*VOp-ntNBI* zj#@TAr7Wi@c^s9;>GfoF%s%*6m0 zOSBgH4-y1&N`#8tR4gJERq*dCX^ajYz#13Au_Z^ipu=2A1^c=P&O{S2=muk05b#NF zvoZvaS>CpyKC zqx==Ku9b^sN?JG)k9d3hkd!!1aN2bPDNB8 zb~7$DE-^4L^m3s900M1EL_t(IPoi?@=q#ed5^F;8;^(UsYj?C~@wn@gB5bkJd7_Q%&T&gJ80bjf-{; zt_GP&Xzzl0(slH$$}k2Cc{N*x_xL5=Q#AwI)%1iEyq>L~Z|OOc=?+HrG`M4GTrmy% z=Xz3?Hl)#13&ub`=8&B3B{`<$3Oq;cc)z}&Ybl@Mk9CagH{ng|FfSKlTr9@Aqrsc( zz`CJAavy2Y&p*Txkzop!GMQ+^e>{l6pGQx)2;J;c#-du*FI<=wOR#MzL}|^;o%V`% z1xSv#8grzSq0I_97mBci6}%Db1_5eXEET=bF#f3-gD(%AuRvrgXHeMeu|^SJg5){Y z(iN058dqfzUBcl$Y!xMmbOSQXVI_;-hcOB8ZV@-US%*8_hGnfB-CRDBHCiK>WDIRo zVp%D}@cuF5hxK%a3bWmwPj_Myjq43Rq0?VNzW{J18nA9vWr?McJ*9A52iv16`XbfY zyER&g-uDdaZY?ust@N)~GJTN2bPDNB8 zb~7$DE-^4L^m3s900GcRL_t(IPsNh&OH)x8$9>g55QT!SEt8^{mWC;nTR#Nby8D&W z>rn4zQE@lisP3H2Rl`QJoZD?^I&@lDUYOX6*#5mwcQ+8imPRi+a5$Xr^YG#Oea>lW z`tNH=6Zj_+Bk3NNcSUxp4_Nyq{yoe;-;OtVfv4*ZqAR!9txcm%!<{m5CwT^C)lH?AI0y-sZ3N%<;+ZoUMQQOeo>U7?C_#}em%#dQXjJJR7iB_cN5Xo^XygQjR!ln@Dt?ESdjF1q2d+B7dr`LPH}JE zOeo*a()Q@#Ph5w{8`qi0b?!F@)h;4ic7i%Y-3$B~B5w>Zp1ZW)6j(S*Sl5iW*&dWH i_M^FI^c$n)oBROl`0a=IsDj)800002B literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fern.png b/ferns/textures/ferns_fern.png new file mode 100644 index 0000000000000000000000000000000000000000..36f50f92ba2a3167514f178991b72b7307d3def7 GIT binary patch literal 448 zcmV;x0YCnUP)N2bPDNB8 zb~7$DE-^4L^m3s900BHnL_t(IPwkP-N=(RX}&--pNhs#GJ578vFN#g-d~4<1xM zqv&vJud(r~FF{{>@uL17pOhZg#yWoCDTw1H2eIww-t{P1VIbYoIQv+~&IPO8ke89U zX0Tm#LIJ7|+N(&Plh|*%{)c}_Vx5C<>O}sTN4!MAzh?xWUPR=Cf-h@Aut4??=WaM8 z%68=Ly~s8QgtBHhV+J^QEj*hBgcL}o!JzsUhgfEC_Z|5I?Y2U&C5>1JXb>$~;ZDs% zkO^#E+K{f05E>K$ISaxPjj-Z(+WKX-w~716+%;D6G>F&?EW8ehq6t)L8cV(@u!5z3 qaL^}b?Gw<=sX@E+uo9Yqqx}HM7lonJ(i{l@0000N2bPDNB8 zb~7$DE-^7j^FlWO00k3CL_t(|UhP@=Q&U$MRf{u@Q|XLWp$J7GB%naZ%K}**goF@C zVpb9s2_TC=0tul30tqB60m@>~f?5}(%4lgv^r!xNr!S9zsfwL;@&k{_y)&6NbLZZ7 zzwdnKp6|TL831R}`IpwoCksyiNN4&J29PU2G=PX8=>nt+5GP2ia9Zm?S|?AOAaR1k z2@)qrM36W^;sl8kOluuT>*R?OBuH{D@9e;l3T;z@I!rY%tmlyV3d7*a(L|&^A+|eWY)}A%_%5rJ+ zvEh9GlJ@K&2t!XAF_5Um@RAZuAu-(Rm7f61DFAvCIySheH;pj&UwOtXj*Y6fILSL|$nzx+=v`T#Si#chE7fM0-q;GxtZ+O~;rB9diowEXvTm ztVCX;xI0CmZKetqzYrR?0A2BFbjDQZ3{g;7ufxi$Ij-`D zXK@mM!{Gc+^>9a(@NR113Ra=TFNXK2j-9jrB!+EN1br6|ZPQiIb(g?3DTl=;Mn_13 z`d&V}u5n0sY~?u#Kxj*j_^uZ7FSLm7s4==GVRS%_iN}>}GX7sJ&~+5R8InQaD1g~p zfodlYO`~EctVJ*ml)~aEgWAQ1XP!dzr5e6P38F7*5q_>h7epioy4K)Ic5Du@2;9I9qY39Sw!9$hpCe+OWRO)h|X)l4a?g!|)gpe7F z;bVaFt}8LIUx)Cn9q|t?xEau<-x`tlV8PUmiCb-O_M@Fix)I}lS>gIw2G^1l)^Qco z-eUAW(4u2ej^+r3d$U6H$4c1>*L3sIyP|?)u#nLOC45h6+4=j?QuJ@?U>c&B_Gf~F zVNOy6-HSAQFO2YRXfcwg=N16T``EdBP!+0$$36uOS790}hs2%_eV`0DM??g8+* zdmETHvq9?mDxkVw27bde+-}H$El9x`6JvNw2fbeabx$6QOb3v+-hk0p1jnQZ1#~ug zA6jt7SIoYH?i74g2sxtx$Jy89oPO*;xM)u?sOCb@y#mzU7oa)7T!A$j;fZi=GzcxvSAO2pmN_pkv$Iv%8|JP3r@s3^aRa(lslPW;p` z;5b$!tCpLW2?_Nhq*NYmmEiGnKR1rMw`w0V1 ldj(UCpD-X*1W)_^zX1lr66;l7gaQBn002ovPDHLkV1o4xi|qga literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fern_mid.png b/ferns/textures/ferns_fern_mid.png new file mode 100644 index 0000000000000000000000000000000000000000..4270e967e8260b4797f53335b089b0b9316dce34 GIT binary patch literal 969 zcmV;)12+7LP)N2bPDNB8 zb~7$DE-^7j^FlWO00TuyL_t(|UhS6qPf~Fh#%-;wwdD^k%b5%>2->E|UBsgZL)5%- z^OB;Ws3BqyByvfod0A>%sk!N#OINd2{)tb3X?C&o!yB0(ZSB0&m4B0(ZSwj`L9=8N^lGS7fC z>u29Db4Szc0P}vC7bF9IIN)F55Z&SM=uJJMUpf=mb$Z1PyROfFw>k>JY@<>k&LK zWA=mPPGGy`+Ss!3O7a=+yJn2PYQW^O4g>3&^LLpKjCsLdHXw4?jCQvWp3Qo=U+OWo zU5EHl*UhUIy@E7JH+rT z$l+U3Vs@_q(cKK)0Qam6<1cgw?zh0RVZiu?9{xlQOs>h$=qy8vQ-tcSB4|wcF!Yzh z)Gb6~;@`KX#KgJ|(IX2MPaGIX81?F;1CfK))J8BL81sVPH(+q374jZYs%c46E|eA_ z%>D{+eI;;&Dq$QF!#*#EDV2(6cq?-3&MX5i zM#1<(J525>)Q(m_+;kgVK{@Pm3QTU9pdS|C{*)Bj-a=SsWGLqHF!H)1C6*hM{FVdE z2gbbMB_U`I)trj*lz|(OpkY*kZoe3cz5;ams}lF6u*EqvdF6i$zl;pQ%b>8bwGalb z1b2(Gp{f-?BF#fpW$s^v|5pZ_i75~y43GN2bPDNB8 zb~7$DE-^7j^FlWO00r(zL_t(|UhP=A=Cve&ix_Lyf>41Gxyzh-uIpF ze9O%)0J}2zm(k8A1J4tX$@1qFz^4FT1Nb7ycLBZ&@RJ}v3TJd3$Y|&JNsyle`ALwU z1o6qV0#eHWbpWXWQtN;E6v2zHJcvKF;L-~xf>SDV zFISVZ=KELI)#}~D_pEy-o;da=p1ZTA|8yUkdRd3bb>|PUhqeQKE9}0en0n84oOa!; zLG(rwhVED~uS&NCgT6Ep4M8~2Y6E7WG#*W;t-xGi8+&}Yo z!=X#Byg9Mwb%;OFV`z;<;+gB%*kk*_!P|BFLJP*-o3Ooi%m^=6p>IKrhL{AwrHc26 zrM90M;2i?mmra~;<4?`7b>t$psz&!MLd11FLbr7w1neczJ~;itePZ~L6~Sp027c4R z8<)aAr6vk;9wU1WL{`}EB9Ceiyre__H90)}r8pN?a@c82z$O=sV=^?3%MpKU#Nag< zdgmkQC91AFrY!~^>&r;h@4e*&R(0`XjFrh}zEhD@` z3N-dh&~w+st+{@cz&R)e+ggagqynb4VtB`tuty|lj!99|F5vc=dqvwuJ}n7|ttv6M zZp7>ZBj(oh7+jQ+I-tbp?F!DB{@?8|HRr<Z~+ z3v;i%2olmJpINZ{+K%xxYkIZ8i*H=SX){Ltalm^;4)1~tju8#?Jw*szH==o7316JS z`HLcirc1a8SGEbzepLf^R{^ODYDDf-aqFFl5`=DM>#Z| zr4ZB}#o5|yIENT`rX}cGHG%CHLVqC#7SaKf{ybPBr{NwGBVYS7+HcrVA1UH6v@OC< z7DDP2rUv*-7f3#0hc^nBwz~+7uK?P1A*wos@I^@qENUSMoPZ-*PS#E%x8^V!Cbg&~ z^5@j#{j}q0*#)-aqOv7-FGm2G=8|_?RE(+)A*_*d=sOEx4wFLY%ZIs7gu@lzb9)La zkAAlGz55;N08#_|j{-h?TxQLKlP$$@>5uRyirb&W1pc1x9q_+a{n&kq?RJC@dz@232y@vsG}_vyh2P5pc`l zvygFEQSe11P%D@kV23FX@@t`%o`l(OmUB>2b`}nc3HDke^y-ZxZn&))TKRFa32JA+zd zCEPX^2908C{k&HJAG^^8cXCk&kQ!hoR=(ZS#BLmIlb22@gW0Gv;?O5eQE|%?Evlfc>-t|{Mz6D7yF}P0^)Ht&Hw-a07*qoM6N<$g7FOXi~s-t literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fern_tree_giant.png b/ferns/textures/ferns_fern_tree_giant.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f1189b927ba2d34fd89a9b089df9517047336e GIT binary patch literal 3771 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 aW~dGdU$|`I!A{qf0Hf<>dgZz<5&r`2hasQ< literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fern_tree_inv.png b/ferns/textures/ferns_fern_tree_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea2e43c28decb9921b29be738daadd9ceb722c0 GIT binary patch literal 495 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0004ANklHt=w6pSy*Cb zG-K+Fq7ItitISt5K1fO((9!}mNz^bhQVJLJQ*uAl#_8NrnuKHtW^z4n5*B|U?Jcq}Nw<{xppTF~Bzhyz9W9-iLDO#mb zyrgjSvWBe_vvj?@g!DO$Sj_|;D9&^oNF9?%wyZzHJyN1!0efgd?%s)TNe}mq63)~- z0tb4yI2F8ka&S0%VL_x~K=#@Wu1UbhsbLB!V021h+fcyAL()wewWlx=6&hFXfiKW@ z+Xr1#i8+r1!IBnCd=_k(z~-qAsVWJ!sfQ=4fxk$>&-=o*?y|Xm6J}4{HI{P}h|m-? zP8lKv74-2*EV?FOW;KI@!+z4VVGObvF(|7XT0%1XXoCQm7z3|k0lY*)MOH~LwCwi~ lE^O)!_W(klWIw&{`T*k3oPHpNM_2#=002ovPDHLkV1mPr$|wK; literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fern_tree_tl.png b/ferns/textures/ferns_fern_tree_tl.png new file mode 100644 index 0000000000000000000000000000000000000000..6b2f2864e2e0a1dbb55f593b0e42ce5e45ce202b GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvPThx;Tbd_$Mbwur5|KkYdtMys$&>Oa0lT_y2XZng1WZ7Ww!5tMZ@y zaxODt^?H_Wu8CMB&RTFqpZ{5QgrH8#qGhGdKmH%$yZ!&FanApAzfJ$=-+KIEe^oBS zoduh2?(;G2X11Ia*3PkY4fo`=5${^FJiYd7M=Z$N_`H69$j|?x!E67g`!Y&hdH%t^ zcGlhc1&lgdy_qVd!`MzwIrsUe{OyF+hh7`Hm9%{SyNAsDyME^TKl@kQ{!;I^`s4pk zPxt+QJZtU$<0cWFrfazZdGt*G$X`$SD$n4$H+-G%;Z7Z(_ZU1~{an^LB{Ts5J6V&0 literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fern_tree_tr.png b/ferns/textures/ferns_fern_tree_tr.png new file mode 100644 index 0000000000000000000000000000000000000000..c00aeecf620ce809fd95366980fa8e411b6cd6b3 GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvV1Ux;Tbd_$Mbwur5|KkYaiuup;{P*ZpOl3iU^0?AP7le7D9>^qS9& zCbi;8xBnmNH2m+q?Drr28B+h`*DXt%c=-P$)_4D3PiO56KllB)?yP4=XWe^uh9h`_ z@!ik$Zu=kqzf<=5zoO`||H;*71!p;SajD(@$G_U}r+j4k-~DNY3o35r#IM`K`R+{R z=R5z7Z@cmL{Cl(C^0U_ew%>J3XpP|Eh9_p5|9i?_`>(uO_up;Tm5n?Pxz`%}oqzB3 t7yE54pX-Cx+TFNzq)a+w_Ch}v25bM|>~79AlY#zX@O1TaS?83{1OU3{mFEBe literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fern_trunk.png b/ferns/textures/ferns_fern_trunk.png new file mode 100644 index 0000000000000000000000000000000000000000..a8e1bf6f3dd9440890ed54969af11a6aa87847a4 GIT binary patch literal 765 zcmVK~y+T9g^8@+b|GC^(jS@ z#U$QE;~we#zXAhk23w&+Fwp z%2S_9hA(~92>;h*IQ`GpK377da%2eCC^=!~rsinO=v1EQJG`mCIa}f}EN>w6%}NxfA&1-1m~6$1-&FK4CF3eqWD= zJovaSWrURo8zJ8N*2dGmMUL9Vq~uOS)RdUO0MBzv<<=JRTHrdy%8=1Ep;*6zC23$^ z*XC5mYm+vSH_3)MY6S2%3&Y>qX6@%397 z>{HKJha@5Uh*{c4+$*@~L7|#g(PaWautU*2NTh zD5?4R10)5Pu?*~OpYfDf@Au=B1uy5JmmGS~6Ce53oj|&@!DU+tie$@`Ym-- v5Z}NpwgM2_$O8sW_6(^48yPq#0yx3HPp-cfKb@n+00000NkvXXu0mjf0;gUM literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fern_trunk_big.png b/ferns/textures/ferns_fern_trunk_big.png new file mode 100644 index 0000000000000000000000000000000000000000..057e5ece3e8360b7e10885c99b11be826ad78580 GIT binary patch literal 767 zcmVN2bPDNB8 zb~7$DE-^4L^m3s900MhSL_t(IPc4ycZ<&T-#0~- zTA?djqy8-Sd{d%`B`QK^dmko&nh=RN+}nBeZ8u%aoG6r!yJ9-gb=2pX*26N%BZCsU zEk$fws5=cuvCYR0Al3<<*qmn#9n1#4Y^WS?!+h2_nley-zs@|J^$j*4{P}5-2T~a- zDUnb6xgmA<;T1c$tV^OxJ%DOTe>xdO{)pJz`Lt+CavSTR&7bylm06L840X6$7FlX4 zB0cDQq1H`0ofw`aAw)l}vw1$Q5}XnAcD!o}Cw66py_%QAcNEW%6p5jRgG&qF7(&lh zSz_{8s88HsXynNiG^O+Nb=l~vktdH2?p#AP40S`<|7TQ?qCZQ6T+y`Z-!O&xq zvte!`VwD5_dw{INIty$rwz(t}Uw_<{F#->*P*+@b(G;V5dS&bJN{`IG?L3$o5rZhU?|Qv`yU?Y>rVh>2@L$lX8(Ao x!7H3BWBlj$zDzBc0e0KoMdD2x&=3tn{R6N2bPDNB8 zb~7$DE-^4L^m3s900C-AL_t(IPqmZXD?@P{#{ESuP{J^qoweEK?CkBFGus*RF3Zxg zh6{z1qL7;v#gw-ckrt9NMIkA2= z2e>;L=XfKE+g?wb&`=zpsZIvMb{3~(vY8bQ(n~yL57|$Raea^=APT5{YaS%eLC7bN z9Cqu3rjx(WYL7?HS(C5=KbZI?ubfsxRclWT~_D9 zXnqUb9nPNt0ntdnW#lX!XD=1!uJYfs{6f#P{4uER7ydRYH=3#B^w1ZhjeD89*`g8%>k07*qoM6N<$g53nqkpKVy literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fern_trunk_top.png b/ferns/textures/ferns_fern_trunk_top.png new file mode 100644 index 0000000000000000000000000000000000000000..03d789b8c7ce98569aa3700c55e824554cf9926a GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=G`dAk3J{(y|>W$X?><>&kwIi;quN(An9q5GW*7;u=vBoS#-wo>-L15RjOeSEA?V z8lq5UtY@lcXkhTAXdzJ5eoq(25DWk01PN9P=Y*=2_y50M&HaD=-0A=7%VJ;DPipdt zj{CEJW80s4_29Gr?Y6c3pL+D?|K=kdMk!~n1Z`lGRbBaiAD`O)wWU)JgC zd-8MU&4g%2skduH{-vwzY~W?u`Rv;Nr literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_ferntuber.png b/ferns/textures/ferns_ferntuber.png new file mode 100644 index 0000000000000000000000000000000000000000..c7451944603c757a37e13bd56db401a357102051 GIT binary patch literal 552 zcmV+@0@wYCP)N2bPDNB8 zb~7$DE-^4L^m3s900E>)L_t(IPmPn^OPWy}$7QhCT@VzA#RhAeWQh%)G_z5b&5B-K zWX@$qEz5Fc7M1J0^dZW+sBMn1HrBKkVmG_l-TtyZ^%TaVq)!J92hKU)&-uN4k4mL5 z09CH3q`y9w15$$2-n{_wOS?WBM~kj2{Y_+w<9{N?&xoI8r$DIJf;iGlVmqV^IEl^h z@7pS$7X~<78AcqkGSOYlM5l23Y}N?=94zr`{XO5qeSG@RMr5Ft@S93DJyx7`+T4J% zy;7^mwV zf~{J@P9rl8fx*{$I%>4^HW_mR5>Y?V!FuA;U5vNt2y|7^X?#M{%g5Nw<##t-9>GVa z3DNuNN?eAc<~gR)0&2@O=u7gmJ0{gjDPPgoav}A(p{x)?@gpocjk48J0BJpr%_<8r qy(Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv00048$eMMNPbkr9L_MApJu)G}K52c4dh^~`4| zT^MFy=KSuxXJ!cb3NDwMUlz>(NU2d$^n0UX0EfdVU{nO)@p#|jrwc!xulC?G$l;tC zq&bD{kW#%roNwdpCV}nB0 zHZ}YvHD;7Oe*-e92x7ZSc)#AlozH;u(F!g%^pMsQxQrT9)5-H$vsDyD^4N`Jz=5!3 z7%`6?VY?Pl&m6>j0$CRiEmbT4KA)chUF|#ZkvKuzZ-&0F7D4MMtSS*qN)fcucGNJk z=Y1%s;Pzk@@sJZQr|Vc!31OkdHjNnGg)t0>8epDO7u1|#Q-Ax1%L1R(FMS#O)9d?Wg7>7DB(%XuT8Ug`ro=n)x;?`I3zaNI%sDiYOLLH&9 wqS8XPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0003bNklwo zVPS=pg@vS%5-QkKktk9bol(+?S6z2u1e z*U8=sTkl~q)n;NwBfom*&=Y2_G}5~f@^?b%Ekv>+Y7o;F^jnS54Ixz&#>)|Q+!hvV z!dOlLV!0vWM;+|hT@-6QoIFK|=|av9Fq2n^qB|N>n?Vkqqpa+AbN10of1w@gS{PbV zaIozPhIcu(9LBorBw+|^=U%KEVPH-H@ZEOyK}a79meb0_x>w?71Id!2xPC6no3n7C zF_H?YtxylhJ56Lx+x&^mM`5)p^iBJ;Z@fg9ulTfHehstWwLd)T6JR>RWHI0``%jUB fiQwM=DnIZGWLJdxCHlRH00000NkvXXu0mjfiW{;_ literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_fiddlehead_roasted.png b/ferns/textures/ferns_fiddlehead_roasted.png new file mode 100644 index 0000000000000000000000000000000000000000..3a3d72c308cf234a718c13ae51a1f50d83d63174 GIT binary patch literal 648 zcmV;30(bq1P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005^NklMw;qCe3i^jm zcV>2W#~q94n}@mc-Fwb=?)km}jF8RO|3(0=GtfjJfu(n?eD>DEg}j@iPeQDY`~IE& zbX()0p@bP{(@ArERg1`E9v=(Rk4e-(T zLEf3~=IhTBtho&?O@UYXK$}>T$6e&}3L`zj%NM&IQMrr#SHYG1D0_Or$#sblQJ~R?E2-FU< ze~$K9Nc)B&RK5At%IQU?bba*wVn3-i0pWxfVSiDxP1pDw*qj9i(q)2hv4@gS_vgPy z(hQoHUmH1g9ZUv;C0b1wF53n{S7}6J%mnFixwbs(*LuwAc9Zo^>EG?}IDND-RTi^U iZ=^cT5p2L^3BLh^XN9~Dh;bhP0000!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`B;7id$psFNK z7sn6_|KtP-*2RhruLVv-XZ(^+IsX5DLYK*eJL^B&*DpKwe@UI~f;uCf6SGtQ*)MYV zS%0p?_!E!E+-0BlSL{3Zf6L62T?)CI6mPH=-o5o?Cxb|msW!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`B;7id$psE^A z7sn6_|KuP4|JyUG&QLn5(CyBPyK7=KmS+P znO`X$ZrBs~?7uSCl>g6t%$3hGOqd*fJ>Ws>l}xMuo71KK`OoJ3$fVa3tdzS+@dkI{ w-CIv29X5(PuwBtHRj`+GWNX;tpdrh^P`hrAc6DBhCeR%Wp00i_>zopr0Lgt=jQ{`u literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_horsetail_03.png b/ferns/textures/ferns_horsetail_03.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec3a1d125740d1178d40caa1d12466270646553 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`B;7id$psGcl zE{-7<{>eZ7|F>sWouPDAp__drBTvAD?H5E|xN#g1^@~t-kec+n^q>0I%zyr`t}{zJ zZDOq4eCEHqh{pf(GxOZ$F)BnyU!U-@b&~6^|G~>&{y9G{^M`%zvU~q0wN^REC;01I z99GEPq;CGc&)~=dQZiK$uPgHZR71-wy8kZGI+ZBxvX!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0figD*u3fvPrm zx;Tbd_$MbUP(2Zy@k>7K-~aywYK38H-(Uane|7oK{449(uX%1_tlWI&zq^RW|MN5R z+~zSVL`Pqr@UnH1>#zU8%U}LEKQHr#eeSY*|0lIpIml0tV9T7$doZr!^))#L{V958 zKj+)|zOO&$v-p2z@YjFgI)=)3xg~>p7sOqVVbFha-tfzopr02WAi A=>Px# literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_sapling_tree_fern.png b/ferns/textures/ferns_sapling_tree_fern.png new file mode 100644 index 0000000000000000000000000000000000000000..63d5d59ee0c043a9c1815d0d8ed99c1b33c7128a GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvUPaT^vI!{F8tD|8LK%Iz#EKLbp4w#FWGX4h##HOZH?exxtVky+P9L z0_%e-tSm3s9(uit2v*v~=z4iigs0Jhs@wzrZ&YP3kn?c+eBSuq`Pq*dF`~P0q86SPgg&ebxsLQ050TZS^xk5 literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_sapling_tree_fern_giant.png b/ferns/textures/ferns_sapling_tree_fern_giant.png new file mode 100644 index 0000000000000000000000000000000000000000..6bccc996cb91e438dbc6b01f71c90f38a768ed64 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0figD*u3fvVPd zx;Tbd_$Mbwur5|KuyI~cv-JM|H<@|=FV;@K_5R0w<7jzj8P`~!)o1Ico2>n>cT(#A z-=eJ#yDnGf{HtD;^>=%3_`m%5tD5dkxKh>qKT*}~zpm1h|F>PV|Cjq;{qcV8vY+?m zJD3}8n8tnGUpeJY{dS$V{}p@NX0-kJ|9?JX%UdDSf3sUP{%z+7{g*Gj?9Y8gj*h<~ z|E-yL*>3U$w+lAjQ2A0L@^AL76N_%Nt>a?|KNa>N2bPDNB8 zb~7$DE-^4L^m3s900IF?L_t(IPnFZ#P7_fW1>nAjF%bhn1DR=|v}G6yl~AHVQ7HBx z5ekGE9BI*n7`4W7Dy_7kwbZ1Cgcga{@J_rzuNQl5A%V~ootvG>{ImAA55LWJ`MgR# z#QcGRnQaBjl_AXT^kQ+}1uH*@PSPOyABsUTW%;oZ@&e7DW#?Ra1J%EAvP zek>Gw5X`Aq$vaRyd)mC3q~&NGON{LPe-2_{lgn|3nc?E7)x4Qb7$>)KN(-)i-`N1#u>+ zBJ^Fw+l-3Ef(P+KH>hZT4{G|kQPD7!=*07{_wgd}2$NsLOj#$4Y>!mLe(Q*4e4y^X z_8|Go-K4^-j7k-CR8reA$Pi~6*tKI$tb3`ZVXHAA75>DyX4~Ix7EpAJ~ahP(u}U fRL-XCpqfD!emPopUkEXF00000NkvXXu0mjf14krl literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_tree_fern_leave_big_cross.png b/ferns/textures/ferns_tree_fern_leave_big_cross.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c9600e6377d38a1d427143c6d6557578dd580b GIT binary patch literal 816 zcmV-01JC@4P)N2bPDNB8 zb~7$DE-^4L^m3s900OK@L_t(IPlc0PPZLoTh5Ji1Di0(^s0fwP>2*4k)>cbPOIzAb z3rsIV)ryx^K?J;^qNsQaK@8#cATcpM>7V;Na|jv?iIbe5R<2KWlS!TuKb*ld>@2qZ6w+R*#RRpg#^beKUTqCwYb~GS;U_0`p>`%7 zpqx=ydJtl&(!*G~gZyZRxZ7!6cTvuInaGPSYeT%6BJjN4eWUc``s@G|G_ALA4a6nD%h@dRov5P|98+ ztO{Wb6=VJ4UmLBlJZ$I5dJsbhR4xos5{_7W^^~wMsft0;(90g~fAAa~q{F$MUO6iR z`85}X)ox0riYdfuOocJ7YQ$d-5MS<-n8h!yH=G literal 0 HcmV?d00001 diff --git a/ferns/textures/ferns_tree_fern_leave_big_end.png b/ferns/textures/ferns_tree_fern_leave_big_end.png new file mode 100644 index 0000000000000000000000000000000000000000..d850d3a879aad00f2a574e57cc25fe356104e328 GIT binary patch literal 541 zcmV+&0^<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s900EgvL_t(IPnFYKO9DX{#&N$$1PMif;womEs2#wfumfeNDX9f% zEhz*Nm64rHOGz^WQ%EbiuFvN6lg~sE9dw(!g?az;n}JoST1&onU@5J~TE&LtqJ+6* zFMN3miz!*2;}-Pv)>JWPJ(N%3loVRq;AbkMyR2RIx2rXFeqYd#JvxxX}gF-c%91u!ghw6^uqsDt= zwP+D4>Zqjl$8ad$5C5eFuH7yK3wq2a`%rnAXfoo-=y3EL26b&ujn&8DJvYL4WrF)c zi%9F?80kp;xs*E zvpQ^7j7>&@1q0lt5~x#ja;T(%Cof^+S}P)ohQ4o#RxMa>oy-U|RQ)@&dO0K_)ckvx f1N@a4X*c`^fW85WjH)0500000NkvXXu0mjfun*l1 literal 0 HcmV?d00001 diff --git a/ferns/textures/not_in_use/archaeplantae_horsetails.png b/ferns/textures/not_in_use/archaeplantae_horsetails.png new file mode 100644 index 0000000000000000000000000000000000000000..f3558f7ec336cd25ce1f3c6f8326d5b3e5320766 GIT binary patch literal 401 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 BJO=;( literal 0 HcmV?d00001 diff --git a/ferns/textures/not_in_use/ferns_fern_mid_left.png b/ferns/textures/not_in_use/ferns_fern_mid_left.png new file mode 100644 index 0000000000000000000000000000000000000000..64cc6a7b6c75fe63ffa843d31ef753987db38807 GIT binary patch literal 482 zcmV<80UiE{P)N2bPDNB8 zb~7$DE-^4L^m3s900CY}L_t(IPtB3dO9BB9#XWY(Lr{lO%n#IylA31PrnzjIn6!Q+ zQQDz3(>!dsXj&+mAQd5@;vpnZh>H3bUnvNom|B+x<}io%n>TNG0C<1t0WojV>fb)8 z{+~Nw%LK9w0w)g^WZ!qtJMXeZPZi#LGuIyh;m8v*tu4425n@#fn0qUZ>+85`)6@AE zuYha124C18V(>zbV8(#6TRl!oI;5Vrv7a~17hZj0FQ*v|=m8IMX2h!`0!bs{4GNvv zbFTXtP->GXK9VRsS&^=-B2{1M3aO9;{TCsxt${}&5 z!DdJaXGjJkEglXCmtD{XW!>Zzj#(^wM6k0e5PMPtI5o&aIs66fco{^CZcxk;)*>p% z9dn?QTKMxiBx=-nfQ}10XX?5kVoDH43T#9a*k$G81HQjk?OKG5kYYi?{~e$Q6A1bE Y1jjaVx_*(IYXATM07*qoM6N<$g0xb)bN~PV literal 0 HcmV?d00001 diff --git a/ferns/textures/not_in_use/ferns_fern_mid_right.png b/ferns/textures/not_in_use/ferns_fern_mid_right.png new file mode 100644 index 0000000000000000000000000000000000000000..3c6c4e856eba2ca3c3d3d04f6581a03de81d2845 GIT binary patch literal 515 zcmV+e0{s1nP)N2bPDNB8 zb~7$DE-^4L^m3s900DnVL_t(IPtA}?OF~f?hK*>`qD2&mBt#*()S1JUw)UlS{SXUAUEh=Z~Yp^6$Gs0;^(HwO4}3iwZTIIb-Z z(pT1g`oV(4g$mw;80$H0_kwUq1?pS}e^!Is)9R2ntwgk90+lCP!R@mCb9$44L15kD zA&}R=Oo`y2<=99oV2KD|j}u>l9aot1^599zG3(^R5fg*-2@osFK$jFK+#8Xt{Xn2L zb6^UJU|ySm<^82E71*!nkbQRHtl>i_twOcoK&HObB4VsSWe7x@B8zg6K_1*GHCB>J zNPQfLY{RXP)-^GbdEIGWK!&+kOc2oeC*eMkV#>fqnKsF=R!!ZA(IG`Bk``#5ZGGfe`P7cRm0B002ovPDHLk FV1n4)*Zu$i literal 0 HcmV?d00001 diff --git a/ferns/textures/not_in_use/ferns_fern_tree_bl.png b/ferns/textures/not_in_use/ferns_fern_tree_bl.png new file mode 100644 index 0000000000000000000000000000000000000000..b96e4fab329e808abfe5310a81fc9c5633819bf4 GIT binary patch literal 656 zcmV;B0&o3^P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv00061NklIvA>nV7p&V z_Bwm5v)A4^eSQB3<>@$WxbR#cTAASGj}U90+>~1$p1k*wS#l7on@KKNw7LtUais8Y z(?k70Cb#0G&=9E~g*7bmOeDQ*{aaw;&_(M+X6Kts>o~yjo{cuP{&`9xHNGSXmvm$| z9Juf4NYwx6pt@;g{WwHz*Tc&9DD(Sj+b0UO{Q%7aKMQ+S7C#6~CGcC z9c=&1sHADuPE+LGImo@SlUnl>DpDh7hH2J%hS!k%>b8rwvFdFYBJ&@gGm ziKdlc)j)jFLSXjHZcky350h3*+_YVzxasI!K%5-F=N{(P?W@>?!QKRdP95T8Ke4d7 zMz@2zO0au@xuS%}Hpq0ysF6gokyI?)y+Ez#C7ZOL6C|fywbIG|JIG4L$xKl^7ZA+j qL}Y*W9kgF~pmaWu&t+#?_VEh=H1CCfHK$Pk0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005{Nklk5! z+`KpE`MvLRp7V~Zv`FZ0S;#L5Bn%%a#|tRGi=o^k5zCJuzdMH!tBg~|KChKnaYJvj z5UPG?2NB3-2y4wSQkz~FohULp#J`1o(!#PEg}o5w^Bzd`0OZCDc+HE(5sA(>9_C3H zo%1*j&tiCUHh&$)2u>tc{h*Q$Ayf#^(lpEuVQim9vHv@X!ygKcFEkiU8ttDFx)(B9 z-?Iad`g{r-@1rok#_gN8Isw$a2*~b`sCTnaEgP5qjS~*$xrFVHi`ea^27qddKgm`BgX6*9>xd6vRdVLCpz&`rg$bBg%xM_3POHz;BF0vJ!}tCLx&~s0Tr~xChw$ zBxA{(wi~&!@Bf1g>5q_qHHY|?2NS7L6xtlp*7Glgq;`X_pF*bY15<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s900NdtL_t(IPYsbvM)@;+nxtu`>DW=n%LphU2po{Z;eNje z96!k!zQ-$n4J&K2fr;$UuAdv{MPs_Ha&ygaig|$>Ks9d zn2zgt#_#SL!&CvqbpOSud4#DdkJ9{CV+iHEJ?|J^oyyW3C-yC66Vd&pwv$7|Kln zPkZH3p;IZHvD*7m!6uX192^t5!!YsLJQfHXiZ}r{5pJDZC!oJMmGbXf*kD+dGET*7 zYiEIwg<=tjx7H!b5X8pjd+jzEYW8{&O25wT%R%c7S`}~KTDR@{^IhSKU2Wn>Ch`av zknSoo3dDURcpme1jV~wbRHG~vZ)XojyV#cumF|C1raNM{nF3*C$kY*|Kwo(p-McA~ z3uyx`Ep2%yprNicc?mX;c>oA;HEs$^6KA?OH4*vxJ@$>IuPqIA*)=gwKP+Znrjw7M z4>wqwH$*Z=Y!Gx9g(M&sc>LR zEvSd4a?$`~z7SjNzt{2*%8s^TCZ8h@C?XBkB(?ZPOh{rW^zKW1i#IgVLyUbhN@c;k- literal 0 HcmV?d00001 diff --git a/ferns/textures/old/archaeplantae_fern_old4.png b/ferns/textures/old/archaeplantae_fern_old4.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd33e96875f8e19ce32be71831e0fe1a842329e GIT binary patch literal 458 zcmV;*0X6=KP)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s900BlxL_t(IPwi4oO9D|8brZC5Cy^z6nc8M-oMsfqp-Gy|GR>(b z6Q!D@%#T28DEz>vNU0=gQLQU#RsF=1BV~xTYU_aqm-Fs9_ua$OXu9YoP)`8BzfLp6 zOohY#-8Ay=%TUR}bFlZ~LoyVec$8knzU=)%kIJVWyhxW>M632jUkgGx2H9&G$8SrB zoI3R@3W=Rd1{-+?>W13AsvC0AitVziRjjV@gJ_9`bmTztQGj?z!LwzAAWtB0Kw&Os zf;VMtpR5|huUI5%Zp3Rm(l;dReiIzQ5!eMi=-GZSixwoSEb=cRq9+V)KLfu;n-w2y zAtTK5I!uW};KE~&6as5!Hpn?Eq;m><#0YMaG%wVeiHhvEGP${Uo!GoLr3-v0N`_3f;Sg&!9_t-I&~ PG@HTG)z4*}Q$iB})n-c; literal 0 HcmV?d00001 diff --git a/ferns/textures/old/ferns_5_old.png b/ferns/textures/old/ferns_5_old.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ee89a07b1aec3091fda8bb5193ab30207f3001 GIT binary patch literal 552 zcmV+@0@wYCP)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s900E>)L_t(IPt}syO9D|8#`_~8u#D8Gpdh48ZFEM*Trems3fHip zUV>7?EfW=tb{DM4%C$uw`xC#MD@{s;)m!J~o_jgp?|$cSdV2nKL>epjbpyVOX{?`( z!CNrEc0TfR051&JO^DXDu;x^-T+G7rxX>No<(h?=IT-fDaFtk?5^~tDB~ZsE;CW)d z2gGmZz>9Y;=i%aHa8?*B-^@T0>H{6>huSA?Ix&0=;Kc`58aN(wa290H_=mBYQDLW{ z#aezEOh^Q3PXabN`5BPBQ{uX6f+MTIMoov6tQ-rmAyB?CY`;+Cjg5+-KN^BADC-0S zQWWlAt+1x#SUQoyUDd)}qM?oSlR`T;MO^SX8yy6-FZlrQQ|4-BIC3;p{$8lPQrNf| zY?Ns%o{qLek*13}LvsC*s8gJ+Tj0#Ah(*4D2@jCdUD3f-P{NoHx9-Jx!G*9yp&JDP zX(Nn>afJv>Z<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s900N3hL_t(IPo+}tPf}qNzJEbqbdeyanVIPT0g<6xxNt!VBm7A% zeoYWtZfR>Nfq)>^M99!Gw-7-^`raS-bnd-rxwX~S^W{C~J?DAebKY|p<}cW+Phq9u zMEvUrVn;)W9+?m>oALg;2g?WJxJHkD)FGA|#|kC;Gkr+3hA~&@!F)-FsiGcp6*^05 z%V`VVSaT7%uHbzlUX$;O9spxIAG7n;mUV`-&Di9$2&8nA#t}(<%$g zdb=cGTD<{wO$P4GeFTp=ESx)GS!;urN)OfSnEx_H$!&O8=z}|_N3`icpgIocmI|hq zx4}fuCg9rarjnG@8;fv*hclyueWQyKImDZ8@M#74O0es95x;QLLo6KWE{v^E1)&B9 z|0g5tB;YF=5UTUyXq-6({k92_QyxzaEfiP5mDXVC!UO-INfdN!bbtxgZ6d+4F2kdp zegvy_Ng%7hL{5W9-GQZ+k^ZKW;)7Iy2eTC|tO+6u2-ijtZ`t6^_k!C{QQuYwqW07+ zxN^PXKg3&9a#k)9BBw6#0xiYf5c!Y1vhhC_p380F*>!*3tF&FaQ7m M07*qoM6N<$g8e66*#H0l literal 0 HcmV?d00001 diff --git a/ferns/textures/old/ferns_7_old.png b/ferns/textures/old/ferns_7_old.png new file mode 100644 index 0000000000000000000000000000000000000000..b0ee0c6b119a72cc1816ae16fec3b24d1c76c760 GIT binary patch literal 759 zcmV<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s900MJKL_t(IPoQ&Le7$M1J2$0wAj7{P`{5fTx&z=a#+LnuhV z%_~S+GwC#0BAPsi7N!nlh=`z=SfkN6&D00{cen`Jn{1}@YIo0`-~P|pv((FzUZj4E zA(+!(DksNmwh!y)MkIgQ5I8V^x^CG&bb;U1!TC-B$67b|JskpjdN`6QxKlk?IJ4qa z_CCU87F)l(c)m;j3FUGuyq`@lMVg_VmmqLxfsd$iWYn<5x?q@>Vla9Se8CFWCpEb3 zUU;_ENSqBIdCr5SEP7R9>pYqGSNoRZ)9-qXfgNA1$Lzsrf@4p zQfkbVoEX_qfMTPa=#O{6y4D6J(vHVT1>)alKrc3cjkkcF??fPLMWj3hCM<$+Nd!+y zhnbTx=tE5e5EH>&&|-K~3d2$hMiNT+Np(7OlN@M=B`n9&BMazY19ZVAFw0`NvNXo? zi~ytTI|}%Y&2Xg^0&#S;2h*oEawQ^nxeY@J6<&XR0*1gX5itxQ8MuNGw)Y*-E;NF2 zW;7TtnlQW}gKbp;!`s{N27=w4=-tQ-h3>Zkr;42T@m_DV!AL{Xd6dPPtf(m>wW8wnva9s?J z9H?woAXbvV?P~L0_oEhn%`-<^@dcU1k2`o$JZma2BG zz_U{V_a7VU04`sxR#|N976PTNxrV~ po3iT%>2HJPOkc{sZXo|_|2J0#S(jjB?Ck&m002ovPDHLkV1mT8M4$iw literal 0 HcmV?d00001 diff --git a/ferns/textures/old/ferns_fern_big_old.png b/ferns/textures/old/ferns_fern_big_old.png new file mode 100644 index 0000000000000000000000000000000000000000..46445f0e7ea2fa4e75ab7c71c798f61f8a33994b GIT binary patch literal 1245 zcmV<31S0#1P)N2bPDNB8 zb~7$DE-^4L^m3s900db{L_t(oN9~nsQ&U$IhSBPb<5W7MRV+$TE(s{NBqWdKK1WCJsbz8RjH1hUOr^coY^z$ti9Ls zzI*L+GBVO5?LgXrv;%1e(hj5@_`f)C>7|$W6DyaWyYSCy2&~rgF5BRh`dwppZF{C4 zJNG4?c`}nfdk)UNXl7>9^;PVFegE*9Wp77JyZb|$25&SFx!ytawvCbX*7x=n*Q8#z z5?RtSeMisWjavGa4NSjqzD*v#cV>6|iEH27uPp~Jzx3tAo;4GHY#_Q}A@S6mHTlSK zVDwh=-u^|?u5E~++f59t)-k-Or6s1ozf$$#;#&)PSIy$fsV7a?`*Mk`YYE&GK&~0+ zzg2?(ut!jPAo<*LeC(kOe^SH94|;s@O3uz|1qWSOLeBosn&peo!v_49YY1Oe;SHB^ zF0K~${!4&u>b6NGZBr`Zk4%hSRWg)PF!AgRo%32clA7$fUs_Ij#${YDpl0G$mAF~>M+fH4JiIX#8c!bfUCN_)=T+tGJ*i2weuzl0Qz?y-G(1^p!GD0hI zs_YV)I}50Goy5>8rOKR*v7;De{WqAq%TZa22npc96)h7l>zUqklX~UDFF?;cwX*uk z!PJKB&mfmxyM>}njQ{4u_q__=q7vu04nwer{%a;W7u2-I<($7%PJgmQR9M?1q4$ao z&tSgL7g|EM>%{oQL<#*j&De(I!u7M^5uDp%L4=VFPJqHoVf;m*P*#7x~1ymN9Qca8K+2~b;Cab6)7Hgpu=iB@4BRbmO0 zAoFEY+<5S9BdXoGUr#;n`*>dr%-h8zb6*9zi={{!k8rv%8&_10H>qHF-HatH#c&}9 zt8fFp`Y!3m3-0twu#CNF9DSe&d22rUUMY1KrL;zb zBUsj>Xg`iKQX#|&$!$19%Z#2z!G6(A-`^;_4OH8eyGH~NzGhpqJtD(qKaJFQ6n9L9 z&VPbJOBOaq35Tk_6mtq{k9@x3ot)T?m)TBW)aP?7FB84F0HrPmY57qq$_`WJ&im&I z{}BwxIG&S9rTklz@*GYTXA2=Rww`}we5lZ818gt+ujbzY4bh_vN2bPDNB8 zb~7$DE-^4L^m3s900MMLL_t(YOYKzcPm)m_wY9d^mLFV}BN>Va(uN2R@A&8=>;W{C z_eUi~Ll6SQAV}mTn1s62v{G}^F_*4pt^5;DNVD}avQ;1Y!2NRfySu-0e&?Ls+t5&7 zbqDGW)E)TG9Eh!w$n24L@UkD7k5-(Imp!swUHaf`disfBXWvjr92${-YrhrW9l8=& z(O){d7kNF1;N}44RsLLfifDKc^7b?L+R^cD-=oXib*Qc=(D0 zla*ooi58Fdhp$DqjF+Qj1LoHhaLtQwFRT7F!Puf4V`&BAYjQ+N1Qy;6W1^s8ExmWP zJCYL2EGyt$)nYuOLPc4lD>Hr?WnP^tE>Xk9xhxd1vCyW`dmCX z;{-I;PFO-BPz)cTq7>0(8S)1M$n4ip;Ll4Ce5OUBJcQ7e4#6!7u}The>k=3|T^RE4 zpt7|?Nwc7v5P}}%z);zv>oSBlw8$LWQ95NXSs7&W)PnS(`FllEt7b^Yc-2FJsTndm z2gaBPq`L!5vK#toK3q#uc++A8&VnuypeA^5B$OD5%OPP{5Sp5*{c1bsM*75G+p=JB z1hl^gy|W_lO*dgnNZ~3FnA@R2&9HHIUJUhk8yt%gaLE?#5Y8aOOyuBGTUnt@ZA^&27+;9k|VHguIsxfw%=d-OYaw q{3Bs2yFwskN2bPDNB8 zb~7$DE-^4L^m3s900i$zL_t(oN9~pCQxj(t#?|VK<5W6Tt1XHk!~_%)vYQRLZODbN z2?@DhNF;zUkdQz^Xn+8LL?B=l1g)s`N|n*tj+amU_ny8ig-%tfZS@=Pmz_C#_MG2& z&N=(;*|U3g71&i^SAksxb`|(jfy=La$Un7W?u85CX%!O7EqGg;{;Mr}NAB77Pd;%T zEIjv=6@T#@nSR-Zsdd*^xrg>cgDc#D&YXJR`$X-(*^11KPGs-cFti$YCpQ00=}iEc zD=a4Ovgp6rjNU~ZCSN+Yok#Dt@5?`R9h~{idt~mFzasa%4f!WJWY;(pp1DtqKXx1* zzTI{pwqV@51u<~Pg7~r?g9~bSb2P$BP47>>@j-Oi#J`+)YJt7C61i1161ND*bsb{2 zwIBfdNwtTIFFdD49@!8ssxb5;3x8gQ;Ix`3=sH1s4y9JOFH(p0}fGR*lZ0s(j{G?-|dC6kRhaT$-07az%~c zqypNIa08;umtzoHG9a9-Lu5+ASAB6ovvcKd_l)a5$2)h7Q)r9UWBO+UMweCSE~#

0(ggMsGMhEjn~7GXn@Wy zL}Hdg;h_$xc^L{1^q9P_LH@pKXPDlC6k}@!#ILH6ebk1;3Xy%CLwrSt3>n11MJZBC z6q@Wpv~>xfaGilJAVQO=9EQ$1FfHG~)FXl1T8k6`PcEr3_NoPw>u!`@`w=G4Q_rke ze(k`-n(gl(m*2QaQVT|Zcf$XJ9R39c&QT3?$y&s&8__kdL?BP$;$;b9#d^NN=7=`=^NDqx0(i1bun#lf z67`V!%TZ@OvOS1Ocjd8(7rh^zi}Et%A){Uc8GO!r62zeb)GJo0Qq*ebW@gMOWgXWi^?TY{a002ovPDHLkV1kT4 Bd9DBe literal 0 HcmV?d00001 diff --git a/ferns/textures/old/ferns_fern_trunk_big_old2.png b/ferns/textures/old/ferns_fern_trunk_big_old2.png new file mode 100644 index 0000000000000000000000000000000000000000..a048ee0c4390ec74a039e5e8feae35a5c7f379ad GIT binary patch literal 669 zcmV;O0%HA%P)N2bPDNB8 zb~7$DE-^4L^m3s900J3FL_t(IPj!-gkD5Rj#Q7wb+VeaGQCPqQ1QrC5cd>%vo!*&K zuP;fHrcL_!JC^=wlL;YNcxLALEw>I?NXbH%V^jHkY2NE}pE^r-^8Hvn7r}CF1XO&j z(=xOoM|CGd?s>Jym>wF$Rfd-)-bU6oG?uRV<9&PDB~8H+S3YmkjA@R{>w}M+%73uN zeO>5Ur01(VW@omXyO3H(R?MV@DZwOW8q-D)XDh>2hjq+|z%&6LeSIwpj}%Oa9P-u_ zj{Hcao+fmw#OEy1C&Jw(n0`Wbs*+E>f$=c;%VDO^^wDJefaPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv00091Nkl3na`^}RV2*<$ zZU}lI1wlZ$fP&mqz*~?D3YZ&-d!vpflj4dFD3sesE{LRpmStn(H073CsZ%;cP5k=|oB^fL(8o{B4F=I)L7!rJqfHd`X zR9+er=Ta*O?!k1q#fTkFXuVx>YlHOjVsm4WP@00~NLW|`1&kmtE(Hz0!=t`?TDxIW zJL=QVUl`nGwcD&ZpRXKl%Di~fvu-WSNTG2VWU!5ZMLC;lAb6WYd8>WO`F`E+-O1Ok zzN^!f)FAQk{3fN!!@cQBgo>QMbV@$Rfn7HgD&0e*pj{>tq1ahqwy)$i`S|9!drUr5{MN(mMS8LV9j`z>O%-L+|K(#nugo1wra!AndoiUxgTIlI6`1xUU zYk6eARAV1$GdEawu{F8jv%U9p z&RevnbJhFfx^e|anTo;=5ZDFjR**Q6>}`{KOt{U!|2n0gZCA~j)n_vgtOowxaG|3b zm-1;cHWjvvz_!UDK`1!{G^H}e_Ncz!h+X&^ft$rBJeW1=ab`LvCRf5tqLH9S2=pm3 zJeVF8%BGOA*p#+>tVBkK=5=aQ^^!P~Mo3_EJekU8M2J~bXzH~9E|9`Fun4gL1>ghR l*F6`oASBoZBk&UH{U7KYJE$y2GSdJ6002ovPDHLkV1oHnq8|VN literal 0 HcmV?d00001 diff --git a/ferns/textures/old/ferns_fern_trunk_big_top_old2.png b/ferns/textures/old/ferns_fern_trunk_big_top_old2.png new file mode 100644 index 0000000000000000000000000000000000000000..4a4ee87235920043439a0e4359004f06874f3a4f GIT binary patch literal 820 zcmV-41Izr0P)N2bPDNB8 zb~7$DE-^4L^m3s900OW{L_t(IPaTq5i{wNYhVzTOSbGlLIdl%4R3%lZR8=aKRHf6E zp6Q+5(ZSJ028U5Egk2F9T-X(F78KSIR$T-|Sq2pm96>=v1jQ?ViiJPm``+h0ILijo z!mD6FfZLQI%JwPtHUqu2uC+*eo=Or)w#d_65bbE5IVJQc3TWMEIH7{&4IMloa3P7>2@P1ne#GMEbVIG z5a?MEZgpugwCHfC6knLG7@AbonT6?OI>>xnmKIo&*y-p(;Lt2F1bYN{nkMHj^1Em1 zmQDx0h};`A_hc2bd}dl;EjeR{`zB?0Zl!qc-@EAVT{Mp$9RK{qYhQkN%8D7vTzePnI$U0%;@rXRlNIVcYXEn>E-?3uRs6n(W^f^J#T5ICD@v(rlG78XVvBh zD_kRQXtIkF_V~dI-+leTM){_<9F?Dci#Yz@;*+Ka5Cu@T{K zS8x6E=QoF=K0R6g^~)#ky}dFrJzSPHG*vH-40V)PD4E&!Ee%@|KD#{o^wHVBe}DhS zPal8#g&r@Z1yCykoIZXs{>2-jU%wPu{qFU?dn-nJ3d#Uu@RQcDj!wHOc99yKQqBOYC37~j-uq3TWv`j5P-@y{@uT|dtKNbY074#f|qNYkfIN>-P y6+S*}D!9KCHaB2&fs(zpjO-eYMggJ;hrxg1)(25_40qrF0000!lvI6;>1s;*b z3=G^nAk1j*pmYK#$X?><>&kwIi;quN(An9q5GW*7;u=vBoS#-wo>-L15RjOeSEA?V z8lq5UtY@lcXkhTAXdzJ5UQZXt5DWk01PN9P=Y*=2_y50M&HaD=-0A=7%VJ;DPipdt zj{CEJW80s4_29Gr?Y6c3pL+D?|K=kdMk!~n1Z`lGRbBaiAD`O)wWU)JgC zd-8MU&4g%2Dcwa+{<&Y9-N?(d^Vzp!UWeEk{_q6xTw=NOX3i>3GoBO;4IhrG$ z8#`ZZI+W0>(CiS$P?_zRY>~+9VAjCIvxG54`-G_ib0?q64B_Wy#~T0ga7}JKd-2Fk fp9}SegBcl;Wm8g9EjYdcJ;LDW>gTe~DWM4fH*NS%G}c0*}aI z1_r)^Ak4U9V)k30pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9ish**M!Iz?iKvj!9 zT^vIq+>;X|SQjfANHL)iA}tR0oG$-Y@M#pBk|}GzuJZl$ANGfTW(v%?vY!3el*)FN zyUgzz_C!AW?`W~eL9(ZK+3ZF`&bkFYFB_~CN@ty`7touR&u}c$`0IfgM)?yLR3DI? zV0QC^J;&io4l&!m)eEQ{NS%G}c0*}aI z1_r)^Ak4U9V)k30pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9ish**M!Iz?iKvhRP zT^vIq+>?L&|8IZT;Su9jnI|6u*?Za!WN<(U22aHU4Q!vpX8mJNEGZ1iy1wvb!;`wX z{}tw3SBWk3=E8C*K?|RGXDem Ohr!d;&t;ucLK6TbD|rV1 literal 0 HcmV?d00001 diff --git a/ferns/textures/old/ferns_horsetail_03_old2.png b/ferns/textures/old/ferns_horsetail_03_old2.png new file mode 100644 index 0000000000000000000000000000000000000000..153f354a00c74a0da837f1fe920b16187a5d0e8d GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r)^Ak4U9V)k30pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9ish**M!Iz?iKvmB? zT^vIq+}}>!%XP>=#O=49-_fA0H-2gP@pT1m5NYS)Tj$p#yJYIFtMkv6?|F7ls3nJW za`%?T%_%3#_ZJAUGsyTw@Eh~Vb=HR%Ue?rb7^1!tN`b;$p=gXz;?~_%D0{WQ2)78&qol`;+ E09=iUy#N3J literal 0 HcmV?d00001 diff --git a/ferns/textures/old/ferns_horsetail_04_old2.png b/ferns/textures/old/ferns_horsetail_04_old2.png new file mode 100644 index 0000000000000000000000000000000000000000..bb12dc213c19d8f4627308dbc33da40f2e0bbd04 GIT binary patch literal 404 zcmV;F0c-w=P)N2bPDNB8 zb~7$DE-^4L^m3s9009t5L_t(oN9~nO3jt9ShW!_-X&4{*_$yWtW+=jfvaq$GC>o4x zeC_QjZ(U<_RFGGwa6OVf5m> zF)c38*%pB)_2Nu>U0~kGp!ce{fYKjd@<8at(U|_aK>v^e!d)epR*+%5z+w9P8ycBj zkBSQ@J#UGr5!Hh7)CR&>^6-bn1)|%6!7&F!W92aIAj^0@wg4HP3XHLTL0mv3Yx-Fr z9xbr21(vzw;Ug6nh;9qIy9^MnpJZAahjD$}4M=@yGsapVE^yxk3)}^WYC&aU17R%r y(=Lz}h;9qQS1~%Lf%w|p|D1qof!GOrLf{I*nn4iC{Xeb%0000<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s900NasL_t(IPi<3OQ&LeBJqV~M>K~{X(=0zwGekkYVUR=^GOfh2 zGO{sJG(ScVM=eUrCWw$61jdS(#)o?9q3L%q&iLZ$?qi^4Yv$g2&fRD4z4qSgFsW3^ z#9}d%$z-em+E-OovDu6j({Uw=hQEuNnwsPDv>^wPNW@A@OW9ze8-|yS=!>@E{>Kgk zvVCU)P%=8tL5q@-5>{Sb&U##Z}`^(I%+< zb+ConvGLOh_gWKfXS5jJ(Lo}SaQk3FeauQOm$S;sN}hpOxZ@q%IG*l?|8p+_-|aB2 zG{O0*6~^!dZX=f7oE=m;qb62VRPX>JX#*^wdi2a(#Qy$13vBD*4J%<@Y=QP!19x_X zyI~B}!nEFex;GSH?3)e!n=0sLFToRRLMUp$bWqRNhlhup71?ejOmKd3X;$8hH2Yps`cQMQEQlpzlR2bKC9T?nJ@sKn|8W}b7aY}{RoP)C>!3`viWlaG{P)9ET z-rO}#jYc}UYldf6&+C2n`v&xLm(ev@3zB_xb#;+>QO^HLvT(8dITN0yZ5ZCRz_s26 zSF9bRLekEEK}tLczc4zY?-r<&aK^H>Q{pMG=RTB`ew@5G3rP*aKZbby1S+w>uJHW> XApJ{?{0(2|00000NkvXXu0mjf=MZMr literal 0 HcmV?d00001 diff --git a/ferns/textures/old/ferns_tree_fern_leave_big_end_old.png b/ferns/textures/old/ferns_tree_fern_leave_big_end_old.png new file mode 100644 index 0000000000000000000000000000000000000000..6af642fa2ad3133b4208f281bf0de36ffdb0bdb4 GIT binary patch literal 563 zcmV-30?hr1P)N2bPDNB8 zb~7$DE-^4L^m3s900FN_L_t(IPmR-CO9DXvhGBn31QBEu21#2)u9_$8U`fI<55#3Z8POMpICuM@?pWb6UJQjYBUmaruv+no z^S0xl77`I^sG^QaYN-|z0a#)$ZY*YP2%Pj{GTjCLagXuYhrK6NXM`H6sH3uJMFu$H zB`@YO3c?o(v}*;?f)laqu!wYI%7DCS^J4~wpBq?z_aODCiU>8osxG0VmTEDVZ{~=M z?bm)I)KEnomDI||uLrc84Zgi0_>X!JJnzQz=^$>uW_3oWp^Cc3$7vGqWTP5H>TL$$ zy9tDD?1(?8BGPIP>T-D?A0t`zAz=`;{1~x@uC6?Jm+S_j1o+eO5@2OS0SV!Y(Uim@^y z)KF#C{`nQm8@hb!5D{uxP3{=rMgEl;X*ZeQ{{X&;Hz002ovPDHLkV1kMF B^Me2Y literal 0 HcmV?d00001 diff --git a/ferns/textures/old/ferns_tree_fern_leave_big_old.png b/ferns/textures/old/ferns_tree_fern_leave_big_old.png new file mode 100644 index 0000000000000000000000000000000000000000..3c34ad9f1d903d81b7afde2b0521ccc16d5e2596 GIT binary patch literal 617 zcmV-v0+#)WP)<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s900HGmL_t(IPnFZ}OH)xC$MO9cB1oWOEKxS4a&z9@`FknMV1&b6 zn>l?Z`oxSTpO)g<*v^x)oaQ(y%F}$8!O_C=Kc5S=8S9l7#^+)m*Kf&zPE4 z@}y6*`JfgGgWCHu)3{os>F8C=YE{Q3&F=Tg+3Jz|zDsil0eN5gt-@-I3LQ$cEkmy! zu9hD+P@qAD4kcRDO+zwOSBsUXnJ}nqDPk39P@zM~i>T52vh@kA{Gi6PTpKszloH2J z7606?wPHjlZsjhNpD3C4%iVmW*t-sme`wd_?n8MeA*(=x3f-+?|4%slJ>5Wo1{JzX z<(O5YzY&-{pVHf3%X;GLb#}9&NS{XZ{K&7-od+7(YEx{x!;GCuAN5%U8dT`+wFjHuLJbsXP@zMKwrNn>{M*Iv zql$j=YrY!Mn|j?lzTYGSuXbNR3`r2(O6$)=;| zEIN#dbR3;W2hxcs(4azx^3MA}C!#=u3LQ$cs0sQDQo2)Q$wuiF00000NkvXXu0mjf DoTD6M literal 0 HcmV?d00001 diff --git a/ferns/treefern.lua b/ferns/treefern.lua new file mode 100644 index 0000000..c92c445 --- /dev/null +++ b/ferns/treefern.lua @@ -0,0 +1,247 @@ +----------------------------------------------------------------------------------------------- +-- Ferns - Tree Fern 0.1.1 +----------------------------------------------------------------------------------------------- +-- by Mossmanikin +-- License (everything): WTFPL +-- Contains code from: plants_lib +-- Looked at code from: default , trees +----------------------------------------------------------------------------------------------- + +abstract_ferns.grow_tree_fern = function(pos) + local size = math.random(1,5) + local crown = math.random(1,2) + local pos_01 = {x = pos.x, y = pos.y + 1, z = pos.z} + local pos_02 = {x = pos.x, y = pos.y + 2, z = pos.z} + local pos_03 = {x = pos.x, y = pos.y + 3, z = pos.z} + local pos_04 = {x = pos.x, y = pos.y + 4, z = pos.z} + local pos_05 = {x = pos.x, y = pos.y + 5, z = pos.z} + + if minetest.env:get_node(pos_01).name == "air" -- instead of check_air = true, + or minetest.env:get_node(pos_01).name == "ferns:sapling_tree_fern" + or minetest.env:get_node(pos_01).name == "default:junglegrass" then + + if minetest.env:get_node(pos_02).name ~= "air" + or size == 1 then + minetest.env:add_node(pos_01, {name="ferns:tree_fern_leaves"}) + + elseif minetest.env:get_node(pos_03).name ~= "air" + or size == 2 then + minetest.env:add_node(pos_01, {name="ferns:fern_trunk"}) + if crown == 1 then + minetest.env:add_node(pos_02, {name="ferns:tree_fern_leaves"}) + else + minetest.env:add_node(pos_02, {name="ferns:tree_fern_leaves_02"}) + end + + elseif minetest.env:get_node(pos_04).name ~= "air" + or size == 3 then + minetest.env:add_node(pos_01, {name="ferns:fern_trunk"}) + minetest.env:add_node(pos_02, {name="ferns:fern_trunk"}) + if crown == 1 then + minetest.env:add_node(pos_03, {name="ferns:tree_fern_leaves"}) + else + minetest.env:add_node(pos_03, {name="ferns:tree_fern_leaves_02"}) + end + + elseif minetest.env:get_node(pos_05).name ~= "air" + or size == 4 then + minetest.env:add_node(pos_01, {name="ferns:fern_trunk"}) + minetest.env:add_node(pos_02, {name="ferns:fern_trunk"}) + minetest.env:add_node(pos_03, {name="ferns:fern_trunk"}) + if crown == 1 then + minetest.env:add_node(pos_04, {name="ferns:tree_fern_leaves"}) + else + minetest.env:add_node(pos_04, {name="ferns:tree_fern_leaves_02"}) + end + + elseif size == 5 then + minetest.env:add_node(pos_01, {name="ferns:fern_trunk"}) + minetest.env:add_node(pos_02, {name="ferns:fern_trunk"}) + minetest.env:add_node(pos_03, {name="ferns:fern_trunk"}) + minetest.env:add_node(pos_04, {name="ferns:fern_trunk"}) + if crown == 1 then + minetest.env:add_node(pos_05, {name="ferns:tree_fern_leaves"}) + else + minetest.env:add_node(pos_05, {name="ferns:tree_fern_leaves_02"}) + end + + end + end +end + +----------------------------------------------------------------------------------------------- +-- TREE FERN LEAVES +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:tree_fern_leaves", { + description = "Tree Fern Crown (Dicksonia)", + drawtype = "plantlike", + visual_scale = 2, + paramtype = "light", + paramtype2 = "facedir", + --tiles = {"[combine:32x32:0,0=top_left.png:0,16=bottom_left.png:16,0=top_right.png:16,16=bottom_right.png"}, + tiles = {"ferns_fern_tree.png"}, + inventory_image = "ferns_fern_tree_inv.png", + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1}, + drop = { + max_items = 1, + items = { + { + items = {"ferns:sapling_tree_fern"}, + rarity = 20, + }, + { + items = {"ferns:tree_fern_leaves"}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, +}) +minetest.register_node("ferns:tree_fern_leaves_02", { + drawtype = "plantlike", + visual_scale = 2, + paramtype = "light", + tiles = {"ferns_fern_big.png"}, + walkable = false, + groups = {snappy=3,flammable=2,attached_node=1,not_in_creative_inventory=1}, + drop = { + max_items = 1, + items = { + { + items = {"ferns:sapling_tree_fern"}, + rarity = 20, + }, + { + items = {"ferns:tree_fern_leaves"}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, +}) +----------------------------------------------------------------------------------------------- +-- FERN TRUNK +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:fern_trunk", { + description = "Fern Trunk (Dicksonia)", + drawtype = "nodebox", + paramtype = "light", + tiles = { + "ferns_fern_trunk_top.png", + "ferns_fern_trunk_top.png", + "ferns_fern_trunk.png" + }, + node_box = { + type = "fixed", + fixed = {-1/8, -1/2, -1/8, 1/8, 1/2, 1/8}, + }, + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {tree=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), + after_destruct = function(pos,oldnode) + local node = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}) + if node.name == "ferns:fern_trunk" then + minetest.dig_node({x=pos.x,y=pos.y+1,z=pos.z}) + minetest.add_item(pos,"ferns:fern_trunk") + end + end, +}) + +----------------------------------------------------------------------------------------------- +-- TREE FERN SAPLING +----------------------------------------------------------------------------------------------- +minetest.register_node("ferns:sapling_tree_fern", { + description = "Tree Fern Sapling (Dicksonia)", + drawtype = "plantlike", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"ferns_sapling_tree_fern.png"}, + inventory_image = "ferns_sapling_tree_fern.png", + walkable = false, + groups = {snappy=3,flammable=2,flora=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, + }, +}) +-- abm +minetest.register_abm({ + nodenames = "ferns:sapling_tree_fern", + interval = 1000, + chance = 4, + action = function(pos, node, _, _) + abstract_ferns.grow_tree_fern({x = pos.x, y = pos.y-1, z = pos.z}) + end +}) + +----------------------------------------------------------------------------------------------- +-- GENERATE TREE FERN +----------------------------------------------------------------------------------------------- +-- in jungles +if Tree_Ferns_in_Jungle == true then +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + "default:sand", + "default:desert_sand"--, + --"dryplants:grass_short" + }, + max_count = 35,--27, + avoid_nodes = {"default:tree"}, + avoid_radius = 4, + rarity = 50, + seed_diff = 329, + min_elevation = -10, + near_nodes = {"default:jungletree"}, + near_nodes_size = 6, + near_nodes_vertical = 2,--4, + near_nodes_count = 1, + plantlife_limit = -0.9, + humidity_max = -1.0, + humidity_min = 0.4, + temp_max = -0.5, + temp_min = 0.13, + check_air = false, + }, + "abstract_ferns.grow_tree_fern" +) +end + +-- for oases & tropical beaches +if Tree_Ferns_for_Oases == true then +plantslib:register_generate_plant({ + surface = { + "default:sand"--, + --"default:desert_sand" + }, + max_count = 35, + rarity = 50, + seed_diff = 329, + neighbors = {"default:desert_sand"}, + ncount = 1, + min_elevation = 1, + near_nodes = {"default:water_source"}, + near_nodes_size = 2, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + humidity_max = -1.0, + humidity_min = 1.0, + temp_max = -1.0, + temp_min = 1.0, + check_air = false, + }, + "abstract_ferns.grow_tree_fern" +) +end diff --git a/molehills/depends.txt b/molehills/depends.txt new file mode 100644 index 0000000..bde0bdf --- /dev/null +++ b/molehills/depends.txt @@ -0,0 +1,2 @@ +default +plants_lib \ No newline at end of file diff --git a/molehills/init.lua b/molehills/init.lua new file mode 100644 index 0000000..c80e7cc --- /dev/null +++ b/molehills/init.lua @@ -0,0 +1,110 @@ +----------------------------------------------------------------------------------------------- +local title = "Mole Hills" +local version = "0.0.3" +local mname = "molehills" +----------------------------------------------------------------------------------------------- +-- Idea by Sokomine +-- Code & textures by Mossmanikin + +abstract_molehills = {} + +dofile(minetest.get_modpath("molehills").."/molehills_settings.txt") + +----------------------------------------------------------------------------------------------- +-- NoDe +----------------------------------------------------------------------------------------------- +minetest.register_node("molehills:molehill",{ + drawtype = "nodebox", + description = "Mole Hill", + inventory_image = "molehills_side.png", + tiles = { + "molehills_dirt.png",--"molehill_top.png", + "molehills_dirt.png",--"molehill_top.png", + "molehills_dirt.png"--"molehill_side.png" + }, + paramtype = "light", + node_box = { + type = "fixed", + fixed = { +-- { left, bottom, front, right, top, back} + {-2/16, -3/16, -1/16, 2/16, -2/16, 1/16}, + {-1/16, -3/16, -2/16, 1/16, -2/16, 2/16}, +-- { left, bottom, front, right, top, back} + {-4/16, -4/16, -2/16, 4/16, -3/16, 2/16}, + {-2/16, -4/16, -4/16, 2/16, -3/16, 4/16}, + {-3/16, -4/16, -3/16, 3/16, -3/16, 3/16}, +-- { left, bottom, front, right, top, back} + {-5/16, -5/16, -2/16, 5/16, -4/16, 2/16}, + {-2/16, -5/16, -5/16, 2/16, -4/16, 5/16}, + {-4/16, -5/16, -4/16, 4/16, -4/16, 4/16}, +-- { left, bottom, front, right, top, back} + {-6/16, -6/16, -2/16, 6/16, -5/16, 2/16}, + {-2/16, -6/16, -6/16, 2/16, -5/16, 6/16}, + {-5/16, -6/16, -4/16, 5/16, -5/16, 4/16}, + {-4/16, -6/16, -5/16, 4/16, -5/16, 5/16}, +-- { left, bottom, front, right, top, back} + {-7/16, -7/16, -3/16, 7/16, -6/16, 3/16}, + {-3/16, -7/16, -7/16, 3/16, -6/16, 7/16}, + {-6/16, -7/16, -4/16, 6/16, -6/16, 4/16}, + {-4/16, -7/16, -6/16, 4/16, -6/16, 6/16}, + {-5/16, -7/16, -5/16, 5/16, -6/16, 5/16}, +-- { left, bottom, front, right, top, back} +--[[b]] {-1/2 , -1/2 , -3/16, 1/2 , -7/16, 3/16}, -- left to right +--[[o]] {-3/16, -1/2 , -1/2 , 3/16, -7/16, 1/2 }, -- front to back +--[[t]] {-7/16, -1/2 , -5/16, 7/16, -7/16, 5/16}, +--[[t]] {-5/16, -1/2 , -7/16, 5/16, -7/16, 7/16}, +--[[m]] {-6/16, -1/2 , -6/16, 6/16, -7/16, 6/16}, -- mid + }, + }, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, 2/16, 1/2}, + }, + groups = {crumbly=3}, + sounds = default.node_sound_dirt_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- CRaFTiNG +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- molehills --> dirt + output = "default:dirt", + recipe = { + {"molehills:molehill","molehills:molehill"}, + {"molehills:molehill","molehills:molehill"}, + } +}) + +----------------------------------------------------------------------------------------------- +-- GeNeRaTiNG +----------------------------------------------------------------------------------------------- +abstract_molehills.place_molehill = function(pos) + local right_here = {x=pos.x , y=pos.y+1, z=pos.z } + if minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z }).name ~= "air" + and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z }).name ~= "air" + and minetest.get_node({x=pos.x , y=pos.y, z=pos.z+1}).name ~= "air" + and minetest.get_node({x=pos.x , y=pos.y, z=pos.z-1}).name ~= "air" + and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z+1}).name ~= "air" + and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z-1}).name ~= "air" + and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z+1}).name ~= "air" + and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z-1}).name ~= "air" then + minetest.add_node(right_here, {name="molehills:molehill"}) + end +end + +plantslib:register_generate_plant({ + surface = {"default:dirt_with_grass"}, + max_count = Molehills_Max_Count, + rarity = Molehills_Rarity, + min_elevation = 1, + max_elevation = 40, + avoid_nodes = {"group:tree","group:liquid","group:stone","group:falling_node"--[[,"air"]]}, + avoid_radius = 4, + plantlife_limit = -0.3, + }, + "abstract_molehills.place_molehill" +) + +----------------------------------------------------------------------------------------------- +print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...") +----------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/molehills/molehills_settings.txt b/molehills/molehills_settings.txt new file mode 100644 index 0000000..2079574 --- /dev/null +++ b/molehills/molehills_settings.txt @@ -0,0 +1,6 @@ +-- Settings for generation of stuff (at map-generation time) + +Molehills_Max_Count = 320 -- absolute maximum number in an area of 80x80x80 nodes + +Molehills_Rarity = 87 -- larger values make molehills more rare (100 means chance of 0 %) + diff --git a/molehills/textures/molehills_dirt.png b/molehills/textures/molehills_dirt.png new file mode 100644 index 0000000000000000000000000000000000000000..79ffa8557c0c3d157e40331b96b57fb92493bdde GIT binary patch literal 806 zcmV+>1KIqEP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A0007&NklzMb|=Lm+`zB;VN=bI^Ks@&7;>W<1(-jG>Vw$r_m~9upari9(CcCGl<$XRI&%K zaw&|w8j`3j&w*RRuR*nh23fl>r)Cz-%*=!k4=h`IPq~2 z<7GR?ENIC4ZoMd=hAvRa9KtnoDhX|wcS*3?RJ@Octwn;dCwS8|v}o_tJD`u=b= z5O8Ys^KmIOsZlkThQaWV8w0~8t-hib!>+AG{3r?J2FwE|Y7Ml2t_)3rCX7ZQC0Uk(nx_KJAJ5rDko);Sz>OqqfxfbMnD_B#cTG!`uP+$gU=Fw$ kY4A=^$a+2{cY@me1NKOysQ5~JGynhq07*qoM6N<$f?57<%m4rY literal 0 HcmV?d00001 diff --git a/molehills/textures/molehills_side.png b/molehills/textures/molehills_side.png new file mode 100644 index 0000000000000000000000000000000000000000..c82e72a9b8e3d16032afb54721e07016e465619c GIT binary patch literal 395 zcmV;60d)R}P)N2bPDNB8 zb~7$DE-^7j^FlWO009R{L_t(IPwkRRPr^VHg}ZfSG#WsGl(aYvQ~R(j4Q-izQ~RMfluI_aHmKICiBeq&jEr4F;hNTfau?Q@O#gYr-cDJOmUkLvII>fKgq|Kvk}uE{-7<{>eZ5l@b&J|Nal;J<@Wcp+)F$y{pBc5|ysWHUEqgTuq|Kvf-{E{-7<{%a>)VeB_ z#YMeY%}<2(y;Xd3yhCy~|3#$_M=S#Fyt{2$I{64oLUdwmXct4ggoL%t@3MxwGt?jW zFl>!3F)W-L^n|rxw&c54{0FQgGc@BeA6)v;-kJXQQ{kD4m2oBlYj%D}m9qY5$M|XW WTANL?X37BF#Ng@b=d#Wzp$Pyv24++M literal 0 HcmV?d00001 diff --git a/trunks/crafting.lua b/trunks/crafting.lua new file mode 100644 index 0000000..02f3991 --- /dev/null +++ b/trunks/crafting.lua @@ -0,0 +1,133 @@ +-- Code by Mossmanikin +----------------------------------------------------------------------------------------------- +-- TWiGS +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- *leaves --> twigs + output = "trunks:twig_1 2", + recipe = {{"group:leafdecay"}} +}) +if minetest.get_modpath("moretrees") ~= nil then +minetest.register_craft({ -- moretrees_leaves --> twigs + output = "trunks:twig_1 2", + recipe = {{"group:moretrees_leaves"}} +}) +minetest.register_craft({ -- except moretrees:palm_leaves + output = "moretrees:palm_leaves", + recipe = {{"moretrees:palm_leaves"}} +}) +end +if minetest.get_modpath("bushes") ~= nil then +minetest.register_craft({ -- BushLeaves --> twigs + output = "trunks:twig_1 2", + recipe = {{"bushes:BushLeaves1"}} +}) +minetest.register_craft({ + output = "trunks:twig_1 2", + recipe = {{"bushes:BushLeaves2"}} +}) +minetest.register_craft({ -- bushbranches --> twigs + output = "trunks:twig_1 4", + recipe = {{"bushes:bushbranches1"}} +}) +minetest.register_craft({ + output = "trunks:twig_1 4", + recipe = {{"bushes:bushbranches2"}} +}) +minetest.register_craft({ + output = "trunks:twig_1 4", + recipe = {{"bushes:bushbranches2a"}} +}) +minetest.register_craft({ + output = "trunks:twig_1 4", + recipe = {{"bushes:bushbranches3"}} +}) +end +minetest.register_craft({ -- twigs block --> twigs + output = "trunks:twig_1 8", + recipe = {{"trunks:twigs"}} +}) +minetest.register_craft({ -- twigs_slab --> twigs + output = "trunks:twig_1 4", + recipe = {{"trunks:twigs_slab"}} +}) +minetest.register_craft({ -- twigs_roof --> twigs + output = "trunks:twig_1 4", + recipe = {{"trunks:twigs_roof"}} +}) +minetest.register_craft({ -- twigs_roof_corner --> twigs + output = "trunks:twig_1 3", + recipe = {{"trunks:twigs_roof_corner"}} +}) +minetest.register_craft({ -- twigs_roof_corner_2 --> twigs + output = "trunks:twig_1 3", + recipe = {{"trunks:twigs_roof_corner_2"}} +}) +----------------------------------------------------------------------------------------------- +-- STiCK +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- twig --> stick + output = "default:stick", + recipe = {{"trunks:twig_1"}} +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS BLoCK +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- twigs --> twigs block + output = "trunks:twigs", + recipe = { + {"trunks:twig_1","trunks:twig_1","trunks:twig_1"}, + {"trunks:twig_1", "" ,"trunks:twig_1"}, + {"trunks:twig_1","trunks:twig_1","trunks:twig_1"}, + } +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS SLaBS +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- twigs blocks --> twigs_slabs + output = "trunks:twigs_slab 6", + recipe = { + {"trunks:twigs","trunks:twigs","trunks:twigs"}, + } +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS RooFS +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- twigs blocks --> twigs_roofs + output = "trunks:twigs_roof 4", + recipe = { + {"trunks:twigs",""}, + {"","trunks:twigs"}, + } +}) +minetest.register_craft({ + output = "trunks:twigs_roof 4", + recipe = { + {"","trunks:twigs"}, + {"trunks:twigs",""}, + } +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS RooF CoRNeRS +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- twigs blocks --> twigs_roof_corners + output = "trunks:twigs_roof_corner 8", + recipe = { + { "" ,"trunks:twigs", "" }, + {"trunks:twigs", "" ,"trunks:twigs"}, + } +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS RooF CoRNeRS 2 +----------------------------------------------------------------------------------------------- +minetest.register_craft({ -- twigs blocks --> twigs_roof_corner_2's + output = "trunks:twigs_roof_corner_2 8", + recipe = { + {"trunks:twigs", "" ,"trunks:twigs"}, + { "" ,"trunks:twigs", "" }, + } +}) \ No newline at end of file diff --git a/trunks/depends.txt b/trunks/depends.txt new file mode 100644 index 0000000..9c27f3b --- /dev/null +++ b/trunks/depends.txt @@ -0,0 +1,6 @@ +default +plants_lib +bushes? +ferns? +moretrees? +trees? \ No newline at end of file diff --git a/trunks/generating.lua b/trunks/generating.lua new file mode 100644 index 0000000..cd897da --- /dev/null +++ b/trunks/generating.lua @@ -0,0 +1,555 @@ +-- Code by Mossmanikin, Neuromancer, and others + +local function clone_node(name) + node2={} + node=minetest.registered_nodes[name] + for k,v in pairs(node) do + node2[k]=v + end + return node2 +end + +----------------------------------------------------------------------------------------------- +-- TWiGS +----------------------------------------------------------------------------------------------- + +abstract_trunks.place_twig = function(pos) + local twig_size = math.random(1,27) + + local right_here = {x=pos.x , y=pos.y+1, z=pos.z } + local north = {x=pos.x , y=pos.y+1, z=pos.z+1} + local north_east = {x=pos.x+1, y=pos.y+1, z=pos.z+1} + local east = {x=pos.x+1, y=pos.y+1, z=pos.z } + local south_east = {x=pos.x+1, y=pos.y+1, z=pos.z-1} + local south = {x=pos.x , y=pos.y+1, z=pos.z-1} + local south_west = {x=pos.x-1, y=pos.y+1, z=pos.z-1} + local west = {x=pos.x-1, y=pos.y+1, z=pos.z } + local north_west = {x=pos.x-1, y=pos.y+1, z=pos.z+1} + + local node_here = minetest.get_node(right_here) + local node_north = minetest.get_node(north) + local node_n_e = minetest.get_node(north_east) + local node_east = minetest.get_node(east) + local node_s_e = minetest.get_node(south_east) + local node_south = minetest.get_node(south) + local node_s_w = minetest.get_node(south_west) + local node_west = minetest.get_node(west) + local node_n_w = minetest.get_node(north_west) +-- small twigs + if twig_size <= 16 then + minetest.add_node(right_here, {name="trunks:twig_"..math.random(1,4), param2=math.random(0,3)}) + end +-- big twigs + if Big_Twigs == true then +-- big twig 1 + if twig_size == 17 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z+1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_5"}) + end + if minetest.registered_nodes[node_n_e.name].buildable_to then + minetest.add_node(north_east, {name="trunks:twig_7"}) + end + if minetest.registered_nodes[node_east.name].buildable_to then + minetest.add_node(east, {name="trunks:twig_8"}) + end + end + elseif twig_size == 18 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_5", param2=1}) + end + if minetest.registered_nodes[node_s_e.name].buildable_to then + minetest.add_node(south_east, {name="trunks:twig_7", param2=1}) + end + if minetest.registered_nodes[node_south.name].buildable_to then + minetest.add_node(south, {name="trunks:twig_8", param2=1}) + end + end + elseif twig_size == 19 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_5", param2=2}) + end + if minetest.registered_nodes[node_s_w.name].buildable_to then + minetest.add_node(south_west, {name="trunks:twig_7", param2=2}) + end + if minetest.registered_nodes[node_west.name].buildable_to then + minetest.add_node(west, {name="trunks:twig_8", param2=2}) + end + end + elseif twig_size == 20 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z+1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_5", param2=3}) + end + if minetest.registered_nodes[node_n_w.name].buildable_to then + minetest.add_node(north_west, {name="trunks:twig_7", param2=3}) + end + if minetest.registered_nodes[node_north.name].buildable_to then + minetest.add_node(north, {name="trunks:twig_8", param2=3}) + end + end +-- big twig 2 + elseif twig_size == 21 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z+1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_9"}) + end + if minetest.registered_nodes[node_north.name].buildable_to then + minetest.add_node(north, {name="trunks:twig_10"}) + end + if minetest.registered_nodes[node_n_e.name].buildable_to then + minetest.add_node(north_east, {name="trunks:twig_11"}) + end + end + elseif twig_size == 22 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_9", param2=1}) + end + if minetest.registered_nodes[node_east.name].buildable_to then + minetest.add_node(east, {name="trunks:twig_10", param2=1}) + end + if minetest.registered_nodes[node_s_e.name].buildable_to then + minetest.add_node(south_east, {name="trunks:twig_11", param2=1}) + end + end + elseif twig_size == 23 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z-1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_9", param2=2}) + end + if minetest.registered_nodes[node_south.name].buildable_to then + minetest.add_node(south, {name="trunks:twig_10", param2=2}) + end + if minetest.registered_nodes[node_s_w.name].buildable_to then + minetest.add_node(south_west, {name="trunks:twig_11", param2=2}) + end + end + elseif twig_size == 24 then + if not (minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z}).name].buildable_to + or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z+1}).name].buildable_to) then + + if minetest.registered_nodes[node_here.name].buildable_to then + minetest.add_node(right_here, {name="trunks:twig_9", param2=3}) + end + if minetest.registered_nodes[node_west.name].buildable_to then + minetest.add_node(west, {name="trunks:twig_10", param2=3}) + end + if minetest.registered_nodes[node_n_w.name].buildable_to then + minetest.add_node(north_west, {name="trunks:twig_11", param2=3}) + end + end + elseif twig_size <= 25 then + minetest.add_node(right_here, {name="trunks:twig_"..math.random(12,13), param2=math.random(0,3)}) + end + end +end + +if Twigs_on_ground == true then +plantslib:register_generate_plant({ + surface = {"default:dirt_with_grass"}, + max_count = Twigs_on_ground_Max_Count, + rarity = Twigs_on_ground_Rarity, + min_elevation = 1, + max_elevation = 40, + near_nodes = {"group:tree","ferns:fern_03","ferns:fern_02","ferns:fern_01"}, + near_nodes_size = 3, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + }, + "abstract_trunks.place_twig" +) +end + +if Twigs_on_water == true then +plantslib:register_generate_plant({ + surface = {"default:water_source"}, + max_count = Twigs_on_water_Max_Count, + rarity = Twigs_on_water_Rarity, + min_elevation = 1, + max_elevation = 40, + near_nodes = {"group:tree"}, + near_nodes_size = 3, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + }, + "abstract_trunks.place_twig" +) +end + +----------------------------------------------------------------------------------------------- +-- TRuNKS +----------------------------------------------------------------------------------------------- +local TRuNKS = { +-- MoD TRuNK NR + {"default", "tree", 1}, + {"default", "jungletree", 2}, + + {"trees", "tree_conifer", 3}, + {"trees", "tree_mangrove", 4}, + {"trees", "tree_palm", 5}, + + {"moretrees", "apple_tree_trunk", 6}, + {"moretrees", "beech_trunk", 7}, + {"moretrees", "birch_trunk", 8}, + {"moretrees", "fir_trunk", 9}, + {"moretrees", "oak_trunk", 10}, + {"moretrees", "palm_trunk", 11}, + {"moretrees", "pine_trunk", 12}, + {"moretrees", "rubber_tree_trunk", 13}, + {"moretrees", "rubber_tree_trunk_empty", 14}, + {"moretrees", "sequoia_trunk", 15}, + {"moretrees", "spruce_trunk", 16}, + {"moretrees", "willow_trunk", 17}, +} + +if Horizontal_Trunks == true then -- see settings.txt +for i in pairs(TRuNKS) do + local MoD = TRuNKS[i][1] + local TRuNK = TRuNKS[i][2] + local NR = TRuNKS[i][3] + if minetest.get_modpath(MoD) ~= nil + and NR < 6 then -- moretrees trunks allready have facedir + + trunkname = MoD..":"..TRuNK + temptrunk = clone_node(trunkname) + temptrunk.paramtype2 = "facedir" + minetest.register_node(":"..trunkname, temptrunk) + end +end +end + +abstract_trunks.place_trunk = function(pos) + + local right_here = {x=pos.x, y=pos.y+1, z=pos.z} + local north = {x=pos.x, y=pos.y+1, z=pos.z+1} + local north2 = {x=pos.x, y=pos.y+1, z=pos.z+2} + local south = {x=pos.x, y=pos.y+1, z=pos.z-1} + local south2 = {x=pos.x, y=pos.y+1, z=pos.z-2} + local west = {x=pos.x-1, y=pos.y+1, z=pos.z} + local west2 = {x=pos.x-2, y=pos.y+1, z=pos.z} + local east = {x=pos.x+1, y=pos.y+1, z=pos.z} + local east2 = {x=pos.x+2, y=pos.y+1, z=pos.z} + + local node_here = minetest.get_node(right_here) + local node_north = minetest.get_node(north) + local node_north2 = minetest.get_node(north2) + local node_south = minetest.get_node(south) + local node_south2 = minetest.get_node(south2) + local node_west = minetest.get_node(west) + local node_west2 = minetest.get_node(west2) + local node_east = minetest.get_node(east) + local node_east2 = minetest.get_node(east2) + if minetest.registered_nodes[node_here.name].buildable_to then -- instead of check_air = true, + for i in pairs(TRuNKS) do + local MoD = TRuNKS[i][1] + local TRuNK = TRuNKS[i][2] + local NR = TRuNKS[i][3] + local chance = math.random(1, 17) + local length = math.random(3,5) + if chance == NR then + local trunk_type = math.random(1,3) + if trunk_type == 1 then + if minetest.get_modpath(MoD) ~= nil then + minetest.add_node(right_here, {name=MoD..":"..TRuNK}) + else + minetest.add_node(right_here, {name="default:tree"}) + end + elseif trunk_type == 2 and Horizontal_Trunks == true then + if minetest.get_modpath(MoD) ~= nil then + if minetest.registered_nodes[node_north.name].buildable_to then + minetest.add_node(north, {name=MoD..":"..TRuNK, param2=4}) + end + + if length >= 4 and minetest.registered_nodes[node_north2.name].buildable_to then + minetest.add_node(north2, {name=MoD..":"..TRuNK, param2=4}) + end + + minetest.add_node(right_here, {name=MoD..":"..TRuNK, param2=4}) + if minetest.registered_nodes[node_south.name].buildable_to then + minetest.add_node(south, {name=MoD..":"..TRuNK, param2=4}) + end + if length == 5 and minetest.registered_nodes[node_south2.name].buildable_to then + minetest.add_node(south2, {name=MoD..":"..TRuNK, param2=4}) + end + else + if minetest.registered_nodes[node_north.name].buildable_to then + minetest.add_node(north, {name="default:tree", param2=4}) + end + if length >= 4 and minetest.registered_nodes[node_north2.name].buildable_to then + minetest.add_node(north2, {name="default:tree", param2=4}) + end + minetest.add_node(right_here, {name="default:tree", param2=4}) + if minetest.registered_nodes[node_south.name].buildable_to then + minetest.add_node(south, {name="default:tree", param2=4}) + end + if length == 5 and minetest.registered_nodes[node_south2.name].buildable_to then + minetest.add_node(south2, {name="default:tree", param2=4}) + end + end + elseif trunk_type == 3 and Horizontal_Trunks == true then + if minetest.get_modpath(MoD) ~= nil then + if minetest.registered_nodes[node_west.name].buildable_to then + minetest.add_node(west, {name=MoD..":"..TRuNK, param2=12}) + end + if length >= 4 and minetest.registered_nodes[node_west2.name].buildable_to then + minetest.add_node(west2, {name=MoD..":"..TRuNK, param2=12}) + end + minetest.add_node(right_here, {name=MoD..":"..TRuNK, param2=12}) + if minetest.registered_nodes[node_east.name].buildable_to then + minetest.add_node(east, {name=MoD..":"..TRuNK, param2=12}) + end + if length == 5 and minetest.registered_nodes[node_east2.name].buildable_to then + minetest.add_node(east2, {name=MoD..":"..TRuNK, param2=12}) + end + else + if minetest.registered_nodes[node_west.name].buildable_to then + minetest.add_node(west, {name="default:tree", param2=12}) + end + if length >= 4 and minetest.registered_nodes[node_west2.name].buildable_to then + minetest.add_node(west2, {name="default:tree", param2=12}) + end + minetest.add_node(right_here, {name="default:tree", param2=12}) + if minetest.registered_nodes[node_east.name].buildable_to then + minetest.add_node(east, {name="default:tree", param2=12}) + end + if length == 5 and minetest.registered_nodes[node_east2.name].buildable_to then + minetest.add_node(east2, {name="default:tree", param2=12}) + end + end + end + end + end + end +end + +plantslib:register_generate_plant({ + surface = {"default:dirt_with_grass"}, + max_count = Trunks_Max_Count, -- 320, + rarity = Trunks_Rarity, -- 99, + min_elevation = 1, + max_elevation = 40, + avoid_nodes = {"group:tree"}, + avoid_radius = 1, + near_nodes = {"group:tree","ferns:fern_03","ferns:fern_02","ferns:fern_01"}, + near_nodes_size = 3, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_trunks.place_trunk" +) + +----------------------------------------------------------------------------------------------- +-- MoSS & FuNGuS -- on ground +----------------------------------------------------------------------------------------------- +if Moss_on_ground == true then +abstract_trunks.grow_moss_on_ground = function(pos) + local on_ground = {x=pos.x, y=pos.y+1, z=pos.z} + local moss_type = math.random(1,21) + + if moss_type == 1 then + minetest.add_node(on_ground, {name="trunks:moss_fungus", param2=math.random(0,3)}) + else + minetest.add_node(on_ground, {name="trunks:moss", param2=math.random(0,3)}) + end + +end + +plantslib:register_generate_plant({ + surface = {"default:dirt_with_grass"}, + max_count = Moss_on_ground_Max_Count, + rarity = Moss_on_ground_Rarity, + min_elevation = 1, + max_elevation = 40, + near_nodes = { + "group:tree", + "ferns:fern_03", + "ferns:fern_02", + "ferns:fern_01" + }, + near_nodes_size = 2, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -0.9, + }, + "abstract_trunks.grow_moss_on_ground" +) +end + +----------------------------------------------------------------------------------------------- +-- MoSS & FuNGuS -- on trunks +----------------------------------------------------------------------------------------------- +if Moss_on_trunk == true then +abstract_trunks.grow_moss_on_trunk = function(pos) + local on_ground = {x=pos.x, y=pos.y+1, z=pos.z} + local at_side_n = {x=pos.x, y=pos.y, z=pos.z+1} + local at_side_e = {x=pos.x+1, y=pos.y, z=pos.z} + local at_side_s = {x=pos.x, y=pos.y, z=pos.z-1} + local at_side_w = {x=pos.x-1, y=pos.y, z=pos.z} + local undrneath = {x=pos.x, y=pos.y-1, z=pos.z} + + local node_here = minetest.get_node(on_ground) + local node_north = minetest.get_node(at_side_n) + local node_east = minetest.get_node(at_side_e) + local node_south = minetest.get_node(at_side_s) + local node_west = minetest.get_node(at_side_w) + local node_under = minetest.get_node(undrneath) + + --if minetest.get_item_group(node_under.name, "tree") < 1 then + local moss_type = math.random(1,41) + if minetest.registered_nodes[node_here.name].buildable_to then -- instead of check_air = true, + if moss_type == 1 then + minetest.add_node(on_ground, {name="trunks:moss_fungus", param2=math.random(0,3) --[[1]]}) + elseif moss_type < 22 then + minetest.add_node(on_ground, {name="trunks:moss", param2=math.random(0,3) --[[1]]}) + end + end + local moss_type = math.random(1,31) -- cliche of more moss at north + if minetest.registered_nodes[node_north.name].buildable_to then -- instead of check_air = true, + if moss_type == 1 then + minetest.add_node(at_side_n, {name="trunks:moss_fungus", param2=math.random(4,7)}) -- 5,4,6,7 + elseif moss_type < 22 then + minetest.add_node(at_side_n, {name="trunks:moss", param2=math.random(4,7)}) + end + end + local moss_type = math.random(1,41) + if minetest.registered_nodes[node_east.name].buildable_to then -- instead of check_air = true, + if moss_type == 1 then + minetest.add_node(at_side_e, {name="trunks:moss_fungus", param2=math.random(12,15)}) + elseif moss_type < 22 then + minetest.add_node(at_side_e, {name="trunks:moss", param2=math.random(12,15)}) + end + end + local moss_type = math.random(1,41) + if minetest.registered_nodes[node_south.name].buildable_to then -- instead of check_air = true, + if moss_type == 1 then + minetest.add_node(at_side_s, {name="trunks:moss_fungus", param2=math.random(8,11)}) + elseif moss_type < 22 then + minetest.add_node(at_side_s, {name="trunks:moss", param2=math.random(8,11)}) + end + end + local moss_type = math.random(1,41) + if minetest.registered_nodes[node_west.name].buildable_to then -- instead of check_air = true, + if moss_type == 1 then + minetest.add_node(at_side_w, {name="trunks:moss_fungus", param2=math.random(16,19)}) + elseif moss_type < 22 then + minetest.add_node(at_side_w, {name="trunks:moss", param2=math.random(16,19)}) + end + end + --end +end + +plantslib:register_generate_plant({ + surface = { + "default:tree", + "default:jungletree", + "trees:tree_conifer", + "trees:tree_mangrove", + --"trees:tree_palm", + "moretrees:apple_tree_trunk", + "moretrees:beech_trunk", + "moretrees:birch_trunk", + "moretrees:fir_trunk", + "moretrees:oak_trunk", + --"moretrees:palm_trunk", + "moretrees:pine_trunk", + "moretrees:rubber_tree_trunk", + "moretrees:rubber_tree_trunk_empty", + "moretrees:sequoia_trunk", + "moretrees:spruce_trunk", + "moretrees:willow_trunk", + "default:mossycobble" + }, + max_count = Moss_on_trunk_Max_Count, + rarity = Moss_on_trunk_Rarity, + min_elevation = 1, + max_elevation = 40, + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_trunks.grow_moss_on_trunk" +) +end + +----------------------------------------------------------------------------------------------- +-- RooTS +----------------------------------------------------------------------------------------------- +if Roots == true then -- see settings.txt + +abstract_trunks.grow_roots = function(pos) + local twig_size = math.random(1,27) + + local right_here = {x=pos.x , y=pos.y , z=pos.z } + local below = {x=pos.x , y=pos.y-1, z=pos.z } + local north = {x=pos.x , y=pos.y , z=pos.z+1} + local east = {x=pos.x+1, y=pos.y , z=pos.z } + local south = {x=pos.x , y=pos.y , z=pos.z-1} + local west = {x=pos.x-1, y=pos.y , z=pos.z } + + local node_here = minetest.get_node(right_here) + local node_below = minetest.get_node(below) + local node_north = minetest.get_node(north) + local node_east = minetest.get_node(east) + local node_south = minetest.get_node(south) + local node_west = minetest.get_node(west) + + for i in pairs(TRuNKS) do + local MoD = TRuNKS[i][1] + local TRuNK = TRuNKS[i][2] + if minetest.get_modpath(MoD) ~= nil + and node_here.name == MoD..":"..TRuNK + and string.find(node_below.name, "dirt") + and node_here.param2 == 0 then + if minetest.registered_nodes[node_north.name].buildable_to then + minetest.add_node(north, {name="trunks:"..TRuNK.."root", param2=2}) + end + if minetest.registered_nodes[node_east.name].buildable_to then + minetest.add_node(east, {name="trunks:"..TRuNK.."root", param2=3}) + end + if minetest.registered_nodes[node_south.name].buildable_to then + minetest.add_node(south, {name="trunks:"..TRuNK.."root", param2=0}) + end + if minetest.registered_nodes[node_west.name].buildable_to then + minetest.add_node(west, {name="trunks:"..TRuNK.."root", param2=1}) + end + end + end +end + +plantslib:register_generate_plant({ + surface = {"group:tree"}, + max_count = 1000, + rarity = 1, + min_elevation = 1, + max_elevation = 40, + near_nodes = {"default:dirt_with_grass"}, + near_nodes_size = 1, + near_nodes_vertical = 1, + near_nodes_count = 1, + plantlife_limit = -1, + check_air = false, + }, + "abstract_trunks.grow_roots" +) + +end diff --git a/trunks/init.lua b/trunks/init.lua new file mode 100644 index 0000000..ee9427d --- /dev/null +++ b/trunks/init.lua @@ -0,0 +1,17 @@ +----------------------------------------------------------------------------------------------- +local title = "Trunks" +local version = "0.1.4" +local mname = "trunks" +----------------------------------------------------------------------------------------------- +-- Code by Mossmanikin & Neuromancer + +abstract_trunks = {} + +dofile(minetest.get_modpath("trunks").."/trunks_settings.txt") +dofile(minetest.get_modpath("trunks").."/generating.lua") +dofile(minetest.get_modpath("trunks").."/nodes.lua") +dofile(minetest.get_modpath("trunks").."/crafting.lua") + +----------------------------------------------------------------------------------------------- +print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...") +----------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/trunks/nodes.lua b/trunks/nodes.lua new file mode 100644 index 0000000..b8b8624 --- /dev/null +++ b/trunks/nodes.lua @@ -0,0 +1,359 @@ +-- Code by Mossmanikin & Neuromancer +----------------------------------------------------------------------------------------------- +-- TWiGS +----------------------------------------------------------------------------------------------- +-- For compatibility with older stuff +minetest.register_alias("trunks:twig", "trunks:twig_1") + +local flat_stick = {-1/2, -1/2, -1/2, 1/2, -7/16, 1/2} +local NoDe = { {1}, {2}, {3}, {4}, {5}, --[[{6},]] {7}, {8}, {9}, {10}, {11}, {12}, {13} } + + +for i in pairs(NoDe) do + local NR = NoDe[i][1] + local iNV = NR - 1 + minetest.register_node("trunks:twig_"..NR, { + description = "Twig", + inventory_image = "trunks_twig_"..NR..".png", + wield_image = "trunks_twig_"..NR..".png", + drawtype = "nodebox", + tiles = { + "trunks_twig_"..NR..".png", + "trunks_twig_"..NR..".png^[transformFY", -- mirror + "trunks_twig_6.png" -- empty + }, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + sunlight_propagates = true, + buildable_to = true, + node_box = {type = "fixed", fixed = flat_stick}, + groups = { + dig_immediate=3, -- almost literally immediate, like just picking up + attached_node=1, + not_in_creative_inventory=iNV + }, + drop = "trunks:twig_1", + sounds = default.node_sound_leaves_defaults(), + liquids_pointable = true, + on_place = function(itemstack, placer, pointed_thing) + local pt = pointed_thing + local direction = minetest.dir_to_facedir(placer:get_look_dir()) + if minetest.get_node(pt.above).name=="air" then + minetest.set_node(pt.above, {name="trunks:twig_"..math.random(1,4), param2=direction}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end + end, + }) +end + +----------------------------------------------------------------------------------------------- +-- MoSS +----------------------------------------------------------------------------------------------- +local flat_moss = {-1/2, -1/2, -1/2, 1/2, -15/32--[[<-flickers if smaller]], 1/2} + +minetest.register_node("trunks:moss", { + description = "Moss", + drawtype = "nodebox",--"signlike", + tiles = {"trunks_moss.png"}, + inventory_image = "trunks_moss.png", + wield_image = "trunks_moss.png", + paramtype = "light", + paramtype2 = "facedir",--"wallmounted", + sunlight_propagates = true, + walkable = false, + node_box = {type = "fixed", fixed = flat_moss}, + selection_box = {type = "fixed", fixed = flat_stick},--{type = "wallmounted"}, + groups = {dig_immediate=2--[[,attached_node=1]]}, -- falling moss is too annoying + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- MoSS & FuNGuS +----------------------------------------------------------------------------------------------- +minetest.register_node("trunks:moss_fungus", { + description = "Moss & Fungus", + drawtype = "nodebox",--"signlike", + tiles = {"trunks_moss_fungus.png"}, + inventory_image = "trunks_moss_fungus.png", + wield_image = "trunks_moss_fungus.png", + paramtype = "light", + paramtype2 = "facedir",--"wallmounted", + sunlight_propagates = true, + walkable = false, + node_box = {type = "fixed", fixed = flat_moss}, + selection_box = {type = "fixed", fixed = flat_stick},--{type = "wallmounted"}, + groups = {dig_immediate=2--[[,attached_node=1]]}, -- falling moss is too annoying + sounds = default.node_sound_leaves_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS BLoCK +----------------------------------------------------------------------------------------------- +minetest.register_alias("woodstuff:twigs", "trunks:twigs") + +minetest.register_node("trunks:twigs", { + description = "Twigs Block", + paramtype2 = "facedir", + tiles = {"trunks_twigs.png"}, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS SLaB +----------------------------------------------------------------------------------------------- +minetest.register_alias("woodstuff:twigs_slab", "trunks:twigs_slab") + +minetest.register_node("trunks:twigs_slab", { + description = "Twigs Slab", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"trunks_twigs.png"}, + node_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, 0, 1/2}, + }, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS RooF +----------------------------------------------------------------------------------------------- +minetest.register_alias("woodstuff:twigs_roof", "trunks:twigs_roof") + +minetest.register_node("trunks:twigs_roof", { + description = "Twigs Roof", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"trunks_twigs.png"}, + node_box = { + type = "fixed", +-- { left, bottom, front, right, top, back } + fixed = { + {-1/2, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, -1/2, -1/2, 1/2, 0, 0}, + } + }, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS RooF CoRNeR +----------------------------------------------------------------------------------------------- +minetest.register_alias("woodstuff:twigs_roof_corner", "trunks:twigs_roof_corner") + +minetest.register_node("trunks:twigs_roof_corner", { + description = "Twigs Roof Corner", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = { + "trunks_twigs_corner.png", + "trunks_twigs_corner.png", + "trunks_twigs.png" + }, + node_box = { + type = "fixed", +-- { left, bottom, front, right, top, back } + fixed = { + {-1/2, 0, 0, 0, 1/2, 1/2}, + {0, -1/2, 0, 1/2, 0, 1/2}, + {-1/2, -1/2, -1/2, 0, 0, 0}, + } + }, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +----------------------------------------------------------------------------------------------- +-- TWiGS RooF CoRNeR 2 +----------------------------------------------------------------------------------------------- +minetest.register_alias("woodstuff:twigs_roof_corner_2", "trunks:twigs_roof_corner_2") + +minetest.register_node("trunks:twigs_roof_corner_2", { + description = "Twigs Roof Corner 2", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = { + "trunks_twigs_corner.png", + "trunks_twigs_corner.png", + "trunks_twigs.png" + }, + node_box = { + type = "fixed", +-- { left, bottom, front, right, top, back } + fixed = { + {-1/2, -1/2, 0, 0, 0, 1/2}, + {0, 0, 0, 1/2, 1/2, 1/2}, + {-1/2, 0, -1/2, 0, 1/2, 0}, + } + }, + groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + sounds = default.node_sound_wood_defaults(), +}) + +if Auto_Roof_Corner == true then + + local roof = "trunks:twigs_roof" + local corner = "trunks:twigs_roof_corner" + local corner_2 = "trunks:twigs_roof_corner_2" + + minetest.register_abm({ + nodenames = {roof}, + interval = 1, + chance = 1, + action = function(pos) + + local node_east = minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z }) + local node_west = minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z }) + local node_north = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) + local node_south = minetest.get_node({x=pos.x, y=pos.y, z=pos.z-1}) + -- corner 1 + if ((node_west.name == roof and node_west.param2 == 0) + or (node_west.name == corner and node_west.param2 == 1)) + and ((node_north.name == roof and node_north.param2 == 3) + or (node_north.name == corner and node_north.param2 == 3)) + then + minetest.add_node(pos, {name=corner, param2=0}) + end + + if ((node_north.name == roof and node_north.param2 == 1) + or (node_north.name == corner and node_north.param2 == 2)) + and ((node_east.name == roof and node_east.param2 == 0) + or (node_east.name == corner and node_east.param2 == 0)) + then + minetest.add_node(pos, {name=corner, param2=1}) + end + + if ((node_east.name == roof and node_east.param2 == 2) + or (node_east.name == corner and node_east.param2 == 3)) + and ((node_south.name == roof and node_south.param2 == 1) + or (node_south.name == corner and node_south.param2 == 1)) + then + minetest.add_node(pos, {name=corner, param2=2}) + end + + if ((node_south.name == roof and node_south.param2 == 3) + or (node_south.name == corner and node_south.param2 == 0)) + and ((node_west.name == roof and node_west.param2 == 2) + or (node_west.name == corner and node_west.param2 == 2)) + then + minetest.add_node(pos, {name=corner, param2=3}) + end + -- corner 2 + if ((node_west.name == roof and node_west.param2 == 2) + or (node_west.name == corner_2 and node_west.param2 == 1)) + and ((node_north.name == roof and node_north.param2 == 1) + or (node_north.name == corner_2 and node_north.param2 == 3)) + then + minetest.add_node(pos, {name=corner_2, param2=0}) + end + + if ((node_north.name == roof and node_north.param2 == 3) + or (node_north.name == corner_2 and node_north.param2 == 2)) + and ((node_east.name == roof and node_east.param2 == 2) + or (node_east.name == corner_2 and node_east.param2 == 0)) + then + minetest.add_node(pos, {name=corner_2, param2=1}) + end + + if ((node_east.name == roof and node_east.param2 == 0) + or (node_east.name == corner_2 and node_east.param2 == 3)) + and ((node_south.name == roof and node_south.param2 == 3) + or (node_south.name == corner_2 and node_south.param2 == 1)) + then + minetest.add_node(pos, {name=corner_2, param2=2}) + end + + if ((node_south.name == roof and node_south.param2 == 1) + or (node_south.name == corner_2 and node_south.param2 == 0)) + and ((node_west.name == roof and node_west.param2 == 0) + or (node_west.name == corner_2 and node_west.param2 == 2)) + then + minetest.add_node(pos, {name=corner_2, param2=3}) + end + + end, + }) +end + +-- MM: The following stuff is just for testing purposes for now; no generating of roots. +-- I'm not satisfied with this; they should be either bigger or a different drawtype. +----------------------------------------------------------------------------------------------- +-- RooTS +----------------------------------------------------------------------------------------------- +if Roots == true then -- see settings.txt + +local roots_cube = {-2/16, -1/2, -3/16, 2/16, 1/16, 1/2} + +local roots_sheet = {0, -1/2, -1/2, 0, 1/16, 1/2} + +local TRuNKS = { +-- MoD TRuNK + {"default", "tree" }, + {"default", "jungletree" }, + + {"trees", "tree_conifer" }, + {"trees", "tree_mangrove" }, + {"trees", "tree_palm" }, + + {"moretrees", "apple_tree_trunk" }, + {"moretrees", "beech_trunk" }, + {"moretrees", "birch_trunk" }, + {"moretrees", "fir_trunk" }, + {"moretrees", "oak_trunk" }, + {"moretrees", "palm_trunk" }, + {"moretrees", "pine_trunk" }, + {"moretrees", "rubber_tree_trunk" }, + {"moretrees", "rubber_tree_trunk_empty" }, + {"moretrees", "sequoia_trunk" }, + {"moretrees", "spruce_trunk" }, + {"moretrees", "willow_trunk" }, +} + +for i in pairs(TRuNKS) do + local MoD = TRuNKS[i][1] + local TRuNK = TRuNKS[i][2] + if minetest.get_modpath(MoD) ~= nil then + + local des = minetest.registered_nodes[MoD..":"..TRuNK].description + + minetest.register_node("trunks:"..TRuNK.."root", { + description = des.." Root", + paramtype = "light", + paramtype2 = "facedir", + tiles = { +--[[top]] MoD.."_"..TRuNK..".png", +--[[bottom]] MoD.."_"..TRuNK..".png", +--[[right]] MoD.."_"..TRuNK..".png^trunks_root_mask.png^[makealpha:0,0,0", +--[[left]] MoD.."_"..TRuNK..".png^trunks_root_mask.png^[transformFX^[makealpha:0,0,0", +--[[back]] MoD.."_"..TRuNK..".png", +--[[front]] MoD.."_"..TRuNK..".png" + }, + drawtype = "nodebox", + selection_box = {type = "fixed", fixed = roots_cube}, + node_box = {type = "fixed", fixed = roots_sheet}, + groups = { + tree=1, + snappy=1, + choppy=2, + oddly_breakable_by_hand=1, + flammable=2--, + --not_in_creative_inventory=1 -- atm in inv for testing + }, + --drop = "trunks:twig_1", -- not sure about this yet + sounds = default.node_sound_wood_defaults(), + }) + + end +end +end diff --git a/trunks/textures/credit_textures.txt b/trunks/textures/credit_textures.txt new file mode 100644 index 0000000..b3893d5 --- /dev/null +++ b/trunks/textures/credit_textures.txt @@ -0,0 +1,34 @@ +------------------------------------------------------------- +Credit for textures of "trunks" +------------------------------------------------------------- +(If more than one author is listed the names are in alphabetical order) +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +FOLDER TEXTURE AUTHORS +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +../trunks/textures trunks_moss.png Neuromancer + trunks_moss_fungus.png Neuromancer + trunks_twig_1.png Mossmanikin + trunks_twig_2.png Mossmanikin, Neuromancer + trunks_twig_3.png Mossmanikin, Neuromancer + trunks_twig_4.png Mossmanikin, Neuromancer + trunks_twig_5.png Mossmanikin, Neuromancer + (trunks_twig_6.png) (Mossmanikin) + trunks_twig_7.png Mossmanikin, Neuromancer + trunks_twig_8.png Mossmanikin, Neuromancer + trunks_twig_9.png Mossmanikin, Neuromancer + trunks_twig_10.png Mossmanikin, Neuromancer + trunks_twig_11.png Mossmanikin, Neuromancer + trunks_twigs.png Mossmanikin + trunks_twigs_corner.png Mossmanikin + trunks_twigs_top.png Mossmanikin +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +../trunks/textures/old & unused comboSticks.png Mossmanikin, Neuromancer + comboSticks_2.png Mossmanikin, Neuromancer + trunks_twig_1e.png Mossmanikin, Neuromancer + trunks_twig_1n.png Mossmanikin, Neuromancer + trunks_twig_2n.png Mossmanikin, Neuromancer + trunks_twig_3n.png Mossmanikin, Neuromancer + trunks_twig_4n.png Mossmanikin, Neuromancer + trunks_twig_5-8.png Mossmanikin, Neuromancer + trunks_twig_9-12.png Mossmanikin, Neuromancer +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/trunks/textures/old & unused/comboSticks.png b/trunks/textures/old & unused/comboSticks.png new file mode 100644 index 0000000000000000000000000000000000000000..ca5eb14b51705256ddbe2e8a8649dba0dc361dc6 GIT binary patch literal 509 zcmVPx#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^7j^FlWO00C7= zL_t(oN4=N94Z<)CMO%pjtiTbm00VGg4@PAaj$MHpDmCI)R!HJ}CuyWgm7w;^|Bma9 z_v?9{rfFE#?(uxRV1_*!%%yNxZfZXpC00IF3Kso`V zP^qF>xna*w4ca1k?sD8`Z7}^ta<3JkYETAXCV)4wwluU?$LtEAcbl@KD?lu1Xh}DK zCa1vTzZ6$#a*5we0o^~Ce$fO#cTZL|7l7U&BX62B`H~fMUg31mI1Mc>r?9;+O#5Ot%1TSHft>V z1L!rNra)H!Jsq>{wC4YVuF#r5-p2Gjo3RO)h4IEPk0Aqs7R|sk1pq8SbX}!RLl=M$ zBm~-IDvo_mU`T~BO-C~36HeDkR||3ljMw`I$eqq$Kl6QF00000NkvXXu0mjf-6O$g literal 0 HcmV?d00001 diff --git a/trunks/textures/old & unused/comboSticks_2.png b/trunks/textures/old & unused/comboSticks_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd954f60c3ee2d83922512c00951072c9495a02 GIT binary patch literal 865 zcmV-n1D^beP)00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A0008eNklNgak(EEdm?yO%0JWbd&rn7gD8nEU*jTBcNJeC16SK z6WD@px)3{kXn`hu^M1=Rs+65u`WE)_;~;YgG-whfOTdY2sR#srk^qH=uNx92%tESy zaQy26%VEarn@oi6XkBWN5YFLW1W28Tw&-O0!ipv>a1Q@&;-*nHobRKu(1tV^>JWbK zqjU{3!Rr8+g|_4CK}Ofe%UF@2%DV%qF*o8X1Z3w!@yFIjnz@j`Ui_Ybl`fdWq6N0& zC-O8kn|S`o)`2)pM}=u8d;pQ$yYS5*<^tTc&07et%12+y;zKbY-6?wk5(6vvOIZjZ zvyz1n{C@=0$yC^!`PayQKY@P{;EWqSRuHX>Q-*W+S3;m9i1aNJ1W5Wr_}5ew5k1vi zay|Cz`gkv>AjbcFuYl5%DBuO`?x*n+?R40;F*h2z5L-|??bsYX`k-O;hXT!2?rHp( z0EZwc*db8+fj~iOKB)b`Uu$V)8!KyBlT7OgYT?&@p!Ngm1Bho6;Sj&}15vG&V-lnd z$?hL&KY&?)bzl2|zL%-}K+=V*7sd4cA?`+{`__ISc;E1h6-l^sCOuxy&hKkKaR059 zYL=zR95TOOnam;h&}>u+QTu^QWxMtdwI7In5#&4(`3DD~i#k~qih-5+eeDN=UZM5_ rSPayDz;vYA4;U^~`vEWc$o<0)EFQ<4c6gD@00000NkvXXu0mjfgH((g literal 0 HcmV?d00001 diff --git a/trunks/textures/old & unused/trunks_root_mask_old.png b/trunks/textures/old & unused/trunks_root_mask_old.png new file mode 100644 index 0000000000000000000000000000000000000000..05544f406d46053b513ea0b8efc775999364dc50 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0gN_s>q|KvglGE{-7<{>cdm2|xT5bP0l+XkK?g~s! literal 0 HcmV?d00001 diff --git a/trunks/textures/old & unused/trunks_twig_1e.png b/trunks/textures/old & unused/trunks_twig_1e.png new file mode 100644 index 0000000000000000000000000000000000000000..e4bc9f5041ce66046673d458c899dd3e47bd7861 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvj93 zE{-7<{>eZ7|F>s0yy4j?yn<(u*|o5z_C5Yn(k7@mYxey&=snRUn9AUxe1ajR*WmgC zQ-+&iG53ySGi-|YG;5GJtKhtGS3|_v2wnwO<2J?(7uZ>@P)6^Jh->%1JDf&p00i_>zopr0JFYX+W-In literal 0 HcmV?d00001 diff --git a/trunks/textures/old & unused/trunks_twig_2n.png b/trunks/textures/old & unused/trunks_twig_2n.png new file mode 100644 index 0000000000000000000000000000000000000000..11687dddc0b9adc6188236f77150adf75558e2fb GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(rH2 zHKHUqKdq!Zu_%=xATcwqM9`>>QDDQJB3$>gxb2!I=D_f#aeH6;;#=<4j#sF z;teL!UWE;YcHv1o7?wiATX*xJ%rP gS7DAgN2?&i1F7x$M`LCP0-eF&>FVdQ&MBb@0Qk&Y>i_@% literal 0 HcmV?d00001 diff --git a/trunks/textures/old & unused/trunks_twig_4n.png b/trunks/textures/old & unused/trunks_twig_4n.png new file mode 100644 index 0000000000000000000000000000000000000000..cc67ee6084da60f74b1ce82610566f9765444c26 GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(rH2 zHKHUqKdq!Zu_%=xATcwqM95qH_RV{J<4w$S_q3;zXE=4KGBDXRF&qz1 zyS|CJizEB(GKN4mMTSuKsh7pBv@B^gIneLc`RDsB$7A{Ye>QE<51zZ7OP^<=f}a1C zSP3OZ-3_xHU-!R${l4&dF5iDvQ$hZpd)XTlW=mUV@08QJxj+`^HU>{uKbLh*2~7aO CJZC8Y literal 0 HcmV?d00001 diff --git a/trunks/textures/old & unused/trunks_twig_5-8.png b/trunks/textures/old & unused/trunks_twig_5-8.png new file mode 100644 index 0000000000000000000000000000000000000000..1bceec191a8773a5ef5e914e3f1f929ae12c96c4 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r)EAj~ML;ne^XlqzwJC<)F_D=AMbN@WO0%*-p%^K%VRC^ObG)iX47|LkNARMqb3 z;usR){`T5N-Ub5!=ZjM|FsUXnvMosD|0d7;L@9{P!G@)C%B|<`Pe1i~xm@^%QDd## z`IuK9MOiN>_2m{C27FBLXI#Vhle?qZt>N+i^}k=u;gQpmyZ+i_M*0686|)O32tO~q zbg@(X`I5)4*$;o%&KkfJGDlCkv*G#qkCPt?f2p~-qx$3?hP`h>R9sBfPXjuM!PC{x JWt~$(697ekV)_68 literal 0 HcmV?d00001 diff --git a/trunks/textures/old & unused/trunks_twig_9-12.png b/trunks/textures/old & unused/trunks_twig_9-12.png new file mode 100644 index 0000000000000000000000000000000000000000..a86597b63f1f1ad60b560507e8fff17e8265e59c GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9i zsh**s`)4O}psJgmE{-7)?r*0alL|8kCp6EZZ)(BG;C?V;ASn zqSMXwtSfRiFcx$$OMDs;JPcnGA`njxgN@xNA Dr4fkm literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_moss.png b/trunks/textures/trunks_moss.png new file mode 100644 index 0000000000000000000000000000000000000000..6ce1b620a247bf7257b0b909be3c47fee1b80182 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsA{{X zi(`m|e{b+f-Ub7n#rbl3A{te1G_VWVA8SyI>|o{6lV~-uouH)k%3_=M-0%BV*3Kz5 z6k%CWD*f*I=5wJ%5**L=epg+jbI_u+k!8W8N%KqnuD`h@S5S0yr+J%xir_IltIvS$Hsj^^J!>8bdUW+^!XT7|s)L<1hrO`%BJ9npi zYuAQ%St}24xeHxzJFxfcQR|~Q7Pb*5*n*aX{IB7SOV;~UuP(abw&*mV7Z^NU{an^L HB{Ts533_p~ literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_moss_fungus.png b/trunks/textures/trunks_moss_fungus.png new file mode 100644 index 0000000000000000000000000000000000000000..3b8788ed56643f43b946c919a64103dc3132b597 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsOr9_ zi(`m|e{axk-a`fgM@?Bpg+x_(a}KbHa9C-jHKfjHl6*0Pp;K~2=X3tx#cAN*&vUFxF3!7}q=p@u9!tBWh;ZYJA2 z2wBp6oPFN|V-AV#UW@tHxvg`i#U1rv$XqDtdVBu$!}q>NSD*8c;PhR^cGN;Tzi-+U zhOAW)DheFd9GUy`S9ndj>27R1o#R2@Q{%wjRla}ZAMsR3zYVzh?{oE>ON>`%$_Ixt w9xI5s{30}Z4)0alLk}FXdOpsVZ|@~ literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_root_mask.png b/trunks/textures/trunks_root_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..242bb8d079f90210b0f6529d39db4c4a17fbe90e GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsA`g@ zi(`m|e{w=X!ViB%In#zi3@ok(7}y@|`YC)xqlobWL-8iwi2VsopZAqsRykpm@ODq# zbKBX|x%Tdu!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsH(uz z#WBRfKl#W1|MtwPGnCFMbhmdf`gzT9xbAdF>sr`Td!zXp`VwA+f7&x$uK9#WG?+B; zI9%r_7W5NWxZR~ct5B-pU3g4ef@wp<*@(jpB4;JoCajV?$`Fy!%+x<+Port!gd7G< isS8(yrV4$GWMEiv;yN#Tr%W)=ZU#?RKbLh*2~7b1v`o$b literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_twig_10.png b/trunks/textures/trunks_twig_10.png new file mode 100644 index 0000000000000000000000000000000000000000..a345b29ab3a7b01cf6b0a2b0bc160947c484f633 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvn6U zE{-7<{>cdv9s=2`Kh0PAt!c!t!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvm(M zE{-7<{>cdn4FCTBKi|MFe5pU&_(Vce!#6#HDUS}k=4;X`2zumVsBkUpsl5kJnt>y; zgH!?|q|KvkZeE{-7<{>eZ7|F>sWouPDAq1&BT;!EO#B}X`WH2=J0$v2VmD*V&G zHS}lyd4)M_4JJ)I3QxFrm^(I#-i(%D6DTsOn!(e&golAY^|fbtnq&#kPzFy|KbLh* G2~7aUp+VCC literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_twig_13.png b/trunks/textures/trunks_twig_13.png new file mode 100644 index 0000000000000000000000000000000000000000..bf13bf903785eb8f60ea16df65070b561c4cf128 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0gN_s>q|KvhnjE{-7<{>eZ7|F>sWouPDAq1&BTf|vQ%vgU~BssH`F=KSYfYSAF3 zJjp&#Q*fDN^gP832D50-GRA#(ye_b|Y_ej=Qv5V+|1wVzplJ-Au6{1-oD!M!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvk8V zE{-7<{>gv-|F>s$Wk_LAm015QB3g98%^$i4G8sHJPZoM!@2ttUr|p4BgT&bf9}Yir zneetHr|sq8EQS+h0%}j{*XT9;oGWqGf>+_%&n<!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsH(`* z#WBRfKl#u9|MtwT3@Hq%GnCFITn|pNc4SV<4QN9$xYAB$wuN0JO)!9 z9mwW5=-^V$dM4GNnNzAkhVRB6R|A2>dk3D%?qN%~-11I!4%-A-?ga-F!;HPWS~8Vf ljqfnbP)icxtGdL-aC^=CGm@t^aRY5<@O1TaS?83{1OVqmOf>)i literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_twig_4.png b/trunks/textures/trunks_twig_4.png new file mode 100644 index 0000000000000000000000000000000000000000..5bd135a7bdb23f233fbc2374e0ce0eb325b1c88a GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0gN_s>q|KvnUcE{-7<{>eZ7|F>sWouPDAq1&BzLAk_{TdV$*2R&k8vr~HI*~K~` zZ4>W-H0!{Z49f)Xrp+)n*u!v%VN#2w`1G?DybPWPOb+rKo*uq|P03K|V-@4{`i(nV fmSh}BV_*on^!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|KvmYB zE{-7<{>cdvtSPMxlZBqwZ!%HJW|DN;=-3t{Gi9gBwXoC%-US*w4(FENVCZ5he2~L_ g)2Hx@;&KlLvC|Tf%&+&o0vf~M>FVdQ&MBb@00<5^J^%m! literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_twig_6.png b/trunks/textures/trunks_twig_6.png new file mode 100644 index 0000000000000000000000000000000000000000..c6824538889ea846ebbb099490d0a8f2505977ed GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvkli sE{-7<{>cdvtcw*5q?i^fGH^07um~_P7A+Mn11ezfboFyt=akR{05e)6zW@LL literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_twig_7.png b/trunks/textures/trunks_twig_7.png new file mode 100644 index 0000000000000000000000000000000000000000..a37b9b37c080338e7d481aa79cb298f4695664e7 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvm|R zE{-7<{>cdvtXp^))m6{^SMZsr8)Dd?nz7}Y?2OT3_&u?3b#*|F&;g) ceDzxflhq2_`hJ~X2{eMi)78&qol`;+0QPq_oB#j- literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_twig_8.png b/trunks/textures/trunks_twig_8.png new file mode 100644 index 0000000000000000000000000000000000000000..b41118768667794e2969fd5e95dcde2cc35252b3 GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvk}u zE{-7<{>cdrOdGdp{dc_K+46Awbche?(*0{t|WOdW*aE`k6g#<!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3Q$0gN_s>q|Kvnjh zE{-7<{>cdk7?W~C|5`52J~03Q literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_twigs.png b/trunks/textures/trunks_twigs.png new file mode 100644 index 0000000000000000000000000000000000000000..20ae6cac66a4f9691dd9c89167a4aadcf0de041f GIT binary patch literal 759 zcmVz>%2XskIMF-pp4h}65Lqkq+0000QbVXQn zQ*UN;cVTj608n9RZgehAMN}YmGcGkQF)%Rna-jeK0$@o*K~y+TC6hsmn?M}J{RUk& zkW^eXhEXwSX6lGxVvLAl&{QnxTGAz8v)JsRExF{7F1wfQ7w-#u83vu_y!U&5rM?N) zf?(y=u;0$Jz&Py$C!^mxQOD-KWTB_@_w$tLFUM@fbg6IVGcv4VH=;`Ds6|L{)Es?i zbGKTMZsT)nG_zFUDd#R;QdLSq;_5f4Adt1Wx1`#B!_1F2f{xqVY1how2dS{@*y(EF z8n@ErkmBf+$dnBBrJscp!30!ywjKV`QsuavBSRHC=G|?Z(_QW&Zo>2`_d-W0 zgo#wr`H+H78j>O~x+VY^F!oXzyKQdoH-6;FyNwSxFzJHZ z!rZOB=RSpO9oxtQ=zYVabC(psq;EtPkTUm>0bflxQjRlW|NHYfyMm4)Ps@aPy#aK& zBcHxUDL1f(@7H5REqTRA8cfHvisPEln(*zZaxK|)H124y_w(z5)3K=zFOO;eMM$Sz1RLEp zaE)uDD^5;bg8KT#NAx;&)6iH2WUAj53#ZO)X~`#D&Ds)_wAZI9qFTQdf{mXaGqA_7 zU^H>`q5K5f5oYOqypUKpDhy-+Mu?(myiTZ&&@)Reg`F@Bw_PcL?nCJpf<&H*wFt)O pB=j^0u2pU@-fBq4n1lBp;Xm>`vlJ)@S9$;d002ovPDHLkV1nk3R#pH2 literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_twigs_corner.png b/trunks/textures/trunks_twigs_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ebde753bec86c0410f16cf4b8e20cc4afd74a5 GIT binary patch literal 730 zcmV<00ww*4P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0006>Nkl*^-w$q|5G0`^S3(8J%(NJs1J#q|EU{2ViFLnqShm@J9B zAPT2Ov9_zsJ=9(iS+89PeBl;<*r&rj1oEZ4YUW>L+PXeiMeqo z-Cy61Za3^Tr6>ci5#Gk=HZfg#aM{RV9J5o7TTZf$&x=Oe6+ROpTYCR8Keai?p zRmawb#(O)ZFba=!?c>~^4UI^BQUW)#!2#@1KuzU)&Ky%ogPCADA2nzwh`6m>euN1( zMq4uH<6Pk?+Jh3#|Gre0J|6a>%_xY#r78~yu$JVpuR+PeB{T*Z2!QCHO|a!8q+06h zxvxuY!4QE%<6Bet{3P%jEkOg+As6&UTZQ%UQsFyCG%j5T8vWjPj0gNcGY|l22!%N? z6hpw^FnD3BA?C2*v%Y3+370gq0W|1BB5Z+`upcACm=O(#91;4R$IVA<&;Xzy3UM$5 zs$e{Zg#jZJ2olhqOHV>D@j@x!utFBBfPE+!N4aB&10sYRAgVz74_U^xQV)UpJpcdz M07*qoM6N<$f>*RR9{>OV literal 0 HcmV?d00001 diff --git a/trunks/textures/trunks_twigs_top.png b/trunks/textures/trunks_twigs_top.png new file mode 100644 index 0000000000000000000000000000000000000000..828768a71c73236ac8e6609f075a4f88fa79b80c GIT binary patch literal 615 zcmV-t0+{`YP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005jNklD+MB<)=e)S)R3J))vX} zt{R)!ug7g$q~Gq=W0Q?t-WQ4Y!+xze_iRPM^K{!6sRE#c1atuW+BEsLjWDZx zayqPc?fLU@*wp#9TQ~wo0@;xPDHsPoKVMka%XH<$NZF9b<@^U`4h|SpY31h+#U=W``SR|SZ zz)Jff^Jqgw9!p{nohQ6~?EQ77Lfu<~PW@0|L4*sPhZ!!6c(Kz!iBfGA6h@uLfo96- z4}5UL6KDK!sR%GC&9;(|hg4)EAs!NWNlkVVbPSS=C~uj9h_QAHxm%k-FbfkgmpC{x zs&fK}j+XKXT0o9W_I18VFl{q8dB5T 0 + or minetest.get_item_group(minetest.get_node({x=pos.x,y=pos.y-2,z=pos.z}).name, "soil") > 0 then + for i in pairs(RaDiuS) do + local WE1 = RaDiuS[i][1] + local NS1 = RaDiuS[i][2] + local WE2 = RaDiuS[i][3] + local NS2 = RaDiuS[i][4] + local WE3 = RaDiuS[i][5] + local NS3 = RaDiuS[i][6] + local radius_1a = {x=pos.x+WE1,y=pos.y-1,z=pos.z+NS1} + local radius_1b = {x=pos.x+WE1,y=pos.y-2,z=pos.z+NS1} + local radius_2a = {x=pos.x+WE2,y=pos.y-1,z=pos.z+NS2} + local radius_2b = {x=pos.x+WE2,y=pos.y-2,z=pos.z+NS2} + local radius_3a = {x=pos.x+WE3,y=pos.y-1,z=pos.z+NS3} + local radius_3b = {x=pos.x+WE3,y=pos.y-2,z=pos.z+NS3} + --local node_1a = minetest.get_node(radius_1a) + --local node_1b = minetest.get_node(radius_1b) + local node_2a = minetest.get_node(radius_2a) + local node_2b = minetest.get_node(radius_2b) + local node_3a = minetest.get_node(radius_3a) + local node_3b = minetest.get_node(radius_3b) + -- Dirt with Leaves 1 + if minetest.get_item_group(minetest.get_node(radius_1a).name, "soil") > 0 then + minetest.add_node(radius_1a, {name="woodsoils:dirt_with_leaves_1"}) + end + if minetest.get_item_group(minetest.get_node(radius_1b).name, "soil") > 0 then + minetest.add_node(radius_1b, {name="woodsoils:dirt_with_leaves_1"}) + end + -- Grass with Leaves 2 + if string.find(node_2a.name, "dirt_with_grass") then + minetest.add_node(radius_2a, {name="woodsoils:grass_with_leaves_2"}) + end + if string.find(node_2b.name, "dirt_with_grass") then + minetest.add_node(radius_2b, {name="woodsoils:grass_with_leaves_2"}) + end + -- Grass with Leaves 1 + if string.find(node_3a.name, "dirt_with_grass") then + minetest.add_node(radius_3a, {name="woodsoils:grass_with_leaves_1"}) + end + if string.find(node_3b.name, "dirt_with_grass") then + minetest.add_node(radius_3b, {name="woodsoils:grass_with_leaves_1"}) + end + end + end +end + +plantslib:register_generate_plant({ + surface = { + "group:tree", + "ferns:fern_03", + "ferns:fern_02", + "ferns:fern_01" + }, + max_count = 1000, + rarity = 1, + min_elevation = 1, + max_elevation = 40, + near_nodes = {"group:tree","ferns:fern_03","ferns:fern_02","ferns:fern_01"}, + near_nodes_size = 5, + near_nodes_vertical = 1, + near_nodes_count = 4, + plantlife_limit = -1, + check_air = false, + }, + "abstract_woodsoils.place_soil" +) + +plantslib:register_generate_plant({ + surface = { + "moretrees:apple_tree_sapling_ongen", + "moretrees:beech_sapling_ongen", + "moretrees:birch_sapling_ongen", + "moretrees:fir_sapling_ongen", + "moretrees:jungletree_sapling_ongen", + "moretrees:oak_sapling_ongen", + "moretrees:palm_sapling_ongen", + "moretrees:pine_sapling_ongen", + "moretrees:rubber_tree_sapling_ongen", + "moretrees:sequoia_sapling_ongen", + "moretrees:spruce_sapling_ongen", + "moretrees:willow_sapling_ongen" + }, + max_count = 1000, + rarity = 2, + min_elevation = 1, + max_elevation = 40, + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_woodsoils.place_soil" +) + +minetest.register_abm({ + nodenames = {"default:papyrus"}, + neighbors = { + "woodsoils:dirt_with_leaves_1", + "woodsoils:dirt_with_leaves_2", + "woodsoils:grass_with_leaves_1", + "woodsoils:grass_with_leaves_2" + }, + interval = 50, + chance = 20, + action = function(pos, node) + pos.y = pos.y-1 + local name = minetest.get_node(pos).name + if string.find(name, "_with_leaves_") then + if minetest.find_node_near(pos, 3, {"group:water"}) == nil then + return + end + pos.y = pos.y+1 + local height = 0 + while minetest.get_node(pos).name == "default:papyrus" and height < 4 do + height = height+1 + pos.y = pos.y+1 + end + if height < 4 then + if minetest.get_node(pos).name == "air" then + minetest.set_node(pos, {name="default:papyrus"}) + end + end + end + end, +}) diff --git a/woodsoils/init.lua b/woodsoils/init.lua new file mode 100644 index 0000000..9037d45 --- /dev/null +++ b/woodsoils/init.lua @@ -0,0 +1,29 @@ +----------------------------------------------------------------------------------------------- +local title = "Wood Soils" -- former "Forest Soils" +local version = "0.0.9" +local mname = "woodsoils" -- former "forestsoils" +----------------------------------------------------------------------------------------------- + +abstract_woodsoils = {} + +dofile(minetest.get_modpath("woodsoils").."/nodes.lua") +dofile(minetest.get_modpath("woodsoils").."/generating.lua") + +-- felt like playing a bit :D +--[[print(" _____ __") +print("_/ ____\\___________ ____ _______/ |_") +print("\\ __\\/ _ \\_ __ \\_/ __ \\ / ___/\\ __\\") +print(" | | ( <_> ) | \\/\\ ___/ \\___ \\ | |") +print(" |__| \\____/|__| \\___ >____ > |__|") +print(" \\/ \\/") + +print(" .__.__") +print(" __________ |__| | ______") +print(" / ___/ _ \\| | | / ___/") +print(" \\___ ( <_> ) | |__\\___ \\") +print("/____ >____/|__|____/____ >") +print(" \\/ \\/")]] + +----------------------------------------------------------------------------------------------- +print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...") +----------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/woodsoils/nodes.lua b/woodsoils/nodes.lua new file mode 100644 index 0000000..e4aeb1d --- /dev/null +++ b/woodsoils/nodes.lua @@ -0,0 +1,79 @@ +-- nodes + +minetest.register_node("woodsoils:dirt_with_leaves_1", { + description = "Forrest Soil 1", + tiles = { + "default_dirt.png^woodsoils_ground_cover.png", + "default_dirt.png", + "default_dirt.png^woodsoils_ground_cover_side.png"}, + is_ground_content = true, + groups = { + crumbly=3, + soil=1--, + --not_in_creative_inventory=1 + }, + --drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("woodsoils:dirt_with_leaves_2", { + description = "Forrest Soil 2", + tiles = { + "woodsoils_ground.png", + "default_dirt.png", + "default_dirt.png^woodsoils_ground_side.png"}, + is_ground_content = true, + groups = { + crumbly=3, + soil=1--, + --not_in_creative_inventory=1 + }, + --drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("woodsoils:grass_with_leaves_1", { + description = "Forrest Soil 3", + tiles = { + "default_grass.png^woodsoils_ground_cover2.png", + "default_dirt.png", + "default_dirt.png^default_grass_side.png^woodsoils_ground_cover_side2.png"}, + is_ground_content = true, + groups = { + crumbly=3, + soil=1--, + --not_in_creative_inventory=1 + }, + --drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +minetest.register_node("woodsoils:grass_with_leaves_2", { + description = "Forrest Soil 4", + tiles = { + "default_grass.png^woodsoils_ground_cover.png", + "default_dirt.png", + "default_dirt.png^default_grass_side.png^woodsoils_ground_cover_side.png"}, + is_ground_content = true, + groups = { + crumbly=3, + soil=1--, + --not_in_creative_inventory=1 + }, + --drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.4}, + }), +}) + +-- For compatibility with older stuff +minetest.register_alias("forestsoils:dirt_with_leaves_1", "woodsoils:dirt_with_leaves_1") +minetest.register_alias("forestsoils:dirt_with_leaves_2", "woodsoils:dirt_with_leaves_2") +minetest.register_alias("forestsoils:grass_with_leaves_1", "woodsoils:grass_with_leaves_1") +minetest.register_alias("forestsoils:grass_with_leaves_2", "woodsoils:grass_with_leaves_2") \ No newline at end of file diff --git a/woodsoils/textures/credit_textures.txt b/woodsoils/textures/credit_textures.txt new file mode 100644 index 0000000..45d582d --- /dev/null +++ b/woodsoils/textures/credit_textures.txt @@ -0,0 +1,16 @@ +------------------------------------------------------------- +Credit for textures of "woodsoils" +------------------------------------------------------------- +(If more than one author is listed the names are in alphabetical order) +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +FOLDER TEXTURE AUTHORS +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +../woodsoils/textures woodsoils_ground.png Mossmanikin + woodsoils_ground_cover.png Mossmanikin + woodsoils_ground_cover_side.png Mossmanikin + woodsoils_ground_cover_side2.png Mossmanikin + woodsoils_ground_cover2.png Mossmanikin + woodsoils_ground_side.png Mossmanikin +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +../woodsoils/textures/not in use woodsoils.png Mossmanikin +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/woodsoils/textures/not in use/woodsoils.png b/woodsoils/textures/not in use/woodsoils.png new file mode 100644 index 0000000000000000000000000000000000000000..fd196b88c4e57bb7ab6c7e638553470ef03da679 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1SIo6Pjm-TEa{HEjtmSN`?>!lvVtTFJR*x3 z82Ao>Fr%o3R|8N`s>C&-Bsf2G@)ZN2bPDNB8 zb~7$DE-^7j^FlWO00M+bL_t(IPYsf7bDBUDh4~qs>7-33(TIx5;%WewH+MmS6~#ypSGo|nDQfC4J*1TJmptur@TYW(5)hM0JwaKt=Gg3&{INY zzuQetKxRvffSiKd1qj|1o4Jr<`CQ`L-mZO>>cbbhY9g&Y*wh@?ncDEuj+BQm_jrMR zv(to2Y;>`a5!utFjDUhDF;PCRI}CfAPn#R3oyJpT6sA}$*0K;glNc-fw9cMw^=o8} zy3FEP`6eARBQ(s`lf#xn7mtA!t>?ntpYJ2U2^^S8$%vA1Y=gJT-Ea9O+JVe(Z9vdd zK^8UD$_*5dd{5wg8=JgViYI#lI7+g3Xd?AUm(-C@k%6Xne3PzlKVEl27wa8E6pd00 zEYOQgsf$pT89P^Ifx@;RSc&J{ct4T|jkoYoVD{viuYJ8Ad9#Kgq7K@`cx%0Lj<(LQ zt=5?f4s7{x^&R-gK?^Oj@lyPmpu_`Z1Pcl`tKpGqp)Te`*`YyXiMIyxgy+hnXej*q zNDuLXlWv$D7*gshAsPgFkN<)t_c-`-?UX(|(r50Et>J$LaMB#D8muJ%0000N2bPDNB8 zb~7$DE-^7j^FlWO00PlTL_t(IPeoJPcAH2LH9f@FcPEy)OhKzGC)At5ta zgk_zajW_$Uzt^8u+ZrXCIfnx?^i+3ORV(r67LlupZS;uk@_`c1Kt46_viGQ*7&yfa zHQ@-$VGF^eC7Nd!zO4&|*D?2?6jOuFo9*oKZjvDiPs4sSK%Lmw`S(w3LJDlzr#5wTC^o_&OqTv#cHS_vQ&;UPz3{0 zPTMh#xr0UTGcxavTWDipstBB}%<^l!RSTL~S4h1(36MFO1eR-MwQ$HB#Pb`fa+8|9 zEwh*NdlZv9I>eUT$72nN+mYWdsYU;sB2t>trO<7QA19xR)sy_mK_anKxcUctf1Wdl z4y*G~{@eObOtOwY3meIqgEBU8+IlFLnhbmiNAw!mv^4)f#O3}~&$u-WsjVVrellM} zHo26a&$^^!Zifzqi_^wNx#+?!#_epsP zhiLdoy^cIgIa|)9g`O^c9M^D-PiOW;oek-E-Ir~ozCnrGLq29cLZ>A{S7!i?%JfkN z1fv_#q$Anm*%u9y7?{^c$1UvU7r*S6eG0~`)MnAeCeXmFVi$7@-i`3RTM^ot__m#3 zGe7&HPdl$mr+O(9Fp}IWajIONfgTRqi#wHn-xBP?d#P^~+dQ@^l7;@;=Re6fYknvlDi#KF f@+d*W(Y5#wYSC{v%sqH;LN@>a0(wbAK~y+TRa4t;+CUWaAM7XW zTN5bG63c=R**SJF1rlGdf#8^c6(R@afzp?LM?d*=4k}UeFgjkXXU=Wb+U35PN7s~v zw#kRrD!ac@1QkDXsxC_LJKCP zww_0}DJKq<53X5^&`#J9=-6+|&q8M4lqmMvY94iswSO7$ejQOY#T=-`+nL883%*oz z$_%o^Jc2mc1QE8HD&n_AQ146Pb?jvSSMWOX6rd$a*4G^8+|zl~C5Rx2^T&FQ2fQn& z#-I#DJ_or#mI?y|nK$VTJtsX?C4B<{&WAFSOGfLpwaxG7Z6Q@eUrK(Cdj=xBPWnfX z8PLm-BdZnxf`G=#wFROQ@)A3Z{g#P6!G)A=nleOoPqJ&NKzssdiRVpOn{+_Ce1L3S z7^Tf1b4r~IL=6GK>E})EtEc$J6p>@H@JelqKy7Be!5STImOi83tem{e2=lcJ7t|;V?v#Je0za;1lVtvR}U^hKtIJjya(G<7&cs5R}U_n8y-RC z{mal;hu86GaI)Vluro0S_KOE}oyn^_x42FRsA>pObo|)-Fc8omFC+68rN$^%IwBd# P00000NkvXXu0mjf5JF5C literal 0 HcmV?d00001 diff --git a/woodsoils/textures/woodsoils_ground_cover_side.png b/woodsoils/textures/woodsoils_ground_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..ac1393b9815937fcf0488e38a90341ceb944e26c GIT binary patch literal 436 zcmV;l0ZaagP)N2bPDNB8 zb~7$DE-^7j^FlWO00A&bL_t(IPwkOSZo)7Sg?)^!+8t8WhCo8-4~2jm^Am_dVz3gR ziBtv3s#Q-oN8m`Wi7P6)WzCZ;k3G-d$TKYN-y`yjJdGZaP9I1L2WsSCyAiY=I@rgY zig_Q?ULE1Eo)>Q(f`Og0QadHUl95BzAszqjh3p{_7B;gE-sJ$RppCDOpnPN^mmJT= zHDcb>fJE3}YHZU=c4#Ra3c6;lghg4%(W+gcGDW_r!Kwt!`vzt`3z2J-J_lLYA+}Fn zu~QuWQw>YeD8FFB?-~esOIJDSGxKTe-eMsd8nEP+25ZgSIu3^eizj!KsV)_pfv&!u zw2=%OROKqguNI`&)Vb}#rSE-2tXO;6a9maL7<=}O2A}5A;N|a5Ry{a1oD*LF<#f(z e+`q|O0PF|qYZL6?aF+%E0000H;LN@>a0TW3?K~y+T?U2t-gFq06_YL+D z=4LE{+cu;o4P-=@NG+5C#S%4|np94WC!fPdJPG*kpKVy07*qoM6N<$f|3lX!~g&Q literal 0 HcmV?d00001 diff --git a/woodsoils/textures/woodsoils_ground_side.png b/woodsoils/textures/woodsoils_ground_side.png new file mode 100644 index 0000000000000000000000000000000000000000..fbca9d6198a851b9b6e19a3dbf428267126e45ce GIT binary patch literal 447 zcmV;w0YLtVP)N2bPDNB8 zb~7$DE-^7j^FlWO00BEmL_t(IPwkM)PQpMKh5Hz;yu^TjmP<=Pu7%PTC~crEG!zgM zQbk|z_duVQH#ULy->DPX&iBOYlO$}LIQWoapF+!ilkpOshRv4^xT|R1~dX`|I5SkUdR-WBl=X38PC2R8toQ@^L(`>3&zcjC1Aokkd pcj2LfpXR^J=YUi?ckmA#d;u%sI9%~JCuINt002ovPDHLkV1ku#wK4zz literal 0 HcmV?d00001 diff --git a/youngtrees/depends.txt b/youngtrees/depends.txt new file mode 100644 index 0000000..bde0bdf --- /dev/null +++ b/youngtrees/depends.txt @@ -0,0 +1,2 @@ +default +plants_lib \ No newline at end of file diff --git a/youngtrees/init.lua b/youngtrees/init.lua new file mode 100644 index 0000000..4153cc8 --- /dev/null +++ b/youngtrees/init.lua @@ -0,0 +1,150 @@ + abstract_youngtrees = {} + + + + +minetest.register_node("youngtrees:bamboo", { + description = "youngtreeBamboo", + drawtype="nodebox", + tiles = {"bamboo.png"}, + inventory_image = "bamboo.png", + wield_image = "bamboo.png", +paramtype = "light", + walkable = false, + is_ground_content = true, +node_box = { + type = "fixed", + fixed = { + {-0.058251,-0.500000,-0.413681,0.066749,0.500000,-0.282500}, --NodeBox 1 + {-0.058251,-0.500000,-0.103123,0.066749,0.500000,0.038672}, --NodeBox 2 + {-0.058251,-0.500000,0.181227,0.066749,0.500000,0.342500}, --NodeBox 3 + } +}, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + + + + +minetest.register_node("youngtrees:youngtree2_middle",{ + description = "youngtree2Middle", + drawtype="nodebox", + tiles = {"youngtree2branch.png"}, + inventory_image = "youngtree2branch.png", + wield_image = "youngtree2branch.png", + paramtype = "light", + walkable = false, + is_ground_content = true, + node_box = { + type = "fixed", + fixed = { + {0.125000,-0.500000,-0.500000,0.500000,-0.187500,-0.125000}, --NodeBox 1 + {-0.187500,-0.187500,-0.500000,0.500000,0.125000,0.250000}, --NodeBox 2 + {-0.500000,0.125000,-0.500000,0.500000,0.500000,0.500000}, --NodeBox 3 + } + }, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("youngtrees:youngtree_top", { + description = "youngtreeTop", + drawtype = "plantlike", + tiles = {"youngtree16xa.png"}, + inventory_image = "youngtree16xa.png", + wield_image = "youngtree16xa.png", + paramtype = "light", + walkable = false, + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + + +minetest.register_node("youngtrees:youngtree_middle", { + description = "youngtreeMiddle", + drawtype = "plantlike", + tiles = {"youngtree16xb.png"}, + inventory_image = "youngtree16xb.png", + wield_image = "youngtree16xb.png", + paramtype = "light", + walkable = false, + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + + + +minetest.register_node("youngtrees:youngtree_bottom", { + description = "youngtreeBottom", + drawtype = "plantlike", + tiles = {"youngtree16xc.png"}, + inventory_image = "youngtree16xc.png", + wield_image = "youngtree16xc.png", + paramtype = "light", + walkable = false, + is_ground_content = true, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, + groups = {snappy=3,flammable=2}, + sounds = default.node_sound_leaves_defaults(), +}) + + + abstract_youngtrees.grow_youngtree = function(pos) + local height = math.random(1,3) + abstract_youngtrees.grow_youngtree_node(pos,height) +end + +abstract_youngtrees.grow_youngtree_node = function(pos, height) + + + local right_here = {x=pos.x, y=pos.y+1, z=pos.z} + local above_right_here = {x=pos.x, y=pos.y+2, z=pos.z} + + if minetest.get_node(right_here).name == "air" -- instead of check_air = true, + or minetest.get_node(right_here).name == "default:junglegrass" then + if height == 1 then + minetest.add_node(right_here, {name="youngtrees:youngtree_top"}) + end + if height == 2 then + minetest.add_node(right_here, {name="youngtrees:youngtree_bottom"}) + minetest.add_node(above_right_here, {name="youngtrees:youngtree_top"}) + end + if height == 3 then + local two_above_right_here = {x=pos.x, y=pos.y+3, z=pos.z} + minetest.add_node(right_here, {name="youngtrees:youngtree_bottom"}) + minetest.add_node(above_right_here, {name="youngtrees:youngtree_middle"}) + minetest.add_node(two_above_right_here, {name="youngtrees:youngtree_top"}) + end + end +end + + +plantslib:register_generate_plant({ + surface = { + "default:dirt_with_grass", + "stoneage:grass_with_silex", + "sumpf:peat", + "sumpf:sumpf" + }, + max_count = 55, --10,15 + rarity = 101 - 4, --3,4 + min_elevation = 1, -- above sea level + plantlife_limit = -0.9, + check_air = false, + }, + "abstract_youngtrees.grow_youngtree" +) diff --git a/youngtrees/textures/bamboo.png b/youngtrees/textures/bamboo.png new file mode 100644 index 0000000000000000000000000000000000000000..c5c42a95b3befb0f75ea9beda769006b426cc6ec GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKs4B?Q z#WBRfKY7n)lj)6(58vP4?;ylsx4)J>k)g3+hDHpRBHtAT7jyAc#|tz6aacG_YvMMN zdFiddX?VuRK$X)lVXOEfhBtmv6Qw-5SQb1Il;mfKuvmV`tXHH0XgY(ZtDnm{r-UW| DFyK5| literal 0 HcmV?d00001 diff --git a/youngtrees/textures/unused/sapling.png b/youngtrees/textures/unused/sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2e331d2e2191881ad314517241cdf507267bbf GIT binary patch literal 19115 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 Z1aGY`3C0{+gtMepdAj<#R2?Q=`X8-T&!YeU literal 0 HcmV?d00001 diff --git a/youngtrees/textures/unused/sapling16x.png b/youngtrees/textures/unused/sapling16x.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c2a7776df6233b3fb6db76a13504a391405bdf GIT binary patch literal 1162 zcmV;51aPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A000B|NklrYx|7{K{M_7^nUhc?;1 zY}uDxy3gIxEbh|OW$7}vq+93GxwfvcW};O}1wo23xd_Nb1Od?s_E-?PSg2J&ky(Kv zScIePLGF9>yrF>StXZ;OPRR4T@B1U~^ z(#4CUmIX7-Jabd?-M5GwPWDm=se?$T=A$0%SN7HMzjxeR-8t6qMZHVl2$-PvNXQqm z`C|5Xa3zUv+5?gw_@|XvtJ`OW7Qe^Y*8SP=?By%M_hP94V=Zdqn7+8we* zZT7Om@kO0nw6^@nsFo?P?yHhB9n!ZA&JKpo(SB{@%|XirfuwamlO`QtAI}KcU1qHU z;%shzaQXsM{(indFs#0T+hZU6sr|4`^bU)8Ig?J2!t#7t_AH9P9&J)XK#$2wfe*&PEWB|G>l2et_F}$ zDCS0NE!?RVqlfn_^3e0WDb z-_fi2xJ%tcjsY4EF8v}7zok-%%WTJqU2JtoVEOWn<~&T29MC9K(JRHUXgE;Mx|+{! z=NZ4#I{M1x60P8M&W8dk5LhNu0>$?o@^=l3Od^+|6~gOlo&_wp;2-C zeu+Hy(+aSy@#wbfUO&X?gJ>{@U6XwZlcW_CBA!fex4Kp!nhF$4d0K(p`McXbhmsm- zg;5~~MfK1MmWi>$EP;|5Xa$W#SgKh-l~)2R2tJflDk`x6MfD(I0a8@MxQ?> zTXgcj$e;lv%sgTXrduR)zrhnBTQt%kGN`3cJY?X+&T7=E)b#1C!fNpWU=1ibCSN4t zdjXN9nc)hJshu}uwp$a55hpf_`j2-BPw%0mQZ_I3X%^a4_D+WF$)MQU3bzWHmz)pb zkMp@4#BRrf*!I@(=!!RF>C&9<8b24>@iCHkm~17%GkfwOZt#hJQY|ANHxP_C`wgF8 zWWBMnZKFPiDV>tna}yg{YIS;<%WNe)w1R}s8X4$4S<7gJ_Mg73 zeLYoPvxbxWPeSf63v~%4^-v4I_~_AYo`hC-P4zyBK_x{|J+y+B>Hz_?f?9&^QUlb& zPAprqkOy_<;NH)>H*548YwJGGlc cNiCJiKRp;G>^FcVF8}}l07*qoM6N<$f}V;X0RR91 literal 0 HcmV?d00001 diff --git a/youngtrees/textures/youngtree16xa.png b/youngtrees/textures/youngtree16xa.png new file mode 100644 index 0000000000000000000000000000000000000000..cea22f16915bd58dd04aa3f1c3b1ee92d958de4f GIT binary patch literal 560 zcmV-00?+-4P)N2bPDNB8 zb~7$DE-^7j^FlWO00FE?L_t(IPhQ|4EZ{fzk+dD4LM*+s}_BTi3e&?_L-Czi_g||NAda z>rLGd^f0Ym{y)f2kQhiER?V+I-qiys%9&yKAEW`M_~MxpY*k$$V6oykHvgZ#y}`_12`Od$wgK6eUi zGqM;6qlCe|m#5@G2IbDx0y)bbSp%}o*f0vGbG`fjx@GQQzri$OvmF_ua6oqkiByA>7m@3rNKbve+B?L%c$Snm$2&q0000N2bPDNB8 zb~7$DE-^7j^FlWO00AsXL_t(IPh8weN=;BY_-T;fC2x7zT#)|(> zA3dOjO%8;y3L;~W3(&=oF;+oj3~~Xw7&68xh>YoH!0l&88Cq65{4bm=@&C!2OUy8F zq749PPHUG3W0)8S6ExuCw-<~cTR{pzG`a#@vGDxejmYpOjsFZFO(5Gr9FQR=4(-)L zRtOUN`2HO`vKUMc2!lDu&IV~fwiU#G`se}N(6e`Ta)K=DSReHN&Wj6746i=k1L=mF z4#FQlyb}Rwym{p!Gl)i(yZQJ86UczXewqJQAMIyG(TI*gn$Zmaxenyw-nAYOFCa@| z!^j3)IDMQO#D~QgI1piyxG>Csd$(_Zy#-=le6W=T7LZsqA!Cq}pFerT3e@}%UGBll aGu!|snz!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKs4CCX z#WBRfKl#W1|Mqcj^49#Qf4C)%FQ-VMCsaW4wU#!M<{JpRIi^9ct!E>bQgRpXf-dn7 zl1)Gb{CxTgx)qbxG@Y2CB)+HO*Nllu%zkpWPJ2ug&x_l8#APC*!t>x11`p$-Y!CR4 c{O4hqD0w&iIp?bxK${snUHx3vIVCg!0I|?bzyJUM literal 0 HcmV?d00001 diff --git a/youngtrees/textures/youngtree2branch.png b/youngtrees/textures/youngtree2branch.png new file mode 100644 index 0000000000000000000000000000000000000000..ce7e31062d59edbfae4ffa6f048f902051feb1b7 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0gN_s>q|Kvij;E{-7<{!4oYIHsKz2OHt9h3 mX_k-rbc7n+r-ga%XS`AW!q